Mesa (master): zink: do not use reservations for stream-out

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jan 5 15:47:26 UTC 2021


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

Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Tue Nov 24 19:08:47 2020 +0100

zink: do not use reservations for stream-out

reservations are accumulated for all shader-stages in a program without
resetting it. But stream-out is completely orthogonal to all other
inputs and outputs, so they don't matter for this stuff at all.

So let's drop considering reservations here, and simply count how many
generic outputs we have here instead.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7986>

---

 src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c
index 6108bda4ea8..4fdab7bb494 100644
--- a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c
+++ b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c
@@ -969,7 +969,7 @@ emit_so_info(struct ntv_context *ctx, const struct zink_so_info *so_info)
        * so we need to ensure that the new xfb location slot doesn't conflict with any previously-emitted
        * outputs.
        */
-      uint32_t location = reserve_slot(ctx);
+      uint32_t location = ctx->shader_slots_reserved + i;
       assert(location < VARYING_SLOT_VAR0);
       spirv_builder_emit_location(&ctx->builder, var_id, location);
 



More information about the mesa-commit mailing list