#include "sync/sync_submit.h"
#include "sync/sync_validation.h"
#include "sync/sync_image.h"
AcquiredImage::AcquiredImage(const PresentedImage& presented, ResourceUsageTag acq_tag)
: … { … }
bool AcquiredImage::Invalid() const { … }
SignalInfo::SignalInfo(const QueueBatchContext::Ptr& batch, const SyncExecScope& exec_scope)
: … { … }
SignalInfo::SignalInfo(const PresentedImage& presented, ResourceUsageTag acquire_tag)
: … { … }
void SignaledSemaphoresUpdate::OnSignal(const QueueBatchContext::Ptr& batch, const VkSemaphoreSubmitInfo& signal_info) { … }
std::optional<SignalInfo> SignaledSemaphoresUpdate::OnUnsignal(VkSemaphore semaphore) { … }
FenceSyncState::FenceSyncState() : … { … }
FenceSyncState::FenceSyncState(const std::shared_ptr<const vvl::Fence>& fence_, QueueId queue_id_, ResourceUsageTag tag_)
: … { … }
FenceSyncState::FenceSyncState(const std::shared_ptr<const vvl::Fence>& fence_, const PresentedImage& image, ResourceUsageTag tag_)
: … { … }
syncval_state::Swapchain::Swapchain(ValidationStateTracker& dev_data, const VkSwapchainCreateInfoKHR* pCreateInfo,
VkSwapchainKHR handle)
: … { … }
void syncval_state::Swapchain::RecordPresentedImage(PresentedImage&& presented_image) { … }
PresentedImage syncval_state::Swapchain::MovePresentedImage(uint32_t image_index) { … }
void syncval_state::Swapchain::GetPresentBatches(std::vector<QueueBatchContext::Ptr>& batches) const { … }
class ApplySemaphoreBarrierAction { … };
class ApplyAcquireNextSemaphoreAction { … };
QueueBatchContext::QueueBatchContext(const SyncValidator& sync_state, const QueueSyncState& queue_state)
: … { … }
QueueBatchContext::QueueBatchContext(const SyncValidator& sync_state)
: … { … }
void QueueBatchContext::Trim() { … }
void QueueBatchContext::ResolveSubmittedCommandBuffer(const AccessContext& recorded_context, ResourceUsageTag offset) { … }
VulkanTypedHandle QueueBatchContext::Handle() const { … }
template <typename Predicate>
void QueueBatchContext::ApplyPredicatedWait(Predicate& predicate) { … }
void QueueBatchContext::ApplyTaggedWait(QueueId queue_id, ResourceUsageTag tag) { … }
void QueueBatchContext::ApplyAcquireWait(const AcquiredImage& acquired) { … }
void QueueBatchContext::BeginRenderPassReplaySetup(ReplayState& replay, const SyncOpBeginRenderPass& begin_op) { … }
void QueueBatchContext::NextSubpassReplaySetup(ReplayState& replay) { … }
void QueueBatchContext::EndRenderPassReplayCleanup(ReplayState& replay) { … }
void QueueBatchContext::ResolvePresentSemaphoreWait(const SignalInfo& signal_info, const PresentedImages& presented_images) { … }
void QueueBatchContext::ResolveSubmitSemaphoreWait(const SignalInfo& signal_info, VkPipelineStageFlags2 wait_mask) { … }
void QueueBatchContext::ImportTags(const QueueBatchContext& from) { … }
std::vector<QueueBatchContext::ConstPtr> QueueBatchContext::ResolvePresentDependencies(
vvl::span<const VkSemaphore> wait_semaphores, const ConstPtr& last_batch, const PresentedImages& presented_images,
SignaledSemaphoresUpdate& signaled_semaphores_update) { … }
bool QueueBatchContext::DoQueuePresentValidate(const Location& loc, const PresentedImages& presented_images) { … }
void QueueBatchContext::DoPresentOperations(const PresentedImages& presented_images) { … }
void QueueBatchContext::LogPresentOperations(const PresentedImages& presented_images, uint64_t submit_index) { … }
void QueueBatchContext::DoAcquireOperation(const PresentedImage& presented) { … }
void QueueBatchContext::LogAcquireOperation(const PresentedImage& presented, vvl::Func command) { … }
void QueueBatchContext::SetupAccessContext(const PresentedImage& presented) { … }
std::vector<QueueBatchContext::ConstPtr> QueueBatchContext::RegisterAsyncContexts(const std::vector<ConstPtr>& batches_resolved) { … }
std::vector<QueueBatchContext::CommandBufferInfo> QueueBatchContext::GetCommandBuffers(const VkSubmitInfo2& submit_info) { … }
std::string QueueBatchContext::FormatUsage(ResourceUsageTagEx tag_ex) const { … }
VkQueueFlags QueueBatchContext::GetQueueFlags() const { … }
QueueId QueueBatchContext::GetQueueId() const { … }
ResourceUsageTag QueueBatchContext::SetupBatchTags(uint32_t tag_count) { … }
std::vector<QueueBatchContext::ConstPtr> QueueBatchContext::ResolveSubmitDependencies(
vvl::span<const VkSemaphoreSubmitInfo> wait_infos, const QueueBatchContext::ConstPtr& last_batch,
SignaledSemaphoresUpdate& signaled_semaphores_update) { … }
bool QueueBatchContext::ValidateSubmit(const VkSubmitInfo2& submit, uint64_t submit_index, uint32_t batch_index,
std::vector<std::string>& current_label_stack, const ErrorObject& error_obj) { … }
QueueBatchContext::PresentResourceRecord::Base_::Record QueueBatchContext::PresentResourceRecord::MakeRecord() const { … }
std::ostream& QueueBatchContext::PresentResourceRecord::Format(std::ostream& out, const SyncValidator& sync_state) const { … }
QueueBatchContext::AcquireResourceRecord::Base_::Record QueueBatchContext::AcquireResourceRecord::MakeRecord() const { … }
std::ostream& QueueBatchContext::AcquireResourceRecord::Format(std::ostream& out, const SyncValidator& sync_state) const { … }
void QueueSyncState::UpdateLastBatch() { … }
std::vector<QueueBatchContext::ConstPtr> SyncValidator::GetLastBatches(
std::function<bool(const QueueBatchContext::ConstPtr&)> filter) const { … }
std::vector<QueueBatchContext::Ptr> SyncValidator::GetLastBatches(std::function<bool(const QueueBatchContext::ConstPtr&)> filter) { … }
uint64_t QueueSyncState::ReserveSubmitId() const { … }
void QueueSyncState::SetPendingLastBatch(QueueBatchContext::Ptr&& last) const { … }
void BatchAccessLog::Import(const BatchRecord& batch, const CommandBufferAccessContext& cb_access,
const std::vector<std::string>& initial_label_stack) { … }
void BatchAccessLog::Import(const BatchAccessLog& other) { … }
void BatchAccessLog::Insert(const BatchRecord& batch, const ResourceUsageRange& range,
std::shared_ptr<const CommandExecutionContext::AccessLog> log) { … }
void BatchAccessLog::Trim(const ResourceUsageTagSet& used_tags) { … }
BatchAccessLog::AccessRecord BatchAccessLog::GetAccessRecord(ResourceUsageTag tag) const { … }
std::string BatchAccessLog::CBSubmitLog::GetDebugRegionName(const ResourceUsageRecord& record) const { … }
BatchAccessLog::AccessRecord BatchAccessLog::CBSubmitLog::GetAccessRecord(ResourceUsageTag tag) const { … }
BatchAccessLog::CBSubmitLog::CBSubmitLog(const BatchRecord& batch,
std::shared_ptr<const CommandExecutionContext::CommandBufferSet> cbs,
std::shared_ptr<const CommandExecutionContext::AccessLog> log)
: … { … }
BatchAccessLog::CBSubmitLog::CBSubmitLog(const BatchRecord& batch, const CommandBufferAccessContext& cb,
const std::vector<std::string>& initial_label_stack)
: … { … }
PresentedImage::PresentedImage(const SyncValidator& sync_state, QueueBatchContext::Ptr batch_, VkSwapchainKHR swapchain,
uint32_t image_index_, uint32_t present_index_, ResourceUsageTag tag_)
: … { … }
PresentedImage::PresentedImage(std::shared_ptr<const syncval_state::Swapchain> swapchain, uint32_t at_index) : … { … }
bool PresentedImage::Invalid() const { … }
void PresentedImage::ExportToSwapchain(SyncValidator&) { … }
void PresentedImage::SetImage(uint32_t at_index) { … }
void PresentedImage::UpdateMemoryAccess(SyncStageAccessIndex usage, ResourceUsageTag tag, AccessContext& access_context) const { … }