renamed to RTSwapchain instead of SwapchainRenderTarget
This commit is contained in:
parent
3b106a3b42
commit
ef84e5c699
@ -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
|
||||
|
@ -52,7 +52,7 @@ protected:
|
||||
|
||||
GPUDevice * device =nullptr;
|
||||
RenderPass * device_render_pass =nullptr;
|
||||
SwapchainRenderTarget * sc_render_target =nullptr;
|
||||
RTSwapchain * sc_render_target =nullptr;
|
||||
|
||||
protected:
|
||||
|
||||
|
@ -37,7 +37,7 @@ class ImageView;
|
||||
class Framebuffer;
|
||||
struct Swapchain;
|
||||
class RenderTarget;
|
||||
class SwapchainRenderTarget;
|
||||
class RTSwapchain;
|
||||
|
||||
class Texture;
|
||||
class Texture1D;
|
||||
|
@ -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);}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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()
|
||||
|
@ -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,7 +68,7 @@ SwapchainRenderTarget *GPUDevice::CreateSwapchainRenderTarget()
|
||||
Semaphore *render_complete_semaphore=CreateGPUSemaphore();
|
||||
Semaphore *present_complete_semaphore=CreateGPUSemaphore();
|
||||
|
||||
SwapchainRenderTarget *srt=new SwapchainRenderTarget( attr->device,
|
||||
RTSwapchain *srt=new RTSwapchain( attr->device,
|
||||
sc,
|
||||
q,
|
||||
render_complete_semaphore,
|
||||
|
@ -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,¤t_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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user