summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2016-07-08 12:44:44 +1000
committerTimothy Arceri <[email protected]>2017-01-31 09:51:31 +1100
commit30aa22dec0db401abd919b051bdfed54aa9258d1 (patch)
tree12d7a7eb719ec4b3e73e19d9a14574f6fb0f3ab6
parentba1eb854bdb054714c5e98140c5697ed9b894c42 (diff)
mesa: add new MESA_GLSL flag for printing shader cache debug info
Reviewed-by: Eric Anholt <[email protected]>
-rw-r--r--docs/shading.html1
-rw-r--r--src/mesa/main/mtypes.h1
-rw-r--r--src/mesa/main/shaderapi.c2
3 files changed, 4 insertions, 0 deletions
diff --git a/docs/shading.html b/docs/shading.html
index b0ed249e1dd..e44035a0b23 100644
--- a/docs/shading.html
+++ b/docs/shading.html
@@ -49,6 +49,7 @@ execution. These are generally used for debugging.
<li><b>log</b> - log all GLSL shaders to files.
The filenames will be "shader_X.vert" or "shader_X.frag" where X
the shader ID.
+<li><b>cache_info</b> - print debug information about shader cache
<li><b>nopt</b> - disable compiler optimizations
<li><b>opt</b> - force compiler optimizations
<li><b>uniform</b> - print message to stdout when glUniform is called
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 1cc8322d348..a2280e2539f 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2837,6 +2837,7 @@ struct gl_shader_program
#define GLSL_USE_PROG 0x80 /**< Log glUseProgram calls */
#define GLSL_REPORT_ERRORS 0x100 /**< Print compilation errors */
#define GLSL_DUMP_ON_ERROR 0x200 /**< Dump shaders to stderr on compile error */
+#define GLSL_CACHE_INFO 0x400 /**< Print debug information about shader cache */
/**
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index 272aa5153cb..4667866ca06 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -77,6 +77,8 @@ _mesa_get_shader_flags(void)
flags |= GLSL_DUMP;
if (strstr(env, "log"))
flags |= GLSL_LOG;
+ if (strstr(env, "cache_info"))
+ flags |= GLSL_CACHE_INFO;
if (strstr(env, "nopvert"))
flags |= GLSL_NOP_VERT;
if (strstr(env, "nopfrag"))