Mesa (master): radv: allow radv_emit_shader_pointer_head() to emit more pointers

Samuel Pitoiset hakzsam at kemper.freedesktop.org
Tue May 29 08:07:44 UTC 2018


Module: Mesa
Branch: master
Commit: 21baf33a942fafaccfaf9c802d0148f31b1b36ef
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=21baf33a942fafaccfaf9c802d0148f31b1b36ef

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Fri May 25 14:59:20 2018 +0200

radv: allow radv_emit_shader_pointer_head() to emit more pointers

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

---

 src/amd/vulkan/radv_private.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h
index e554fc7acc..708cacf770 100644
--- a/src/amd/vulkan/radv_private.h
+++ b/src/amd/vulkan/radv_private.h
@@ -1132,9 +1132,11 @@ bool radv_get_memory_fd(struct radv_device *device,
 
 static inline void
 radv_emit_shader_pointer_head(struct radeon_winsys_cs *cs,
-			      unsigned sh_offset, bool use_32bit_pointers)
+			      unsigned sh_offset, unsigned pointer_count,
+			      bool use_32bit_pointers)
 {
-	radeon_set_sh_reg_seq(cs, sh_offset, use_32bit_pointers ? 1 : 2);
+	radeon_emit(cs, PKT3(PKT3_SET_SH_REG, pointer_count * (use_32bit_pointers ? 1 : 2), 0));
+	radeon_emit(cs, (sh_offset - SI_SH_REG_OFFSET) >> 2);
 }
 
 static inline void
@@ -1159,7 +1161,7 @@ radv_emit_shader_pointer(struct radv_device *device,
 {
 	bool use_32bit_pointers = HAVE_32BIT_POINTERS && !global;
 
-	radv_emit_shader_pointer_head(cs, sh_offset, use_32bit_pointers);
+	radv_emit_shader_pointer_head(cs, sh_offset, 1, use_32bit_pointers);
 	radv_emit_shader_pointer_body(device, cs, va, use_32bit_pointers);
 }
 




More information about the mesa-commit mailing list