yes, nicer. Reviewed-by: Edward O'Callaghan <funfunc...@folklore1984.net>
On 10/14/2016 04:16 AM, Marek Olšák wrote: > From: Marek Olšák <marek.ol...@amd.com> > > --- > src/gallium/drivers/radeonsi/si_shader.c | 15 ++++++++------- > 1 file changed, 8 insertions(+), 7 deletions(-) > > diff --git a/src/gallium/drivers/radeonsi/si_shader.c > b/src/gallium/drivers/radeonsi/si_shader.c > index b2d7699..e6edd90 100644 > --- a/src/gallium/drivers/radeonsi/si_shader.c > +++ b/src/gallium/drivers/radeonsi/si_shader.c > @@ -7850,35 +7850,36 @@ static void si_fix_num_sgprs(struct si_shader *shader) > { > unsigned min_sgprs = shader->info.num_input_sgprs + 2; /* VCC */ > > shader->config.num_sgprs = MAX2(shader->config.num_sgprs, min_sgprs); > } > > int si_shader_create(struct si_screen *sscreen, LLVMTargetMachineRef tm, > struct si_shader *shader, > struct pipe_debug_callback *debug) > { > - struct si_shader *mainp = shader->selector->main_shader_part; > + struct si_shader_selector *sel = shader->selector; > + struct si_shader *mainp = sel->main_shader_part; > int r; > > /* LS, ES, VS are compiled on demand if the main part hasn't been > * compiled for that stage. > */ > if (!mainp || > - (shader->selector->type == PIPE_SHADER_VERTEX && > + (sel->type == PIPE_SHADER_VERTEX && > (shader->key.vs.as_es != mainp->key.vs.as_es || > shader->key.vs.as_ls != mainp->key.vs.as_ls)) || > - (shader->selector->type == PIPE_SHADER_TESS_EVAL && > + (sel->type == PIPE_SHADER_TESS_EVAL && > shader->key.tes.as_es != mainp->key.tes.as_es) || > - (shader->selector->type == PIPE_SHADER_TESS_CTRL && > + (sel->type == PIPE_SHADER_TESS_CTRL && > shader->key.tcs.epilog.inputs_to_copy) || > - shader->selector->type == PIPE_SHADER_COMPUTE) { > + sel->type == PIPE_SHADER_COMPUTE) { > /* Monolithic shader (compiled as a whole, has many variants, > * may take a long time to compile). > */ > r = si_compile_tgsi_shader(sscreen, tm, shader, true, debug); > if (r) > return r; > } else { > /* The shader consists of 2-3 parts: > * > * - the middle part is the user shader, it has 1 variant only > @@ -7898,21 +7899,21 @@ int si_shader_create(struct si_screen *sscreen, > LLVMTargetMachineRef tm, > shader->info.num_input_vgprs = mainp->info.num_input_vgprs; > shader->info.face_vgpr_index = mainp->info.face_vgpr_index; > memcpy(shader->info.vs_output_param_offset, > mainp->info.vs_output_param_offset, > sizeof(mainp->info.vs_output_param_offset)); > shader->info.uses_instanceid = mainp->info.uses_instanceid; > shader->info.nr_pos_exports = mainp->info.nr_pos_exports; > shader->info.nr_param_exports = mainp->info.nr_param_exports; > > /* Select prologs and/or epilogs. */ > - switch (shader->selector->type) { > + switch (sel->type) { > case PIPE_SHADER_VERTEX: > if (!si_shader_select_vs_parts(sscreen, tm, shader, > debug)) > return -1; > break; > case PIPE_SHADER_TESS_CTRL: > if (!si_shader_select_tcs_parts(sscreen, tm, shader, > debug)) > return -1; > break; > case PIPE_SHADER_TESS_EVAL: > if (!si_shader_select_tes_parts(sscreen, tm, shader, > debug)) > @@ -7939,21 +7940,21 @@ int si_shader_create(struct si_screen *sscreen, > LLVMTargetMachineRef tm, > } > if (shader->epilog) { > shader->config.num_sgprs = > MAX2(shader->config.num_sgprs, > > shader->epilog->config.num_sgprs); > shader->config.num_vgprs = > MAX2(shader->config.num_vgprs, > > shader->epilog->config.num_vgprs); > } > } > > si_fix_num_sgprs(shader); > - si_shader_dump(sscreen, shader, debug, shader->selector->info.processor, > + si_shader_dump(sscreen, shader, debug, sel->info.processor, > stderr); > > /* Upload. */ > r = si_shader_binary_upload(sscreen, shader); > if (r) { > fprintf(stderr, "LLVM failed to upload shader\n"); > return r; > } > > return 0; >
signature.asc
Description: OpenPGP digital signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev