Vulkan usage fixes
This commit is contained in:
parent
5d449095bf
commit
af28ea02a8
|
|
@ -44,12 +44,10 @@ int main()
|
||||||
|
|
||||||
Nz::Vk::Instance& instance = Nz::Vulkan::GetInstance();
|
Nz::Vk::Instance& instance = Nz::Vulkan::GetInstance();
|
||||||
|
|
||||||
VkDebugReportCallbackCreateInfoEXT callbackCreateInfo;
|
VkDebugReportCallbackCreateInfoEXT callbackCreateInfo = {};
|
||||||
callbackCreateInfo.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT;
|
callbackCreateInfo.sType = VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT;
|
||||||
callbackCreateInfo.pNext = nullptr;
|
callbackCreateInfo.flags = VK_DEBUG_REPORT_WARNING_BIT_EXT | VK_DEBUG_REPORT_ERROR_BIT_EXT | VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT | VK_DEBUG_REPORT_DEBUG_BIT_EXT ;
|
||||||
callbackCreateInfo.flags = VK_DEBUG_REPORT_FLAG_BITS_MAX_ENUM_EXT & ~VK_DEBUG_REPORT_INFORMATION_BIT_EXT;
|
|
||||||
callbackCreateInfo.pfnCallback = &MyDebugReportCallback;
|
callbackCreateInfo.pfnCallback = &MyDebugReportCallback;
|
||||||
callbackCreateInfo.pUserData = nullptr;
|
|
||||||
|
|
||||||
/* Register the callback */
|
/* Register the callback */
|
||||||
VkDebugReportCallbackEXT callback;
|
VkDebugReportCallbackEXT callback;
|
||||||
|
|
@ -246,8 +244,6 @@ int main()
|
||||||
descriptorSet.WriteUniformDescriptor(0, uniformBuffer, 0, uniformSize);
|
descriptorSet.WriteUniformDescriptor(0, uniformBuffer, 0, uniformSize);
|
||||||
|
|
||||||
Nz::RenderPipelineInfo pipelineInfo;
|
Nz::RenderPipelineInfo pipelineInfo;
|
||||||
pipelineInfo.depthBuffer = true;
|
|
||||||
pipelineInfo.depthCompare = Nz::RendererComparison_Equal;
|
|
||||||
|
|
||||||
std::unique_ptr<Nz::RenderPipeline> pipeline = device->InstantiateRenderPipeline(pipelineInfo);
|
std::unique_ptr<Nz::RenderPipeline> pipeline = device->InstantiateRenderPipeline(pipelineInfo);
|
||||||
|
|
||||||
|
|
@ -627,7 +623,7 @@ int main()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// instance.vkDestroyDebugReportCallbackEXT(instance, callback, nullptr);
|
instance.vkDestroyDebugReportCallbackEXT(instance, callback, nullptr);
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
return EXIT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ namespace Nz
|
||||||
inline RenderWindow();
|
inline RenderWindow();
|
||||||
inline RenderWindow(VideoMode mode, const String& title, WindowStyleFlags style = WindowStyle_Default, const RenderWindowParameters& parameters = RenderWindowParameters());
|
inline RenderWindow(VideoMode mode, const String& title, WindowStyleFlags style = WindowStyle_Default, const RenderWindowParameters& parameters = RenderWindowParameters());
|
||||||
inline explicit RenderWindow(WindowHandle handle, const RenderWindowParameters& parameters = RenderWindowParameters());
|
inline explicit RenderWindow(WindowHandle handle, const RenderWindowParameters& parameters = RenderWindowParameters());
|
||||||
|
inline ~RenderWindow();
|
||||||
|
|
||||||
inline bool Create(VideoMode mode, const String& title, WindowStyleFlags style = WindowStyle_Default, const RenderWindowParameters& parameters = RenderWindowParameters());
|
inline bool Create(VideoMode mode, const String& title, WindowStyleFlags style = WindowStyle_Default, const RenderWindowParameters& parameters = RenderWindowParameters());
|
||||||
inline bool Create(WindowHandle handle, const RenderWindowParameters& parameters = RenderWindowParameters());
|
inline bool Create(WindowHandle handle, const RenderWindowParameters& parameters = RenderWindowParameters());
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,11 @@ namespace Nz
|
||||||
Create(handle, parameters);
|
Create(handle, parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline RenderWindow::~RenderWindow()
|
||||||
|
{
|
||||||
|
Destroy();
|
||||||
|
}
|
||||||
|
|
||||||
inline bool RenderWindow::Create(VideoMode mode, const String& title, WindowStyleFlags style, const RenderWindowParameters& parameters)
|
inline bool RenderWindow::Create(VideoMode mode, const String& title, WindowStyleFlags style, const RenderWindowParameters& parameters)
|
||||||
{
|
{
|
||||||
m_parameters = parameters;
|
m_parameters = parameters;
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ namespace Nz
|
||||||
//commandBuffer.SetImageLayout(m_swapchain.GetBuffer(imageIndex).image, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL);
|
//commandBuffer.SetImageLayout(m_swapchain.GetBuffer(imageIndex).image, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL);
|
||||||
|
|
||||||
// Temporary
|
// Temporary
|
||||||
if (m_depthStencilFormat != VK_FORMAT_MAX_ENUM)
|
/*if (m_depthStencilFormat != VK_FORMAT_MAX_ENUM)
|
||||||
{
|
{
|
||||||
VkImageSubresourceRange imageRange = {
|
VkImageSubresourceRange imageRange = {
|
||||||
VK_IMAGE_ASPECT_DEPTH_BIT, // VkImageAspectFlags aspectMask
|
VK_IMAGE_ASPECT_DEPTH_BIT, // VkImageAspectFlags aspectMask
|
||||||
|
|
@ -59,7 +59,7 @@ namespace Nz
|
||||||
};
|
};
|
||||||
|
|
||||||
commandBuffer.SetImageLayout(m_depthBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, imageRange);
|
commandBuffer.SetImageLayout(m_depthBuffer, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, imageRange);
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void VkRenderWindow::BuildPostRenderCommands(UInt32 imageIndex, Vk::CommandBuffer& commandBuffer)
|
void VkRenderWindow::BuildPostRenderCommands(UInt32 imageIndex, Vk::CommandBuffer& commandBuffer)
|
||||||
|
|
@ -283,18 +283,18 @@ namespace Nz
|
||||||
VK_ATTACHMENT_STORE_OP_STORE, // VkAttachmentStoreOp storeOp;
|
VK_ATTACHMENT_STORE_OP_STORE, // VkAttachmentStoreOp storeOp;
|
||||||
VK_ATTACHMENT_LOAD_OP_DONT_CARE, // VkAttachmentLoadOp stencilLoadOp;
|
VK_ATTACHMENT_LOAD_OP_DONT_CARE, // VkAttachmentLoadOp stencilLoadOp;
|
||||||
VK_ATTACHMENT_STORE_OP_DONT_CARE, // VkAttachmentStoreOp stencilStoreOp;
|
VK_ATTACHMENT_STORE_OP_DONT_CARE, // VkAttachmentStoreOp stencilStoreOp;
|
||||||
VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout;
|
VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout;
|
||||||
VK_IMAGE_LAYOUT_PRESENT_SRC_KHR // VkImageLayout finalLayout;
|
VK_IMAGE_LAYOUT_PRESENT_SRC_KHR // VkImageLayout finalLayout;
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
0, // VkAttachmentDescriptionFlags flags;
|
0, // VkAttachmentDescriptionFlags flags;
|
||||||
m_depthStencilFormat, // VkFormat format;
|
m_depthStencilFormat, // VkFormat format;
|
||||||
VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples;
|
VK_SAMPLE_COUNT_1_BIT, // VkSampleCountFlagBits samples;
|
||||||
VK_ATTACHMENT_LOAD_OP_CLEAR, // VkAttachmentLoadOp loadOp;
|
VK_ATTACHMENT_LOAD_OP_CLEAR, // VkAttachmentLoadOp loadOp;
|
||||||
VK_ATTACHMENT_STORE_OP_DONT_CARE, // VkAttachmentStoreOp storeOp;
|
VK_ATTACHMENT_STORE_OP_DONT_CARE, // VkAttachmentStoreOp storeOp;
|
||||||
VK_ATTACHMENT_LOAD_OP_DONT_CARE, // VkAttachmentLoadOp stencilLoadOp;
|
VK_ATTACHMENT_LOAD_OP_DONT_CARE, // VkAttachmentLoadOp stencilLoadOp;
|
||||||
VK_ATTACHMENT_STORE_OP_DONT_CARE, // VkAttachmentStoreOp stencilStoreOp;
|
VK_ATTACHMENT_STORE_OP_DONT_CARE, // VkAttachmentStoreOp stencilStoreOp;
|
||||||
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, // VkImageLayout initialLayout;
|
VK_IMAGE_LAYOUT_UNDEFINED, // VkImageLayout initialLayout;
|
||||||
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL // VkImageLayout finalLayout;
|
VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL // VkImageLayout finalLayout;
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue