Mesa (master): radv: Implement & enable VK_EXT_texel_buffer_alignment.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Oct 10 13:50:22 UTC 2019


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

Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Thu Oct 10 11:40:27 2019 +0200

radv: Implement & enable VK_EXT_texel_buffer_alignment.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>

---

 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 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),




More information about the mesa-commit mailing list