MCPcopy Create free account
hub / github.com/Ipotrick/Daxa / zero_ref_callback

Method zero_ref_callback

src/impl_sync.cpp:214–228  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

212// --- Begin Internals ---
213
214void daxa_ImplBinarySemaphore::zero_ref_callback(ImplHandle const * handle)
215{
216 auto * self = rc_cast<daxa_BinarySemaphore>(handle);
217 std::unique_lock const lock{self->device->zombies_mtx};
218 u64 const main_queue_cpu_timeline = self->device->global_submit_timeline.load(std::memory_order::relaxed);
219 self->device->semaphore_zombies.emplace_back(
220 main_queue_cpu_timeline,
221 SemaphoreZombie{
222 .vk_semaphore = self->vk_semaphore,
223 });
224 self->device->dec_weak_refcnt(
225 daxa_ImplDevice::zero_ref_callback,
226 self->device->instance);
227 delete self;
228}
229
230void daxa_ImplTimelineSemaphore::zero_ref_callback(ImplHandle const * handle)
231{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected