On 23/08/17 12:19, Kenneth Graunke wrote:
All shader stages do the exact same thing, so we don't need the switch statement, or the redundant FS case. I believe these used to be different before Tim eliminated the (e.g.) brw_vertex_program subclasses.
Seems about right, I must have forgotten to clean these up. Reviewed-by: Timothy Arceri <[email protected]>
--- src/mesa/drivers/dri/i965/brw_program.c | 33 +++++---------------------------- 1 file changed, 5 insertions(+), 28 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_program.c b/src/mesa/drivers/dri/i965/brw_program.c index 94d8d8b978a..257a99bc946 100644 --- a/src/mesa/drivers/dri/i965/brw_program.c +++ b/src/mesa/drivers/dri/i965/brw_program.c @@ -138,38 +138,15 @@ static struct gl_program *brwNewProgram(struct gl_context *ctx, GLenum target, GLuint id, bool is_arb_asm) { struct brw_context *brw = brw_context(ctx); + struct brw_program *prog = rzalloc(NULL, struct brw_program);- switch (target) {- case GL_VERTEX_PROGRAM_ARB: - case GL_TESS_CONTROL_PROGRAM_NV: - case GL_TESS_EVALUATION_PROGRAM_NV: - case GL_GEOMETRY_PROGRAM_NV: - case GL_COMPUTE_PROGRAM_NV: { - struct brw_program *prog = rzalloc(NULL, struct brw_program); - if (prog) { - prog->id = get_new_program_id(brw->screen); - - return _mesa_init_gl_program(&prog->program, target, id, is_arb_asm); - } - else - return NULL; - } - - case GL_FRAGMENT_PROGRAM_ARB: { - struct brw_program *prog = rzalloc(NULL, struct brw_program); + if (prog) { + prog->id = get_new_program_id(brw->screen);- if (prog) {- prog->id = get_new_program_id(brw->screen); - - return _mesa_init_gl_program(&prog->program, target, id, is_arb_asm); - } - else - return NULL; + return _mesa_init_gl_program(&prog->program, target, id, is_arb_asm); }- default:- unreachable("Unsupported target in brwNewProgram()"); - } + return NULL; }static void brwDeleteProgram( struct gl_context *ctx,
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
