aboutsummaryrefslogtreecommitdiffstats
path: root/src/vk-context.cpp
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2021-08-08 23:01:44 +0200
committerladevieq <ladevie.quentin@gmail.com>2021-08-08 23:01:44 +0200
commit03fdcb0341d35bb99fccb2e155ee967f932c9961 (patch)
treee318a2e755556b299009dd84230705a3f4432efc /src/vk-context.cpp
parentdb6adfebe08027a49c6b2204683a2b9f3527cd64 (diff)
Bindless compute pipelines
Diffstat (limited to 'src/vk-context.cpp')
-rw-r--r--src/vk-context.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/vk-context.cpp b/src/vk-context.cpp
index 999c762..ff6c493 100644
--- a/src/vk-context.cpp
+++ b/src/vk-context.cpp
@@ -108,10 +108,15 @@ void vkcontext::create_device() {
float queue_priority = 1.f;
queue_create_info.pQueuePriorities = &queue_priority;
- VkPhysicalDeviceVulkan12Features physical_device_12_features = {};
- physical_device_12_features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES;
- physical_device_12_features.pNext = VK_NULL_HANDLE;
- physical_device_12_features.bufferDeviceAddress = VK_TRUE;
+ VkPhysicalDeviceVulkan12Features physical_device_12_features = {};
+ physical_device_12_features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES;
+ physical_device_12_features.pNext = VK_NULL_HANDLE;
+ physical_device_12_features.bufferDeviceAddress = VK_TRUE;
+ physical_device_12_features.runtimeDescriptorArray = VK_TRUE;
+ physical_device_12_features.shaderStorageImageArrayNonUniformIndexing = VK_TRUE;
+ physical_device_12_features.descriptorBindingPartiallyBound = VK_TRUE;
+ physical_device_12_features.descriptorBindingPartiallyBound = VK_TRUE;
+ physical_device_12_features.descriptorBindingUpdateUnusedWhilePending = VK_TRUE;
VkPhysicalDeviceFeatures2 device_features = {};
device_features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;