diff options
Diffstat (limited to 'src/window.hpp')
| -rw-r--r-- | src/window.hpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/window.hpp b/src/window.hpp index 35891c0..e6f422a 100644 --- a/src/window.hpp +++ b/src/window.hpp @@ -66,14 +66,27 @@ struct DebugHitbox { }; extern DebugHitbox pkeDebugHitbox; struct ImplementedPipelines { - VkDescriptorSetLayout vkDescriptorSetLayout_Texture = VK_NULL_HANDLE; - VkPipelineLayout vkPipelineLayout_Texture = VK_NULL_HANDLE; VkSampler vkSampler_Texture = VK_NULL_HANDLE; union { - VkPipeline arr[2] = { VK_NULL_HANDLE, VK_NULL_HANDLE }; + VkDescriptorSetLayout arr[2] = { VK_NULL_HANDLE, VK_NULL_HANDLE }; + struct ImplementedPipelineLayoutsByName { + VkDescriptorSetLayout texture; + VkDescriptorSetLayout glyph; + } named; + } descr_layouts; + union { + VkPipelineLayout arr[2] = { VK_NULL_HANDLE, VK_NULL_HANDLE }; + struct ImplementedPipelineLayoutsByName { + VkPipelineLayout texture; + VkPipelineLayout glyph; + } named; + } pipe_layouts; + union { + VkPipeline arr[3] = { VK_NULL_HANDLE, VK_NULL_HANDLE, VK_NULL_HANDLE }; struct ImplementedPipelinesByName { - VkPipeline Texture; - VkPipeline TextureWireframe; + VkPipeline texture; + VkPipeline texture_wireframe; + VkPipeline glyph; } named; } pipelines; }; @@ -85,6 +98,7 @@ VkShaderModule UploadShader(AssetHandle handle); void Render(); unsigned int FindMemoryTypeIndex(uint32_t typeFilter, VkMemoryPropertyFlags memPropertyFlags); +void CalculateCombinedMemReqs(uint64_t memReqsCount, VkMemoryRequirements *memReqs, VkMemoryRequirements &combinedMemReqs); void BeginTransferBuffer(VkDeviceSize requestedMemorySize, VkBuffer &buffer, VkDeviceMemory &deviceMemory, void *&deviceData); void EndTransferBuffer(VkBuffer &buffer, VkDeviceMemory &deviceMemory); |
