From 18fcf245470be5edd66b093e0d3e32fb1c98b935 Mon Sep 17 00:00:00 2001 From: Mel Henning Date: Fri, 2 Jan 2026 16:20:32 -0500 Subject: [PATCH] nvk: Initialize NVC597_SET_ROOT_TABLE_VISIBILITY This matches the initialization I've seen in traces from the proprietary driver. Reviewed-by: Mary Guillemard Part-of: --- src/nouveau/vulkan/nvk_cmd_draw.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/nouveau/vulkan/nvk_cmd_draw.c b/src/nouveau/vulkan/nvk_cmd_draw.c index ae01c1784de..3d2d2d062dd 100644 --- a/src/nouveau/vulkan/nvk_cmd_draw.c +++ b/src/nouveau/vulkan/nvk_cmd_draw.c @@ -510,6 +510,19 @@ nvk_push_draw_state_init(struct nvk_queue *queue, struct nv_push *p) P_IMMD(p, NV9097, SET_CT_MRT_ENABLE, V_TRUE); + if (pdev->info.cls_eng3d >= TURING_A) { + P_MTHD(p, NVC597, SET_ROOT_TABLE_VISIBILITY(0)); + for (int i = 0; i < 8; i++) { + P_NVC597_SET_ROOT_TABLE_VISIBILITY(p, i, { + .binding_group0_enable = 0x3, + .binding_group1_enable = 0x3, + .binding_group2_enable = 0x3, + .binding_group3_enable = 0x3, + .binding_group4_enable = 0x3, + }); + } + } + if (pdev->info.cls_eng3d >= TURING_A) { /* I don't know what these values actually mean. I just copied them * from the way the blob sets up the hardware.