diff --git a/src/nouveau/mme/tests/mme_tu104_sim_hw_test.cpp b/src/nouveau/mme/tests/mme_tu104_sim_hw_test.cpp index 7acb2046bfb..17da6e5ecd2 100644 --- a/src/nouveau/mme/tests/mme_tu104_sim_hw_test.cpp +++ b/src/nouveau/mme/tests/mme_tu104_sim_hw_test.cpp @@ -5,6 +5,7 @@ #include "mme_runner.h" #include "mme_tu104_sim.h" +#include "clcd97.h" #include "nv_push_clc597.h" class mme_tu104_sim_test : public ::testing::Test, public mme_hw_runner { @@ -1638,7 +1639,8 @@ TEST_F(mme_tu104_sim_test, dma_read_fifoed) auto macro = mme_builder_finish_vec(&b); - P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); + if (devinfo->cls_eng3d < BLACKWELL_A) + P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); for (uint32_t i = 0; i < 64; i++) data[i] = 1000 + i; diff --git a/src/nouveau/vulkan/nvk_cmd_dispatch.c b/src/nouveau/vulkan/nvk_cmd_dispatch.c index 91e33653dc0..e10f06195ab 100644 --- a/src/nouveau/vulkan/nvk_cmd_dispatch.c +++ b/src/nouveau/vulkan/nvk_cmd_dispatch.c @@ -15,6 +15,7 @@ #include "cla1c0.h" #include "clc0c0.h" #include "clc5c0.h" +#include "clcdc0.h" #include "nv_push_cl90c0.h" #include "nv_push_cl9097.h" #include "nv_push_cla0c0.h" @@ -514,7 +515,8 @@ nvk_CmdDispatchIndirect(VkCommandBuffer commandBuffer, struct nv_push *p; if (nvk_cmd_buffer_compute_cls(cmd) >= TURING_COMPUTE_A) { p = nvk_cmd_buffer_push(cmd, 14); - P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); + if (nvk_cmd_buffer_compute_cls(cmd) < BLACKWELL_COMPUTE_A) + P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); P_1INC(p, NV9097, CALL_MME_MACRO(NVK_MME_DISPATCH_INDIRECT)); P_INLINE_DATA(p, dispatch_addr >> 32); P_INLINE_DATA(p, dispatch_addr); diff --git a/src/nouveau/vulkan/nvk_cmd_draw.c b/src/nouveau/vulkan/nvk_cmd_draw.c index 1e412db7ea8..128a527ce67 100644 --- a/src/nouveau/vulkan/nvk_cmd_draw.c +++ b/src/nouveau/vulkan/nvk_cmd_draw.c @@ -28,6 +28,7 @@ #include "nv_push_clc197.h" #include "nv_push_clc397.h" #include "nv_push_clc597.h" +#include "clcd97.h" #include "drf.h" static inline uint16_t @@ -138,7 +139,7 @@ nvk_push_draw_state_init(struct nvk_queue *queue, struct nv_push *p) free(dw); } - if (pdev->info.cls_eng3d >= TURING_A) + if (pdev->info.cls_eng3d >= TURING_A && pdev->info.cls_eng3d < BLACKWELL_A) P_IMMD(p, NVC597, SET_MME_DATA_FIFO_CONFIG, FIFO_SIZE_SIZE_4KB); /* Enable FP helper invocation memory loads