From 73eb497b86a319d7d2aff9178cb07dd6b9d65df7 Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Thu, 22 Apr 2021 11:23:39 -0400 Subject: [PATCH] nir/lower_fragcolor: Fix driver_location assignment Fixes crash in dEQP-GLES31.functional.shaders.framebuffer_fetch.basic.last_frag_data when using this pass. Signed-off-by: Alyssa Rosenzweig Reviewed-by: Erik Faye-Lund Part-of: --- src/compiler/nir/nir_lower_fragcolor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_lower_fragcolor.c b/src/compiler/nir/nir_lower_fragcolor.c index 8b67fcb8946..70ade5cacf7 100644 --- a/src/compiler/nir/nir_lower_fragcolor.c +++ b/src/compiler/nir/nir_lower_fragcolor.c @@ -88,7 +88,7 @@ lower_fragcolor_instr(nir_builder *b, nir_instr *intr, UNUSED void *data) nir_variable *out_color = nir_variable_create(b->shader, nir_var_shader_out, out->type, name); out_color->data.location = FRAG_RESULT_DATA0 + i; - out_color->data.driver_location = i; + out_color->data.driver_location = b->shader->num_outputs++; out_color->data.index = out->data.index; nir_store_var(b, out_color, frag_color, writemask); b->shader->info.outputs_written |= BITFIELD64_BIT(FRAG_RESULT_DATA0 + i);