[virglrenderer-devel] [PATCH v2 5/5] Fix -Wformat-nonliteral warnings

marcandre.lureau at redhat.com marcandre.lureau at redhat.com
Mon Feb 15 12:27:41 UTC 2016


From: Marc-André Lureau <marcandre.lureau at redhat.com>

Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
---
 src/vrend_blitter.c |  8 +++----
 src/vrend_blitter.h | 60 +++++++++++++++++++++++++----------------------------
 src/vrend_shader.c  | 40 ++++++++++++++++++++++++-----------
 3 files changed, 60 insertions(+), 48 deletions(-)

diff --git a/src/vrend_blitter.c b/src/vrend_blitter.c
index 7ecd8c1..8783a4f 100644
--- a/src/vrend_blitter.c
+++ b/src/vrend_blitter.c
@@ -93,7 +93,7 @@ static bool blit_build_vs_passthrough(struct vrend_blitter_ctx *blit_ctx)
 {
    blit_ctx->vs = glCreateShader(GL_VERTEX_SHADER);
 
-   if (!build_and_check(blit_ctx->vs, vs_passthrough)) {
+   if (!build_and_check(blit_ctx->vs, VS_PASSTHROUGH)) {
       glDeleteShader(blit_ctx->vs);
       blit_ctx->vs = 0;
       return false;
@@ -142,7 +142,7 @@ static GLuint blit_build_frag_tex_col(struct vrend_blitter_ctx *blit_ctx, int tg
        tgsi_tex_target == TGSI_TEXTURE_SHADOWCUBE_ARRAY)
       ext_str = "#extension GL_ARB_texture_cube_map_array : require\n";
 
-   snprintf(shader_buf, 4096, fs_texfetch_col, ext_str, vrend_shader_samplertypeconv(tgsi_tex_target, &is_shad), twm, "");
+   snprintf(shader_buf, 4096, FS_TEXFETCH_COL, ext_str, vrend_shader_samplertypeconv(tgsi_tex_target, &is_shad), twm, "");
 
    fs_id = glCreateShader(GL_FRAGMENT_SHADER);
 
@@ -191,7 +191,7 @@ static GLuint blit_build_frag_tex_writedepth(struct vrend_blitter_ctx *blit_ctx,
       break;
    }
 
-   snprintf(shader_buf, 4096, fs_texfetch_ds, vrend_shader_samplertypeconv(tgsi_tex_target, &is_shad), twm);
+   snprintf(shader_buf, 4096, FS_TEXFETCH_DS, vrend_shader_samplertypeconv(tgsi_tex_target, &is_shad), twm);
 
    fs_id = glCreateShader(GL_FRAGMENT_SHADER);
 
@@ -224,7 +224,7 @@ static GLuint blit_build_frag_blit_msaa_depth(struct vrend_blitter_ctx *blit_ctx
       return 0;
    }
 
-   snprintf(shader_buf, 4096, fs_texfetch_ds_msaa, vrend_shader_samplertypeconv(tgsi_tex_target, &is_shad), ivec, twm);
+   snprintf(shader_buf, 4096, FS_TEXFETCH_DS_MSAA, vrend_shader_samplertypeconv(tgsi_tex_target, &is_shad), ivec, twm);
 
    fs_id = glCreateShader(GL_FRAGMENT_SHADER);
 
diff --git a/src/vrend_blitter.h b/src/vrend_blitter.h
index 46f62b2..a6612f8 100644
--- a/src/vrend_blitter.h
+++ b/src/vrend_blitter.h
@@ -26,44 +26,40 @@
 
 /* shaders for blitting */
 
-static const char *vs_passthrough = {
-   "#version 130\n"
-   "in vec4 arg0;\n"
-   "in vec4 arg1;\n"
-   "out vec4 tc;\n"
-   "void main() {\n"
-   "   gl_Position = arg0;\n"
-   "   tc = arg1;\n"
+#define VS_PASSTHROUGH                          \
+   "#version 130\n"                             \
+   "in vec4 arg0;\n"                            \
+   "in vec4 arg1;\n"                            \
+   "out vec4 tc;\n"                             \
+   "void main() {\n"                            \
+   "   gl_Position = arg0;\n"                   \
+   "   tc = arg1;\n"                            \
    "}\n"
-};
 
-static const char *fs_texfetch_col = {
-   "#version 130\n"
-   "%s"
-   "uniform sampler%s samp;\n"
-   "in vec4 tc;\n"
-   "void main() {\n"
-   "   gl_FragColor = texture(samp, tc%s)%s;\n"
+#define FS_TEXFETCH_COL                         \
+   "#version 130\n"                             \
+   "%s"                                         \
+   "uniform sampler%s samp;\n"                  \
+   "in vec4 tc;\n"                              \
+   "void main() {\n"                            \
+   "   gl_FragColor = texture(samp, tc%s)%s;\n" \
    "}\n"
-};
 
-static const char *fs_texfetch_ds = {
-   "#version 130\n"
-   "uniform sampler%s samp;\n"
-   "in vec4 tc;\n"
-   "void main() {\n"
-   "   gl_FragDepth = float(texture(samp, tc%s).x);\n"
+#define FS_TEXFETCH_DS                                  \
+   "#version 130\n"                                     \
+   "uniform sampler%s samp;\n"                          \
+   "in vec4 tc;\n"                                      \
+   "void main() {\n"                                    \
+   "   gl_FragDepth = float(texture(samp, tc%s).x);\n"  \
    "}\n"
-};
 
-static const char *fs_texfetch_ds_msaa = {
-   "#version 130\n"
-   "#extension GL_ARB_texture_multisample : enable\n"
-   "uniform sampler%s samp;\n"
-   "in vec4 tc;\n"
-   "void main() {\n"
-   "   gl_FragDepth = float(texelFetch(samp, %s(tc%s), int(tc.z)).x);\n"
+#define FS_TEXFETCH_DS_MSAA                                             \
+   "#version 130\n"                                                     \
+   "#extension GL_ARB_texture_multisample : enable\n"                   \
+   "uniform sampler%s samp;\n"                                          \
+   "in vec4 tc;\n"                                                      \
+   "void main() {\n"                                                    \
+   "   gl_FragDepth = float(texelFetch(samp, %s(tc%s), int(tc.z)).x);\n" \
    "}\n"
-};
 
 #endif
diff --git a/src/vrend_shader.c b/src/vrend_shader.c
index 9ee4612..a588a29 100644
--- a/src/vrend_shader.c
+++ b/src/vrend_shader.c
@@ -705,17 +705,6 @@ static int emit_cbuf_writes(struct dump_ctx *ctx)
    return 0;
 }
 
-static const char *atests[PIPE_FUNC_ALWAYS + 1] = {
-   "false",
-   "%s < %f",
-   "%s == %f",
-   "%s <= %f",
-   "%s > %f",
-   "%s != %f",
-   "%s >= %f",
-   "true",
-};
-
 static int emit_a8_swizzle(struct dump_ctx *ctx)
 {
    char buf[255];
@@ -727,12 +716,39 @@ static int emit_a8_swizzle(struct dump_ctx *ctx)
    return 0;
 }
 
+static const char *atests[PIPE_FUNC_ALWAYS + 1] = {
+   "false",
+   "<",
+   "==",
+   "<=",
+   ">",
+   "!=",
+   ">=",
+   "true"
+};
+
 static int emit_alpha_test(struct dump_ctx *ctx)
 {
    char buf[255];
    char comp_buf[128];
    char *sret;
-   snprintf(comp_buf, 128, atests[ctx->key->alpha_test], "fsout_c0.w", ctx->key->alpha_ref_val);
+
+   switch (ctx->key->alpha_test) {
+   case PIPE_FUNC_NEVER:
+   case PIPE_FUNC_ALWAYS:
+      snprintf(comp_buf, 128, "%s", atests[ctx->key->alpha_test]);
+      break;
+   case PIPE_FUNC_LESS:
+   case PIPE_FUNC_EQUAL:
+   case PIPE_FUNC_LEQUAL:
+   case PIPE_FUNC_GREATER:
+   case PIPE_FUNC_NOTEQUAL:
+   case PIPE_FUNC_GEQUAL:
+      snprintf(comp_buf, 128, "%s %s %f", "fsout_c0.w", atests[ctx->key->alpha_test], ctx->key->alpha_ref_val);
+   default:
+      fprintf(stderr, "invalid alpha-test: %x\n", ctx->key->alpha_test);
+      return EINVAL;
+   }
 
    snprintf(buf, 255, "if (!(%s)) {\n\tdiscard;\n}\n", comp_buf);
    sret = add_str_to_glsl_main(ctx, buf);
-- 
2.5.0



More information about the virglrenderer-devel mailing list