radv: advertise VK_AMD_memory_overallocation_behavior
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 25 Nov 2019 14:51:03 +0000 (15:51 +0100)
committerMarge Bot <eric+marge@anholt.net>
Tue, 28 Apr 2020 21:03:26 +0000 (21:03 +0000)
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@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4785>

docs/relnotes/new_features.txt
src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_extensions.py

index 701c1e5e912608e97e9771119bc4dbd48d596fe4..7df8dfa6dcd45e844a2cd05e834f44168fac6f05 100644 (file)
@@ -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+
index cacd47f269f6aacc67dc903ed2dbd017cdc7fcf9..ccd21acea26866aa61e6ff4f0a0a3a8215679727 100644 (file)
@@ -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;
                }
index ea789bbded79c49ae846a30412a489addfd151ec..b647e0aa95a742c99e4d01fd7d9df79ba7dc9a4e 100644 (file)
@@ -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'),