From: Samuel Pitoiset Date: Tue, 25 Jun 2019 09:40:02 +0000 (+0200) Subject: radv/gfx10: implement radv_emit_global_shader_pointers() X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cfaad5e3cada406fd84e1dfed14934ba2d11a879;p=mesa.git radv/gfx10: implement radv_emit_global_shader_pointers() Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 5248814c92b..d22d3d7a627 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -2439,7 +2439,17 @@ radv_emit_global_shader_pointers(struct radv_queue *queue, radv_cs_add_buffer(queue->device->ws, cs, descriptor_bo); - if (queue->device->physical_device->rad_info.chip_class >= GFX9) { + if (queue->device->physical_device->rad_info.chip_class >= GFX10) { + uint32_t regs[] = {R_00B030_SPI_SHADER_USER_DATA_PS_0, + R_00B130_SPI_SHADER_USER_DATA_VS_0, + R_00B230_SPI_SHADER_USER_DATA_GS_0, + R_00B430_SPI_SHADER_USER_DATA_HS_0}; + + for (int i = 0; i < ARRAY_SIZE(regs); ++i) { + radv_emit_shader_pointer(queue->device, cs, regs[i], + va, true); + } + } else if (queue->device->physical_device->rad_info.chip_class >= GFX9) { uint32_t regs[] = {R_00B030_SPI_SHADER_USER_DATA_PS_0, R_00B130_SPI_SHADER_USER_DATA_VS_0, R_00B208_SPI_SHADER_USER_DATA_ADDR_LO_GS,