diff options
author | Rhys Perry <pendingchaos02@gmail.com> | 2021-05-17 17:56:28 +0100 |
---|---|---|
committer | Marge Bot <eric+marge@anholt.net> | 2021-10-13 05:13:10 +0000 |
commit | d45958f82e4526f809dcb03ff6b3b0b438803ecb (patch) | |
tree | 150f86ca22bc2d1f6fac284913ab311407c3bdec /src/amd/compiler/aco_insert_waitcnt.cpp | |
parent | f4ea2d78872d8c610cc912cf686dafffceb0bfb6 (diff) | |
download | mesa-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.cpp | 7 |
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]; |