17 #include <ht_platform.h> 18 #include <ht_vulkan.h> 19 #include <ht_renderer.h> 20 #include <ht_vkrenderpass.h> 21 #include <ht_VKSwapChain.h> 22 #include <ht_vkmaterial.h> 23 #include <ht_vkrootlayout.h> 24 #include <ht_vkdevice.h> 25 #include <ht_string.h> 47 void VDeInitialize()
override;
53 void VResizeBuffers(uint32_t width, uint32_t height)
override;
58 void VSetClearColor(
const Color& color)
override;
62 void VClearBuffer(ClearArgs args)
override;
64 void VRender(
float dt)
override;
67 void VPresent()
override;
77 const VkCommandPool& GetVKCommandPool()
const;
82 const VkDescriptorPool& GetVKDescriptorPool()
const;
84 <<<<<<< HEAD:include/vulkan/unused/ht_vkrenderer.h
88 >>>>>>> dev:include/vulkan/ht_vkrenderer.h
89 const VkCommandBuffer& GetSetupCommandBuffer()
const;
91 const VkFormat& GetPreferredImageFormat()
const;
92 const VkFormat& GetPreferredDepthFormat()
const;
96 const VkClearValue& GetClearColor()
const;
98 void CreateSetupCommandBuffer();
99 void FlushSetupCommandBuffer();
102 bool SetImageLayout(VkCommandBuffer commandBuffer, VkImage image, VkImageAspectFlags aspectMask,
103 VkImageLayout oldImageLayout, VkImageLayout newImageLayout);
104 bool MemoryTypeFromProperties(uint32_t typeBits, VkFlags requirementsMask, uint32_t* typeIndex);
105 bool CreateBuffer(VkDevice device, VkBufferUsageFlagBits usage,
size_t dataSize,
void* data, UniformBlock_vk* uniformBlock);
108 bool m_enableValidation;
109 std::vector<const char*> m_enabledLayerNames;
110 std::vector<const char*> m_enabledExtensionNames;
115 std::vector<VkQueueFamilyProperties> m_queueProps;
117 VkPhysicalDeviceMemoryProperties m_memoryProps;
121 VkCommandBuffer m_setupCommandBuffer;
123 VkCommandPool m_commandPool;
124 VkDescriptorPool m_descriptorPool;
126 VkSemaphore m_presentSemaphore;
127 VkSemaphore m_renderSemaphore;
128 VkSubmitInfo m_submitInfo;
130 VkClearValue m_clearColor;
133 <<<<<<< HEAD:include/vulkan/unused/ht_vkrenderer.h
134 VKRootLayoutHandle m_rootLayout;
137 IMaterialHandle m_material;
138 >>>>>>> dev:include/vulkan/ht_vkrenderer.h
142 VKRenderPassHandle m_renderPass;
144 VKRenderPassHandle m_lightingPass;
149 VKRenderPassHandle m_compositionPass;
159 PFN_vkCreateDebugReportCallbackEXT m_createDebugReportCallback;
160 PFN_vkDestroyDebugReportCallbackEXT m_destroyDebugReportCallback;
161 VkDebugReportCallbackEXT msg_callback;
162 PFN_vkDebugReportMessageEXT m_debugReportMessage;
164 static VKAPI_ATTR VkBool32 VKAPI_CALL debugFunction(VkFlags msgFlags, VkDebugReportObjectTypeEXT objType,
165 uint64_t srcObject,
size_t location, int32_t msgCode,
166 const char *pLayerPrefix,
const char *pMsg,
void *pUserData);
169 bool initVulkanSwapchain();
170 bool prepareVulkan();
173 bool setupDebugCallbacks();
175 bool setupCommandPool();
176 bool setupDescriptorPool();
178 bool VKRenderer::setupSwapchainFunctions();
Definition: ht_vkrootlayout.h:30
Definition: ht_vkrenderer.h:34
Definition: ht_vkswapchain.h:55
Definition: ht_renderer.h:81
Definition: ht_renderer.h:69
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_color.h:19
Color class defining a 4-component color value.
Definition: ht_color.h:26
Vulkan device wrapper.
Definition: ht_vkdevice.h:29