Bug#389289: libgl1-mesa-dri: R200 driver flips reflection cube maps
Dan Torop
dtorop934 at gmail.com
Mon Sep 25 15:41:35 UTC 2006
Indeed, seems to be fixed in 6.5.1:
--- mesa-6.5.0.cvs.20060524/src/mesa/drivers/dri/r200/r200_texstate.c.orig
2006-09-25 11:38:38.000000000 -0400
+++ mesa-6.5.0.cvs.20060524/src/mesa/drivers/dri/r200/r200_texstate.c
2006-09-25 10:48:46.000000000 -0400
@@ -1304,11 +1304,13 @@
case GL_REFLECTION_MAP_NV:
rmesa->TexGenNeedNormals[unit] = GL_TRUE;
tgi |= R200_TEXGEN_INPUT_EYE_REFLECT<<inputshift;
- set_texgen_matrix( rmesa, unit,
- (texUnit->TexGenEnabled & S_BIT) ? reflect : I,
- (texUnit->TexGenEnabled & T_BIT) ? reflect + 4 : I + 4,
- (texUnit->TexGenEnabled & R_BIT) ? reflect + 8 : I + 8,
- I + 12);
+ /* pretty weird, must only negate when lighting is enabled? */
+ if (ctx->Light.Enabled)
+ set_texgen_matrix( rmesa, unit,
+ (texUnit->TexGenEnabled & S_BIT) ? reflect : I,
+ (texUnit->TexGenEnabled & T_BIT) ? reflect + 4 : I + 4,
+ (texUnit->TexGenEnabled & R_BIT) ? reflect + 8 : I + 8,
+ I + 12);
break;
case GL_NORMAL_MAP_NV:
Thank you!
Dan
On 9/25/06, Michel Dänzer <daenzer at debian.org> wrote:
> tags 389289 upstream fixed-upstream
> kthxbye
>
> On Sun, 2006-09-24 at 18:53 -0400, Dan Torop wrote:
> > Package: libgl1-mesa-dri
> > Version: 6.5.0.cvs.20060524-1.1
> > Severity: normal
> >
> > When using GL_ARB_texture_cube_map with the R200 DRI driver and
> > GL_REFLECTION_MAP_ARB, the generated texture coordinates are flipped
> > from what they should be. That is, rotating the texture 180 degrees
> > around the X axis and then 180 degrees around the Y axis will result in
> > a "correct" image.
>
> This is fixed in Mesa CVS, not sure whether the fix went in before or
> after the 6.5.1 release though.
>
>
> --
> Earthling Michel Dänzer | http://tungstengraphics.com
> Libre software enthusiast | Debian, X and DRI developer
>
More information about the Pkg-mesa-devel
mailing list