Jason Green : wined3d: Fix regression from register maps switch for ARB shaders.

Alexandre Julliard julliard at wine.codeweavers.com
Sat Jun 10 06:26:30 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: e8c97e942188ac1fbb8d48dfdb6cf634a4d6f278
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=e8c97e942188ac1fbb8d48dfdb6cf634a4d6f278

Author: Jason Green <jave27 at gmail.com>
Date:   Fri Jun  9 18:28:00 2006 -0400

wined3d: Fix regression from register maps switch for ARB shaders.

I missed a register mask in the move to share the shader_hw_def()
function between pixel and vertex shaders for ARB shaders.  Fixed
that, and made the GLSL version use the same mask for consistency.

---

 dlls/wined3d/baseshader.c  |    4 ++--
 dlls/wined3d/glsl_shader.c |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/baseshader.c b/dlls/wined3d/baseshader.c
index 8d1f759..47e1ba8 100644
--- a/dlls/wined3d/baseshader.c
+++ b/dlls/wined3d/baseshader.c
@@ -767,10 +767,10 @@ void shader_dump_ins_modifiers(const DWO
  * float constant, and stores it's usage on the regmaps. */
 void shader_hw_def(SHADER_OPCODE_ARG* arg) {
 
-    DWORD reg = arg->dst;
+    DWORD reg = arg->dst & D3DSP_REGNUM_MASK;
 
     shader_addline(arg->buffer, 
-                   "PARAM C%lu = { %f, %f, %f, %f };\n", reg & 0xFF,
+                   "PARAM C%lu = { %f, %f, %f, %f };\n", reg,
                    *((const float *)(arg->src + 0)),
                    *((const float *)(arg->src + 1)),
                    *((const float *)(arg->src + 2)),
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index f8385e0..b2011b6 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -690,7 +690,7 @@ void shader_glsl_def(SHADER_OPCODE_ARG* 
     DWORD reg = arg->dst & D3DSP_REGNUM_MASK;
 
     shader_addline(arg->buffer, 
-                   "const vec4 C%lu = { %f, %f, %f, %f };\n", reg & 0xFF,
+                   "const vec4 C%lu = { %f, %f, %f, %f };\n", reg,
                    *((const float *)(arg->src + 0)),
                    *((const float *)(arg->src + 1)),
                    *((const float *)(arg->src + 2)),




More information about the wine-cvs mailing list