| 81 | } |
| 82 | |
| 83 | bool SignalsUpdate::RegisterSignals(const BatchContextPtr& batch, const vvl::span<const VkSemaphoreSubmitInfo>& submit_signals) { |
| 84 | bool registered_timeline_signal = false; |
| 85 | for (const auto& submit_signal : submit_signals) { |
| 86 | if (auto semaphore_state = sync_validator_.Get<vvl::Semaphore>(submit_signal.semaphore)) { |
| 87 | if (semaphore_state->type == VK_SEMAPHORE_TYPE_BINARY) { |
| 88 | OnBinarySignal(*semaphore_state, batch, submit_signal); |
| 89 | } else { |
| 90 | registered_timeline_signal |= OnTimelineSignal(*semaphore_state, batch, submit_signal); |
| 91 | } |
| 92 | } |
| 93 | } |
| 94 | return registered_timeline_signal; |
| 95 | } |
| 96 | |
| 97 | std::optional<SignalInfo> SignalsUpdate::OnBinaryWait(VkSemaphore semaphore) { |
| 98 | // Signal can't be registered in both lists at the same time. |
no outgoing calls
no test coverage detected