removed GPUDevice::device_render_pass

This commit is contained in:
hyzboy 2025-01-25 00:15:00 +08:00
parent 6080422f3a
commit ea6c009c70
7 changed files with 18 additions and 14 deletions

2
CMCore

@ -1 +1 @@
Subproject commit 5aad7d81419d02141b3b3f53661e2c8e3e763163 Subproject commit 11e32b77f1136bcb552abb406cf73db799720e11

View File

@ -38,7 +38,6 @@ class GPUDevice
private: private:
DeviceRenderPassManage *render_pass_manage; DeviceRenderPassManage *render_pass_manage;
RenderPass *device_render_pass;
RTSwapchain *sc_rt; RTSwapchain *sc_rt;
@ -79,7 +78,7 @@ public:
const VkColorSpaceKHR GetColorSpace ()const {return attr->surface_format.colorSpace;} const VkColorSpaceKHR GetColorSpace ()const {return attr->surface_format.colorSpace;}
VkQueue GetGraphicsQueue () {return attr->graphics_queue;} VkQueue GetGraphicsQueue () {return attr->graphics_queue;}
RenderPass * GetRenderPass () {return device_render_pass;} RenderPass * GetRenderPass () {return sc_rt->GetRenderPass();}
RTSwapchain * GetSwapchainRT () {return sc_rt;} RTSwapchain * GetSwapchainRT () {return sc_rt;}

View File

@ -36,6 +36,8 @@ public:
VkSurfaceFormatKHR surface_format; VkSurfaceFormatKHR surface_format;
VkFormat depth_format; VkFormat depth_format;
RenderPass * render_pass =nullptr;
uint32_t image_count =0; uint32_t image_count =0;
SwapchainImage * sc_image =nullptr; SwapchainImage * sc_image =nullptr;

View File

@ -7,15 +7,6 @@ VK_NAMESPACE_BEGIN
void GPUDevice::InitRenderPassManage() void GPUDevice::InitRenderPassManage()
{ {
render_pass_manage=new DeviceRenderPassManage(attr->device,attr->pipeline_cache); render_pass_manage=new DeviceRenderPassManage(attr->device,attr->pipeline_cache);
SwapchainRenderbufferInfo rbi(attr->surface_format.format,attr->physical_device->GetDepthFormat());
device_render_pass=render_pass_manage->AcquireRenderPass(&rbi);
#ifdef _DEBUG
if(attr->debug_utils)
attr->debug_utils->SetRenderPass(device_render_pass->GetVkRenderPass(),"MainDeviceRenderPass");
#endif//_DEBUG
} }
void GPUDevice::ClearRenderPassManage() void GPUDevice::ClearRenderPassManage()

View File

@ -1,4 +1,5 @@
#include<hgl/graph/VKDevice.h> #include<hgl/graph/VKDevice.h>
#include<hgl/graph/VKDeviceRenderPassManage.h>
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
RenderTarget *GPUDevice::CreateRT(const FramebufferInfo *fbi,RenderPass *rp,const uint32_t fence_count) RenderTarget *GPUDevice::CreateRT(const FramebufferInfo *fbi,RenderPass *rp,const uint32_t fence_count)
@ -73,7 +74,7 @@ RTSwapchain *GPUDevice::CreateSwapchainRenderTarget()
q, q,
render_complete_semaphore, render_complete_semaphore,
present_complete_semaphore, present_complete_semaphore,
device_render_pass sc->render_pass
); );
return srt; return srt;

View File

@ -1,6 +1,7 @@
#include<hgl/graph/VKDevice.h> #include<hgl/graph/VKDevice.h>
#include<hgl/graph/VKDeviceAttribute.h> #include<hgl/graph/VKDeviceAttribute.h>
#include<hgl/graph/VKPhysicalDevice.h> #include<hgl/graph/VKPhysicalDevice.h>
#include<hgl/graph/VKDeviceRenderPassManage.h>
#include<iostream> #include<iostream>
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
@ -106,7 +107,7 @@ bool GPUDevice::CreateSwapchainFBO(Swapchain *swapchain)
if(!swapchain->sc_image[i].depth) if(!swapchain->sc_image[i].depth)
return(false); return(false);
swapchain->sc_image[i].fbo=CreateFBO( device_render_pass, swapchain->sc_image[i].fbo=CreateFBO( swapchain->render_pass,
swapchain->sc_image[i].color->GetImageView(), swapchain->sc_image[i].color->GetImageView(),
swapchain->sc_image[i].depth->GetImageView()); swapchain->sc_image[i].depth->GetImageView());
@ -135,6 +136,15 @@ Swapchain *GPUDevice::CreateSwapchain(const VkExtent2D &acquire_extent)
swapchain->transform =attr->surface_caps.currentTransform; swapchain->transform =attr->surface_caps.currentTransform;
swapchain->surface_format =attr->surface_format; swapchain->surface_format =attr->surface_format;
swapchain->depth_format =attr->physical_device->GetDepthFormat(); swapchain->depth_format =attr->physical_device->GetDepthFormat();
SwapchainRenderbufferInfo rbi(swapchain->surface_format.format,swapchain->depth_format);
swapchain->render_pass =render_pass_manage->AcquireRenderPass(&rbi);
#ifdef _DEBUG
if(attr->debug_utils)
attr->debug_utils->SetRenderPass(swapchain->render_pass->GetVkRenderPass(),"MainDeviceRenderPass");
#endif//_DEBUG
swapchain->swap_chain =CreateSwapChain(attr,acquire_extent); swapchain->swap_chain =CreateSwapChain(attr,acquire_extent);

View File

@ -1,5 +1,6 @@
#include<hgl/graph/VKSwapchain.h> #include<hgl/graph/VKSwapchain.h>
#include<hgl/graph/VKFramebuffer.h> #include<hgl/graph/VKFramebuffer.h>
#include<hgl/graph/VKRenderPass.h>
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
Swapchain::~Swapchain() Swapchain::~Swapchain()