Mesa (main): aco: only retrieve the scratch offset when it's declared

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu May 12 16:08:17 UTC 2022


Module: Mesa
Branch: main
Commit: 07954a8fd691cd15e4af9ac6cfba0e6a0ad0216c
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=07954a8fd691cd15e4af9ac6cfba0e6a0ad0216c

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed May 11 10:25:15 2022 +0200

aco: only retrieve the scratch offset when it's declared

This allows to run most of the fossils we have right now. I will fix
up scratch in upcoming patches.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16369>

---

 src/amd/compiler/aco_instruction_selection.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp
index 91ae43d165a..916c73e07c5 100644
--- a/src/amd/compiler/aco_instruction_selection.cpp
+++ b/src/amd/compiler/aco_instruction_selection.cpp
@@ -11070,7 +11070,10 @@ add_startpgm(struct isel_context* ctx)
     * handling spilling.
     */
    ctx->program->private_segment_buffer = get_arg(ctx, ctx->args->ring_offsets);
-   ctx->program->scratch_offset = get_arg(ctx, ctx->args->ac.scratch_offset);
+   if (ctx->args->ac.scratch_offset.used) {
+      /* FIXME: Fix scratch loads/stores on GFX11. */
+      ctx->program->scratch_offset = get_arg(ctx, ctx->args->ac.scratch_offset);
+   }
 
    if (ctx->stage.has(SWStage::VS) && ctx->program->info.vs.dynamic_inputs) {
       unsigned num_attributes = util_last_bit(ctx->program->info.vs.vb_desc_usage_mask);



More information about the mesa-commit mailing list