diff --git a/.pick_status.json b/.pick_status.json index 79ed2fb9c14..d0665f49c33 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -344,7 +344,7 @@ "description": "nvk: Document the register name for the helper load workaround", "nominated": false, "nomination_type": 3, - "resolution": 4, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/nouveau/vulkan/nvk_cmd_draw.c b/src/nouveau/vulkan/nvk_cmd_draw.c index d67125806a2..a430725f89a 100644 --- a/src/nouveau/vulkan/nvk_cmd_draw.c +++ b/src/nouveau/vulkan/nvk_cmd_draw.c @@ -83,6 +83,7 @@ VkResult nvk_queue_init_context_draw_state(struct nvk_queue *queue) { struct nvk_device *dev = nvk_queue_device(queue); + struct nvk_physical_device *pdev = nvk_device_physical(dev); uint32_t push_data[2048]; struct nv_push push; @@ -138,9 +139,11 @@ nvk_queue_init_context_draw_state(struct nvk_queue *queue) * For generations with firmware support for our `SET_PRIV_REG` mme method * we simply use that. On older generations we'll let the kernel do it. * Starting with GSP we have to do it via the firmware anyway. + * + * This clears bit 3 of gr_gpcs_tpcs_sm_disp_ctrl */ if (dev->pdev->info.cls_eng3d >= MAXWELL_B) { - unsigned reg = dev->pdev->info.cls_eng3d >= VOLTA_A ? 0x419ba4 : 0x419f78; + unsigned reg = pdev->info.cls_eng3d >= VOLTA_A ? 0x419ba4 : 0x419f78; P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_SET_PRIV_REG)); P_INLINE_DATA(p, 0); P_INLINE_DATA(p, BITFIELD_BIT(3));