aboutsummaryrefslogtreecommitdiff
path: root/sokol_app.h
diff options
context:
space:
mode:
authorAndre Weissflog <floooh@gmail.com>2025-11-02 14:05:01 +0100
committerAndre Weissflog <floooh@gmail.com>2025-11-02 14:05:01 +0100
commit2191dd650da70a0459b6ac732f5db5185f590ae1 (patch)
treecfefc1079cdc5adab775ab3c0206a91c1b89e287 /sokol_app.h
parentcb1ac4939fbc6b44d6ab0eb9ff79efa8c87a4273 (diff)
sokol_app.h vk: descriptor buffers wip
Diffstat (limited to 'sokol_app.h')
-rw-r--r--sokol_app.h20
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));