nvir/nir: fix fragment program output when using MRT

v2:
- use BITFIELD64_BIT()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>
This commit is contained in:
Ben Skeggs 2020-06-07 09:52:02 +10:00 committed by Marge Bot
parent ce7754e31b
commit 789fa7e378

View file

@ -1067,7 +1067,11 @@ bool Converter::assignSlots() {
case TGSI_SEMANTIC_COLOR:
if (!var->data.fb_fetch_output)
info->prop.fp.numColourResults++;
info->prop.fp.separateFragData = true;
if (var->data.location == FRAG_RESULT_COLOR &&
nir->info.outputs_written & BITFIELD64_BIT(var->data.location))
info->prop.fp.separateFragData = true;
// sometimes we get FRAG_RESULT_DATAX with data.index 0
// sometimes we get FRAG_RESULT_DATA0 with data.index X
index = index == 0 ? var->data.index : index;