@@ -37,21 +37,19 @@ namespace ZEngine::Applications
3737
3838 void AppRenderPipeline::BeginFrame ()
3939 {
40- Device->AcquireNextImage ();
40+ Device->SwapchainPtr -> AcquireNextImage ();
4141
4242 for (uint8_t thread_idx = 0 ; thread_idx < Device->CommandBufferMgr ->TotalThreadCount ; ++thread_idx)
4343 {
44- Device->CommandBufferMgr ->ResetPool (Device->CurrentFrameIndex , thread_idx);
44+ Device->CommandBufferMgr ->ResetPool (Device->SwapchainPtr -> CurrentFrameIndex , thread_idx);
4545 }
4646
4747 // uint8_t render_worker_thread_idx = RenderThreadIndex + 1;
4848 // for (uint8_t worker_thread_idx = 0; worker_thread_idx < RenderWorkerThreadCount; ++worker_thread_idx)
4949 // {
5050 // auto thread_idx = render_worker_thread_idx + worker_thread_idx;
51-
52- // ExecutableCommandBuffers[worker_thread_idx] = Device->CommandBufferMgr->GetCommandBuffer(Device->CurrentFrameIndex, thread_idx, 0, false);
5351 // }
54- CurrentCmdBuf = Device->CommandBufferMgr ->GetCommandBuffer (Device->CurrentFrameIndex , RenderMainThreadIndex, 0 , true );
52+ CurrentCmdBuf = Device->CommandBufferMgr ->GetCommandBuffer (Device->SwapchainPtr -> CurrentFrameIndex , RenderMainThreadIndex, 0 , true );
5553 }
5654
5755 void AppRenderPipeline::EndFrame ()
@@ -62,7 +60,7 @@ namespace ZEngine::Applications
6260
6361 void AppRenderPipeline::RenderScene (Rendering::Cameras::CameraPtr camera, Rendering::Scenes::RenderScenePtr scene)
6462 {
65- if (scene->TransformBufferDirty [Device->CurrentFrameIndex ].load (std::memory_order_acquire) || scene->MeshAllocationDirty [Device->CurrentFrameIndex ].load (std::memory_order_acquire))
63+ if (scene->TransformBufferDirty [Device->SwapchainPtr -> CurrentFrameIndex ].load (std::memory_order_acquire) || scene->MeshAllocationDirty [Device-> SwapchainPtr ->CurrentFrameIndex ].load (std::memory_order_acquire))
6664 {
6765 auto gpu_scene_data = SceneRenderer->RenderSceneData ;
6866
@@ -73,21 +71,21 @@ namespace ZEngine::Applications
7371
7472 auto indirect_buffer_set = Device->IndirectBufferSetManager .Access (gpu_scene_data->IndirectBufferHandle );
7573
76- auto vtx_buffer = vtx_buffer_set->At (Device->CurrentFrameIndex );
77- auto idx_buffer = idx_buffer_set->At (Device->CurrentFrameIndex );
78- auto transform_buffer = transform_buffer_set->At (Device->CurrentFrameIndex );
79- auto rd_buffer = rd_buffer_set->At (Device->CurrentFrameIndex );
80- auto indirect_buffer = indirect_buffer_set->At (Device->CurrentFrameIndex );
74+ auto vtx_buffer = vtx_buffer_set->At (Device->SwapchainPtr -> CurrentFrameIndex );
75+ auto idx_buffer = idx_buffer_set->At (Device->SwapchainPtr -> CurrentFrameIndex );
76+ auto transform_buffer = transform_buffer_set->At (Device->SwapchainPtr -> CurrentFrameIndex );
77+ auto rd_buffer = rd_buffer_set->At (Device->SwapchainPtr -> CurrentFrameIndex );
78+ auto indirect_buffer = indirect_buffer_set->At (Device->SwapchainPtr -> CurrentFrameIndex );
8179
8280 auto & suballocs = scene->NodeSubMeshesAllocations ;
8381
84- if (scene->TransformBufferDirty [Device->CurrentFrameIndex ].exchange (false , std::memory_order_acquire))
82+ if (scene->TransformBufferDirty [Device->SwapchainPtr -> CurrentFrameIndex ].exchange (false , std::memory_order_acquire))
8583 {
8684 auto transform_data_view = ArrayView{scene->GlobalTransforms };
8785 transform_buffer->Write (transform_data_view);
8886 }
8987
90- if (scene->MeshAllocationDirty [Device->CurrentFrameIndex ].exchange (false , std::memory_order_acquire))
88+ if (scene->MeshAllocationDirty [Device->SwapchainPtr -> CurrentFrameIndex ].exchange (false , std::memory_order_acquire))
9189 {
9290 auto scratch = ZGetScratch (&LocalArena);
9391
@@ -150,7 +148,7 @@ namespace ZEngine::Applications
150148 return ;
151149 }
152150
153- auto current_framebuffer = Device->SwapchainFramebuffers [Device->SwapchainImageIndex ];
151+ auto current_framebuffer = Device->SwapchainPtr -> SwapchainFramebuffers [Device-> SwapchainPtr ->SwapchainImageIndex ];
154152
155153 CurrentCmdBuf->BeginRenderPass (ImguiRenderer->UIPass , current_framebuffer, true );
156154 {
@@ -160,13 +158,13 @@ namespace ZEngine::Applications
160158 auto vertex_buffer_set = Device->VertexBufferSetManager .Access (payload.VBHandle );
161159 auto index_buffer_set = Device->IndexBufferSetManager .Access (payload.IdxBHandle );
162160
163- auto vertex_buffer = vertex_buffer_set->At (Device->CurrentFrameIndex );
164- auto index_buffer = index_buffer_set->At (Device->CurrentFrameIndex );
161+ auto vertex_buffer = vertex_buffer_set->At (Device->SwapchainPtr -> CurrentFrameIndex );
162+ auto index_buffer = index_buffer_set->At (Device->SwapchainPtr -> CurrentFrameIndex );
165163
166164 vertex_buffer->Write (vtx_data_view);
167165 index_buffer->Write (idx_data_view);
168166
169- auto ui_second_cb = Device->CommandBufferMgr ->GetCommandBuffer (Device->CurrentFrameIndex , RenderMainThreadIndex, UICommandBufferIndex, false );
167+ auto ui_second_cb = Device->CommandBufferMgr ->GetCommandBuffer (Device->SwapchainPtr -> CurrentFrameIndex , RenderMainThreadIndex, UICommandBufferIndex, false );
170168 ui_second_cb->ResetState ();
171169 ui_second_cb->BeginSecondary (ImguiRenderer->UIPass , current_framebuffer);
172170 ui_second_cb->SetViewport (ImguiRenderer->UIPass ->GetRenderAreaWidth (), ImguiRenderer->UIPass ->GetRenderAreaHeight ());
@@ -191,7 +189,7 @@ namespace ZEngine::Applications
191189 ui_second_cb->SetScissor (scissor_cmd.w , scissor_cmd.h , scissor_cmd.x , scissor_cmd.y );
192190 pc_data.TextureId = payload.TextureIds [i];
193191 ui_second_cb->PushConstants (VK_SHADER_STAGE_VERTEX_BIT, 0 , sizeof (Rendering::Renderers::PushConstantData), &pc_data);
194- ui_second_cb->BindDescriptorSets (Device->CurrentFrameIndex );
192+ ui_second_cb->BindDescriptorSets (Device->SwapchainPtr -> CurrentFrameIndex );
195193 ui_second_cb->DrawIndexed (indexed_cmd.IdxCount , indexed_cmd.InstanceCount , indexed_cmd.FirstIndex , indexed_cmd.VertexOffset , indexed_cmd.FirstInstance );
196194 }
197195
0 commit comments