summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_program.c
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-11-01 11:57:09 -0700
committerKenneth Graunke <[email protected]>2018-12-21 15:29:30 -0800
commit3a78b46e59318e58aba87e44689925a3bc84fa88 (patch)
tree7ac67095ef2250e8b593341770c56093c7696aaa /src/mesa/state_tracker/st_program.c
parentbcb6f19947d5e77e0a6636340dbfc55df5fcc788 (diff)
st/nir: Gather info after applying lowering FS variant features
DrawPixels lowering, for example, adds new varyings that need to be accounted for in inputs_read. The earlier info gathering at link time cannot account for this. Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker/st_program.c')
-rw-r--r--src/mesa/state_tracker/st_program.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index 3bc7b0649c4..422b7b2a593 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -1103,6 +1103,10 @@ st_create_fp_variant(struct st_context *st,
key->external.lower_iyuv);
}
+ /* Some of the lowering above may have introduced new varyings */
+ nir_shader_gather_info(tgsi.ir.nir,
+ nir_shader_get_entrypoint(tgsi.ir.nir));
+
variant->driver_shader = pipe->create_fs_state(pipe, &tgsi);
variant->key = *key;