diff options
author | Eric Anholt <anholt@FreeBSD.org> | 2004-10-16 03:36:14 +0000 |
---|---|---|
committer | Eric Anholt <anholt@FreeBSD.org> | 2004-10-16 03:36:14 +0000 |
commit | b1ebd306bf4fdc4076d3d3daa410b08f477cb4c4 (patch) | |
tree | e815feb8221211e716d664be7093e5f344efcf3d /src/mesa/drivers/dri/r200/r200_maos_arrays.c | |
parent | a1af92877d3d91886cf01be9e6c65311960e3baf (diff) | |
download | external_mesa3d-b1ebd306bf4fdc4076d3d3daa410b08f477cb4c4.zip external_mesa3d-b1ebd306bf4fdc4076d3d3daa410b08f477cb4c4.tar.gz external_mesa3d-b1ebd306bf4fdc4076d3d3daa410b08f477cb4c4.tar.bz2 |
Add code to support projective texturing and fix mixed enabling of texture
coordinate generation. Original code by Roland Schiedegger, with changes by
myself. While here, ensure that the swtcl path does tnl_install_attrs enough
when fog/specular are being (en/dis)abled.
Notable effects:
- projtex test works with TCL and is closer with swtcl (Bugzilla #1461)
- 8/9 squares work in texgenmix instead of 3.
- texcyl "reflect" mode works (GL_SPHERE_MAP is now a fallback -- unclear if the
hardware can actually support it).
- flickering in doom3 replaced by just plain darkness.
- blocktube fixed (Bugzilla #984)
- fixes stex3d
Diffstat (limited to 'src/mesa/drivers/dri/r200/r200_maos_arrays.c')
-rw-r--r-- | src/mesa/drivers/dri/r200/r200_maos_arrays.c | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_maos_arrays.c b/src/mesa/drivers/dri/r200/r200_maos_arrays.c index 3429cf6..0f8ca30 100644 --- a/src/mesa/drivers/dri/r200/r200_maos_arrays.c +++ b/src/mesa/drivers/dri/r200/r200_maos_arrays.c @@ -344,7 +344,6 @@ void r200EmitArrays( GLcontext *ctx, GLuint inputs ) GLuint vfmt0 = 0, vfmt1 = 0; GLuint count = VB->Count; GLuint i; - GLuint re_cntl; if (1) { if (!rmesa->tcl.obj.buf) @@ -421,12 +420,6 @@ void r200EmitArrays( GLcontext *ctx, GLuint inputs ) component[nr++] = &rmesa->tcl.spec; } - re_cntl = rmesa->hw.set.cmd[SET_RE_CNTL] & ~(R200_VTX_STQ0_D3D | - R200_VTX_STQ1_D3D | - R200_VTX_STQ2_D3D | - R200_VTX_STQ3_D3D | - R200_VTX_STQ4_D3D | - R200_VTX_STQ5_D3D ); for ( i = 0 ; i < ctx->Const.MaxTextureUnits ; i++ ) { if (inputs & (VERT_BIT_TEX0 << i)) { if (!rmesa->tcl.tex[i].buf) @@ -437,20 +430,11 @@ void r200EmitArrays( GLcontext *ctx, GLuint inputs ) VB->TexCoordPtr[i]->stride, count ); - if ( ctx->Texture.Unit[i]._ReallyEnabled == TEXTURE_CUBE_BIT ) { - re_cntl |= R200_VTX_STQ0_D3D << (2 * i); - } - vfmt1 |= VB->TexCoordPtr[i]->size << (i * 3); component[nr++] = &rmesa->tcl.tex[i]; } } - if ( re_cntl != rmesa->hw.set.cmd[SET_RE_CNTL] ) { - R200_STATECHANGE( rmesa, set ); - rmesa->hw.set.cmd[SET_RE_CNTL] = re_cntl; - } - if (vfmt0 != rmesa->hw.vtx.cmd[VTX_VTXFMT_0] || vfmt1 != rmesa->hw.vtx.cmd[VTX_VTXFMT_1]) { R200_STATECHANGE( rmesa, vtx ); |