summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <[email protected]>2019-10-10 11:40:27 +0200
committerBas Nieuwenhuizen <[email protected]>2019-10-10 13:24:16 +0000
commita9687c4e05254df52b9180aa006b7bbeb612f2fc (patch)
tree2a7e38859d0d1dc66d7a49f55eef520b7994d4e6
parent9d17d97ee41ae9d3eb5061a4bc607e430bdae477 (diff)
radv: Implement & enable VK_EXT_texel_buffer_alignment.
Reviewed-by: Samuel Pitoiset <[email protected]>
-rw-r--r--docs/relnotes/new_features.txt1
-rw-r--r--src/amd/vulkan/radv_device.c15
-rw-r--r--src/amd/vulkan/radv_extensions.py1
3 files changed, 17 insertions, 0 deletions
diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt
index f51a9669bad..bfe0ac83493 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 69317a1c63c..7562f0c98e0 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 14d139d60b4..12596df1364 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),