tu/a7xx: Fix multiview
authorDanylo Piliaiev <dpiliaiev@igalia.com>
Tue, 30 May 2023 13:03:23 +0000 (15:03 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 5 Sep 2023 16:19:30 +0000 (16:19 +0000)
dEQP-VK.multiview.* mostly works, fails seem to be caused by lack of
3d blits.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23217>

src/freedreno/vulkan/tu_pipeline.cc

index 4875521..f0133a0 100644 (file)
@@ -1992,6 +1992,14 @@ tu6_emit_program(struct tu_cs *cs,
       tu_cs_emit(cs, builder->graphics_state.rp->view_mask);
    }
 
+   if (CHIP >= A7XX) {
+      tu_cs_emit_pkt4(cs, REG_A7XX_VPC_MULTIVIEW_CNTL, 1);
+      tu_cs_emit(cs, multiview_cntl);
+
+      tu_cs_emit_pkt4(cs, REG_A7XX_VPC_MULTIVIEW_MASK, 1);
+      tu_cs_emit(cs, builder->graphics_state.rp->view_mask);
+   }
+
    tu_cs_emit_pkt4(cs, REG_A6XX_SP_HS_WAVE_INPUT_SIZE, 1);
    tu_cs_emit(cs, 0);