[PATCH 1/6] wined3d: Simplify shader_glsl_append_imm_ivec().

Józef Kucia jkucia at codeweavers.com
Thu Mar 10 00:41:46 CST 2016


Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
 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)
-- 
2.4.10




More information about the wine-patches mailing list