summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlejandro Piñeiro <apinheiro@igalia.com>2016-04-19 20:26:32 +0200
committerAlejandro Piñeiro <apinheiro@igalia.com>2016-05-26 08:46:05 +0200
commit68c23d2d046b6419c7b3bd273278235095e29dae (patch)
tree7e56a1f1f67610c18c264a1e7122a354831927b3 /src
parent66ff04322e80d14d9b1c8a4d1ef8cf63440242af (diff)
downloadexternal_mesa3d-68c23d2d046b6419c7b3bd273278235095e29dae.zip
external_mesa3d-68c23d2d046b6419c7b3bd273278235095e29dae.tar.gz
external_mesa3d-68c23d2d046b6419c7b3bd273278235095e29dae.tar.bz2
glsl: add just-log option for the standalone compiler.
Add an option in order to ask to just print the InfoLog, without any header or separator. Useful if we want to use the standalone compiler to track only the warning/error messages. v2: all printfs goes on its own line (Ian Romanick) v3: rebasing: move just_log to standalone.h/cpp Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Diffstat (limited to 'src')
-rw-r--r--src/compiler/glsl/main.cpp1
-rw-r--r--src/compiler/glsl/standalone.cpp20
-rw-r--r--src/compiler/glsl/standalone.h1
3 files changed, 18 insertions, 4 deletions
diff --git a/src/compiler/glsl/main.cpp b/src/compiler/glsl/main.cpp
index f65b185..1e5e0fe 100644
--- a/src/compiler/glsl/main.cpp
+++ b/src/compiler/glsl/main.cpp
@@ -43,6 +43,7 @@ const struct option compiler_opts[] = {
{ "dump-hir", no_argument, &options.dump_hir, 1 },
{ "dump-lir", no_argument, &options.dump_lir, 1 },
{ "link", no_argument, &options.do_link, 1 },
+ { "just-log", no_argument, &options.just_log, 1 },
{ "version", required_argument, NULL, 'v' },
{ NULL, 0, NULL, 0 }
};
diff --git a/src/compiler/glsl/standalone.cpp b/src/compiler/glsl/standalone.cpp
index e5b9057..c9f20e4 100644
--- a/src/compiler/glsl/standalone.cpp
+++ b/src/compiler/glsl/standalone.cpp
@@ -381,8 +381,14 @@ standalone_compile_shader(const struct standalone_options *_options,
compile_shader(ctx, shader);
- if (strlen(shader->InfoLog) > 0)
- printf("Info log for %s:\n%s\n", files[i], shader->InfoLog);
+ if (strlen(shader->InfoLog) > 0) {
+ if (!options->just_log)
+ printf("Info log for %s:\n", files[i]);
+
+ printf("%s", shader->InfoLog);
+ if (!options->just_log)
+ printf("\n");
+ }
if (!shader->CompileStatus) {
status = EXIT_FAILURE;
@@ -396,8 +402,14 @@ standalone_compile_shader(const struct standalone_options *_options,
link_shaders(ctx, whole_program);
status = (whole_program->LinkStatus) ? EXIT_SUCCESS : EXIT_FAILURE;
- if (strlen(whole_program->InfoLog) > 0)
- printf("Info log for linking:\n%s\n", whole_program->InfoLog);
+ if (strlen(whole_program->InfoLog) > 0) {
+ printf("\n");
+ if (!options->just_log)
+ printf("Info log for linking:\n");
+ printf("%s", whole_program->InfoLog);
+ if (!options->just_log)
+ printf("\n");
+ }
for (unsigned i = 0; i < MESA_SHADER_STAGES; i++) {
struct gl_shader *shader = whole_program->_LinkedShaders[i];
diff --git a/src/compiler/glsl/standalone.h b/src/compiler/glsl/standalone.h
index 5b387c5..648cedb 100644
--- a/src/compiler/glsl/standalone.h
+++ b/src/compiler/glsl/standalone.h
@@ -34,6 +34,7 @@ struct standalone_options {
int dump_hir;
int dump_lir;
int do_link;
+ int just_log;
};
struct gl_shader_program;