[Mesa-dev] [PATCH 6/6] meta: Make shader template literal strings be parameters to asprintf
Ian Romanick
idr at freedesktop.org
Fri Oct 5 15:56:52 PDT 2012
From: Ian Romanick <ian.d.romanick at intel.com>
This enables the C compiler to generate warnings if the formats and the
arguments don't match.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
---
src/mesa/drivers/common/meta.c | 43 ++++++++++++++++++------------------------
1 file changed, 18 insertions(+), 25 deletions(-)
diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c
index ba932c7..24d8d48 100644
--- a/src/mesa/drivers/common/meta.c
+++ b/src/mesa/drivers/common/meta.c
@@ -3101,8 +3101,6 @@ setup_glsl_generate_mipmap(struct gl_context *ctx,
mem_ctx = ralloc_context(NULL);
if (ctx->API == API_OPENGLES2 || ctx->Const.GLSLVersion < 130) {
- const char *fs_template;
-
vs_source =
"attribute vec2 position;\n"
"attribute vec3 textureCoords;\n"
@@ -3112,22 +3110,19 @@ setup_glsl_generate_mipmap(struct gl_context *ctx,
" texCoords = textureCoords;\n"
" gl_Position = vec4(position, 0.0, 1.0);\n"
"}\n";
- fs_template =
- "#extension GL_EXT_texture_array : enable\n"
- "uniform %s texSampler;\n"
- "varying vec3 texCoords;\n"
- "void main()\n"
- "{\n"
- " gl_FragColor = %s(texSampler, %s);\n"
- "}\n";
- fs_source = ralloc_asprintf(mem_ctx, fs_template,
+ fs_source = ralloc_asprintf(mem_ctx,
+ "#extension GL_EXT_texture_array : enable\n"
+ "uniform %s texSampler;\n"
+ "varying vec3 texCoords;\n"
+ "void main()\n"
+ "{\n"
+ " gl_FragColor = %s(texSampler, %s);\n"
+ "}\n",
sampler->type,
sampler->func, sampler->texcoords);
}
else {
- const char *fs_template;
-
vs_source =
"#version 130\n"
"in vec2 position;\n"
@@ -3138,18 +3133,16 @@ setup_glsl_generate_mipmap(struct gl_context *ctx,
" texCoords = textureCoords;\n"
" gl_Position = vec4(position, 0.0, 1.0);\n"
"}\n";
- fs_template =
- "#version 130\n"
- "uniform %s texSampler;\n"
- "in vec3 texCoords;\n"
- "out vec4 out_color;\n"
- "\n"
- "void main()\n"
- "{\n"
- " out_color = texture(texSampler, %s);\n"
- "}\n";
-
- fs_source = ralloc_asprintf(mem_ctx, fs_template,
+ fs_source = ralloc_asprintf(mem_ctx,
+ "#version 130\n"
+ "uniform %s texSampler;\n"
+ "in vec3 texCoords;\n"
+ "out vec4 out_color;\n"
+ "\n"
+ "void main()\n"
+ "{\n"
+ " out_color = texture(texSampler, %s);\n"
+ "}\n",
sampler->type,
sampler->texcoords);
}
--
1.7.11.4
More information about the mesa-dev
mailing list