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)
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=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Triangles); //等同上一行为Framework重载默认使用swapchain的render target

View File

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

View File

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

View File

@ -36,9 +36,9 @@ private:
DeviceRenderPassManage *render_pass_manage;
RenderPass *device_render_pass;
SwapchainRenderTarget *swapchainRT;
RTSwapchain *sc_rt;
SwapchainRenderTarget *CreateSwapchainRenderTarget();
RTSwapchain *CreateSwapchainRenderTarget();
void InitRenderPassManage();
void ClearRenderPassManage();
@ -77,9 +77,9 @@ public:
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);}

View File

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

View File

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

View File

@ -20,7 +20,7 @@ GPUDevice::GPUDevice(GPUDeviceAttribute *da)
InitRenderPassManage();
swapchainRT=nullptr;
sc_rt=nullptr;
Resize(attr->surface_caps.currentExtent);
texture_cmd_buf=CreateTextureCommandBuffer();
@ -31,7 +31,7 @@ GPUDevice::~GPUDevice()
{
ClearRenderPassManage();
SAFE_CLEAR(swapchainRT);
SAFE_CLEAR(sc_rt);
SAFE_CLEAR(texture_queue);
SAFE_CLEAR(texture_cmd_buf);
@ -41,13 +41,13 @@ GPUDevice::~GPUDevice()
bool GPUDevice::Resize(const VkExtent2D &extent)
{
SAFE_CLEAR(swapchainRT);
SAFE_CLEAR(sc_rt);
attr->RefreshSurfaceCaps();
swapchainRT=CreateSwapchainRenderTarget();
sc_rt=CreateSwapchainRenderTarget();
return(swapchainRT);
return(sc_rt);
}
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);
}
SwapchainRenderTarget *GPUDevice::CreateSwapchainRenderTarget()
RTSwapchain *GPUDevice::CreateSwapchainRenderTarget()
{
Swapchain *sc=CreateSwapchain(attr->surface_caps.currentExtent);
@ -68,14 +68,14 @@ SwapchainRenderTarget *GPUDevice::CreateSwapchainRenderTarget()
Semaphore *render_complete_semaphore=CreateGPUSemaphore();
Semaphore *present_complete_semaphore=CreateGPUSemaphore();
SwapchainRenderTarget *srt=new SwapchainRenderTarget( attr->device,
sc,
q,
render_complete_semaphore,
present_complete_semaphore,
device_render_pass
);
RTSwapchain *srt=new RTSwapchain( attr->device,
sc,
q,
render_complete_semaphore,
present_complete_semaphore,
device_render_pass
);
return srt;
}
VK_NAMESPACE_END
VK_NAMESPACE_END

View File

@ -3,7 +3,7 @@
#include<hgl/graph/VKSemaphore.h>
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;
@ -24,13 +24,13 @@ SwapchainRenderTarget::SwapchainRenderTarget(VkDevice dev,Swapchain *sc,DeviceQu
present_complete_semaphore=pcs;
}
SwapchainRenderTarget::~SwapchainRenderTarget()
RTSwapchain::~RTSwapchain()
{
delete present_complete_semaphore;
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)
return current_frame;
@ -38,7 +38,7 @@ int SwapchainRenderTarget::AcquireNextImage()
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.pWaitSemaphores =wait_semaphores;
@ -58,19 +58,19 @@ bool SwapchainRenderTarget::PresentBackbuffer(VkSemaphore *wait_semaphores,const
return(true);
}
bool SwapchainRenderTarget::PresentBackbuffer()
bool RTSwapchain::PresentBackbuffer()
{
VkSemaphore sem=*render_complete_semaphore;
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);
}
bool SwapchainRenderTarget::Submit(VkCommandBuffer cb,Semaphore *pce)
bool RTSwapchain::Submit(VkCommandBuffer cb,Semaphore *pce)
{
return queue->Submit(cb,pce,render_complete_semaphore);
}