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

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

radv: Implement & enable VK_EXT_texel_buffer_alignment.

Reviewed-by: Samuel Pitoiset <samuel.pitoi...@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),

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to