> > static void > +FETCH(A8R8G8B8_SRGB)(const struct swrast_texture_image *texImage, > + GLint i, GLint j, GLint k, GLfloat *texel) > +{ > + const GLuint s = *TEXEL_ADDR(GLuint, texImage, i, j, k, 1); > + texel[RCOMP] = nonlinear_to_linear( (s >> 8) & 0xff ); > + texel[GCOMP] = nonlinear_to_linear( (s >> 16) & 0xff ); > + texel[BCOMP] = nonlinear_to_linear( (s >> 24) ); > + texel[ACOMP] = UBYTE_TO_FLOAT( s & 0xff ); /* linear! */ > +} > + > + > +static void > FETCH(R8G8B8A8_SRGB)(const struct swrast_texture_image *texImage, > GLint i, GLint j, GLint k, GLfloat *texel) > { > @@ -793,6 +805,18 @@ FETCH(R8G8B8X8_SRGB)(const struct swrast_texture_image > *texImage, > > > static void > +FETCH(X8B8G8R8_SRGB)(const struct swrast_texture_image *texImage, > + GLint i, GLint j, GLint k, GLfloat *texel) > +{ > + const GLuint s = *TEXEL_ADDR(GLuint, texImage, i, j, k, 1); > + texel[RCOMP] = nonlinear_to_linear( (s >> 24) ); > + texel[GCOMP] = nonlinear_to_linear( (s >> 16) & 0xff ); > + texel[BCOMP] = nonlinear_to_linear( (s >> 8) & 0xff ); > + texel[ACOMP] = 1.0f; > +} > + > +
I've just noticed these locally don't build, I've fixed them to use the new interfaces. Dave. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev