Support the VK_KHR_8bit_storage extension.

This isn't part of Vulkan 1.1, but it will almost certainly be part of
Vulkan 1.2. (Or whatever the new version is.)
This commit is contained in:
Chip Davis 2018-11-06 17:15:07 -06:00
parent 5a93d80de0
commit faa455cec6
3 changed files with 10 additions and 0 deletions

View File

@ -222,6 +222,7 @@ in your source code files as follows:
In addition to the core *Vulkan* API, **MoltenVK** also supports the following *Vulkan* extensions:
- `VK_KHR_16bit_storage`
- `VK_KHR_8bit_storage`
- `VK_KHR_dedicated_allocation`
- `VK_KHR_descriptor_update_template`
- `VK_KHR_get_memory_requirements2`

View File

@ -74,6 +74,14 @@ void MVKPhysicalDevice::getFeatures(VkPhysicalDeviceFeatures2* features) {
next = (VkStructureType*)storageFeatures->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR: {
auto* storageFeatures = (VkPhysicalDevice8BitStorageFeaturesKHR*)next;
storageFeatures->storageBuffer8BitAccess = true;
storageFeatures->uniformAndStorageBuffer8BitAccess = true;
storageFeatures->storagePushConstant8 = true;
next = (VkStructureType*)storageFeatures->pNext;
break;
}
case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT: {
auto* divisorFeatures = (VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT*)next;
divisorFeatures->vertexAttributeInstanceRateDivisor = true;

View File

@ -31,6 +31,7 @@
#endif
MVK_EXTENSION(KHR_16bit_storage, KHR_16BIT_STORAGE)
MVK_EXTENSION(KHR_8bit_storage, KHR_8BIT_STORAGE)
MVK_EXTENSION(KHR_dedicated_allocation, KHR_DEDICATED_ALLOCATION)
MVK_EXTENSION(KHR_descriptor_update_template, KHR_DESCRIPTOR_UPDATE_TEMPLATE)
MVK_EXTENSION(KHR_get_memory_requirements2, KHR_GET_MEMORY_REQUIREMENTS_2)