Mesa (master): radv/winsys: allow to allocate BOs in the 32-bit addr space

Samuel Pitoiset hakzsam at kemper.freedesktop.org
Tue May 22 13:53:17 UTC 2018


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Wed May 16 15:34:52 2018 +0200

radv/winsys: allow to allocate BOs in the 32-bit addr space

This introduces a new flag called RADEON_FLAG_32BIT.

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

---

 src/amd/vulkan/radv_radeon_winsys.h           | 1 +
 src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_radeon_winsys.h b/src/amd/vulkan/radv_radeon_winsys.h
index 7f19934ab8..2ebd18cf90 100644
--- a/src/amd/vulkan/radv_radeon_winsys.h
+++ b/src/amd/vulkan/radv_radeon_winsys.h
@@ -57,6 +57,7 @@ enum radeon_bo_flag { /* bitfield */
 	RADEON_FLAG_IMPLICIT_SYNC = (1 << 5),
 	RADEON_FLAG_NO_INTERPROCESS_SHARING = (1 << 6),
 	RADEON_FLAG_READ_ONLY =     (1 << 7),
+	RADEON_FLAG_32BIT =         (1 << 8),
 };
 
 enum radeon_bo_usage { /* bitfield */
diff --git a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c
index f33cf02815..25764d93f6 100644
--- a/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c
+++ b/src/amd/vulkan/winsys/amdgpu/radv_amdgpu_bo.c
@@ -306,7 +306,8 @@ radv_amdgpu_winsys_bo_create(struct radeon_winsys *_ws,
 
 	r = amdgpu_va_range_alloc(ws->dev, amdgpu_gpu_va_range_general,
 				  size, alignment, 0, &va, &va_handle,
-				  AMDGPU_VA_RANGE_HIGH);
+				  (flags & RADEON_FLAG_32BIT ? AMDGPU_VA_RANGE_32_BIT : 0) |
+				   AMDGPU_VA_RANGE_HIGH);
 	if (r)
 		goto error_va_alloc;
 




More information about the mesa-commit mailing list