From: Nicolai Hähnle Date: Thu, 7 Feb 2019 17:53:27 +0000 (+0100) Subject: radeonsi/gfx10: implement si_emit_global_shader_pointers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bc25ccfe22a8f15dae7acdc35dd2a669b29149f9;p=mesa.git radeonsi/gfx10: implement si_emit_global_shader_pointers Acked-by: Bas Nieuwenhuizen --- diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c index 5a8c4acc53a..a997bd4febf 100644 --- a/src/gallium/drivers/radeonsi/si_descriptors.c +++ b/src/gallium/drivers/radeonsi/si_descriptors.c @@ -2208,7 +2208,18 @@ static void si_emit_consecutive_shader_pointers(struct si_context *sctx, static void si_emit_global_shader_pointers(struct si_context *sctx, struct si_descriptors *descs) { - if (sctx->chip_class == GFX9) { + if (sctx->chip_class >= GFX10) { + si_emit_shader_pointer(sctx, descs, + R_00B030_SPI_SHADER_USER_DATA_PS_0); + /* HW VS stage only used in non-NGG mode. */ + si_emit_shader_pointer(sctx, descs, + R_00B130_SPI_SHADER_USER_DATA_VS_0); + si_emit_shader_pointer(sctx, descs, + R_00B230_SPI_SHADER_USER_DATA_GS_0); + si_emit_shader_pointer(sctx, descs, + R_00B430_SPI_SHADER_USER_DATA_HS_0); + return; + } else if (sctx->chip_class == GFX9) { /* Broadcast it to all shader stages. */ si_emit_shader_pointer(sctx, descs, R_00B530_SPI_SHADER_USER_DATA_COMMON_0);