Stefan Dösinger : wined3d: Handle input modifiers in texcrd with arb shaders.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Mar 27 06:58:40 CDT 2007


Module: wine
Branch: master
Commit: 929116f23c0606a28d0b242b6cdd50e19bdf6532
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=929116f23c0606a28d0b242b6cdd50e19bdf6532

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Sat Mar 24 16:08:22 2007 +0100

wined3d: Handle input modifiers in texcrd with arb shaders.

---

 dlls/wined3d/arb_program_shader.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 2185455..e6106cd 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -663,7 +663,6 @@ void pshader_hw_texcoord(SHADER_OPCODE_ARG* arg) {
 
     IWineD3DPixelShaderImpl* This = (IWineD3DPixelShaderImpl*) arg->shader;
     DWORD dst = arg->dst;
-    DWORD* src = arg->src;
     SHADER_BUFFER* buffer = arg->buffer;
     DWORD hex_version = This->baseShader.hex_version;
 
@@ -674,8 +673,10 @@ void pshader_hw_texcoord(SHADER_OPCODE_ARG* arg) {
         shader_addline(buffer, "MOV_SAT T%u%s, fragment.texcoord[%u];\n", reg, tmp, reg);
     } else {
         DWORD reg1 = dst & WINED3DSP_REGNUM_MASK;
-        DWORD reg2 = src[0] & WINED3DSP_REGNUM_MASK;
-        shader_addline(buffer, "MOV R%u%s, fragment.texcoord[%u];\n", reg1, tmp, reg2);
+        char reg_src[40];
+
+        pshader_gen_input_modifier_line(buffer, arg->src[0], 0, reg_src);
+        shader_addline(buffer, "MOV R%u%s, %s;\n", reg1, tmp, reg_src);
    }
 }
 




More information about the wine-cvs mailing list