mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-27 08:20:12 +01:00
pan/bi: Use explicit move even for RT#0 of MRT
Otherwise we get a bad RA if RT 0 = RT 3 (for example), fixes
dEQP-GLES31.functional.shaders.opaque_type_indexing.sampler.const_literal.fragment.sampler2d
Fixes: a6f1500bed ("pan/bi: Workaround BLEND precolour with explicit moves")
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9105>
This commit is contained in:
parent
02d68b9b83
commit
ed29a2beb8
1 changed files with 6 additions and 1 deletions
|
|
@ -507,7 +507,12 @@ bi_emit_fragment_out(bi_builder *b, nir_intrinsic_instr *instr)
|
|||
/* Explicit copy since BLEND inputs are precoloured to R0-R3,
|
||||
* TODO: maybe schedule around this or implement in RA as a
|
||||
* spill */
|
||||
if (rt > 0) {
|
||||
bool has_mrt = false;
|
||||
|
||||
nir_foreach_shader_out_variable(var, b->shader->nir)
|
||||
has_mrt |= (var->data.location > FRAG_RESULT_DATA0);
|
||||
|
||||
if (has_mrt) {
|
||||
bi_index srcs[4] = { color, color, color, color };
|
||||
unsigned channels[4] = { 0, 1, 2, 3 };
|
||||
color = bi_temp(b->shader);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue