tu: Trivially implement VK_EXT_texel_buffer_alignment

The previous alignment of 64 bytes, which we got from the blob,
indicates that single-texel alignment isn't supported. So just do a
trivial no-op implementation that returns the same alignment as before.
This matches what newer blobs that expose this extension do.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15427>
This commit is contained in:
Connor Abbott 2022-03-17 13:21:38 +01:00 committed by Marge Bot
parent 177b54ebe9
commit 3d04c43576
2 changed files with 9 additions and 4 deletions

View File

@ -490,7 +490,7 @@ Vulkan 1.3 -- all DONE: anv, radv
VK_EXT_image_robustness DONE (anv, radv, tu)
VK_EXT_shader_demote_to_helper_invocation DONE (anv, radv, tu)
VK_EXT_subgroup_size_control DONE (anv, radv, tu)
VK_EXT_texel_buffer_alignment DONE (anv, radv)
VK_EXT_texel_buffer_alignment DONE (anv, radv, tu)
Khronos extensions that are not part of any Vulkan version:

View File

@ -825,6 +825,12 @@ tu_GetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,
features->depthClipControl = true;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT: {
VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *features =
(VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT *)ext;
features->texelBufferAlignment = true;
break;
}
default:
break;
@ -1020,10 +1026,9 @@ tu_get_physical_device_properties_1_3(struct tu_physical_device *pdevice,
p->integerDotProductAccumulatingSaturating64BitSignedAccelerated = false;
p->integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = false;
/* VK_EXT_texel_buffer_alignment is not implemented */
p->storageTexelBufferOffsetAlignmentBytes = 0;
p->storageTexelBufferOffsetAlignmentBytes = 64;
p->storageTexelBufferOffsetSingleTexelAlignment = false;
p->uniformTexelBufferOffsetAlignmentBytes = 0;
p->uniformTexelBufferOffsetAlignmentBytes = 64;
p->uniformTexelBufferOffsetSingleTexelAlignment = false;
/* TODO: find out the limit */