#include "state_tracker/descriptor_sets.h"
#include "state_tracker/image_state.h"
#include "state_tracker/buffer_state.h"
#include "state_tracker/cmd_buffer_state.h"
#include "state_tracker/ray_tracing_state.h"
#include "state_tracker/sampler_state.h"
#include "state_tracker/shader_module.h"
static vvl::DescriptorPool::TypeCountMap GetMaxTypeCounts(const VkDescriptorPoolCreateInfo *create_info) { … }
vvl::DescriptorPool::DescriptorPool(ValidationStateTracker &dev, const VkDescriptorPool handle,
const VkDescriptorPoolCreateInfo *pCreateInfo)
: … { … }
void vvl::DescriptorPool::Allocate(const VkDescriptorSetAllocateInfo *alloc_info, const VkDescriptorSet *descriptor_sets,
const vvl::AllocateDescriptorSetsData &ds_data) { … }
void vvl::DescriptorPool::Free(uint32_t count, const VkDescriptorSet *descriptor_sets) { … }
void vvl::DescriptorPool::Reset() { … }
const VulkanTypedHandle *vvl::DescriptorPool::InUse() const { … }
void vvl::DescriptorPool::Destroy() { … }
struct ExtendedBinding { … };
struct BindingNumCmp { … };
vvl::DescriptorClass vvl::DescriptorTypeToClass(VkDescriptorType type) { … }
DescriptorSet;
DescriptorSetLayout;
DescriptorSetLayoutDef;
DescriptorSetLayoutId;
vvl::DescriptorSetLayoutDict descriptor_set_layout_dict;
DescriptorSetLayoutId GetCanonicalId(const VkDescriptorSetLayoutCreateInfo *p_create_info) { … }
bool operator==(const DescriptorSetLayoutDef &lhs, const DescriptorSetLayoutDef &rhs) { … }
std::string DescriptorSetLayoutDef::DescribeDifference(uint32_t index, const DescriptorSetLayoutDef &other) const { … }
vvl::DescriptorSetLayoutDef::DescriptorSetLayoutDef(const VkDescriptorSetLayoutCreateInfo *p_create_info)
: … { … }
size_t vvl::DescriptorSetLayoutDef::hash() const { … }
uint32_t vvl::DescriptorSetLayoutDef::GetIndexFromBinding(uint32_t binding) const { … }
VkDescriptorSetLayoutBinding const *vvl::DescriptorSetLayoutDef::GetDescriptorSetLayoutBindingPtrFromIndex(
const uint32_t index) const { … }
uint32_t vvl::DescriptorSetLayoutDef::GetDescriptorCountFromIndex(const uint32_t index) const { … }
VkDescriptorType vvl::DescriptorSetLayoutDef::GetTypeFromIndex(const uint32_t index) const { … }
VkDescriptorBindingFlags vvl::DescriptorSetLayoutDef::GetDescriptorBindingFlagsFromIndex(const uint32_t index) const { … }
const vvl::IndexRange &vvl::DescriptorSetLayoutDef::GetGlobalIndexRangeFromIndex(uint32_t index) const { … }
const vvl::IndexRange &vvl::DescriptorSetLayoutDef::GetGlobalIndexRangeFromBinding(
const uint32_t binding) const { … }
uint32_t vvl::DescriptorSetLayoutDef::GetNextValidBinding(const uint32_t binding) const { … }
VkSampler const *vvl::DescriptorSetLayoutDef::GetImmutableSamplerPtrFromIndex(const uint32_t index) const { … }
bool vvl::DescriptorSetLayoutDef::IsTypeMutable(const VkDescriptorType type, uint32_t binding) const { … }
const std::vector<std::vector<VkDescriptorType>> &vvl::DescriptorSetLayoutDef::GetMutableTypes() const { … }
const std::vector<VkDescriptorType> &vvl::DescriptorSetLayoutDef::GetMutableTypes(uint32_t binding) const { … }
void vvl::DescriptorSetLayout::SetLayoutSizeInBytes(const VkDeviceSize *layout_size_in_bytes_) { … }
const VkDeviceSize *vvl::DescriptorSetLayout::GetLayoutSizeInBytes() const { … }
bool vvl::DescriptorSetLayout::IsCompatible(DescriptorSetLayout const *rh_ds_layout) const { … }
vvl::DescriptorSetLayout::DescriptorSetLayout(const VkDescriptorSetLayoutCreateInfo *pCreateInfo,
const VkDescriptorSetLayout handle)
: … { … }
void vvl::AllocateDescriptorSetsData::Init(uint32_t count) { … }
vvl::DescriptorSet::DescriptorSet(const VkDescriptorSet handle, vvl::DescriptorPool *pool_state,
const std::shared_ptr<DescriptorSetLayout const> &layout, uint32_t variable_count,
vvl::DescriptorSet::StateTracker *state_data)
: … { … }
void vvl::DescriptorSet::LinkChildNodes() { … }
void vvl::DescriptorSet::NotifyInvalidate(const NodeList &invalid_nodes, bool unlink) { … }
uint32_t vvl::DescriptorSet::GetDynamicOffsetIndexFromBinding(uint32_t dynamic_binding) const { … }
void vvl::DescriptorSet::Destroy() { … }
void vvl::DescriptorSet::PerformPushDescriptorsUpdate(uint32_t write_count, const VkWriteDescriptorSet *write_descs) { … }
void vvl::DescriptorSet::PerformWriteUpdate(const VkWriteDescriptorSet &update) { … }
void vvl::DescriptorSet::PerformCopyUpdate(const VkCopyDescriptorSet &update, const DescriptorSet &src_set) { … }
void vvl::DescriptorSet::UpdateDrawState(ValidationStateTracker *device_data, vvl::CommandBuffer *cb_state, vvl::Func command,
const vvl::Pipeline *pipe, const BindingVariableMap &binding_req_map) { … }
template <typename T>
static void ReplaceStatePtr(DescriptorSet &set_state, T &dst, const T &src, bool is_bindless) { … }
void vvl::SamplerDescriptor::WriteUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const VkWriteDescriptorSet &update, const uint32_t index, bool is_bindless) { … }
void vvl::SamplerDescriptor::CopyUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const Descriptor &src, bool is_bindless, VkDescriptorType) { … }
VkSampler vvl::SamplerDescriptor::GetSampler() const { … }
void vvl::SamplerDescriptor::SetSamplerState(std::shared_ptr<vvl::Sampler> &&state) { … }
bool vvl::SamplerDescriptor::AddParent(StateObject *state_object) { … }
void vvl::SamplerDescriptor::RemoveParent(StateObject *state_object) { … }
bool vvl::SamplerDescriptor::Invalid() const { … }
void vvl::ImageSamplerDescriptor::WriteUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const VkWriteDescriptorSet &update, const uint32_t index,
bool is_bindless) { … }
void vvl::ImageSamplerDescriptor::CopyUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const Descriptor &src, bool is_bindless, VkDescriptorType src_type) { … }
VkSampler vvl::ImageSamplerDescriptor::GetSampler() const { … }
void vvl::ImageSamplerDescriptor::SetSamplerState(std::shared_ptr<vvl::Sampler> &&state) { … }
bool vvl::ImageSamplerDescriptor::AddParent(StateObject *state_object) { … }
void vvl::ImageSamplerDescriptor::RemoveParent(StateObject *state_object) { … }
bool vvl::ImageSamplerDescriptor::Invalid() const { … }
void vvl::ImageDescriptor::WriteUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const VkWriteDescriptorSet &update, const uint32_t index, bool is_bindless) { … }
void vvl::ImageDescriptor::CopyUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const Descriptor &src, bool is_bindless, VkDescriptorType src_type) { … }
void vvl::ImageDescriptor::UpdateDrawState(ValidationStateTracker *dev_data, vvl::CommandBuffer *cb_state) { … }
VkImageView vvl::ImageDescriptor::GetImageView() const { … }
bool vvl::ImageDescriptor::AddParent(StateObject *state_object) { … }
void vvl::ImageDescriptor::RemoveParent(StateObject *state_object) { … }
void vvl::ImageDescriptor::InvalidateNode(const std::shared_ptr<StateObject> &invalid_node, bool unlink) { … }
bool vvl::ImageDescriptor::Invalid() const { … }
bool vvl::ImageDescriptor::ComputeInvalid() const { … }
void vvl::ImageDescriptor::UpdateKnownValidView(bool is_bindless) { … }
void vvl::BufferDescriptor::WriteUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const VkWriteDescriptorSet &update, const uint32_t index, bool is_bindless) { … }
void vvl::BufferDescriptor::CopyUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const Descriptor &src, bool is_bindless, VkDescriptorType src_type) { … }
VkBuffer vvl::BufferDescriptor::GetBuffer() const { … }
bool vvl::BufferDescriptor::AddParent(StateObject *state_object) { … }
void vvl::BufferDescriptor::RemoveParent(StateObject *state_object) { … }
bool vvl::BufferDescriptor::Invalid() const { … }
VkDeviceSize vvl::BufferDescriptor::GetEffectiveRange() const { … }
void vvl::TexelDescriptor::WriteUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const VkWriteDescriptorSet &update, const uint32_t index, bool is_bindless) { … }
void vvl::TexelDescriptor::CopyUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const Descriptor &src, bool is_bindless, VkDescriptorType src_type) { … }
VkBufferView vvl::TexelDescriptor::GetBufferView() const { … }
bool vvl::TexelDescriptor::AddParent(StateObject *state_object) { … }
void vvl::TexelDescriptor::RemoveParent(StateObject *state_object) { … }
bool vvl::TexelDescriptor::Invalid() const { … }
void vvl::AccelerationStructureDescriptor::WriteUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const VkWriteDescriptorSet &update, const uint32_t index,
bool is_bindless) { … }
void vvl::AccelerationStructureDescriptor::CopyUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const Descriptor &src, bool is_bindless,
VkDescriptorType src_type) { … }
bool vvl::AccelerationStructureDescriptor::AddParent(StateObject *state_object) { … }
void vvl::AccelerationStructureDescriptor::RemoveParent(StateObject *state_object) { … }
bool vvl::AccelerationStructureDescriptor::Invalid() const { … }
vvl::MutableDescriptor::MutableDescriptor()
: … { … }
void vvl::MutableDescriptor::WriteUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const VkWriteDescriptorSet &update, const uint32_t index, bool is_bindless) { … }
void vvl::MutableDescriptor::CopyUpdate(DescriptorSet &set_state, const ValidationStateTracker &dev_data,
const Descriptor &src, bool is_bindless, VkDescriptorType src_type) { … }
void vvl::MutableDescriptor::SetDescriptorType(VkDescriptorType type, VkDeviceSize buffer_size) { … }
void vvl::MutableDescriptor::SetDescriptorType(VkDescriptorType src_type, const Descriptor *src) { … }
VkDeviceSize vvl::MutableDescriptor::GetEffectiveRange() const { … }
void vvl::MutableDescriptor::UpdateDrawState(ValidationStateTracker *dev_data, vvl::CommandBuffer *cb_state) { … }
bool vvl::MutableDescriptor::AddParent(StateObject *state_object) { … }
void vvl::MutableDescriptor::RemoveParent(StateObject *state_object) { … }
bool vvl::MutableDescriptor::Invalid() const { … }