add CommandBuffer value at RenderTarget class.

This commit is contained in:
hyzboy 2020-10-15 17:30:03 +08:00
parent 490af01162
commit 9cc92b5805
2 changed files with 11 additions and 7 deletions

View File

@ -40,20 +40,23 @@ protected:
VkExtent2D extent; VkExtent2D extent;
CommandBuffer *command_buffer;
protected: protected:
friend class Device; friend class Device;
RenderTarget(Device *dev,Framebuffer *_fb,const uint32_t fence_count=1); RenderTarget(Device *dev,Framebuffer *_fb,CommandBuffer *_cb,const uint32_t fence_count=1);
public: public:
virtual ~RenderTarget()=default; virtual ~RenderTarget()=default;
const VkExtent2D & GetExtent()const{return extent;} const VkExtent2D & GetExtent ()const {return extent;}
virtual const VkRenderPass GetRenderPass()const{return fb->GetRenderPass();} CommandBuffer * GetCommandBuffer() {return command_buffer;}
virtual const uint32_t GetColorCount()const{return fb->GetColorCount();} virtual const VkRenderPass GetRenderPass ()const {return fb->GetRenderPass();}
virtual const VkFramebuffer GetFramebuffer()const{return fb->GetFramebuffer();} virtual const uint32_t GetColorCount ()const {return fb->GetColorCount();}
virtual const VkFramebuffer GetFramebuffer ()const {return fb->GetFramebuffer();}
};//class RenderTarget };//class RenderTarget
/** /**

View File

@ -90,9 +90,10 @@ bool SubmitQueue::Submit(const VkCommandBuffer &cmd_buf,vulkan::Semaphore *wait_
return Submit(&cmd_buf,1,wait_sem,complete_sem); return Submit(&cmd_buf,1,wait_sem,complete_sem);
} }
RenderTarget::RenderTarget(Device *dev,Framebuffer *_fb,const uint32_t fence_count):SubmitQueue(dev,dev->GetGraphicsQueue(),fence_count) RenderTarget::RenderTarget(Device *dev,Framebuffer *_fb,CommandBuffer *_cb,const uint32_t fence_count):SubmitQueue(dev,dev->GetGraphicsQueue(),fence_count)
{ {
fb=_fb; fb=_fb;
command_buffer=_cb;
} }
SwapchainRenderTarget::SwapchainRenderTarget(Device *dev,Swapchain *sc):RenderTarget(dev,nullptr,sc->GetImageCount()) SwapchainRenderTarget::SwapchainRenderTarget(Device *dev,Swapchain *sc):RenderTarget(dev,nullptr,sc->GetImageCount())
@ -117,7 +118,7 @@ SwapchainRenderTarget::SwapchainRenderTarget(Device *dev,Swapchain *sc):RenderTa
for(uint i=0;i<swap_chain_count;i++) for(uint i=0;i<swap_chain_count;i++)
{ {
render_frame.Add(vulkan::CreateFramebuffer(device,main_rp,(*sc_color)->GetImageView(),sc_depth->GetImageView())); render_frame.Add(vulkan::CreateColorFramebuffer(device,main_rp,(*sc_color)->GetImageView(),sc_depth->GetImageView()));
++sc_color; ++sc_color;
} }