From a9687c4e05254df52b9180aa006b7bbeb612f2fc Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Thu, 10 Oct 2019 11:40:27 +0200 Subject: [PATCH] radv: Implement & enable VK_EXT_texel_buffer_alignment. Reviewed-by: Samuel Pitoiset --- docs/relnotes/new_features.txt | 1 + src/amd/vulkan/radv_device.c | 15 +++++++++++++++ src/amd/vulkan/radv_extensions.py | 1 + 3 files changed, 17 insertions(+) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index f51a966..bfe0ac8 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -6,3 +6,4 @@ VK_KHR_shader_clock on Intel, RADV. VK_KHR_shader_float_controls on Intel. VK_EXT_shader_subgroup_ballot on Intel. VK_EXT_shader_subgroup_vote on Intel. +VK_EXT_texel_buffer_alignment on RADV. diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 69317a1..7562f0c 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -1034,6 +1034,12 @@ void radv_GetPhysicalDeviceFeatures2( features->shaderDeviceClock = false; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: { + VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *features = + (VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *)ext; + features->texelBufferAlignment = true; + break; + } default: break; } @@ -1469,6 +1475,15 @@ void radv_GetPhysicalDeviceProperties2( properties->independentResolve = VK_TRUE; break; } + case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT: { + VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT *properties = + (VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT *)ext; + properties->storageTexelBufferOffsetAlignmentBytes = 4; + properties->storageTexelBufferOffsetSingleTexelAlignment = true; + properties->uniformTexelBufferOffsetAlignmentBytes = 4; + properties->uniformTexelBufferOffsetSingleTexelAlignment = true; + break; + } default: break; } diff --git a/src/amd/vulkan/radv_extensions.py b/src/amd/vulkan/radv_extensions.py index 14d139d..12596df 100644 --- a/src/amd/vulkan/radv_extensions.py +++ b/src/amd/vulkan/radv_extensions.py @@ -134,6 +134,7 @@ EXTENSIONS = [ Extension('VK_EXT_shader_stencil_export', 1, True), Extension('VK_EXT_shader_subgroup_ballot', 1, True), Extension('VK_EXT_shader_subgroup_vote', 1, True), + Extension('VK_EXT_texel_buffer_alignment', 1, True), Extension('VK_EXT_transform_feedback', 1, True), Extension('VK_EXT_vertex_attribute_divisor', 3, True), Extension('VK_EXT_ycbcr_image_arrays', 1, True), -- 2.7.4