st/mesa: exit st_translate_fragment_program() earlier for NIR path
This avoids a bunch of scanning that is only used by the TGSI path. Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
@@ -645,6 +645,12 @@ bool
|
||||
st_translate_fragment_program(struct st_context *st,
|
||||
struct st_fragment_program *stfp)
|
||||
{
|
||||
/* We have already compiled to NIR so just return */
|
||||
if (stfp->shader_program) {
|
||||
st_store_ir_in_disk_cache(st, &stfp->Base, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
ubyte outputMapping[2 * FRAG_RESULT_MAX];
|
||||
ubyte inputMapping[VARYING_SLOT_MAX];
|
||||
ubyte inputSlotToAttr[VARYING_SLOT_MAX];
|
||||
@@ -900,12 +906,6 @@ st_translate_fragment_program(struct st_context *st,
|
||||
}
|
||||
}
|
||||
|
||||
/* We have already compiled to NIR so just return */
|
||||
if (stfp->shader_program) {
|
||||
st_store_ir_in_disk_cache(st, &stfp->Base, true);
|
||||
return true;
|
||||
}
|
||||
|
||||
ureg = ureg_create_with_screen(PIPE_SHADER_FRAGMENT, st->pipe->screen);
|
||||
if (ureg == NULL)
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user