summaryrefslogtreecommitdiff
path: root/src/window.hpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-01-23 21:57:31 -0500
committerJonathan Bradley <jcb@pikum.xyz>2025-01-23 21:57:31 -0500
commite93eb289ca44e98967482ab80fd5329f85ccd03e (patch)
tree4164b6d5b9ac2e40d18ec3eea52730c9f9606ccb /src/window.hpp
parent846a6e1185417ee3e187edc06ef327d180bf0d9b (diff)
pke: first-pass 2d overlay render pass scaffolding
Diffstat (limited to 'src/window.hpp')
-rw-r--r--src/window.hpp24
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);