summaryrefslogtreecommitdiff
path: root/src/amd/compiler/aco_insert_waitcnt.cpp
diff options
context:
space:
mode:
authorRhys Perry <pendingchaos02@gmail.com>2021-05-17 17:56:28 +0100
committerMarge Bot <eric+marge@anholt.net>2021-10-13 05:13:10 +0000
commitd45958f82e4526f809dcb03ff6b3b0b438803ecb (patch)
tree150f86ca22bc2d1f6fac284913ab311407c3bdec /src/amd/compiler/aco_insert_waitcnt.cpp
parentf4ea2d78872d8c610cc912cf686dafffceb0bfb6 (diff)
downloadmesa-d45958f82e4526f809dcb03ff6b3b0b438803ecb.tar.gz
aco: implement VS input loads with prologs
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11717>
Diffstat (limited to 'src/amd/compiler/aco_insert_waitcnt.cpp')
-rw-r--r--src/amd/compiler/aco_insert_waitcnt.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/amd/compiler/aco_insert_waitcnt.cpp b/src/amd/compiler/aco_insert_waitcnt.cpp
index cb6c2a60804..2934c71c087 100644
--- a/src/amd/compiler/aco_insert_waitcnt.cpp
+++ b/src/amd/compiler/aco_insert_waitcnt.cpp
@@ -770,6 +770,13 @@ insert_wait_states(Program* program)
std::stack<unsigned, std::vector<unsigned>> loop_header_indices;
unsigned loop_progress = 0;
+ if (program->stage.has(SWStage::VS) && program->info->vs.dynamic_inputs) {
+ for (Definition def : program->vs_inputs) {
+ update_counters(in_ctx[0], event_vmem);
+ insert_wait_entry(in_ctx[0], def, event_vmem);
+ }
+ }
+
for (unsigned i = 0; i < program->blocks.size();) {
Block& current = program->blocks[i++];
wait_ctx ctx = in_ctx[current.index];