#pragma once
#include "generated/chassis.h"
#include "utils/hash_vk_types.h"
#include "state_tracker/video_session_state.h"
#include "generated/layer_chassis_dispatch.h"
#include "generated/device_features.h"
#include "error_message/logging.h"
#include "containers/custom_containers.h"
#include "utils/android_ndk_types.h"
#include "containers/range_vector.h"
#include <vulkan/utility/vk_struct_helper.hpp>
#include <atomic>
#include <functional>
#include <memory>
#include <vector>
namespace vvl {
struct AllocateDescriptorSetsData;
class Fence;
class DescriptorPool;
class DescriptorSet;
class DescriptorSetLayout;
class DescriptorUpdateTemplate;
class Queue;
class Semaphore;
class Buffer;
class BufferView;
class Sampler;
class SamplerYcbcrConversion;
class Framebuffer;
class RenderPass;
class PipelineCache;
class Surface;
class PhysicalDevice;
class DisplayMode;
class Event;
class PipelineLayout;
class Image;
class ImageView;
class Swapchain;
struct SwapchainImage;
class CommandPool;
class CommandBuffer;
class Pipeline;
class DeviceMemory;
class AccelerationStructureNV;
class AccelerationStructureKHR;
class QueryPool;
struct DedicatedBinding;
struct ShaderModule;
struct ShaderObject;
}
namespace chassis {
struct CreateShaderModule;
}
namespace spirv {
struct StatelessData;
}
#define VALSTATETRACK_MAP_AND_TRAITS_IMPL(handle_type, state_type, map_member, instance_scope) …
#define VALSTATETRACK_MAP_AND_TRAITS(handle_type, state_type, map_member) …
#define VALSTATETRACK_MAP_AND_TRAITS_INSTANCE_SCOPE(handle_type, state_type, map_member) …
namespace state_object {
template <typename StateType>
struct Traits { … };
template <typename HandleType_, typename StateType_, typename BaseType_ = StateType_>
struct TraitsBase { … };
}
#define VALSTATETRACK_STATE_OBJECT(handle_type, state_type) …
#define VALSTATETRACK_DERIVED_STATE_OBJECT(handle_type, state_type, base_type) …
static inline VkExtent3D GetAdjustedDestImageExtent(VkFormat src_format, VkFormat dst_format, VkExtent3D extent) { … }
template <typename RegionType>
static inline VkDeviceSize GetBufferSizeFromCopyImage(const RegionType& region, VkFormat image_format,
uint32_t image_layout_count) { … }
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
VALSTATETRACK_STATE_OBJECT(…)
class ValidationStateTracker : public ValidationObject { … };