| 21 | using lock_type = std::unique_lock< std::mutex >; |
| 22 | |
| 23 | GraphContext::GraphContext( VkDevice device |
| 24 | , VkPipelineCache cache |
| 25 | , VkAllocationCallbacks const * allocator |
| 26 | , VkPhysicalDeviceMemoryProperties memoryProperties |
| 27 | , VkPhysicalDeviceProperties properties |
| 28 | , bool separateDepthStencilLayouts |
| 29 | , PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr ) |
| 30 | : device{ device } |
| 31 | , cache{ cache } |
| 32 | , allocator{ allocator } |
| 33 | , memoryProperties{ std::move( memoryProperties ) } |
| 34 | , properties{ std::move( properties ) } |
| 35 | , separateDepthStencilLayouts{ separateDepthStencilLayouts } |
| 36 | { |
| 37 | #pragma warning( push ) |
| 38 | #pragma warning( disable: 4191 ) |
| 39 | #pragma clang diagnostic push |
| 40 | #pragma clang diagnostic ignored "-Wcast-function-type-strict" |
| 41 | #define DECL_vkFunction( name )\ |
| 42 | if ( vkGetDeviceProcAddr && device )\ |
| 43 | vk##name = reinterpret_cast< PFN_vk##name >( vkGetDeviceProcAddr( device, "vk"#name ) ) |
| 44 | |
| 45 | DECL_vkFunction( CreateGraphicsPipelines ); |
| 46 | DECL_vkFunction( CreateComputePipelines ); |
| 47 | DECL_vkFunction( DestroyPipeline ); |
| 48 | DECL_vkFunction( CreatePipelineLayout ); |
| 49 | DECL_vkFunction( DestroyPipelineLayout ); |
| 50 | DECL_vkFunction( CreateDescriptorSetLayout ); |
| 51 | DECL_vkFunction( DestroyDescriptorSetLayout ); |
| 52 | DECL_vkFunction( CreateDescriptorPool ); |
| 53 | DECL_vkFunction( DestroyDescriptorPool ); |
| 54 | DECL_vkFunction( AllocateDescriptorSets ); |
| 55 | DECL_vkFunction( FreeDescriptorSets ); |
| 56 | DECL_vkFunction( CreateBuffer ); |
| 57 | DECL_vkFunction( DestroyBuffer ); |
| 58 | DECL_vkFunction( CreateBufferView ); |
| 59 | DECL_vkFunction( DestroyBufferView ); |
| 60 | DECL_vkFunction( GetBufferMemoryRequirements ); |
| 61 | DECL_vkFunction( GetImageMemoryRequirements ); |
| 62 | DECL_vkFunction( AllocateMemory ); |
| 63 | DECL_vkFunction( FreeMemory ); |
| 64 | DECL_vkFunction( BindBufferMemory ); |
| 65 | DECL_vkFunction( BindImageMemory ); |
| 66 | DECL_vkFunction( MapMemory ); |
| 67 | DECL_vkFunction( UnmapMemory ); |
| 68 | DECL_vkFunction( FlushMappedMemoryRanges ); |
| 69 | DECL_vkFunction( InvalidateMappedMemoryRanges ); |
| 70 | DECL_vkFunction( CreateRenderPass ); |
| 71 | DECL_vkFunction( DestroyRenderPass ); |
| 72 | DECL_vkFunction( CreateFramebuffer ); |
| 73 | DECL_vkFunction( DestroyFramebuffer ); |
| 74 | DECL_vkFunction( CreateImage ); |
| 75 | DECL_vkFunction( DestroyImage ); |
| 76 | DECL_vkFunction( CreateImageView ); |
| 77 | DECL_vkFunction( DestroyImageView ); |
| 78 | DECL_vkFunction( CreateSampler ); |
| 79 | DECL_vkFunction( DestroySampler ); |
| 80 | DECL_vkFunction( CreateCommandPool ); |
nothing calls this directly
no outgoing calls
no test coverage detected