Ivan Gyurdiev : wined3d: Clamp texcoord output between 0 and 1.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jul 11 11:03:07 CDT 2006


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

Author: Ivan Gyurdiev <ivg231 at gmail.com>
Date:   Sun Jul  9 22:51:52 2006 -0600

wined3d: Clamp texcoord output between 0 and 1.

---

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

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 25f295a..4eb8494 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -640,7 +640,7 @@ void pshader_hw_texcoord(SHADER_OPCODE_A
     pshader_get_write_mask(dst, tmp);
     if (hex_version != D3DPS_VERSION(1,4)) {
         DWORD reg = dst & D3DSP_REGNUM_MASK;
-        shader_addline(buffer, "MOV T%lu%s, fragment.texcoord[%lu];\n", reg, tmp, reg);
+        shader_addline(buffer, "MOV_SAT T%lu%s, fragment.texcoord[%lu];\n", reg, tmp, reg);
     } else {
         DWORD reg1 = dst & D3DSP_REGNUM_MASK;
         DWORD reg2 = src[0] & D3DSP_REGNUM_MASK;
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index f132dec..0d0ed3a 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1245,7 +1245,7 @@ void pshader_glsl_texcoord(SHADER_OPCODE
 
     if (hex_version != D3DPS_VERSION(1,4)) {
         DWORD reg = arg->dst & D3DSP_REGNUM_MASK;
-        shader_addline(buffer, "%s = gl_TexCoord[%lu];\n", tmpReg, reg);
+        shader_addline(buffer, "%s = clamp(gl_TexCoord[%lu], 0.0, 1.0);\n", tmpReg, reg);
     } else {
         DWORD reg2 = arg->src[0] & D3DSP_REGNUM_MASK;
         shader_addline(buffer, "%s = gl_TexCoord[%lu]%s;\n", tmpStr, reg2, tmpMask);




More information about the wine-cvs mailing list