#include "sync/sync_commandbuffer.h"
#include "sync/sync_op.h"
#include "sync/sync_validation.h"
#include "sync/sync_image.h"
#include "state_tracker/descriptor_sets.h"
#include "state_tracker/image_state.h"
#include "state_tracker/buffer_state.h"
#include "state_tracker/render_pass_state.h"
#include "state_tracker/shader_module.h"
SyncStageAccessIndex GetSyncStageAccessIndexsByDescriptorSet(VkDescriptorType descriptor_type,
const spirv::ResourceInterfaceVariable &variable,
VkShaderStageFlagBits stage_flag) { … }
bool CommandExecutionContext::ValidForSyncOps() const { … }
CommandBufferAccessContext::CommandBufferAccessContext(const SyncValidator &sync_validator)
: … { … }
CommandBufferAccessContext::CommandBufferAccessContext(SyncValidator &sync_validator, vvl::CommandBuffer *cb_state)
: … { … }
CommandBufferAccessContext::CommandBufferAccessContext(const CommandBufferAccessContext &from, AsProxyContext dummy)
: … { … }
CommandBufferAccessContext::~CommandBufferAccessContext() { … }
void CommandBufferAccessContext::Reset() { … }
std::string CommandBufferAccessContext::FormatUsage(ResourceUsageTagEx tag_ex) const { … }
std::string CommandBufferAccessContext::FormatUsage(const char *usage_string, const ResourceFirstAccess &access) const { … }
bool CommandBufferAccessContext::ValidateBeginRendering(const ErrorObject &error_obj,
syncval_state::BeginRenderingCmdState &cmd_state) const { … }
void CommandBufferAccessContext::RecordBeginRendering(syncval_state::BeginRenderingCmdState &cmd_state,
const RecordObject &record_obj) { … }
bool CommandBufferAccessContext::ValidateEndRendering(const ErrorObject &error_obj) const { … }
void CommandBufferAccessContext::RecordEndRendering(const RecordObject &record_obj) { … }
bool CommandBufferAccessContext::ValidateDispatchDrawDescriptorSet(VkPipelineBindPoint pipelineBindPoint,
const Location &loc) const { … }
void CommandBufferAccessContext::RecordDispatchDrawDescriptorSet(VkPipelineBindPoint pipelineBindPoint,
const ResourceUsageTag tag) { … }
bool CommandBufferAccessContext::ValidateDrawVertex(const std::optional<uint32_t> &vertexCount, uint32_t firstVertex,
const Location &loc) const { … }
void CommandBufferAccessContext::RecordDrawVertex(const std::optional<uint32_t> &vertexCount, uint32_t firstVertex,
const ResourceUsageTag tag) { … }
bool CommandBufferAccessContext::ValidateDrawVertexIndex(const std::optional<uint32_t> &index_count, uint32_t firstIndex,
const Location &loc) const { … }
void CommandBufferAccessContext::RecordDrawVertexIndex(const std::optional<uint32_t> &indexCount, uint32_t firstIndex,
const ResourceUsageTag tag) { … }
bool CommandBufferAccessContext::ValidateDrawAttachment(const Location &loc) const { … }
bool CommandBufferAccessContext::ValidateDrawDynamicRenderingAttachment(const Location &location) const { … }
void CommandBufferAccessContext::RecordDrawAttachment(const ResourceUsageTag tag) { … }
void CommandBufferAccessContext::RecordDrawDynamicRenderingAttachment(ResourceUsageTag tag) { … }
ClearAttachmentInfo CommandBufferAccessContext::GetClearAttachmentInfo(const VkClearAttachment &clear_attachment,
const VkClearRect &rect) const { … }
bool CommandBufferAccessContext::ValidateClearAttachment(const Location &loc, const VkClearAttachment &clear_attachment,
const VkClearRect &rect) const { … }
void CommandBufferAccessContext::RecordClearAttachment(ResourceUsageTag tag, const VkClearAttachment &clear_attachment,
const VkClearRect &rect) { … }
QueueId CommandBufferAccessContext::GetQueueId() const { … }
ResourceUsageTag CommandBufferAccessContext::RecordBeginRenderPass(
vvl::Func command, const vvl::RenderPass &rp_state, const VkRect2D &render_area,
const std::vector<const syncval_state::ImageViewState *> &attachment_views) { … }
ResourceUsageTag CommandBufferAccessContext::RecordNextSubpass(vvl::Func command) { … }
ResourceUsageTag CommandBufferAccessContext::RecordEndRenderPass(vvl::Func command) { … }
void CommandBufferAccessContext::RecordDestroyEvent(vvl::Event *event_state) { … }
void CommandBufferAccessContext::RecordExecutedCommandBuffer(const CommandBufferAccessContext &recorded_cb_context) { … }
void CommandBufferAccessContext::ResolveExecutedCommandBuffer(const AccessContext &recorded_context, ResourceUsageTag offset) { … }
void CommandBufferAccessContext::ImportRecordedAccessLog(const CommandBufferAccessContext &recorded_context) { … }
ResourceUsageTag CommandBufferAccessContext::NextCommandTag(vvl::Func command, ResourceUsageRecord::SubcommandType subcommand) { … }
ResourceUsageTag CommandBufferAccessContext::NextSubcommandTag(vvl::Func command, ResourceUsageRecord::SubcommandType subcommand) { … }
uint32_t CommandBufferAccessContext::AddHandle(const VulkanTypedHandle &typed_handle, uint32_t index) { … }
ResourceUsageTagEx CommandBufferAccessContext::AddCommandHandle(ResourceUsageTag tag, const VulkanTypedHandle &typed_handle,
uint32_t index) { … }
void CommandBufferAccessContext::AddSubcommandHandle(ResourceUsageTag tag, const VulkanTypedHandle &typed_handle, uint32_t index) { … }
std::string CommandBufferAccessContext::GetDebugRegionName(const ResourceUsageRecord &record) const { … }
void CommandBufferAccessContext::RecordSyncOp(SyncOpPointer &&sync_op) { … }
bool CommandBufferAccessContext::ValidateClearAttachment(const Location &loc, const ClearAttachmentInfo &info) const { … }
void CommandBufferAccessContext::RecordClearAttachment(ResourceUsageTag tag, const ClearAttachmentInfo &clear_info) { … }
void CommandBufferAccessContext::CheckCommandTagDebugCheckpoint() { … }
static bool IsHazardVsRead(SyncHazard hazard) { … }
static const SyncStageAccessInfoType *SyncStageAccessInfoFromMask(SyncStageAccessFlags flags) { … }
static std::string string_SyncStageAccessFlags(const SyncStageAccessFlags &flags, const char *sep = "|") { … }
std::ostream &operator<<(std::ostream &out, const SyncNodeFormatter &formatter) { … }
std::ostream &operator<<(std::ostream &out, const HandleRecord::FormatterState &formatter) { … }
std::ostream &operator<<(std::ostream &out, const ResourceUsageRecord::FormatterState &formatter) { … }
std::ostream &operator<<(std::ostream &out, const HazardResult::HazardState &hazard) { … }
SyncNodeFormatter::SyncNodeFormatter(const SyncValidator &sync_state, const vvl::CommandBuffer *cb_state)
: … { … }
SyncNodeFormatter::SyncNodeFormatter(const SyncValidator &sync_state, const vvl::Image *image)
: … { … }
SyncNodeFormatter::SyncNodeFormatter(const SyncValidator &sync_state, const vvl::Queue *q_state)
: … { … }
SyncNodeFormatter::SyncNodeFormatter(const SyncValidator &sync_state, const vvl::StateObject *state_object, const char *label_)
: … { … }
std::string SyncValidationInfo::FormatHazard(const HazardResult &hazard) const { … }
syncval_state::CommandBuffer::CommandBuffer(SyncValidator &dev, VkCommandBuffer handle,
const VkCommandBufferAllocateInfo *allocate_info, const vvl::CommandPool *pool)
: … { … }
void syncval_state::CommandBuffer::Destroy() { … }
void syncval_state::CommandBuffer::Reset(const Location &loc) { … }
void syncval_state::CommandBuffer::NotifyInvalidate(const vvl::StateObject::NodeList &invalid_nodes, bool unlink) { … }