renamed to RTSwapchain instead of SwapchainRenderTarget

This commit is contained in:
HuYingzhuo(hugo/hyzboy) 2023-08-17 11:08:21 +08:00
parent 3b106a3b42
commit ef84e5c699
9 changed files with 33 additions and 33 deletions

View File

@ -62,7 +62,7 @@ private:
if(!material_instance) if(!material_instance)
return(false); return(false);
db->global_descriptor.Bind(material_instance); db->global_descriptor.Bind(material_instance->GetMaterial());
// pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d")); // pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Triangles); //等同上一行为Framework重载默认使用swapchain的render target pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Triangles); //等同上一行为Framework重载默认使用swapchain的render target

View File

@ -52,7 +52,7 @@ protected:
GPUDevice * device =nullptr; GPUDevice * device =nullptr;
RenderPass * device_render_pass =nullptr; RenderPass * device_render_pass =nullptr;
SwapchainRenderTarget * sc_render_target =nullptr; RTSwapchain * sc_render_target =nullptr;
protected: protected:

View File

@ -37,7 +37,7 @@ class ImageView;
class Framebuffer; class Framebuffer;
struct Swapchain; struct Swapchain;
class RenderTarget; class RenderTarget;
class SwapchainRenderTarget; class RTSwapchain;
class Texture; class Texture;
class Texture1D; class Texture1D;

View File

@ -36,9 +36,9 @@ private:
DeviceRenderPassManage *render_pass_manage; DeviceRenderPassManage *render_pass_manage;
RenderPass *device_render_pass; RenderPass *device_render_pass;
SwapchainRenderTarget *swapchainRT; RTSwapchain *sc_rt;
SwapchainRenderTarget *CreateSwapchainRenderTarget(); RTSwapchain *CreateSwapchainRenderTarget();
void InitRenderPassManage(); void InitRenderPassManage();
void ClearRenderPassManage(); void ClearRenderPassManage();
@ -77,9 +77,9 @@ public:
RenderPass * GetRenderPass () {return device_render_pass;} RenderPass * GetRenderPass () {return device_render_pass;}
SwapchainRenderTarget * GetSwapchainRT () {return swapchainRT;} RTSwapchain * GetSwapchainRT () {return sc_rt;}
const VkExtent2D & GetSwapchainSize ()const {return swapchainRT->GetExtent();} const VkExtent2D & GetSwapchainSize ()const {return sc_rt->GetExtent();}
void WaitIdle ()const {vkDeviceWaitIdle(attr->device);} void WaitIdle ()const {vkDeviceWaitIdle(attr->device);}

View File

@ -55,7 +55,7 @@ class RenderResource
public: public:
//注:并非一定要走这里,这里只是提供一个注册和自动绑定的机制 //注:并非一定要走这里,这里只是提供一个注册和自动绑定的机制
DescriptorBinding global_descriptor; ///<全局属性描述符绑定管理 DescriptorBinding global_descriptor; ///<全局属性描述符绑定管理
public: public:

View File

