Mesa (master): radv: advertise VK_AMD_memory_overallocation_behavior

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Apr 28 21:13:03 UTC 2020


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

Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Mon Nov 25 15:51:03 2019 +0100

radv: advertise VK_AMD_memory_overallocation_behavior

Doom Eternal explicitly allows overallocation via this extension
but that shouldn't change anything because it's the default RADV
behavior.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4785>

---

 docs/relnotes/new_features.txt    | 1 +
 src/amd/vulkan/radv_device.c      | 6 ++++++
 src/amd/vulkan/radv_extensions.py | 1 +
 3 files changed, 8 insertions(+)

diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt
index 701c1e5e912..7df8dfa6dcd 100644
--- a/docs/relnotes/new_features.txt
+++ b/docs/relnotes/new_features.txt
@@ -6,6 +6,7 @@ GL_NV_copy_image on all gallium drivers.
 GL_NV_pixel_buffer_object on all gallium drivers, i915, i965, swrast.
 GL_NV_viewport_array2 on nvc0 (GM200+).
 GL_NV_viewport_swizzle on nvc0 (GM200+).
+VK_AMD_memory_overallocation_behavior on RADV.
 VK_KHR_shader_non_semantic_info on Intel, RADV.
 GL_EXT_draw_instanced on gles2
 VK_KHR_8bit_storage for ACO on GFX8+
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index cacd47f269f..ccd21acea26 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -1249,6 +1249,12 @@ void radv_GetPhysicalDeviceFeatures2(
 			features->stippledSmoothLines = false;
 			break;
 		}
+		case VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD: {
+			VkDeviceMemoryOverallocationCreateInfoAMD *features =
+				(VkDeviceMemoryOverallocationCreateInfoAMD *)ext;
+			features->overallocationBehavior = true;
+			break;
+		}
 		default:
 			break;
 		}
diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py
index ea789bbded7..b647e0aa95a 100644
--- a/src/amd/vulkan/radv_extensions.py
+++ b/src/amd/vulkan/radv_extensions.py
@@ -157,6 +157,7 @@ EXTENSIONS = [
     Extension('VK_AMD_gcn_shader',                        1, True),
     Extension('VK_AMD_gpu_shader_half_float',             1, '!device->use_aco && device->rad_info.has_double_rate_fp16'),
     Extension('VK_AMD_gpu_shader_int16',                  1, '!device->use_aco && device->rad_info.has_double_rate_fp16'),
+    Extension('VK_AMD_memory_overallocation_behavior',    1, True),
     # Disable mixed attachment samples on GFX6-GFX7 until the CTS failures have been resolved.
     Extension('VK_AMD_mixed_attachment_samples',          1, 'device->rad_info.chip_class >= GFX8'),
     Extension('VK_AMD_rasterization_order',               1, 'device->rad_info.has_out_of_order_rast'),



More information about the mesa-commit mailing list