mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 13:30:11 +01:00
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: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
parent
2212a97fe3
commit
46d210d38f
4 changed files with 4 additions and 21 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue