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