From f06f4a595e27270b4141242f5ce3f4faec319dd6 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Tue, 24 Nov 2020 19:08:47 +0100 Subject: [PATCH] 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 Part-of: --- 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);