From cb54c32fee9f1e498781a8e41e23361881a31ff3 Mon Sep 17 00:00:00 2001 From: Karol Herbst Date: Sun, 28 Aug 2022 23:26:03 +0200 Subject: [PATCH] nvk: Use SET_PIPELINE_PROGRAM pre-Volta Signed-off-by: Karol Herbst Part-of: --- src/nouveau/vulkan/nvk_graphics_pipeline.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/nouveau/vulkan/nvk_graphics_pipeline.c b/src/nouveau/vulkan/nvk_graphics_pipeline.c index 278eeea6e00..0ec183a0424 100644 --- a/src/nouveau/vulkan/nvk_graphics_pipeline.c +++ b/src/nouveau/vulkan/nvk_graphics_pipeline.c @@ -270,10 +270,14 @@ nvk_graphics_pipeline_create(struct nvk_device *device, last_geom = shader; uint64_t addr = nvk_shader_address(shader); - assert(device->ctx->eng3d.cls >= VOLTA_A); - P_MTHD(p, NVC397, SET_PIPELINE_PROGRAM_ADDRESS_A(idx)); - P_NVC397_SET_PIPELINE_PROGRAM_ADDRESS_A(p, idx, addr >> 32 ); - P_NVC397_SET_PIPELINE_PROGRAM_ADDRESS_B(p, idx, addr); + if (device->ctx->eng3d.cls >= VOLTA_A) { + P_MTHD(p, NVC397, SET_PIPELINE_PROGRAM_ADDRESS_A(idx)); + P_NVC397_SET_PIPELINE_PROGRAM_ADDRESS_A(p, idx, addr >> 32); + P_NVC397_SET_PIPELINE_PROGRAM_ADDRESS_B(p, idx, addr); + } else { + assert(addr < 0xffffffff); + P_IMMD(p, NV9097, SET_PIPELINE_PROGRAM(idx), addr); + } P_IMMD(p, NV9097, SET_PIPELINE_REGISTER_COUNT(idx), shader->num_gprs);