summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--src/mesa/main/debug.c4
-rw-r--r--src/mesa/main/mtypes.h10
-rw-r--r--src/mesa/shader/shader_api.c62
-rw-r--r--src/mesa/shader/slang/slang_compile.c18
-rw-r--r--src/mesa/shader/slang/slang_link.c20
-rw-r--r--src/mesa/shader/slang/slang_log.c6
-rw-r--r--src/mesa/sources1
8 files changed, 20 insertions, 102 deletions
diff --git a/Makefile b/Makefile
index 4d4c6a551a7..419265df807 100644
--- a/Makefile
+++ b/Makefile
@@ -16,7 +16,6 @@ default: $(TOP)/configs/current
doxygen:
cd doxygen && $(MAKE)
-
clean:
-@touch $(TOP)/configs/current
-@for dir in $(SUBDIRS) ; do \
diff --git a/src/mesa/main/debug.c b/src/mesa/main/debug.c
index 65970a53a94..77fef325583 100644
--- a/src/mesa/main/debug.c
+++ b/src/mesa/main/debug.c
@@ -164,7 +164,9 @@ static void add_debug_flags( const char *debug )
{ "api", VERBOSE_API },
{ "list", VERBOSE_DISPLAY_LIST },
{ "lighting", VERBOSE_LIGHTING },
- { "disassem", VERBOSE_DISASSEM }
+ { "disassem", VERBOSE_DISASSEM },
+ { "glsl", VERBOSE_GLSL }, /* report GLSL compile/link errors */
+ { "glsl_dump", VERBOSE_GLSL_DUMP } /* print shader GPU instructions */
};
GLuint i;
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 509da06d092..17dd3e6afde 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -2162,13 +2162,6 @@ struct gl_shader_program
};
-#define GLSL_DUMP 0x1 /**< Dump shaders to stdout */
-#define GLSL_LOG 0x2 /**< Write shaders to files */
-#define GLSL_OPT 0x4 /**< Force optimizations (override pragmas) */
-#define GLSL_NO_OPT 0x8 /**< Force no optimizations (override pragmas) */
-#define GLSL_UNIFORMS 0x10 /**< Print glUniform calls */
-
-
/**
* Context state for GLSL vertex/fragment shaders.
*/
@@ -2180,7 +2173,6 @@ struct gl_shader_state
GLboolean EmitCondCodes; /**< Use condition codes? */
GLboolean EmitComments; /**< Annotated instructions */
void *MemPool;
- GLbitfield Flags; /**< Mask of GLSL_x flags */
};
@@ -3171,6 +3163,8 @@ enum _verbose
VERBOSE_PRIMS = 0x0400,
VERBOSE_VERTS = 0x0800,
VERBOSE_DISASSEM = 0x1000,
+ VERBOSE_GLSL = 0x2000,
+ VERBOSE_GLSL_DUMP = 0x4000
};
diff --git a/src/mesa/shader/shader_api.c b/src/mesa/shader/shader_api.c
index fb2a7e54fe6..acee34dc5bc 100644
--- a/src/mesa/shader/shader_api.c
+++ b/src/mesa/shader/shader_api.c
@@ -370,31 +370,6 @@ _mesa_lookup_shader_err(GLcontext *ctx, GLuint name, const char *caller)
}
-/**
- * Return mask of GLSL_x flags by examining the MESA_GLSL env var.
- */
-static GLbitfield
-get_shader_flags(void)
-{
- GLbitfield flags = 0x0;
- const char *env = _mesa_getenv("MESA_GLSL");
-
- if (env) {
- if (_mesa_strstr(env, "dump"))
- flags |= GLSL_DUMP;
- if (_mesa_strstr(env, "log"))
- flags |= GLSL_LOG;
- if (_mesa_strstr(env, "nopt"))
- flags |= GLSL_NO_OPT;
- else if (_mesa_strstr(env, "opt"))
- flags |= GLSL_OPT;
- if (_mesa_strstr(env, "uniform"))
- flags |= GLSL_UNIFORMS;
- }
-
- return flags;
-}
-
/**
* Initialize context's shader state.
@@ -408,7 +383,6 @@ _mesa_init_shader_state(GLcontext * ctx)
ctx->Shader.EmitHighLevelInstructions = GL_TRUE;
ctx->Shader.EmitCondCodes = GL_TRUE; /* XXX probably want GL_FALSE... */
ctx->Shader.EmitComments = GL_FALSE;
- ctx->Shader.Flags = get_shader_flags();
}
@@ -1639,7 +1613,6 @@ _mesa_uniform(GLcontext *ctx, GLint location, GLsizei count,
struct gl_shader_program *shProg = ctx->Shader.CurrentProgram;
struct gl_uniform *uniform;
GLint elems, offset;
- GLenum basicType;
if (!shProg || !shProg->LinkStatus) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glUniform(program not linked)");
@@ -1663,35 +1636,19 @@ _mesa_uniform(GLcontext *ctx, GLint location, GLsizei count,
switch (type) {
case GL_FLOAT:
- basicType = GL_FLOAT;
- elems = 1;
- break;
case GL_INT:
- basicType = GL_INT;
elems = 1;
break;
case GL_FLOAT_VEC2:
- basicType = GL_FLOAT;
- elems = 2;
- break;
case GL_INT_VEC2:
- basicType = GL_INT;
elems = 2;
break;
case GL_FLOAT_VEC3:
- basicType = GL_FLOAT;
- elems = 3;
- break;
case GL_INT_VEC3:
- basicType = GL_INT;
elems = 3;
break;
case GL_FLOAT_VEC4:
- basicType = GL_FLOAT;
- elems = 4;
- break;
case GL_INT_VEC4:
- basicType = GL_INT;
elems = 4;
break;
default:
@@ -1703,25 +1660,6 @@ _mesa_uniform(GLcontext *ctx, GLint location, GLsizei count,
uniform = &shProg->Uniforms->Uniforms[location];
- if (ctx->Shader.Flags & GLSL_UNIFORMS) {
- GLint i;
- _mesa_printf("Mesa: set program %u uniform %s (loc %d) to: ",
- shProg->Name, uniform->Name, location);
- if (basicType == GL_INT) {
- const GLint *v = (const GLint *) values;
- for (i = 0; i < count * elems; i++) {
- _mesa_printf("%d ", v[i]);
- }
- }
- else {
- const GLfloat *v = (const GLfloat *) values;
- for (i = 0; i < count * elems; i++) {
- _mesa_printf("%g ", v[i]);
- }
- }
- _mesa_printf("\n");
- }
-
/* A uniform var may be used by both a vertex shader and a fragment
* shader. We may need to update one or both shader's uniform here:
*/
diff --git a/src/mesa/shader/slang/slang_compile.c b/src/mesa/shader/slang/slang_compile.c
index 0c7881dd19b..40460e0c7ee 100644
--- a/src/mesa/shader/slang/slang_compile.c
+++ b/src/mesa/shader/slang/slang_compile.c
@@ -32,7 +32,6 @@
#include "main/context.h"
#include "shader/program.h"
#include "shader/programopt.h"
-#include "shader/prog_optimize.h"
#include "shader/prog_print.h"
#include "shader/prog_parameter.h"
#include "shader/grammar/grammar_mesa.h"
@@ -2795,22 +2794,11 @@ _slang_compile(GLcontext *ctx, struct gl_shader *shader)
_mesa_print_program(shader->Program);
#endif
- if (success) {
- if ((ctx->Shader.Flags & GLSL_NO_OPT) == 0) {
- if ((ctx->Shader.Flags & GLSL_OPT) || shader->Pragmas.Optimize) {
- /* apply program optimizations */
- _mesa_remove_extra_moves(shader->Program);
- _mesa_remove_dead_code(shader->Program);
- _mesa_consolidate_registers(shader->Program);
- }
- }
- }
-
shader->CompileStatus = success;
- if (ctx->Shader.Flags & GLSL_LOG) {
- _mesa_write_shader_to_file(shader);
- }
+#if 0
+ _mesa_write_shader_to_file(shader);
+#endif
return success;
}
diff --git a/src/mesa/shader/slang/slang_link.c b/src/mesa/shader/slang/slang_link.c
index 4ee1beccd46..77bcda08716 100644
--- a/src/mesa/shader/slang/slang_link.c
+++ b/src/mesa/shader/slang/slang_link.c
@@ -675,12 +675,12 @@ _slang_link(GLcontext *ctx,
/* notify driver that a new fragment program has been compiled/linked */
ctx->Driver.ProgramStringNotify(ctx, GL_FRAGMENT_PROGRAM_ARB,
&shProg->FragmentProgram->Base);
- if (ctx->Shader.Flags & GLSL_DUMP) {
- _mesa_printf("Mesa original fragment program:\n");
+ if (MESA_VERBOSE & VERBOSE_GLSL_DUMP) {
+ printf("Mesa original fragment program:\n");
_mesa_print_program(&fragProg->Base);
_mesa_print_program_parameters(ctx, &fragProg->Base);
- _mesa_printf("Mesa post-link fragment program:\n");
+ printf("Mesa post-link fragment program:\n");
_mesa_print_program(&shProg->FragmentProgram->Base);
_mesa_print_program_parameters(ctx, &shProg->FragmentProgram->Base);
}
@@ -693,26 +693,22 @@ _slang_link(GLcontext *ctx,
/* notify driver that a new vertex program has been compiled/linked */
ctx->Driver.ProgramStringNotify(ctx, GL_VERTEX_PROGRAM_ARB,
&shProg->VertexProgram->Base);
- if (ctx->Shader.Flags & GLSL_DUMP) {
- _mesa_printf("Mesa original vertex program:\n");
+ if (MESA_VERBOSE & VERBOSE_GLSL_DUMP) {
+ printf("Mesa original vertex program:\n");
_mesa_print_program(&vertProg->Base);
_mesa_print_program_parameters(ctx, &vertProg->Base);
- _mesa_printf("Mesa post-link vertex program:\n");
+ printf("Mesa post-link vertex program:\n");
_mesa_print_program(&shProg->VertexProgram->Base);
_mesa_print_program_parameters(ctx, &shProg->VertexProgram->Base);
}
}
- if (ctx->Shader.Flags & GLSL_DUMP) {
- _mesa_printf("Varying vars:\n");
+ if (MESA_VERBOSE & VERBOSE_GLSL_DUMP) {
+ printf("Varying vars:\n");
_mesa_print_parameter_list(shProg->Varying);
- if (shProg->InfoLog) {
- _mesa_printf("Info Log: %s\n", shProg->InfoLog);
- }
}
-
shProg->LinkStatus = (shProg->VertexProgram || shProg->FragmentProgram);
}
diff --git a/src/mesa/shader/slang/slang_log.c b/src/mesa/shader/slang/slang_log.c
index 30729ba8d52..d5576d7ee2d 100644
--- a/src/mesa/shader/slang/slang_log.c
+++ b/src/mesa/shader/slang/slang_log.c
@@ -77,11 +77,13 @@ slang_info_log_message(slang_info_log * log, const char *prefix,
slang_string_concat(log->text, msg);
slang_string_concat(log->text, "\n");
+ if (MESA_VERBOSE & VERBOSE_GLSL) {
+ _mesa_printf("Mesa: GLSL %s", log->text);
+ }
+
return 1;
}
-#define EXIT_SUCCESS 13
-
int
slang_info_log_print(slang_info_log * log, const char *msg, ...)
{
diff --git a/src/mesa/sources b/src/mesa/sources
index a7210c134da..01a3fb89e61 100644
--- a/src/mesa/sources
+++ b/src/mesa/sources
@@ -177,7 +177,6 @@ SHADER_SOURCES = \
shader/prog_execute.c \
shader/prog_instruction.c \
shader/prog_noise.c \
- shader/prog_optimize.c \
shader/prog_parameter.c \
shader/prog_print.c \
shader/prog_statevars.c \