On Tue, 2014-12-09 at 15:01 +0100, Roland Scheidegger wrote: > This ought to be st/mesa: not gallium: in the shortlog. Otherwise makes > sense. > > Roland
Fixed locally. Thanks! Iago > Am 09.12.2014 um 13:07 schrieb Iago Toral Quiroga: > > Instead of using _mesa_pack_rgba_span_float. This should allow us to remove > > that function in a later patch. > > --- > > src/mesa/state_tracker/st_cb_texture.c | 17 +++++++++++++---- > > 1 file changed, 13 insertions(+), 4 deletions(-) > > > > diff --git a/src/mesa/state_tracker/st_cb_texture.c > > b/src/mesa/state_tracker/st_cb_texture.c > > index a8dbb78..d0a7c10 100644 > > --- a/src/mesa/state_tracker/st_cb_texture.c > > +++ b/src/mesa/state_tracker/st_cb_texture.c > > @@ -29,6 +29,8 @@ > > #include "main/enums.h" > > #include "main/fbobject.h" > > #include "main/formats.h" > > +#include "main/format_utils.h" > > +#include "main/glformats.h" > > #include "main/image.h" > > #include "main/imports.h" > > #include "main/macros.h" > > @@ -1138,6 +1140,8 @@ st_GetTexImage(struct gl_context * ctx, > > /* format translation via floats */ > > GLuint row, slice; > > GLfloat *rgba; > > + uint32_t dstMesaFormat; > > + int dstStride, srcStride; > > > > assert(util_format_is_compressed(src->format)); > > > > @@ -1149,6 +1153,9 @@ st_GetTexImage(struct gl_context * ctx, > > if (ST_DEBUG & DEBUG_FALLBACK) > > debug_printf("%s: fallback format translation\n", __FUNCTION__); > > > > + dstMesaFormat = _mesa_format_from_format_and_type(format, type); > > + dstStride = _mesa_image_row_stride(&ctx->Pack, width, format, type); > > + srcStride = 4 * width * sizeof(GLfloat); > > for (slice = 0; slice < depth; slice++) { > > if (gl_target == GL_TEXTURE_1D_ARRAY) { > > /* 1D array textures. > > @@ -1162,8 +1169,9 @@ st_GetTexImage(struct gl_context * ctx, > > pipe_get_tile_rgba_format(tex_xfer, map, 0, 0, width, 1, > > dst_format, rgba); > > > > - _mesa_pack_rgba_span_float(ctx, width, (GLfloat (*)[4]) rgba, > > format, > > - type, dest, &ctx->Pack, 0); > > + _mesa_format_convert(dest, dstMesaFormat, dstStride, > > + rgba, RGBA8888_FLOAT, srcStride, > > + width, 1, NULL); > > } > > else { > > for (row = 0; row < height; row++) { > > @@ -1175,8 +1183,9 @@ st_GetTexImage(struct gl_context * ctx, > > pipe_get_tile_rgba_format(tex_xfer, map, 0, row, width, 1, > > dst_format, rgba); > > > > - _mesa_pack_rgba_span_float(ctx, width, (GLfloat (*)[4]) > > rgba, format, > > - type, dest, &ctx->Pack, 0); > > + _mesa_format_convert(dest, dstMesaFormat, dstStride, > > + rgba, RGBA8888_FLOAT, srcStride, > > + width, 1, NULL); > > } > > } > > map += tex_xfer->layer_stride; > > > > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev