#pragma once
#include <string>
#include <vulkan/vulkan_core.h>
#include "containers/custom_containers.h"
struct Location;
struct DeviceExtensions;
struct SubresourceRangeErrorCodes;
struct DeviceExtensions;
namespace sync_vuid_maps {
const std::map<VkPipelineStageFlags2KHR, std::string> &GetFeatureNameMap();
const std::string &GetBadFeatureVUID(const Location &loc, VkPipelineStageFlags2 bit, const DeviceExtensions &device_extensions);
const std::string &GetBadAccessFlagsVUID(const Location &loc, VkAccessFlags2KHR bit);
const std::string &GetStageQueueCapVUID(const Location &loc, VkPipelineStageFlags2KHR bit);
enum class QueueError { … };
const std::map<QueueError, std::string> &GetQueueErrorSummaryMap();
const std::string &GetBarrierQueueVUID(const Location &loc, QueueError error);
const std::string &GetBadImageLayoutVUID(const Location &loc, VkImageLayout layout);
enum class BufferError { … };
const std::string &GetBufferBarrierVUID(const Location &loc, BufferError error);
enum class ImageError { … };
const std::string &GetImageBarrierVUID(const Location &loc, ImageError error);
struct GetImageBarrierVUIDFunctor { … };
enum class SubmitError { … };
const std::string &GetQueueSubmitVUID(const Location &loc, SubmitError error);
enum class ShaderTileImageError { … };
const std::string &GetShaderTileImageVUID(const Location &loc, ShaderTileImageError error);
const std::string &GetAccessMaskRayQueryVUIDSelector(const Location &loc, const DeviceExtensions &device_extensions);
}