nir/lower_fragcolor: preserve location_frac
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 18 Oct 2023 16:20:37 +0000 (12:20 -0400)
committerMarge Bot <emma+marge@anholt.net>
Wed, 18 Oct 2023 23:02:45 +0000 (23:02 +0000)
this otherwise breaks component-based outputs

cc: mesa-stable

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25794>

src/compiler/nir/nir_lower_fragcolor.c

index c91f6f2..36bb787 100644 (file)
@@ -81,6 +81,7 @@ lower_fragcolor_intrin(nir_builder *b, nir_intrinsic_instr *instr, 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.location_frac = out->data.location_frac;
       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);