]> git.tdb.fi Git - libs/gl.git/blobdiff - source/backends/vulkan/device_backend.cpp
Add a separate limit for storage texture binding range
[libs/gl.git] / source / backends / vulkan / device_backend.cpp
index 3be29c63c9524b04be53aedff3fe808222f4b334..8e3f2ab621a9acc55823d2f0c2ea22b4331a082a 100644 (file)
@@ -1,5 +1,6 @@
 #include <cstdlib>
 #include <msp/graphics/vulkancontext_platform.h>
+#include <msp/strings/lexicalcast.h>
 #include "device.h"
 #include "device_backend.h"
 #include "vulkan.h"
@@ -18,7 +19,8 @@ VulkanDevice::VulkanDevice(Graphics::Window &wnd, const Graphics::VulkanOptions
        destroy_queue(*static_cast<Device *>(this)),
        synchronizer(*static_cast<Device *>(this)),
        transfer_queue(*static_cast<Device *>(this)),
-       pipeline_cache(*static_cast<Device *>(this))
+       pipeline_cache(*static_cast<Device *>(this)),
+       descriptor_pool(*static_cast<Device *>(this))
 { }
 
 // Cause the destructor of RefPtr<VulkanFunctions> to be emitted here
@@ -54,6 +56,7 @@ void VulkanDevice::fill_info()
        limits.max_clip_planes = props.limits.maxClipDistances;
        limits.max_vertex_attributes = props.limits.maxVertexInputAttributes;
        limits.max_texture_bindings = props.limits.maxDescriptorSetSampledImages;
+       limits.max_storage_texture_bindings = props.limits.maxDescriptorSetStorageImages;
        limits.max_color_attachments = props.limits.maxColorAttachments;
        unsigned samples = props.limits.framebufferColorSampleCounts&props.limits.framebufferDepthSampleCounts&props.limits.framebufferStencilSampleCounts;
        if(samples&VK_SAMPLE_COUNT_64_BIT)