On Sun, 27 Nov 2011 20:54:34 +0000, Dave Airlie <airl...@gmail.com> wrote: > From: Dave Airlie <airl...@redhat.com> > > fixing these makes piglit fbo-integer pass on softpipe.
I didn't do these because I wasn't sure how clamping and sign extension were supposed to work in the pack path. The specs have text on it, but I couldn't make clear sense of it. Do you have a solid idea, and if so could we get a little bit of explanation in the switch statement maybe? > +static void > unpack_int_rgba_RG_UINT32(const GLuint *src, GLuint dst[][4], GLuint n) > { > unsigned int i; > @@ -1668,10 +1773,40 @@ _mesa_unpack_int_rgba_row(gl_format format, GLuint n, > case MESA_FORMAT_RGBA_INT32: > unpack_int_rgba_RGBA_UINT32(src, dst, n); > break; > + > + case MESA_FORMAT_RGBA_UINT8: > + unpack_int_rgba_RGBA_UINT8(src, dst, n); > + break; > + case MESA_FORMAT_RGBA_INT8: > + unpack_int_rgba_RGBA_INT8(src, dst, n); > + break; > + > + case MESA_FORMAT_RGBA_UINT16: > + unpack_int_rgba_RGBA_UINT16(src, dst, n); > + break; > + case MESA_FORMAT_RGBA_INT16: > + unpack_int_rgba_RGBA_INT16(src, dst, n); > + break; > + Having the ordering of cases be 32, 8, 16 looks odd. Let's flip it around to either 8, 16, 32 or 32, 16, 8. > + case MESA_FORMAT_RGB_UINT8: > + unpack_int_rgba_RGB_UINT8(src, dst, n); > + break; > + case MESA_FORMAT_RGB_INT8: > + unpack_int_rgba_RGB_INT8(src, dst, n); > + break; > + > + case MESA_FORMAT_RGB_UINT16: > + unpack_int_rgba_RGB_UINT16(src, dst, n); > + break; > + case MESA_FORMAT_RGB_INT16: > + unpack_int_rgba_RGB_INT16(src, dst, n); > + break; > + > case MESA_FORMAT_RG_UINT32: > case MESA_FORMAT_RG_INT32: > unpack_int_rgba_RG_UINT32(src, dst, n); No RG/R/A/L/I cases make me sad.
pgpicDpXPj6e2.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev