From: Nicolai Hähnle Date: Tue, 29 Nov 2016 15:27:10 +0000 (+0100) Subject: radeonsi: only write values belonging to the stream when emitting GS vertex X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=af976f12a56d11face02fe74ef0f112ec26d4c69;p=mesa.git radeonsi: only write values belonging to the stream when emitting GS vertex Reviewed-by: Marek Olšák --- diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index 469e0c1cc3d..441718bbee5 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -5317,6 +5317,9 @@ static void si_llvm_emit_vertex( ctx->soa.outputs[i]; for (chan = 0; chan < 4; chan++) { + if (((info->output_streams[i] >> (2 * chan)) & 3) != stream) + continue; + LLVMValueRef out_val = LLVMBuildLoad(gallivm->builder, out_ptr[chan], ""); LLVMValueRef voffset = lp_build_const_int32(gallivm, (i * 4 + chan) *