[Mesa-dev] [PATCH 08/17] st/mesa: simplify code due to unification to st_common_program
Marek Olšák
maraeo at gmail.com
Tue May 2 16:46:03 UTC 2017
>> switch (shader->Stage) {
>> case MESA_SHADER_VERTEX:
>> stvp = (struct st_vertex_program *)prog;
>> stvp->glsl_to_tgsi = v;
>> break;
>> case MESA_SHADER_FRAGMENT:
>> stfp = (struct st_fragment_program *)prog;
>> stfp->glsl_to_tgsi = v;
>> break;
>> - case MESA_SHADER_GEOMETRY:
>> - stgp = (struct st_common_program *)prog;
>> - stgp->glsl_to_tgsi = v;
>> - break;
>> case MESA_SHADER_TESS_CTRL:
>> - sttcp = (struct st_common_program *)prog;
>> - sttcp->glsl_to_tgsi = v;
>> - break;
>> case MESA_SHADER_TESS_EVAL:
>> - sttep = (struct st_common_program *)prog;
>> - sttep->glsl_to_tgsi = v;
>> + case MESA_SHADER_GEOMETRY:
>> + stp = (struct st_common_program *)prog;
>> + stp->glsl_to_tgsi = v;
>> break;
>> case MESA_SHADER_COMPUTE:
>> stcp = (struct st_compute_program *)prog;
>> stcp->glsl_to_tgsi = v;
>> break;
>
>
> The TESS_CTRL, TESS_EVAL cases are no longer needed? Maybe there should be
> a comment about that?
The cases are still there, just merged with GS.
>
>
>> default:
>> assert(!"should not be reached");
>> return NULL;
>> }
>>
>> diff --git a/src/mesa/state_tracker/st_program.c
>> b/src/mesa/state_tracker/st_program.c
>> index 943b7d1..41ffac4 100644
>> --- a/src/mesa/state_tracker/st_program.c
>> +++ b/src/mesa/state_tracker/st_program.c
>> @@ -1898,30 +1898,25 @@ destroy_program_variants(struct st_context *st,
>> struct gl_program *target)
>> }
>> fpv = next;
>> }
>> }
>> break;
>> case GL_GEOMETRY_PROGRAM_NV:
>> case GL_TESS_CONTROL_PROGRAM_NV:
>> case GL_TESS_EVALUATION_PROGRAM_NV:
>> case GL_COMPUTE_PROGRAM_NV:
>> {
>> - struct st_common_program *gp = (struct
>> st_common_program*)target;
>> - struct st_common_program *tcp = (struct
>> st_common_program*)target;
>> - struct st_common_program *tep = (struct
>> st_common_program*)target;
>> + struct st_common_program *p = (struct st_common_program*)target;
>
>
> st_common_program() cast wrapper?
Yes. I'll also switch all the other manual typecasts to the helper.
Marek
More information about the mesa-dev
mailing list