[1/3] WineD3D: Handle input modifiers in texcrd with arb shaders
Stefan Dösinger
stefan at codeweavers.com
Sat Mar 24 17:03:10 CDT 2007
Resend of the patch from earlier today, this time using
pshader_gen_input_modifier_line to handle the modifier.
-------------- next part --------------
From 7aa727147f81a1f1941a2759dfb6f77e414ddee0 Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <stefan at codeweavers.com>
Date: Sat, 24 Mar 2007 16:08:22 +0100
Subject: [PATCH] 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);
}
}
--
1.4.4.3
More information about the wine-patches
mailing list