Commit 46d210d3 authored by Paul Berry's avatar Paul Berry

mesa: Replace _mesa_program_index_to_target with _mesa_shader_stage_to_program.

In my recent zeal to refactor Mesa's handling of the gl_shader_stage
enum, I accidentally wound up with two functions that do the same
thing: _mesa_program_index_to_target(), and
_mesa_shader_stage_to_program().

This patch keeps _mesa_shader_stage_to_program(), since its name is
more consistent with other related functions.  However, it changes the
signature so that it accepts an unsigned integer instead of a
gl_shader_stage--this avoids awkward casts when the function is called
from C++ code.
Reviewed-by: default avatarChris Forbes <chrisf@ijw.co.nz>
Reviewed-by: default avatarBrian Paul <brianp@vmware.com>
parent 2212a97f
......@@ -127,7 +127,7 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg)
continue;
struct gl_program *prog =
ctx->Driver.NewProgram(ctx, _mesa_program_index_to_target(stage),
ctx->Driver.NewProgram(ctx, _mesa_shader_stage_to_program(stage),
shader->base.Name);
if (!prog)
return false;
......
......@@ -3053,7 +3053,7 @@ _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,
_mesa_program_index_to_target(i),
_mesa_shader_stage_to_program(i),
linked_prog)) {
return GL_FALSE;
}
......
......@@ -210,7 +210,7 @@ _mesa_program_enum_to_shader_stage(GLenum v)
static inline GLenum
_mesa_shader_stage_to_program(gl_shader_stage stage)
_mesa_shader_stage_to_program(unsigned stage)
{
switch (stage) {
case MESA_SHADER_VERTEX:
......@@ -226,23 +226,6 @@ _mesa_shader_stage_to_program(gl_shader_stage stage)
}
static inline GLenum
_mesa_program_index_to_target(GLuint i)
{
static const GLenum enums[] = {
GL_VERTEX_PROGRAM_ARB,
GL_GEOMETRY_PROGRAM_NV,
GL_FRAGMENT_PROGRAM_ARB
};
STATIC_ASSERT(Elements(enums) == MESA_SHADER_STAGES);
if(i >= MESA_SHADER_STAGES) {
assert(!"Unexpected program index");
return 0;
} else
return enums[i];
}
/* Cast wrappers from gl_program to gl_vertex/geometry/fragment_program */
static inline struct gl_fragment_program *
......
......@@ -5312,7 +5312,7 @@ st_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,
_mesa_program_index_to_target(i),
_mesa_shader_stage_to_program(i),
linked_prog)) {
_mesa_reference_program(ctx, &prog->_LinkedShaders[i]->Program,
NULL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment