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:
Brian Paul
2013-02-01 11:38:28 -07:00
parent 38d65a9769
commit f54a9f4ff2

View File

@@ -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)