diff --git a/src/panfrost/lib/pan_blend.c b/src/panfrost/lib/pan_blend.c index 8b1860382a6..9811f53dc75 100644 --- a/src/panfrost/lib/pan_blend.c +++ b/src/panfrost/lib/pan_blend.c @@ -527,7 +527,7 @@ pan_blend_create_shader(const struct panfrost_device *dev, nir_variable_create(b.shader, nir_var_shader_out, glsl_vector_type(glsl_type, 4), "gl_FragColor"); - c_out->data.location = FRAG_RESULT_COLOR; + c_out->data.location = FRAG_RESULT_DATA0; nir_ssa_def *s_src[] = {nir_load_var(&b, c_src), nir_load_var(&b, c_src1)}; diff --git a/src/panfrost/util/nir_lower_blend.c b/src/panfrost/util/nir_lower_blend.c index c1e0af9d1ac..0ee4d053dd8 100644 --- a/src/panfrost/util/nir_lower_blend.c +++ b/src/panfrost/util/nir_lower_blend.c @@ -337,7 +337,8 @@ nir_lower_blend_instr(nir_builder *b, nir_instr *instr, void *data) /* TODO: Extending to MRT */ nir_variable *var = nir_intrinsic_get_var(intr, 0); - if (var->data.location != FRAG_RESULT_COLOR) + if (var->data.location != FRAG_RESULT_COLOR && + var->data.location < FRAG_RESULT_DATA0) return false; b->cursor = nir_before_instr(instr);