summaryrefslogtreecommitdiffstats
path: root/src/mesa/program
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2013-06-12 17:15:46 +0200
committerMarek Olšák <[email protected]>2013-07-02 17:02:14 +0200
commit030ca230e25192307336cb39f1ee414d0392b620 (patch)
treed77e85b3517380fded6c54ce6a1c3ef1da025f1f /src/mesa/program
parent84f367e69a876e473b4293483c5842b47d27d493 (diff)
mesa: renumber shader indices according to their placement in pipeline
See my explanation in mtypes.h. v2: don't do this in gallium v3: also updated the comment at the gl_shader_type definition Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/mesa/program')
-rw-r--r--src/mesa/program/ir_to_mesa.cpp10
-rw-r--r--src/mesa/program/program.h2
2 files changed, 4 insertions, 8 deletions
diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index 35a9b8437dc..4af1c8241d8 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -3073,12 +3073,6 @@ _mesa_ir_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
linked_prog = get_mesa_program(ctx, prog, prog->_LinkedShaders[i]);
if (linked_prog) {
- static const GLenum targets[] = {
- GL_VERTEX_PROGRAM_ARB,
- GL_FRAGMENT_PROGRAM_ARB,
- GL_GEOMETRY_PROGRAM_NV
- };
-
if (i == MESA_SHADER_VERTEX) {
((struct gl_vertex_program *)linked_prog)->UsesClipDistance
= prog->Vert.UsesClipDistance;
@@ -3086,7 +3080,9 @@ _mesa_ir_link_shader(struct gl_context *ctx, struct gl_shader_program *prog)
_mesa_reference_program(ctx, &prog->_LinkedShaders[i]->Program,
linked_prog);
- if (!ctx->Driver.ProgramStringNotify(ctx, targets[i], linked_prog)) {
+ if (!ctx->Driver.ProgramStringNotify(ctx,
+ _mesa_program_index_to_target(i),
+ linked_prog)) {
return GL_FALSE;
}
}
diff --git a/src/mesa/program/program.h b/src/mesa/program/program.h
index ecda59b5884..f2898389460 100644
--- a/src/mesa/program/program.h
+++ b/src/mesa/program/program.h
@@ -205,8 +205,8 @@ _mesa_program_index_to_target(GLuint i)
{
static const GLenum enums[MESA_SHADER_TYPES] = {
GL_VERTEX_PROGRAM_ARB,
- GL_FRAGMENT_PROGRAM_ARB,
GL_GEOMETRY_PROGRAM_NV,
+ GL_FRAGMENT_PROGRAM_ARB
};
if(i >= MESA_SHADER_TYPES)
return 0;