Jason Green : wined3d: Fix D3DSIO_TEXKILL for GLSL.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jul 7 11:09:49 CDT 2006


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

Author: Jason Green <jave27 at gmail.com>
Date:   Fri Jul  7 10:13:42 2006 -0400

wined3d: Fix D3DSIO_TEXKILL for GLSL.

---

 dlls/wined3d/glsl_shader.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index d7ec6a2..e7ba349 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1364,10 +1364,10 @@ void pshader_glsl_texbem(SHADER_OPCODE_A
  * If any of the first 3 components are < 0, discard this pixel */
 void pshader_glsl_texkill(SHADER_OPCODE_ARG* arg) {
 
-    char src0_str[100], src0_name[50], src0_mask[6];
+    char dst_str[100], dst_name[50], dst_mask[6];
 
-    shader_glsl_add_param(arg, arg->src[0], arg->src_addr[0], TRUE, src0_name, src0_mask, src0_str);
-    shader_addline(arg->buffer, "if (%s.x < 0.0 || %s.y < 0.0 || %s.z < 0.0) discard;\n", src0_name, src0_name, src0_name);
+    shader_glsl_add_param(arg, arg->dst, 0, FALSE, dst_name, dst_mask, dst_str);
+    shader_addline(arg->buffer, "if (any(lessThan(%s.xyz, vec3(0.0)))) discard;\n", dst_name);
 }
 
 /** Process the D3DSIO_DP2ADD instruction in GLSL.




More information about the wine-cvs mailing list