mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-08 04:08:32 +09:00
[Chore] (MG_Test/Backend/DirectVulkan/TestExec): get rid of now useless default renderpass
This commit is contained in:
@@ -21,9 +21,8 @@ namespace MobileGL::MG_Backend::DirectVulkan {
|
||||
m_colorFormat = initInfo.colorFormat;
|
||||
m_depthStencilFormat = initInfo.depthStencilFormat;
|
||||
m_renderPassLoad = CreateDefaultRenderPass(VK_ATTACHMENT_LOAD_OP_LOAD);
|
||||
m_renderPassClear = CreateDefaultRenderPass(VK_ATTACHMENT_LOAD_OP_CLEAR);
|
||||
MGLOG_D("VkRenderPassManager: RenderPasses created (LOAD/CLEAR).");
|
||||
return m_renderPassLoad != VK_NULL_HANDLE && m_renderPassClear != VK_NULL_HANDLE;
|
||||
return m_renderPassLoad != VK_NULL_HANDLE;
|
||||
}
|
||||
|
||||
void VkRenderPassManager::Shutdown() {
|
||||
@@ -34,15 +33,11 @@ namespace MobileGL::MG_Backend::DirectVulkan {
|
||||
m_offscreenRenderTargets.clear();
|
||||
|
||||
if (m_device != VK_NULL_HANDLE) {
|
||||
if (m_renderPassClear != VK_NULL_HANDLE) {
|
||||
vkDestroyRenderPass(m_device, m_renderPassClear, nullptr);
|
||||
}
|
||||
if (m_renderPassLoad != VK_NULL_HANDLE) {
|
||||
vkDestroyRenderPass(m_device, m_renderPassLoad, nullptr);
|
||||
}
|
||||
}
|
||||
|
||||
m_renderPassClear = VK_NULL_HANDLE;
|
||||
m_renderPassLoad = VK_NULL_HANDLE;
|
||||
m_colorFormat = VK_FORMAT_UNDEFINED;
|
||||
m_depthStencilFormat = VK_FORMAT_UNDEFINED;
|
||||
@@ -242,14 +237,6 @@ namespace MobileGL::MG_Backend::DirectVulkan {
|
||||
vkCmdClearAttachments(commandBuffer, 1, &clearAttachment, 1, &clearRect);
|
||||
}
|
||||
|
||||
VkRenderPass VkRenderPassManager::GetLoadRenderPass() const {
|
||||
return m_renderPassLoad;
|
||||
}
|
||||
|
||||
VkRenderPass VkRenderPassManager::GetClearRenderPass() const {
|
||||
return m_renderPassClear;
|
||||
}
|
||||
|
||||
VkRenderPass VkRenderPassManager::CreateDefaultRenderPass(VkAttachmentLoadOp colorLoadOp) const {
|
||||
MOBILEGL_ASSERT(m_device != VK_NULL_HANDLE, "VkRenderPassManager: device is null");
|
||||
MOBILEGL_ASSERT(m_colorFormat != VK_FORMAT_UNDEFINED, "VkRenderPassManager: color format is undefined");
|
||||
|
||||
@@ -52,9 +52,6 @@ namespace MobileGL::MG_Backend::DirectVulkan {
|
||||
void RecordDepthStencilClear(VkCommandBuffer commandBuffer, VkExtent2D extent, GLbitfield mask, Float depth,
|
||||
Uint32 stencil, VkFormat depthStencilFormat) const;
|
||||
|
||||
VkRenderPass GetLoadRenderPass() const;
|
||||
VkRenderPass GetClearRenderPass() const;
|
||||
|
||||
private:
|
||||
struct OffscreenRenderTarget {
|
||||
Uint16 targetVersion = 0;
|
||||
@@ -78,7 +75,6 @@ namespace MobileGL::MG_Backend::DirectVulkan {
|
||||
VkFormat m_colorFormat = VK_FORMAT_UNDEFINED;
|
||||
VkFormat m_depthStencilFormat = VK_FORMAT_UNDEFINED;
|
||||
VkRenderPass m_renderPassLoad = VK_NULL_HANDLE;
|
||||
VkRenderPass m_renderPassClear = VK_NULL_HANDLE;
|
||||
Vector<VkFramebuffer> m_defaultFramebuffers;
|
||||
VkExtent2D m_defaultExtent = {0, 0};
|
||||
UnorderedMap<Uint, OffscreenRenderTarget> m_offscreenRenderTargets;
|
||||
|
||||
@@ -157,7 +157,7 @@ namespace MobileGL::MG_Backend::DirectVulkan {
|
||||
payload.programHash = programHash;
|
||||
payload.vertexInputHash = vertexInputHash;
|
||||
payload.pipelineLayout = pipelineLayout;
|
||||
payload.renderPass = (m_activeRenderPass != VK_NULL_HANDLE) ? m_activeRenderPass : GetDefaultLoadRenderPass();
|
||||
payload.renderPass = m_activeRenderPass;
|
||||
payload.subpass = 0;
|
||||
payload.topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST;
|
||||
const Bool depthTestEnabled = MG_State::pGLContext->IsCapabilityEnabled(CapabilityInput::DepthTest);
|
||||
@@ -2459,14 +2459,6 @@ namespace MobileGL::MG_Backend::DirectVulkan {
|
||||
MGLOG_I("Command pool created");
|
||||
}
|
||||
|
||||
VkRenderPass VulkanRenderer::GetDefaultLoadRenderPass() const {
|
||||
MOBILEGL_ASSERT(m_renderPassManager != nullptr, "GetDefaultLoadRenderPass: render pass manager is null");
|
||||
const VkRenderPass renderPass = m_renderPassManager->GetLoadRenderPass();
|
||||
MOBILEGL_ASSERT(renderPass != VK_NULL_HANDLE,
|
||||
"GetDefaultLoadRenderPass: default load render pass is unavailable");
|
||||
return renderPass;
|
||||
}
|
||||
|
||||
Bool VulkanRenderer::GetDefaultRenderTargetForCurrentImage(VkRenderPass& outRenderPass,
|
||||
VkFramebuffer& outFramebuffer, VkExtent2D& outExtent,
|
||||
VkFormat& outDepthStencilFormat) const {
|
||||
|
||||
@@ -170,7 +170,6 @@ namespace MobileGL::MG_Backend::DirectVulkan {
|
||||
void CreateFrameContexts();
|
||||
void CreateDepthStencilResources();
|
||||
void DestroyDepthStencilResources();
|
||||
VkRenderPass GetDefaultLoadRenderPass() const;
|
||||
Bool GetDefaultRenderTargetForCurrentImage(VkRenderPass& outRenderPass, VkFramebuffer& outFramebuffer,
|
||||
VkExtent2D& outExtent, VkFormat& outDepthStencilFormat) const;
|
||||
Bool EnsureOffscreenRenderTarget(Uint glFboExternalIndex, const MG_State::GLState::FramebufferObject& glFbo,
|
||||
|
||||
Reference in New Issue
Block a user