st/mesa: improve the format choosing code for DrawPixels
The code before was getting a pipe format, then calling st_pipe_format_to_mesa_format() and then converting back again with st_mesa_format_to_pipe_format(). This removes one conversion step.
This commit is contained in:
@@ -489,12 +489,14 @@ make_texture(struct st_context *st,
|
|||||||
intFormat = internal_format(ctx, format, type);
|
intFormat = internal_format(ctx, format, type);
|
||||||
baseInternalFormat = _mesa_base_tex_format(ctx, intFormat);
|
baseInternalFormat = _mesa_base_tex_format(ctx, intFormat);
|
||||||
|
|
||||||
mformat = st_ChooseTextureFormat_renderable(ctx, intFormat,
|
/* Choose a pixel format for the temp texture which will hold the
|
||||||
format, type, GL_FALSE);
|
* image to draw.
|
||||||
assert(mformat);
|
*/
|
||||||
|
pipeFormat = st_choose_format(pipe->screen, intFormat, format, type,
|
||||||
pipeFormat = st_mesa_format_to_pipe_format(mformat);
|
PIPE_TEXTURE_2D, 0, PIPE_BIND_SAMPLER_VIEW,
|
||||||
assert(pipeFormat);
|
FALSE);
|
||||||
|
assert(pipeFormat != PIPE_FORMAT_NONE);
|
||||||
|
mformat = st_pipe_format_to_mesa_format(pipeFormat);
|
||||||
|
|
||||||
pixels = _mesa_map_pbo_source(ctx, unpack, pixels);
|
pixels = _mesa_map_pbo_source(ctx, unpack, pixels);
|
||||||
if (!pixels)
|
if (!pixels)
|
||||||
|
Reference in New Issue
Block a user