Mesa (master): ac: query high bits of 32-bit address space

Marek Olšák mareko at kemper.freedesktop.org
Sat Feb 17 03:58:31 UTC 2018


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

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Fri Feb  2 18:22:15 2018 +0100

ac: query high bits of 32-bit address space

---

 configure.ac                 | 2 +-
 meson.build                  | 2 +-
 src/amd/common/ac_gpu_info.c | 7 +++++++
 src/amd/common/ac_gpu_info.h | 1 +
 4 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 8ed606c769..994052d5c4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -74,7 +74,7 @@ AC_SUBST([OPENCL_VERSION])
 # in the first entry.
 LIBDRM_REQUIRED=2.4.75
 LIBDRM_RADEON_REQUIRED=2.4.71
-LIBDRM_AMDGPU_REQUIRED=2.4.89
+LIBDRM_AMDGPU_REQUIRED=2.4.90
 LIBDRM_INTEL_REQUIRED=2.4.75
 LIBDRM_NVVIEUX_REQUIRED=2.4.66
 LIBDRM_NOUVEAU_REQUIRED=2.4.66
diff --git a/meson.build b/meson.build
index a3d1b3d670..6fc7ec7fc9 100644
--- a/meson.build
+++ b/meson.build
@@ -980,7 +980,7 @@ dep_libdrm_nouveau = []
 dep_libdrm_etnaviv = []
 dep_libdrm_freedreno = []
 if with_amd_vk or with_gallium_radeonsi
-  dep_libdrm_amdgpu = dependency('libdrm_amdgpu', version : '>= 2.4.89')
+  dep_libdrm_amdgpu = dependency('libdrm_amdgpu', version : '>= 2.4.90')
 endif
 if (with_gallium_radeonsi or with_dri_r100 or with_dri_r200 or
     with_gallium_r300 or with_gallium_r600)
diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c
index 6d9dcb5c56..b5b059e120 100644
--- a/src/amd/common/ac_gpu_info.c
+++ b/src/amd/common/ac_gpu_info.c
@@ -226,6 +226,12 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev,
 		return false;
 	}
 
+	r = amdgpu_query_sw_info(dev, amdgpu_sw_info_address32_hi, &info->address32_hi);
+	if (r) {
+		fprintf(stderr, "amdgpu: amdgpu_query_sw_info(address32_hi) failed.\n");
+		return false;
+	}
+
 	/* Set chip identification. */
 	info->pci_id = amdinfo->asic_id; /* TODO: is this correct? */
 	info->vce_harvest_config = amdinfo->vce_harvest_config;
@@ -371,6 +377,7 @@ void ac_print_gpu_info(struct radeon_info *info)
 	printf("max_alloc_size = %i MB\n",
 	       (int)DIV_ROUND_UP(info->max_alloc_size, 1024*1024));
 	printf("min_alloc_size = %u\n", info->min_alloc_size);
+	printf("address32_hi = %u\n", info->address32_hi);
 	printf("has_dedicated_vram = %u\n", info->has_dedicated_vram);
 	printf("has_virtual_memory = %i\n", info->has_virtual_memory);
 	printf("gfx_ib_pad_with_type2 = %i\n", info->gfx_ib_pad_with_type2);
diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h
index cca3e98d36..ae42aff601 100644
--- a/src/amd/common/ac_gpu_info.h
+++ b/src/amd/common/ac_gpu_info.h
@@ -57,6 +57,7 @@ struct radeon_info {
 	uint64_t                    vram_vis_size;
 	uint64_t                    max_alloc_size;
 	uint32_t                    min_alloc_size;
+	uint32_t                    address32_hi;
 	bool                        has_dedicated_vram;
 	bool                        has_virtual_memory;
 	bool                        gfx_ib_pad_with_type2;




More information about the mesa-commit mailing list