| 974 | // --- Begin Internals --- |
| 975 | |
| 976 | void ImplPipeline::zero_ref_callback(ImplHandle const * handle) |
| 977 | { |
| 978 | auto * self = rc_cast<ImplPipeline *>(handle); |
| 979 | std::unique_lock const lock{self->device->zombies_mtx}; |
| 980 | u64 const submit_timeline_value = self->device->global_submit_timeline.load(std::memory_order::relaxed); |
| 981 | self->device->pipeline_zombies.emplace_front( |
| 982 | submit_timeline_value, |
| 983 | PipelineZombie{ |
| 984 | .vk_pipeline = self->vk_pipeline, |
| 985 | }); |
| 986 | self->device->dec_weak_refcnt( |
| 987 | daxa_ImplDevice::zero_ref_callback, |
| 988 | self->device->instance); |
| 989 | delete self; |
| 990 | } |
| 991 | |
| 992 | // --- End Internals --- |
nothing calls this directly
no outgoing calls
no test coverage detected