Module: wine Branch: refs/heads/master Commit: e8c97e942188ac1fbb8d48dfdb6cf634a4d6f278 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=e8c97e942188ac1fbb8d48df...
Author: Jason Green jave27@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)),