@ -63,7 +63,7 @@ public: // command buffer
/** /**
* *
*/ */
class SwapchainRenderTarget:public RenderTarget class RTSwapchain:public RenderTarget
{ {
VkDevice device; VkDevice device;
Swapchain *swapchain; Swapchain *swapchain;
@ -75,8 +75,8 @@ class SwapchainRenderTarget:public RenderTarget
public: public:
SwapchainRenderTarget(VkDevice dev,Swapchain *sc,DeviceQueue *q,Semaphore *rcs,Semaphore *pcs,RenderPass *rp); RTSwapchain(VkDevice dev,Swapchain *sc,DeviceQueue *q,Semaphore *rcs,Semaphore *pcs,RenderPass *rp);
~SwapchainRenderTarget(); ~RTSwapchain();
Framebuffer * GetFramebuffer ()override {return swapchain->sc_fbo[current_frame];} Framebuffer * GetFramebuffer ()override {return swapchain->sc_fbo[current_frame];}
Framebuffer * GetFramebuffer (const uint32_t index) {return swapchain->sc_fbo[index];} Framebuffer * GetFramebuffer (const uint32_t index) {return swapchain->sc_fbo[index];}
@ -110,6 +110,6 @@ public:
bool Submit(VkCommandBuffer); bool Submit(VkCommandBuffer);
bool Submit(VkCommandBuffer,Semaphore *); bool Submit(VkCommandBuffer,Semaphore *);
};//class SwapchainRenderTarget:public RenderTarget };//class RTSwapchain:public RenderTarget
VK_NAMESPACE_END VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_RENDER_TARGET_INCLUDE #endif//HGL_GRAPH_VULKAN_RENDER_TARGET_INCLUDE

View File

@ -20,7 +20,7 @@ GPUDevice::GPUDevice(GPUDeviceAttribute *da)
InitRenderPassManage(); InitRenderPassManage();
swapchainRT=nullptr; sc_rt=nullptr;
Resize(attr->surface_caps.currentExtent); Resize(attr->surface_caps.currentExtent);
texture_cmd_buf=CreateTextureCommandBuffer(); texture_cmd_buf=CreateTextureCommandBuffer();
@ -31,7 +31,7 @@ GPUDevice::~GPUDevice()
{ {
ClearRenderPassManage(); ClearRenderPassManage();
SAFE_CLEAR(swapchainRT); SAFE_CLEAR(sc_rt);
SAFE_CLEAR(texture_queue); SAFE_CLEAR(texture_queue);
SAFE_CLEAR(texture_cmd_buf); SAFE_CLEAR(texture_cmd_buf);
@ -41,13 +41,13 @@ GPUDevice::~GPUDevice()
bool GPUDevice::Resize(const VkExtent2D &extent) bool GPUDevice::Resize(const VkExtent2D &extent)
{ {
SAFE_CLEAR(swapchainRT); SAFE_CLEAR(sc_rt);
attr->RefreshSurfaceCaps(); attr->RefreshSurfaceCaps();
swapchainRT=CreateSwapchainRenderTarget(); sc_rt=CreateSwapchainRenderTarget();
return(swapchainRT); return(sc_rt);
} }
VkCommandBuffer GPUDevice::CreateCommandBuffer() VkCommandBuffer GPUDevice::CreateCommandBuffer()

View File

@ -57,7 +57,7 @@ RenderTarget *GPUDevice::CreateRT(const FramebufferInfo *fbi,const uint32_t fenc
return CreateRT(fbi,rp,fence_count); return CreateRT(fbi,rp,fence_count);
} }
SwapchainRenderTarget *GPUDevice::CreateSwapchainRenderTarget() RTSwapchain *GPUDevice::CreateSwapchainRenderTarget()
{ {
Swapchain *sc=CreateSwapchain(attr->surface_caps.currentExtent); Swapchain *sc=CreateSwapchain(attr->surface_caps.currentExtent);
@ -68,14 +68,14 @@ SwapchainRenderTarget *GPUDevice::CreateSwapchainRenderTarget()
Semaphore *render_complete_semaphore=CreateGPUSemaphore(); Semaphore *render_complete_semaphore=CreateGPUSemaphore();
Semaphore *present_complete_semaphore=CreateGPUSemaphore(); Semaphore *present_complete_semaphore=CreateGPUSemaphore();
SwapchainRenderTarget *srt=new SwapchainRenderTarget( attr->device, RTSwapchain *srt=new RTSwapchain( attr->device,
sc, sc,
q, q,
render_complete_semaphore, render_complete_semaphore,
present_complete_semaphore, present_complete_semaphore,
device_render_pass device_render_pass
); );
return srt; return srt;
} }
VK_NAMESPACE_END VK_NAMESPACE_END

View File

@ -3,7 +3,7 @@
#include<hgl/graph/VKSemaphore.h> #include<hgl/graph/VKSemaphore.h>
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
SwapchainRenderTarget::SwapchainRenderTarget(VkDevice dev,Swapchain *sc,DeviceQueue *q,Semaphore *rcs,Semaphore *pcs,RenderPass *rp):RenderTarget(q,rcs) RTSwapchain::RTSwapchain(VkDevice dev,Swapchain *sc,DeviceQueue *q,Semaphore *rcs,Semaphore *pcs,RenderPass *rp):RenderTarget(q,rcs)
{ {
device=dev; device=dev;
@ -24,13 +24,13 @@ SwapchainRenderTarget::SwapchainRenderTarget(VkDevice dev,Swapchain *sc,DeviceQu
present_complete_semaphore=pcs; present_complete_semaphore=pcs;
} }
SwapchainRenderTarget::~SwapchainRenderTarget() RTSwapchain::~RTSwapchain()
{ {
delete present_complete_semaphore; delete present_complete_semaphore;
delete swapchain; delete swapchain;
} }
int SwapchainRenderTarget::AcquireNextImage() int RTSwapchain::AcquireNextImage()
{ {
if(vkAcquireNextImageKHR(device,swapchain->swap_chain,UINT64_MAX,*(this->present_complete_semaphore),VK_NULL_HANDLE,&current_frame)==VK_SUCCESS) if(vkAcquireNextImageKHR(device,swapchain->swap_chain,UINT64_MAX,*(this->present_complete_semaphore),VK_NULL_HANDLE,&current_frame)==VK_SUCCESS)
return current_frame; return current_frame;
@ -38,7 +38,7 @@ int SwapchainRenderTarget::AcquireNextImage()
return -1; return -1;
} }
bool SwapchainRenderTarget::PresentBackbuffer(VkSemaphore *wait_semaphores,const uint32_t count) bool RTSwapchain::PresentBackbuffer(VkSemaphore *wait_semaphores,const uint32_t count)
{ {
present_info.waitSemaphoreCount =count; present_info.waitSemaphoreCount =count;
present_info.pWaitSemaphores =wait_semaphores; present_info.pWaitSemaphores =wait_semaphores;
@ -58,19 +58,19 @@ bool SwapchainRenderTarget::PresentBackbuffer(VkSemaphore *wait_semaphores,const
return(true); return(true);
} }
bool SwapchainRenderTarget::PresentBackbuffer() bool RTSwapchain::PresentBackbuffer()
{ {
VkSemaphore sem=*render_complete_semaphore; VkSemaphore sem=*render_complete_semaphore;
return this->PresentBackbuffer(&sem,1); return this->PresentBackbuffer(&sem,1);
} }
bool SwapchainRenderTarget::Submit(VkCommandBuffer cb) bool RTSwapchain::Submit(VkCommandBuffer cb)
{ {
return queue->Submit(cb,present_complete_semaphore,render_complete_semaphore); return queue->Submit(cb,present_complete_semaphore,render_complete_semaphore);
} }
bool SwapchainRenderTarget::Submit(VkCommandBuffer cb,Semaphore *pce) bool RTSwapchain::Submit(VkCommandBuffer cb,Semaphore *pce)
{ {
return queue->Submit(cb,pce,render_complete_semaphore); return queue->Submit(cb,pce,render_complete_semaphore);
} }