For the series: Reviewed-by: Marek Olšák <marek.ol...@amd.com>
Marek On Fri, Feb 2, 2018 at 7:08 AM, Timothy Arceri <tarc...@itsqueeze.com> wrote: > We move the nir check before the shader cache call so that we can > call a nir based caching function in a following patch. > > Also with this change we simply check if vertex shaders support > NIR rather than looping over the stages as mixing of shader types > is not supported anyway. > --- > src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) > > diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > index 84ed614927..355ba28218 100644 > --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp > @@ -6916,15 +6916,20 @@ extern "C" { > GLboolean > st_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) > { > + struct pipe_screen *pscreen = ctx->st->pipe->screen; > + > + enum pipe_shader_ir preferred_ir = (enum pipe_shader_ir) > + pscreen->get_shader_param(pscreen, PIPE_SHADER_VERTEX, > + PIPE_SHADER_CAP_PREFERRED_IR); > + bool use_nir = preferred_ir == PIPE_SHADER_IR_NIR; > + > /* Return early if we are loading the shader from on-disk cache */ > if (st_load_tgsi_from_disk_cache(ctx, prog)) { > return GL_TRUE; > } > > - struct pipe_screen *pscreen = ctx->st->pipe->screen; > assert(prog->data->LinkStatus); > > - bool use_nir = false; > for (unsigned i = 0; i < MESA_SHADER_STAGES; i++) { > if (prog->_LinkedShaders[i] == NULL) > continue; > @@ -6944,12 +6949,6 @@ st_link_shader(struct gl_context *ctx, struct > gl_shader_program *prog) > unsigned if_threshold = pscreen->get_shader_param(pscreen, ptarget, > > PIPE_SHADER_CAP_LOWER_IF_THRESHOLD); > > - enum pipe_shader_ir preferred_ir = (enum pipe_shader_ir) > - pscreen->get_shader_param(pscreen, ptarget, > - PIPE_SHADER_CAP_PREFERRED_IR); > - if (preferred_ir == PIPE_SHADER_IR_NIR) > - use_nir = true; > - > /* If there are forms of indirect addressing that the driver > * cannot handle, perform the lowering pass. > */ > -- > 2.14.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev