#include "gpu/descriptor_validation/gpuav_descriptor_set.h"
#include "gpu/core/gpuav.h"
#include "gpu/resources/gpuav_subclasses.h"
#include "gpu/resources/gpu_shader_resources.h"
#include "gpu/shaders/gpu_shaders_constants.h"
DescriptorClass;
namespace gpuav {
void AddressBuffer::MapMemory(const Location &loc, void **data) const { … }
void AddressBuffer::UnmapMemory() const { … }
void AddressBuffer::FlushAllocation(const Location &loc, VkDeviceSize offset, VkDeviceSize size) const { … }
void AddressBuffer::InvalidateAllocation(const Location &loc, VkDeviceSize offset, VkDeviceSize size) const { … }
void AddressBuffer::CreateBuffer(const Location &loc, const VkBufferCreateInfo *buffer_create_info,
const VmaAllocationCreateInfo *allocation_create_info) { … }
void AddressBuffer::DestroyBuffer() { … }
static uint32_t BitBufferSize(uint32_t num_bits) { … }
DescriptorSet::DescriptorSet(const VkDescriptorSet handle, vvl::DescriptorPool *pool,
const std::shared_ptr<vvl::DescriptorSetLayout const> &layout, uint32_t variable_count,
ValidationStateTracker *state_data)
: … { … }
DescriptorSet::~DescriptorSet() { … }
VkDeviceAddress DescriptorSet::GetLayoutState(Validator &gpuav, const Location &loc) { … }
static glsl::DescriptorState GetInData(const vvl::BufferDescriptor &desc) { … }
static glsl::DescriptorState GetInData(const vvl::TexelDescriptor &desc) { … }
static glsl::DescriptorState GetInData(const vvl::ImageDescriptor &desc) { … }
static glsl::DescriptorState GetInData(const vvl::SamplerDescriptor &desc) { … }
static glsl::DescriptorState GetInData(const vvl::ImageSamplerDescriptor &desc) { … }
static glsl::DescriptorState GetInData(const vvl::AccelerationStructureDescriptor &ac) { … }
static glsl::DescriptorState GetInData(const vvl::MutableDescriptor &desc) { … }
template <typename Binding>
void FillBindingInData(const Binding &binding, glsl::DescriptorState *data, uint32_t &index) { … }
template <>
void FillBindingInData(const vvl::InlineUniformBinding &binding, glsl::DescriptorState *data, uint32_t &index) { … }
std::shared_ptr<DescriptorSet::State> DescriptorSet::GetCurrentState(Validator &gpuav, const Location &loc) { … }
std::shared_ptr<DescriptorSet::State> DescriptorSet::GetOutputState(Validator &gpuav, const Location &loc) { … }
std::map<uint32_t, std::vector<uint32_t>> DescriptorSet::State::UsedDescriptors(const Location &loc, const DescriptorSet &set,
uint32_t shader_set) const { … }
DescriptorSet::State::~State() { … }
void DescriptorSet::PerformPushDescriptorsUpdate(uint32_t write_count, const VkWriteDescriptorSet *write_descs) { … }
void DescriptorSet::PerformWriteUpdate(const VkWriteDescriptorSet &write_desc) { … }
void DescriptorSet::PerformCopyUpdate(const VkCopyDescriptorSet ©_desc, const vvl::DescriptorSet &src_set) { … }
DescriptorHeap::DescriptorHeap(Validator &gpuav, uint32_t max_descriptors, const Location &loc)
: … { … }
DescriptorHeap::~DescriptorHeap() { … }
DescriptorId DescriptorHeap::NextId(const VulkanTypedHandle &handle) { … }
void DescriptorHeap::DeleteId(DescriptorId id) { … }
}