H. Verbeet : wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_loop().

Alexandre Julliard julliard at wine.codeweavers.com
Tue Jan 16 10:07:47 CST 2007


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

Author: H. Verbeet <hverbeet at gmail.com>
Date:   Mon Jan 15 19:36:11 2007 +0100

wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_loop().

Fix the comment.

---

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

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 97cb950..4d575d6 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1397,17 +1397,18 @@ void shader_glsl_sincos(SHADER_OPCODE_AR
 }
 
 /** Process the WINED3DSIO_LOOP instruction in GLSL:
- * Start a for() loop where src0.y is the initial value of aL,
- *  increment aL by src0.z for a total of src0.x iterations.
+ * Start a for() loop where src1.y is the initial value of aL,
+ *  increment aL by src1.z for a total of src1.x iterations.
  *  Need to use a temporary variable for this operation.
  */
+/* FIXME: I don't think nested loops will work correctly this way. */
 void shader_glsl_loop(SHADER_OPCODE_ARG* arg) {
     
     char src1_str[100];
     char src1_reg[50];
     char src1_mask[6];
     
-    shader_glsl_add_src_param_old(arg, arg->src[1], arg->src_addr[1], src1_reg, src1_mask, src1_str);
+    shader_glsl_add_src_param(arg, arg->src[1], arg->src_addr[1], WINED3DSP_WRITEMASK_ALL, src1_reg, src1_mask, src1_str);
   
     shader_addline(arg->buffer, "for (tmpInt = 0, aL = %s.y; tmpInt < %s.x; tmpInt++, aL += %s.z) {\n",
                    src1_reg, src1_reg, src1_reg);




More information about the wine-cvs mailing list