[Mesa-dev] [PATCH 1/2] st/mesa: exit st_translate_fragment_program() earlier for NIR path
Timothy Arceri
tarceri at itsqueeze.com
Thu Apr 5 07:37:27 UTC 2018
This avoids a bunch of scanning that is only used by the TGSI path.
---
src/mesa/state_tracker/st_program.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index 5bf76e1b888..a740c874c9e 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -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;
--
2.14.3
More information about the mesa-dev
mailing list