X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fvulkan%2Fdevice_backend.cpp;h=d80afaab5d4975ee062ee6ea25c09d34cac206a2;hb=46e04b29e95019e4f384d321d29adea1e5fa3ea9;hp=3be29c63c9524b04be53aedff3fe808222f4b334;hpb=dd503e748c430d26b6adda57b59f04177e4105fa;p=libs%2Fgl.git diff --git a/source/backends/vulkan/device_backend.cpp b/source/backends/vulkan/device_backend.cpp index 3be29c63..d80afaab 100644 --- a/source/backends/vulkan/device_backend.cpp +++ b/source/backends/vulkan/device_backend.cpp @@ -1,5 +1,6 @@ #include #include +#include #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(this)), synchronizer(*static_cast(this)), transfer_queue(*static_cast(this)), - pipeline_cache(*static_cast(this)) + pipeline_cache(*static_cast(this)), + descriptor_pool(*static_cast(this)) { } // Cause the destructor of RefPtr to be emitted here @@ -29,6 +31,7 @@ Graphics::VulkanOptions VulkanDevice::create_default_options() { Graphics::VulkanOptions opts; opts.enable_geometry_shader = true; + opts.enable_tessellation_shader = true; #ifdef DEBUG const char *disable_ptr = getenv("MSPGL_DISABLE_VALIDATION"); if(disable_ptr && *disable_ptr) @@ -54,6 +57,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)