From f85a1f05793c1f7466c3c8bb0aeca17a38eb2b26 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: (cherry picked from commit 73eb497b86a319d7d2aff9178cb07dd6b9d65df7) --- .pick_status.json | 2 +- src/compiler/nir/nir_lower_fragcolor.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index bed067d9f38..49e53bef4fa 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -9094,7 +9094,7 @@ "description": "nir/lower_fragcolor: Fix driver_location assignment", "nominated": false, "nomination_type": null, - "resolution": 4, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/compiler/nir/nir_lower_fragcolor.c b/src/compiler/nir/nir_lower_fragcolor.c index 95eaf3dff2e..965b1cf24a8 100644 --- a/src/compiler/nir/nir_lower_fragcolor.c +++ b/src/compiler/nir/nir_lower_fragcolor.c @@ -80,7 +80,7 @@ lower_fragcolor_instr(nir_intrinsic_instr *instr, nir_builder *b, unsigned max_d glsl_vec4_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); }