freedreno/ir3: remap FRAG_RESULT_COLOR to _DATA* for dual-src blending
gl_SecondaryFragColorEXT is mapped to FRAG_RESULT_COLOR and just have a different io.dual_source_blend_index. We don't need to replicate the color to other render targets in case of dual source blending, so we could just remap it to FRAG_RESULT_DATA0 + index. Fixes piglit test: arb_blend_func_extended-fbo-extended-blend-pattern_gles2 Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8245>
This commit is contained in:
parent
174070942b
commit
122da9bd2d
|
@ -3200,7 +3200,11 @@ setup_output(struct ir3_context *ctx, nir_intrinsic_instr *intr)
|
||||||
so->writes_pos = true;
|
so->writes_pos = true;
|
||||||
break;
|
break;
|
||||||
case FRAG_RESULT_COLOR:
|
case FRAG_RESULT_COLOR:
|
||||||
so->color0_mrt = 1;
|
if (!ctx->s->info.fs.color_is_dual_source) {
|
||||||
|
so->color0_mrt = 1;
|
||||||
|
} else {
|
||||||
|
slot = FRAG_RESULT_DATA0 + io.dual_source_blend_index;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case FRAG_RESULT_SAMPLE_MASK:
|
case FRAG_RESULT_SAMPLE_MASK:
|
||||||
so->writes_smask = true;
|
so->writes_smask = true;
|
||||||
|
|
Loading…
Reference in New Issue