Mesa (master): aco/ngg: Schedule position exports of NGG VS/TES.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 7 11:44:57 UTC 2020


Module: Mesa
Branch: master
Commit: e4da482d9e94c2ca5935c8cbb864287aa192778a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4da482d9e94c2ca5935c8cbb864287aa192778a

Author: Timur Kristóf <timur.kristof at gmail.com>
Date:   Wed Apr  1 16:02:13 2020 +0200

aco/ngg: Schedule position exports of NGG VS/TES.

Similarly to the HW VS stage, the HW NGG GS stage also
benefits from executing these exports as early as possible.

Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Reviewed-by: Daniel Schürmann <daniel at schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576>

---

 src/amd/compiler/aco_scheduler.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/compiler/aco_scheduler.cpp b/src/amd/compiler/aco_scheduler.cpp
index d7cf90be189..d07b4e381ab 100644
--- a/src/amd/compiler/aco_scheduler.cpp
+++ b/src/amd/compiler/aco_scheduler.cpp
@@ -843,7 +843,7 @@ void schedule_block(sched_ctx& ctx, Program *program, Block* block, live& live_v
       }
    }
 
-   if ((program->stage & hw_vs) && block->index == program->blocks.size() - 1) {
+   if ((program->stage & (hw_vs | hw_ngg_gs)) && (block->kind & block_kind_export_end)) {
       /* Try to move position exports as far up as possible, to reduce register
        * usage and because ISA reference guides say so. */
       for (unsigned idx = 0; idx < block->instructions.size(); idx++) {



More information about the mesa-commit mailing list