wined3d: Fix regression from register maps switch for ARB shaders
Jason Green
jave27 at gmail.com
Fri Jun 9 17:28:00 CDT 2006
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.
-------------- next part --------------
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 a04fbbd..6d1b106 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-patches
mailing list