tu: Add missing dbg reg stomping to tu_CmdBeginRendering
authorDanylo Piliaiev <dpiliaiev@igalia.com>
Tue, 4 Jul 2023 16:07:43 +0000 (18:07 +0200)
committerMarge Bot <emma+marge@anholt.net>
Wed, 5 Jul 2023 21:24:12 +0000 (21:24 +0000)
Also we shouldn't stomp PC_DRAW_INDX_BASE - we never use it and
stomping it together with some other reg leads to a fault.

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

src/freedreno/common/freedreno_stompable_regs.h
src/freedreno/vulkan/tu_cmd_buffer.cc

index f0ddd03..77dcca6 100644 (file)
@@ -59,7 +59,7 @@ static const struct fd_stompable_reg_range
       {REG_A6XX_PC_TESS_NUM_VERTEX, REG_A6XX_PC_DGEN_SU_CONSERVATIVE_RAS_CNTL},
       {REG_A6XX_PC_POLYGON_MODE, REG_A6XX_PC_RASTER_CNTL},
       {REG_A6XX_PC_PRIMITIVE_CNTL_0, REG_A6XX_PC_MULTIVIEW_MASK},
-      {REG_A6XX_PC_DRAW_INDX_BASE, REG_A6XX_PC_TESSFACTOR_ADDR},
+      {REG_A6XX_PC_TESSFACTOR_ADDR, REG_A6XX_PC_TESSFACTOR_ADDR},
       {REG_A6XX_PC_VSTREAM_CONTROL, REG_A6XX_PC_BIN_DRAW_STRM},
       {REG_A6XX_PC_VISIBILITY_OVERRIDE, REG_A6XX_PC_VISIBILITY_OVERRIDE},
       {REG_A6XX_VFD_CONTROL_0, REG_A6XX_VFD_DEST_CNTL(31)},
index 217bb50..a9e0d77 100644 (file)
@@ -3800,6 +3800,10 @@ tu_CmdBeginRendering(VkCommandBuffer commandBuffer,
    cmd->state.suspending = suspending;
    cmd->state.resuming = resuming;
 
+   if (!resuming && cmd->device->dbg_renderpass_stomp_cs) {
+      tu_cs_emit_call(&cmd->cs, cmd->device->dbg_renderpass_stomp_cs);
+   }
+
    /* We can't track LRZ across command buffer boundaries, so we have to
     * disable LRZ when resuming/suspending unless we can track on the GPU.
     */