为安全,参照范例,改为每次BUILD所有CMD BUF
This commit is contained in:
parent
19e268050f
commit
c5fc313091
@ -155,25 +155,21 @@ private:
|
|||||||
cmd_buf=hgl_zero_new<vulkan::CommandBuffer *>(swap_chain_count);
|
cmd_buf=hgl_zero_new<vulkan::CommandBuffer *>(swap_chain_count);
|
||||||
|
|
||||||
for(uint i=0;i<swap_chain_count;i++)
|
for(uint i=0;i<swap_chain_count;i++)
|
||||||
{
|
|
||||||
cmd_buf[i]=device->CreateCommandBuffer();
|
cmd_buf[i]=device->CreateCommandBuffer();
|
||||||
|
|
||||||
BuildCommandBuffer(cmd_buf[i],device->GetFramebuffer(i));
|
return BuildCommandBuffer();
|
||||||
}
|
}
|
||||||
|
|
||||||
return(true);
|
bool BuildCommandBuffer()
|
||||||
}
|
|
||||||
|
|
||||||
bool BuildCommandBuffer(vulkan::CommandBuffer *cb,vulkan::Framebuffer *fb)
|
|
||||||
{
|
{
|
||||||
if (!cb)
|
for(uint i=0;i<swap_chain_count;i++)
|
||||||
return(false);
|
{
|
||||||
|
cmd_buf[i]->Begin();
|
||||||
cb->Begin();
|
cmd_buf[i]->BeginRenderPass(device->GetRenderPass(),device->GetFramebuffer(i));
|
||||||
cb->BeginRenderPass(device->GetRenderPass(),fb);
|
render_list.Render(cmd_buf[i]);
|
||||||
render_list.Render(cb);
|
cmd_buf[i]->EndRenderPass();
|
||||||
cb->EndRenderPass();
|
cmd_buf[i]->End();
|
||||||
cb->End();
|
}
|
||||||
|
|
||||||
return(true);
|
return(true);
|
||||||
}
|
}
|
||||||
@ -213,10 +209,7 @@ public:
|
|||||||
|
|
||||||
void Draw() override
|
void Draw() override
|
||||||
{
|
{
|
||||||
const uint32_t frame_index=device->GetCurrentFrameIndices();
|
vulkan::CommandBuffer *cb=cmd_buf[device->GetCurrentFrameIndices()];
|
||||||
|
|
||||||
vulkan::Framebuffer * fb=device->GetFramebuffer(frame_index);
|
|
||||||
vulkan::CommandBuffer * cb=cmd_buf[frame_index];
|
|
||||||
|
|
||||||
Submit(*cb);
|
Submit(*cb);
|
||||||
|
|
||||||
@ -225,7 +218,7 @@ public:
|
|||||||
render_root.RefreshMatrix(&rot);
|
render_root.RefreshMatrix(&rot);
|
||||||
render_root.ExpendToList(&render_list);
|
render_root.ExpendToList(&render_list);
|
||||||
|
|
||||||
BuildCommandBuffer(cb,fb);
|
BuildCommandBuffer();
|
||||||
}
|
}
|
||||||
};//class TestApp:public VulkanApplicationFramework
|
};//class TestApp:public VulkanApplicationFramework
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user