@@ -256,9 +256,8 @@ class NBL_API IGPUCommandBuffer :
256
256
m_resetCheckedStamp = m_cmdpool->getResetCounter ();
257
257
m_state = ES_INITIAL;
258
258
259
- m_segmentListHeadItr.cmd = nullptr ;
260
- m_segmentListHeadItr.segment = nullptr ;
261
- m_segmentListTail = nullptr ;
259
+ m_commandList.head = nullptr ;
260
+ m_commandList.tail = nullptr ;
262
261
263
262
checkForParentPoolReset_impl ();
264
263
@@ -267,19 +266,25 @@ class NBL_API IGPUCommandBuffer :
267
266
268
267
inline void releaseResourcesBackToPool ()
269
268
{
270
- m_cmdpool-> deleteCommandSegmentList (m_segmentListHeadItr, m_segmentListTail );
269
+ deleteCommandList ( );
271
270
releaseResourcesBackToPool_impl ();
272
271
}
273
272
273
+ inline void deleteCommandList ()
274
+ {
275
+ m_cmdpool->m_commandListPool .deleteList (m_commandList.head );
276
+ m_commandList.head = nullptr ;
277
+ m_commandList.tail = nullptr ;
278
+ }
279
+
274
280
uint64_t m_resetCheckedStamp = 0 ;
275
281
276
282
// This bound descriptor set record doesn't include the descriptor sets whose layout has _any_ one of its bindings
277
283
// created with IGPUDescriptorSetLayout::SBinding::E_CREATE_FLAGS::ECF_UPDATE_AFTER_BIND_BIT
278
284
// or IGPUDescriptorSetLayout::SBinding::E_CREATE_FLAGS::ECF_UPDATE_UNUSED_WHILE_PENDING_BIT.
279
285
core::unordered_map<const IGPUDescriptorSet*, uint64_t > m_boundDescriptorSetsRecord;
280
286
281
- IGPUCommandPool::CCommandSegment::Iterator m_segmentListHeadItr = {};
282
- IGPUCommandPool::CCommandSegment* m_segmentListTail = nullptr ;
287
+ IGPUCommandPool::CCommandSegmentListPool::SCommandSegmentList m_commandList;
283
288
};
284
289
285
290
}
0 commit comments