=?UTF-8?Q?J=C3=B3zef=20Kucia=20?=: wined3d: Simplify shader_glsl_append_imm_ivec().

Alexandre Julliard julliard at wine.codeweavers.com
Fri Mar 11 07:55:45 CST 2016


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

Author: Józef Kucia <jkucia at codeweavers.com>
Date:   Thu Mar 10 07:41:46 2016 +0100

wined3d: Simplify shader_glsl_append_imm_ivec().

Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/wined3d/glsl_shader.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 85244c8..2970a95 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -323,26 +323,22 @@ static void shader_glsl_append_imm_vec4(struct wined3d_string_buffer *buffer, co
 static void shader_glsl_append_imm_ivec(struct wined3d_string_buffer *buffer,
         const int *values, unsigned int size)
 {
-    const char *fmt = "%#x";
-    char str[4][17] = {{0}};
     int i;
 
-    if (1 > size || size > 4)
+    if (!size || size > 4)
     {
         ERR("Invalid vector size %u.\n", size);
         return;
     }
 
-    for (i = size - 1; i >= 0; --i)
-    {
-        sprintf(str[i], fmt, values[i]);
-        fmt = "%#x, ";
-    }
+    if (size > 1)
+        shader_addline(buffer, "ivec%u(", size);
+
+    for (i = 0; i < size; ++i)
+        shader_addline(buffer, i ? ", %#x" : "%#x", values[i]);
 
     if (size > 1)
-        shader_addline(buffer, "ivec%u(%s%s%s%s)", size, str[0], str[1], str[2], str[3]);
-    else
-        shader_addline(buffer, str[0]);
+        shader_addline(buffer, ")");
 }
 
 static const char *get_info_log_line(const char **ptr)




More information about the wine-cvs mailing list