Stefan Dösinger : wined3d: Handle projected+bump mapped textures in atifs.
Alexandre Julliard
julliard at winehq.org
Thu Aug 28 07:00:33 CDT 2008
Module: wine
Branch: master
Commit: acc893c5cf52fde43b90e6001d9a1cf8f4944c48
URL: http://source.winehq.org/git/wine.git/?a=commit;h=acc893c5cf52fde43b90e6001d9a1cf8f4944c48
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Thu Aug 21 13:47:41 2008 -0500
wined3d: Handle projected+bump mapped textures in atifs.
---
dlls/wined3d/ati_fragment_shader.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/dlls/wined3d/ati_fragment_shader.c b/dlls/wined3d/ati_fragment_shader.c
index 667a95c..7707a2a 100644
--- a/dlls/wined3d/ati_fragment_shader.c
+++ b/dlls/wined3d/ati_fragment_shader.c
@@ -312,11 +312,16 @@ static GLuint gen_ati_shader(struct texture_stage_op op[MAX_TEXTURES], WineD3D_G
GL_EXTCALL(glSampleMapATI(GL_REG_0_ATI + stage,
GL_TEXTURE0_ARB + stage,
GL_SWIZZLE_STR_ATI));
- TRACE("glPassTexCoordATI(GL_REG_%d_ATI, GL_TEXTURE_%d_ARB, GL_SWIZZLE_STR_ATI)\n",
- stage + 1, stage + 1);
+ if(op[stage + 1].projected == proj_none) {
+ swizzle = GL_SWIZZLE_STR_ATI;
+ } else {
+ swizzle = GL_SWIZZLE_STQ_DQ_ATI;
+ }
+ TRACE("glPassTexCoordATI(GL_REG_%d_ATI, GL_TEXTURE_%d_ARB, %s)\n",
+ stage + 1, stage + 1, debug_swizzle(swizzle));
GL_EXTCALL(glPassTexCoordATI(GL_REG_0_ATI + stage + 1,
GL_TEXTURE0_ARB + stage + 1,
- GL_SWIZZLE_STR_ATI));
+ swizzle));
/* We need GL_REG_5_ATI as a temporary register to swizzle the bump matrix. So we run into
* issues if we're bump mapping on stage 4 or 5
More information about the wine-cvs
mailing list