[Mesa-dev] [PATCH] i965: Clean up brwNewProgram().

Timothy Arceri tarceri at itsqueeze.com
Wed Aug 23 05:49:04 UTC 2017


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 <tarceri at itsqueeze.com>

> ---
>   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,
> 


More information about the mesa-dev mailing list