diff options
| author | Andre Weissflog <floooh@gmail.com> | 2025-11-02 14:05:01 +0100 |
|---|---|---|
| committer | Andre Weissflog <floooh@gmail.com> | 2025-11-02 14:05:01 +0100 |
| commit | 2191dd650da70a0459b6ac732f5db5185f590ae1 (patch) | |
| tree | cfefc1079cdc5adab775ab3c0206a91c1b89e287 /sokol_app.h | |
| parent | cb1ac4939fbc6b44d6ab0eb9ff79efa8c87a4273 (diff) | |
sokol_app.h vk: descriptor buffers wip
Diffstat (limited to 'sokol_app.h')
| -rw-r--r-- | sokol_app.h | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/sokol_app.h b/sokol_app.h index 735bff2b..7700b48f 100644 --- a/sokol_app.h +++ b/sokol_app.h @@ -4459,17 +4459,29 @@ _SOKOL_PRIVATE void _sapp_vk_create_device(void) { _SAPP_VK_ZERO_COUNT_AND_ARRAY(32, const char*, ext_count, ext_names); ext_count = _sapp_vk_get_device_extensions(ext_names, 32); + VkPhysicalDeviceDescriptorBufferFeaturesEXT descriptor_buffer_features; + _sapp_clear(&descriptor_buffer_features, sizeof(descriptor_buffer_features)); + descriptor_buffer_features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT; + descriptor_buffer_features.descriptorBuffer = VK_TRUE; + VkPhysicalDeviceExtendedDynamicStateFeaturesEXT xds_features; _sapp_clear(&xds_features, sizeof(xds_features)); xds_features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT; - xds_features.extendedDynamicState = true; + xds_features.pNext = &descriptor_buffer_features; + xds_features.extendedDynamicState = VK_TRUE; + + VkPhysicalDeviceVulkan12Features vk12_features; + _sapp_clear(&vk12_features, sizeof(vk12_features)); + vk12_features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES; + vk12_features.pNext = &xds_features; + vk12_features.bufferDeviceAddress = VK_TRUE; VkPhysicalDeviceVulkan13Features vk13_features; _sapp_clear(&vk13_features, sizeof(vk13_features)); vk13_features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES; - vk13_features.pNext = &xds_features; - vk13_features.dynamicRendering = true; - vk13_features.synchronization2 = true; + vk13_features.pNext = &vk12_features; + vk13_features.dynamicRendering = VK_TRUE; + vk13_features.synchronization2 = VK_TRUE; VkPhysicalDeviceFeatures2 features2; _sapp_clear(&features2, sizeof(features2)); |