blob: bd1cb3b35ea10610289bda51edbf7ea6058b39b4 [file] [log] [blame]
#pragma once
#ifdef _WIN32
#pragma warning( disable : 4065 )
#endif
#include <vulkan/vulkan.h>
static inline uint32_t validate_VkAccessFlagBits(VkAccessFlagBits input_value)
{
if (input_value > (VK_ACCESS_INDIRECT_COMMAND_READ_BIT | VK_ACCESS_INDEX_READ_BIT | VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT | VK_ACCESS_UNIFORM_READ_BIT | VK_ACCESS_INPUT_ATTACHMENT_READ_BIT | VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_SHADER_WRITE_BIT | VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT | VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT | VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_TRANSFER_WRITE_BIT | VK_ACCESS_HOST_READ_BIT | VK_ACCESS_HOST_WRITE_BIT | VK_ACCESS_MEMORY_READ_BIT | VK_ACCESS_MEMORY_WRITE_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkAttachmentDescriptionFlagBits(VkAttachmentDescriptionFlagBits input_value)
{
if (input_value > (VK_ATTACHMENT_DESCRIPTION_MAY_ALIAS_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkAttachmentLoadOp(VkAttachmentLoadOp input_value)
{
switch ((VkAttachmentLoadOp)input_value)
{
case VK_ATTACHMENT_LOAD_OP_CLEAR:
case VK_ATTACHMENT_LOAD_OP_DONT_CARE:
case VK_ATTACHMENT_LOAD_OP_LOAD:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkAttachmentStoreOp(VkAttachmentStoreOp input_value)
{
switch ((VkAttachmentStoreOp)input_value)
{
case VK_ATTACHMENT_STORE_OP_DONT_CARE:
case VK_ATTACHMENT_STORE_OP_STORE:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkBlendFactor(VkBlendFactor input_value)
{
switch ((VkBlendFactor)input_value)
{
case VK_BLEND_FACTOR_CONSTANT_ALPHA:
case VK_BLEND_FACTOR_CONSTANT_COLOR:
case VK_BLEND_FACTOR_DST_ALPHA:
case VK_BLEND_FACTOR_DST_COLOR:
case VK_BLEND_FACTOR_ONE:
case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA:
case VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR:
case VK_BLEND_FACTOR_ONE_MINUS_DST_ALPHA:
case VK_BLEND_FACTOR_ONE_MINUS_DST_COLOR:
case VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA:
case VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR:
case VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA:
case VK_BLEND_FACTOR_ONE_MINUS_SRC_COLOR:
case VK_BLEND_FACTOR_SRC1_ALPHA:
case VK_BLEND_FACTOR_SRC1_COLOR:
case VK_BLEND_FACTOR_SRC_ALPHA:
case VK_BLEND_FACTOR_SRC_ALPHA_SATURATE:
case VK_BLEND_FACTOR_SRC_COLOR:
case VK_BLEND_FACTOR_ZERO:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkBlendOp(VkBlendOp input_value)
{
switch ((VkBlendOp)input_value)
{
case VK_BLEND_OP_ADD:
case VK_BLEND_OP_MAX:
case VK_BLEND_OP_MIN:
case VK_BLEND_OP_REVERSE_SUBTRACT:
case VK_BLEND_OP_SUBTRACT:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkBorderColor(VkBorderColor input_value)
{
switch ((VkBorderColor)input_value)
{
case VK_BORDER_COLOR_FLOAT_OPAQUE_BLACK:
case VK_BORDER_COLOR_FLOAT_OPAQUE_WHITE:
case VK_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK:
case VK_BORDER_COLOR_INT_OPAQUE_BLACK:
case VK_BORDER_COLOR_INT_OPAQUE_WHITE:
case VK_BORDER_COLOR_INT_TRANSPARENT_BLACK:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkBufferCreateFlagBits(VkBufferCreateFlagBits input_value)
{
if (input_value > (VK_BUFFER_CREATE_SPARSE_BINDING_BIT | VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT | VK_BUFFER_CREATE_SPARSE_ALIASED_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkBufferUsageFlagBits(VkBufferUsageFlagBits input_value)
{
if (input_value > (VK_BUFFER_USAGE_TRANSFER_SRC_BIT | VK_BUFFER_USAGE_TRANSFER_DST_BIT | VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT | VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT | VK_BUFFER_USAGE_INDEX_BUFFER_BIT | VK_BUFFER_USAGE_VERTEX_BUFFER_BIT | VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkColorComponentFlagBits(VkColorComponentFlagBits input_value)
{
if (input_value > (VK_COLOR_COMPONENT_R_BIT | VK_COLOR_COMPONENT_G_BIT | VK_COLOR_COMPONENT_B_BIT | VK_COLOR_COMPONENT_A_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkColorSpaceKHR(VkColorSpaceKHR input_value)
{
switch ((VkColorSpaceKHR)input_value)
{
case VK_COLOR_SPACE_SRGB_NONLINEAR_KHR:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkCommandBufferLevel(VkCommandBufferLevel input_value)
{
switch ((VkCommandBufferLevel)input_value)
{
case VK_COMMAND_BUFFER_LEVEL_PRIMARY:
case VK_COMMAND_BUFFER_LEVEL_SECONDARY:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkCommandBufferResetFlagBits(VkCommandBufferResetFlagBits input_value)
{
if (input_value > (VK_COMMAND_BUFFER_RESET_RELEASE_RESOURCES_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkCommandBufferUsageFlagBits(VkCommandBufferUsageFlagBits input_value)
{
if (input_value > (VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT | VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT | VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkCommandPoolCreateFlagBits(VkCommandPoolCreateFlagBits input_value)
{
if (input_value > (VK_COMMAND_POOL_CREATE_TRANSIENT_BIT | VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkCommandPoolResetFlagBits(VkCommandPoolResetFlagBits input_value)
{
if (input_value > (VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkCompareOp(VkCompareOp input_value)
{
switch ((VkCompareOp)input_value)
{
case VK_COMPARE_OP_ALWAYS:
case VK_COMPARE_OP_EQUAL:
case VK_COMPARE_OP_GREATER:
case VK_COMPARE_OP_GREATER_OR_EQUAL:
case VK_COMPARE_OP_LESS:
case VK_COMPARE_OP_LESS_OR_EQUAL:
case VK_COMPARE_OP_NEVER:
case VK_COMPARE_OP_NOT_EQUAL:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkComponentSwizzle(VkComponentSwizzle input_value)
{
switch ((VkComponentSwizzle)input_value)
{
case VK_COMPONENT_SWIZZLE_A:
case VK_COMPONENT_SWIZZLE_B:
case VK_COMPONENT_SWIZZLE_G:
case VK_COMPONENT_SWIZZLE_IDENTITY:
case VK_COMPONENT_SWIZZLE_ONE:
case VK_COMPONENT_SWIZZLE_R:
case VK_COMPONENT_SWIZZLE_ZERO:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkCompositeAlphaFlagBitsKHR(VkCompositeAlphaFlagBitsKHR input_value)
{
if (input_value > (VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR | VK_COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR | VK_COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR | VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR))
return 0;
return 1;
}
static inline uint32_t validate_VkCullModeFlagBits(VkCullModeFlagBits input_value)
{
if (input_value > (VK_CULL_MODE_NONE | VK_CULL_MODE_FRONT_BIT | VK_CULL_MODE_BACK_BIT | VK_CULL_MODE_FRONT_AND_BACK))
return 0;
return 1;
}
static inline uint32_t validate_VkDebugReportErrorEXT(VkDebugReportErrorEXT input_value)
{
switch ((VkDebugReportErrorEXT)input_value)
{
case VK_DEBUG_REPORT_ERROR_CALLBACK_REF_EXT:
case VK_DEBUG_REPORT_ERROR_NONE_EXT:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkDebugReportFlagBitsEXT(VkDebugReportFlagBitsEXT input_value)
{
if (input_value > (VK_DEBUG_REPORT_INFORMATION_BIT_EXT | VK_DEBUG_REPORT_WARNING_BIT_EXT | VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT | VK_DEBUG_REPORT_ERROR_BIT_EXT | VK_DEBUG_REPORT_DEBUG_BIT_EXT))
return 0;
return 1;
}
static inline uint32_t validate_VkDebugReportObjectTypeEXT(VkDebugReportObjectTypeEXT input_value)
{
switch ((VkDebugReportObjectTypeEXT)input_value)
{
case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_VIEW_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_EVENT_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_FENCE_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_PHYSICAL_DEVICE_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_QUERY_POOL_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_QUEUE_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_SURFACE_KHR_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_SWAPCHAIN_KHR_EXT:
case VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkDependencyFlagBits(VkDependencyFlagBits input_value)
{
if (input_value > (VK_DEPENDENCY_BY_REGION_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkDescriptorPoolCreateFlagBits(VkDescriptorPoolCreateFlagBits input_value)
{
if (input_value > (VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkDescriptorType(VkDescriptorType input_value)
{
switch ((VkDescriptorType)input_value)
{
case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
case VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT:
case VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE:
case VK_DESCRIPTOR_TYPE_SAMPLER:
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC:
case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkDisplayPlaneAlphaFlagBitsKHR(VkDisplayPlaneAlphaFlagBitsKHR input_value)
{
if (input_value > (VK_DISPLAY_PLANE_ALPHA_OPAQUE_BIT_KHR | VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR | VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR | VK_DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR))
return 0;
return 1;
}
static inline uint32_t validate_VkDynamicState(VkDynamicState input_value)
{
switch ((VkDynamicState)input_value)
{
case VK_DYNAMIC_STATE_BLEND_CONSTANTS:
case VK_DYNAMIC_STATE_DEPTH_BIAS:
case VK_DYNAMIC_STATE_DEPTH_BOUNDS:
case VK_DYNAMIC_STATE_LINE_WIDTH:
case VK_DYNAMIC_STATE_SCISSOR:
case VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK:
case VK_DYNAMIC_STATE_STENCIL_REFERENCE:
case VK_DYNAMIC_STATE_STENCIL_WRITE_MASK:
case VK_DYNAMIC_STATE_VIEWPORT:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkExternalMemoryFeatureFlagBitsNV(VkExternalMemoryFeatureFlagBitsNV input_value)
{
if (input_value > (VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV | VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV | VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV))
return 0;
return 1;
}
static inline uint32_t validate_VkExternalMemoryHandleTypeFlagBitsNV(VkExternalMemoryHandleTypeFlagBitsNV input_value)
{
if (input_value > (VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_NV | VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_NV | VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_BIT_NV | VK_EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_IMAGE_KMT_BIT_NV))
return 0;
return 1;
}
static inline uint32_t validate_VkFenceCreateFlagBits(VkFenceCreateFlagBits input_value)
{
if (input_value > (VK_FENCE_CREATE_SIGNALED_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkFilter(VkFilter input_value)
{
switch ((VkFilter)input_value)
{
case VK_FILTER_CUBIC_IMG:
case VK_FILTER_LINEAR:
case VK_FILTER_NEAREST:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkFormat(VkFormat input_value)
{
switch ((VkFormat)input_value)
{
case VK_FORMAT_A1R5G5B5_UNORM_PACK16:
case VK_FORMAT_A2B10G10R10_SINT_PACK32:
case VK_FORMAT_A2B10G10R10_SNORM_PACK32:
case VK_FORMAT_A2B10G10R10_SSCALED_PACK32:
case VK_FORMAT_A2B10G10R10_UINT_PACK32:
case VK_FORMAT_A2B10G10R10_UNORM_PACK32:
case VK_FORMAT_A2B10G10R10_USCALED_PACK32:
case VK_FORMAT_A2R10G10B10_SINT_PACK32:
case VK_FORMAT_A2R10G10B10_SNORM_PACK32:
case VK_FORMAT_A2R10G10B10_SSCALED_PACK32:
case VK_FORMAT_A2R10G10B10_UINT_PACK32:
case VK_FORMAT_A2R10G10B10_UNORM_PACK32:
case VK_FORMAT_A2R10G10B10_USCALED_PACK32:
case VK_FORMAT_A8B8G8R8_SINT_PACK32:
case VK_FORMAT_A8B8G8R8_SNORM_PACK32:
case VK_FORMAT_A8B8G8R8_SRGB_PACK32:
case VK_FORMAT_A8B8G8R8_SSCALED_PACK32:
case VK_FORMAT_A8B8G8R8_UINT_PACK32:
case VK_FORMAT_A8B8G8R8_UNORM_PACK32:
case VK_FORMAT_A8B8G8R8_USCALED_PACK32:
case VK_FORMAT_ASTC_10x10_SRGB_BLOCK:
case VK_FORMAT_ASTC_10x10_UNORM_BLOCK:
case VK_FORMAT_ASTC_10x5_SRGB_BLOCK:
case VK_FORMAT_ASTC_10x5_UNORM_BLOCK:
case VK_FORMAT_ASTC_10x6_SRGB_BLOCK:
case VK_FORMAT_ASTC_10x6_UNORM_BLOCK:
case VK_FORMAT_ASTC_10x8_SRGB_BLOCK:
case VK_FORMAT_ASTC_10x8_UNORM_BLOCK:
case VK_FORMAT_ASTC_12x10_SRGB_BLOCK:
case VK_FORMAT_ASTC_12x10_UNORM_BLOCK:
case VK_FORMAT_ASTC_12x12_SRGB_BLOCK:
case VK_FORMAT_ASTC_12x12_UNORM_BLOCK:
case VK_FORMAT_ASTC_4x4_SRGB_BLOCK:
case VK_FORMAT_ASTC_4x4_UNORM_BLOCK:
case VK_FORMAT_ASTC_5x4_SRGB_BLOCK:
case VK_FORMAT_ASTC_5x4_UNORM_BLOCK:
case VK_FORMAT_ASTC_5x5_SRGB_BLOCK:
case VK_FORMAT_ASTC_5x5_UNORM_BLOCK:
case VK_FORMAT_ASTC_6x5_SRGB_BLOCK:
case VK_FORMAT_ASTC_6x5_UNORM_BLOCK:
case VK_FORMAT_ASTC_6x6_SRGB_BLOCK:
case VK_FORMAT_ASTC_6x6_UNORM_BLOCK:
case VK_FORMAT_ASTC_8x5_SRGB_BLOCK:
case VK_FORMAT_ASTC_8x5_UNORM_BLOCK:
case VK_FORMAT_ASTC_8x6_SRGB_BLOCK:
case VK_FORMAT_ASTC_8x6_UNORM_BLOCK:
case VK_FORMAT_ASTC_8x8_SRGB_BLOCK:
case VK_FORMAT_ASTC_8x8_UNORM_BLOCK:
case VK_FORMAT_B10G11R11_UFLOAT_PACK32:
case VK_FORMAT_B4G4R4A4_UNORM_PACK16:
case VK_FORMAT_B5G5R5A1_UNORM_PACK16:
case VK_FORMAT_B5G6R5_UNORM_PACK16:
case VK_FORMAT_B8G8R8A8_SINT:
case VK_FORMAT_B8G8R8A8_SNORM:
case VK_FORMAT_B8G8R8A8_SRGB:
case VK_FORMAT_B8G8R8A8_SSCALED:
case VK_FORMAT_B8G8R8A8_UINT:
case VK_FORMAT_B8G8R8A8_UNORM:
case VK_FORMAT_B8G8R8A8_USCALED:
case VK_FORMAT_B8G8R8_SINT:
case VK_FORMAT_B8G8R8_SNORM:
case VK_FORMAT_B8G8R8_SRGB:
case VK_FORMAT_B8G8R8_SSCALED:
case VK_FORMAT_B8G8R8_UINT:
case VK_FORMAT_B8G8R8_UNORM:
case VK_FORMAT_B8G8R8_USCALED:
case VK_FORMAT_BC1_RGBA_SRGB_BLOCK:
case VK_FORMAT_BC1_RGBA_UNORM_BLOCK:
case VK_FORMAT_BC1_RGB_SRGB_BLOCK:
case VK_FORMAT_BC1_RGB_UNORM_BLOCK:
case VK_FORMAT_BC2_SRGB_BLOCK:
case VK_FORMAT_BC2_UNORM_BLOCK:
case VK_FORMAT_BC3_SRGB_BLOCK:
case VK_FORMAT_BC3_UNORM_BLOCK:
case VK_FORMAT_BC4_SNORM_BLOCK:
case VK_FORMAT_BC4_UNORM_BLOCK:
case VK_FORMAT_BC5_SNORM_BLOCK:
case VK_FORMAT_BC5_UNORM_BLOCK:
case VK_FORMAT_BC6H_SFLOAT_BLOCK:
case VK_FORMAT_BC6H_UFLOAT_BLOCK:
case VK_FORMAT_BC7_SRGB_BLOCK:
case VK_FORMAT_BC7_UNORM_BLOCK:
case VK_FORMAT_D16_UNORM:
case VK_FORMAT_D16_UNORM_S8_UINT:
case VK_FORMAT_D24_UNORM_S8_UINT:
case VK_FORMAT_D32_SFLOAT:
case VK_FORMAT_D32_SFLOAT_S8_UINT:
case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:
case VK_FORMAT_EAC_R11G11_SNORM_BLOCK:
case VK_FORMAT_EAC_R11G11_UNORM_BLOCK:
case VK_FORMAT_EAC_R11_SNORM_BLOCK:
case VK_FORMAT_EAC_R11_UNORM_BLOCK:
case VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:
case VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:
case VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:
case VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:
case VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:
case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:
case VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:
case VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:
case VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:
case VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:
case VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:
case VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:
case VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:
case VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:
case VK_FORMAT_R16G16B16A16_SFLOAT:
case VK_FORMAT_R16G16B16A16_SINT:
case VK_FORMAT_R16G16B16A16_SNORM:
case VK_FORMAT_R16G16B16A16_SSCALED:
case VK_FORMAT_R16G16B16A16_UINT:
case VK_FORMAT_R16G16B16A16_UNORM:
case VK_FORMAT_R16G16B16A16_USCALED:
case VK_FORMAT_R16G16B16_SFLOAT:
case VK_FORMAT_R16G16B16_SINT:
case VK_FORMAT_R16G16B16_SNORM:
case VK_FORMAT_R16G16B16_SSCALED:
case VK_FORMAT_R16G16B16_UINT:
case VK_FORMAT_R16G16B16_UNORM:
case VK_FORMAT_R16G16B16_USCALED:
case VK_FORMAT_R16G16_SFLOAT:
case VK_FORMAT_R16G16_SINT:
case VK_FORMAT_R16G16_SNORM:
case VK_FORMAT_R16G16_SSCALED:
case VK_FORMAT_R16G16_UINT:
case VK_FORMAT_R16G16_UNORM:
case VK_FORMAT_R16G16_USCALED:
case VK_FORMAT_R16_SFLOAT:
case VK_FORMAT_R16_SINT:
case VK_FORMAT_R16_SNORM:
case VK_FORMAT_R16_SSCALED:
case VK_FORMAT_R16_UINT:
case VK_FORMAT_R16_UNORM:
case VK_FORMAT_R16_USCALED:
case VK_FORMAT_R32G32B32A32_SFLOAT:
case VK_FORMAT_R32G32B32A32_SINT:
case VK_FORMAT_R32G32B32A32_UINT:
case VK_FORMAT_R32G32B32_SFLOAT:
case VK_FORMAT_R32G32B32_SINT:
case VK_FORMAT_R32G32B32_UINT:
case VK_FORMAT_R32G32_SFLOAT:
case VK_FORMAT_R32G32_SINT:
case VK_FORMAT_R32G32_UINT:
case VK_FORMAT_R32_SFLOAT:
case VK_FORMAT_R32_SINT:
case VK_FORMAT_R32_UINT:
case VK_FORMAT_R4G4B4A4_UNORM_PACK16:
case VK_FORMAT_R4G4_UNORM_PACK8:
case VK_FORMAT_R5G5B5A1_UNORM_PACK16:
case VK_FORMAT_R5G6B5_UNORM_PACK16:
case VK_FORMAT_R64G64B64A64_SFLOAT:
case VK_FORMAT_R64G64B64A64_SINT:
case VK_FORMAT_R64G64B64A64_UINT:
case VK_FORMAT_R64G64B64_SFLOAT:
case VK_FORMAT_R64G64B64_SINT:
case VK_FORMAT_R64G64B64_UINT:
case VK_FORMAT_R64G64_SFLOAT:
case VK_FORMAT_R64G64_SINT:
case VK_FORMAT_R64G64_UINT:
case VK_FORMAT_R64_SFLOAT:
case VK_FORMAT_R64_SINT:
case VK_FORMAT_R64_UINT:
case VK_FORMAT_R8G8B8A8_SINT:
case VK_FORMAT_R8G8B8A8_SNORM:
case VK_FORMAT_R8G8B8A8_SRGB:
case VK_FORMAT_R8G8B8A8_SSCALED:
case VK_FORMAT_R8G8B8A8_UINT:
case VK_FORMAT_R8G8B8A8_UNORM:
case VK_FORMAT_R8G8B8A8_USCALED:
case VK_FORMAT_R8G8B8_SINT:
case VK_FORMAT_R8G8B8_SNORM:
case VK_FORMAT_R8G8B8_SRGB:
case VK_FORMAT_R8G8B8_SSCALED:
case VK_FORMAT_R8G8B8_UINT:
case VK_FORMAT_R8G8B8_UNORM:
case VK_FORMAT_R8G8B8_USCALED:
case VK_FORMAT_R8G8_SINT:
case VK_FORMAT_R8G8_SNORM:
case VK_FORMAT_R8G8_SRGB:
case VK_FORMAT_R8G8_SSCALED:
case VK_FORMAT_R8G8_UINT:
case VK_FORMAT_R8G8_UNORM:
case VK_FORMAT_R8G8_USCALED:
case VK_FORMAT_R8_SINT:
case VK_FORMAT_R8_SNORM:
case VK_FORMAT_R8_SRGB:
case VK_FORMAT_R8_SSCALED:
case VK_FORMAT_R8_UINT:
case VK_FORMAT_R8_UNORM:
case VK_FORMAT_R8_USCALED:
case VK_FORMAT_S8_UINT:
case VK_FORMAT_UNDEFINED:
case VK_FORMAT_X8_D24_UNORM_PACK32:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkFormatFeatureFlagBits(VkFormatFeatureFlagBits input_value)
{
if (input_value > (VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT | VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT | VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT | VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT | VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT | VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT | VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT | VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT | VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_FORMAT_FEATURE_BLIT_SRC_BIT | VK_FORMAT_FEATURE_BLIT_DST_BIT | VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT | VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG))
return 0;
return 1;
}
static inline uint32_t validate_VkFrontFace(VkFrontFace input_value)
{
switch ((VkFrontFace)input_value)
{
case VK_FRONT_FACE_CLOCKWISE:
case VK_FRONT_FACE_COUNTER_CLOCKWISE:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkImageAspectFlagBits(VkImageAspectFlagBits input_value)
{
if (input_value > (VK_IMAGE_ASPECT_COLOR_BIT | VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT | VK_IMAGE_ASPECT_METADATA_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkImageCreateFlagBits(VkImageCreateFlagBits input_value)
{
if (input_value > (VK_IMAGE_CREATE_SPARSE_BINDING_BIT | VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT | VK_IMAGE_CREATE_SPARSE_ALIASED_BIT | VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT | VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkImageLayout(VkImageLayout input_value)
{
switch ((VkImageLayout)input_value)
{
case VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL:
case VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL:
case VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL:
case VK_IMAGE_LAYOUT_GENERAL:
case VK_IMAGE_LAYOUT_PREINITIALIZED:
case VK_IMAGE_LAYOUT_PRESENT_SRC_KHR:
case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL:
case VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL:
case VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL:
case VK_IMAGE_LAYOUT_UNDEFINED:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkImageTiling(VkImageTiling input_value)
{
switch ((VkImageTiling)input_value)
{
case VK_IMAGE_TILING_LINEAR:
case VK_IMAGE_TILING_OPTIMAL:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkImageType(VkImageType input_value)
{
switch ((VkImageType)input_value)
{
case VK_IMAGE_TYPE_1D:
case VK_IMAGE_TYPE_2D:
case VK_IMAGE_TYPE_3D:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkImageUsageFlagBits(VkImageUsageFlagBits input_value)
{
if (input_value > (VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT | VK_IMAGE_USAGE_STORAGE_BIT | VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT | VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT | VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkImageViewType(VkImageViewType input_value)
{
switch ((VkImageViewType)input_value)
{
case VK_IMAGE_VIEW_TYPE_1D:
case VK_IMAGE_VIEW_TYPE_1D_ARRAY:
case VK_IMAGE_VIEW_TYPE_2D:
case VK_IMAGE_VIEW_TYPE_2D_ARRAY:
case VK_IMAGE_VIEW_TYPE_3D:
case VK_IMAGE_VIEW_TYPE_CUBE:
case VK_IMAGE_VIEW_TYPE_CUBE_ARRAY:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkIndexType(VkIndexType input_value)
{
switch ((VkIndexType)input_value)
{
case VK_INDEX_TYPE_UINT16:
case VK_INDEX_TYPE_UINT32:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkInternalAllocationType(VkInternalAllocationType input_value)
{
switch ((VkInternalAllocationType)input_value)
{
case VK_INTERNAL_ALLOCATION_TYPE_EXECUTABLE:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkLogicOp(VkLogicOp input_value)
{
switch ((VkLogicOp)input_value)
{
case VK_LOGIC_OP_AND:
case VK_LOGIC_OP_AND_INVERTED:
case VK_LOGIC_OP_AND_REVERSE:
case VK_LOGIC_OP_CLEAR:
case VK_LOGIC_OP_COPY:
case VK_LOGIC_OP_COPY_INVERTED:
case VK_LOGIC_OP_EQUIVALENT:
case VK_LOGIC_OP_INVERT:
case VK_LOGIC_OP_NAND:
case VK_LOGIC_OP_NOR:
case VK_LOGIC_OP_NO_OP:
case VK_LOGIC_OP_OR:
case VK_LOGIC_OP_OR_INVERTED:
case VK_LOGIC_OP_OR_REVERSE:
case VK_LOGIC_OP_SET:
case VK_LOGIC_OP_XOR:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkMemoryHeapFlagBits(VkMemoryHeapFlagBits input_value)
{
if (input_value > (VK_MEMORY_HEAP_DEVICE_LOCAL_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkMemoryPropertyFlagBits(VkMemoryPropertyFlagBits input_value)
{
if (input_value > (VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT | VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT | VK_MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkPhysicalDeviceType(VkPhysicalDeviceType input_value)
{
switch ((VkPhysicalDeviceType)input_value)
{
case VK_PHYSICAL_DEVICE_TYPE_CPU:
case VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU:
case VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU:
case VK_PHYSICAL_DEVICE_TYPE_OTHER:
case VK_PHYSICAL_DEVICE_TYPE_VIRTUAL_GPU:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkPipelineBindPoint(VkPipelineBindPoint input_value)
{
switch ((VkPipelineBindPoint)input_value)
{
case VK_PIPELINE_BIND_POINT_COMPUTE:
case VK_PIPELINE_BIND_POINT_GRAPHICS:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkPipelineCacheHeaderVersion(VkPipelineCacheHeaderVersion input_value)
{
switch ((VkPipelineCacheHeaderVersion)input_value)
{
case VK_PIPELINE_CACHE_HEADER_VERSION_ONE:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkPipelineCreateFlagBits(VkPipelineCreateFlagBits input_value)
{
if (input_value > (VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT | VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT | VK_PIPELINE_CREATE_DERIVATIVE_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkPipelineStageFlagBits(VkPipelineStageFlagBits input_value)
{
if (input_value > (VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT | VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT | VK_PIPELINE_STAGE_VERTEX_INPUT_BIT | VK_PIPELINE_STAGE_VERTEX_SHADER_BIT | VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT | VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT | VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT | VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT | VK_PIPELINE_STAGE_EARLY_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT | VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT | VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT | VK_PIPELINE_STAGE_TRANSFER_BIT | VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT | VK_PIPELINE_STAGE_HOST_BIT | VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT | VK_PIPELINE_STAGE_ALL_COMMANDS_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkPolygonMode(VkPolygonMode input_value)
{
switch ((VkPolygonMode)input_value)
{
case VK_POLYGON_MODE_FILL:
case VK_POLYGON_MODE_LINE:
case VK_POLYGON_MODE_POINT:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkPresentModeKHR(VkPresentModeKHR input_value)
{
switch ((VkPresentModeKHR)input_value)
{
case VK_PRESENT_MODE_FIFO_KHR:
case VK_PRESENT_MODE_FIFO_RELAXED_KHR:
case VK_PRESENT_MODE_IMMEDIATE_KHR:
case VK_PRESENT_MODE_MAILBOX_KHR:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkPrimitiveTopology(VkPrimitiveTopology input_value)
{
switch ((VkPrimitiveTopology)input_value)
{
case VK_PRIMITIVE_TOPOLOGY_LINE_LIST:
case VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY:
case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP:
case VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY:
case VK_PRIMITIVE_TOPOLOGY_PATCH_LIST:
case VK_PRIMITIVE_TOPOLOGY_POINT_LIST:
case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_FAN:
case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST:
case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY:
case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP:
case VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkQueryControlFlagBits(VkQueryControlFlagBits input_value)
{
if (input_value > (VK_QUERY_CONTROL_PRECISE_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkQueryPipelineStatisticFlagBits(VkQueryPipelineStatisticFlagBits input_value)
{
if (input_value > (VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT | VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT | VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT | VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT | VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT | VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT | VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT | VK_QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT | VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT | VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT | VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkQueryResultFlagBits(VkQueryResultFlagBits input_value)
{
if (input_value > (VK_QUERY_RESULT_64_BIT | VK_QUERY_RESULT_WAIT_BIT | VK_QUERY_RESULT_WITH_AVAILABILITY_BIT | VK_QUERY_RESULT_PARTIAL_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkQueryType(VkQueryType input_value)
{
switch ((VkQueryType)input_value)
{
case VK_QUERY_TYPE_OCCLUSION:
case VK_QUERY_TYPE_PIPELINE_STATISTICS:
case VK_QUERY_TYPE_TIMESTAMP:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkQueueFlagBits(VkQueueFlagBits input_value)
{
if (input_value > (VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT | VK_QUEUE_TRANSFER_BIT | VK_QUEUE_SPARSE_BINDING_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkRasterizationOrderAMD(VkRasterizationOrderAMD input_value)
{
switch ((VkRasterizationOrderAMD)input_value)
{
case VK_RASTERIZATION_ORDER_RELAXED_AMD:
case VK_RASTERIZATION_ORDER_STRICT_AMD:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkResult(VkResult input_value)
{
switch ((VkResult)input_value)
{
case VK_ERROR_DEVICE_LOST:
case VK_ERROR_EXTENSION_NOT_PRESENT:
case VK_ERROR_FEATURE_NOT_PRESENT:
case VK_ERROR_FORMAT_NOT_SUPPORTED:
case VK_ERROR_FRAGMENTED_POOL:
case VK_ERROR_INCOMPATIBLE_DISPLAY_KHR:
case VK_ERROR_INCOMPATIBLE_DRIVER:
case VK_ERROR_INITIALIZATION_FAILED:
case VK_ERROR_INVALID_SHADER_NV:
case VK_ERROR_LAYER_NOT_PRESENT:
case VK_ERROR_MEMORY_MAP_FAILED:
case VK_ERROR_NATIVE_WINDOW_IN_USE_KHR:
case VK_ERROR_OUT_OF_DATE_KHR:
case VK_ERROR_OUT_OF_DEVICE_MEMORY:
case VK_ERROR_OUT_OF_HOST_MEMORY:
case VK_ERROR_SURFACE_LOST_KHR:
case VK_ERROR_TOO_MANY_OBJECTS:
case VK_ERROR_VALIDATION_FAILED_EXT:
case VK_EVENT_RESET:
case VK_EVENT_SET:
case VK_INCOMPLETE:
case VK_NOT_READY:
case VK_SUBOPTIMAL_KHR:
case VK_SUCCESS:
case VK_TIMEOUT:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkSampleCountFlagBits(VkSampleCountFlagBits input_value)
{
if (input_value > (VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_2_BIT | VK_SAMPLE_COUNT_4_BIT | VK_SAMPLE_COUNT_8_BIT | VK_SAMPLE_COUNT_16_BIT | VK_SAMPLE_COUNT_32_BIT | VK_SAMPLE_COUNT_64_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkSamplerAddressMode(VkSamplerAddressMode input_value)
{
switch ((VkSamplerAddressMode)input_value)
{
case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER:
case VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE:
case VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT:
case VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE:
case VK_SAMPLER_ADDRESS_MODE_REPEAT:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkSamplerMipmapMode(VkSamplerMipmapMode input_value)
{
switch ((VkSamplerMipmapMode)input_value)
{
case VK_SAMPLER_MIPMAP_MODE_LINEAR:
case VK_SAMPLER_MIPMAP_MODE_NEAREST:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkShaderStageFlagBits(VkShaderStageFlagBits input_value)
{
if (input_value > (VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT | VK_SHADER_STAGE_GEOMETRY_BIT | VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_COMPUTE_BIT | VK_SHADER_STAGE_ALL_GRAPHICS | VK_SHADER_STAGE_ALL))
return 0;
return 1;
}
static inline uint32_t validate_VkSharingMode(VkSharingMode input_value)
{
switch ((VkSharingMode)input_value)
{
case VK_SHARING_MODE_CONCURRENT:
case VK_SHARING_MODE_EXCLUSIVE:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkSparseImageFormatFlagBits(VkSparseImageFormatFlagBits input_value)
{
if (input_value > (VK_SPARSE_IMAGE_FORMAT_SINGLE_MIPTAIL_BIT | VK_SPARSE_IMAGE_FORMAT_ALIGNED_MIP_SIZE_BIT | VK_SPARSE_IMAGE_FORMAT_NONSTANDARD_BLOCK_SIZE_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkSparseMemoryBindFlagBits(VkSparseMemoryBindFlagBits input_value)
{
if (input_value > (VK_SPARSE_MEMORY_BIND_METADATA_BIT))
return 0;
return 1;
}
static inline uint32_t validate_VkStencilFaceFlagBits(VkStencilFaceFlagBits input_value)
{
if (input_value > (VK_STENCIL_FACE_FRONT_BIT | VK_STENCIL_FACE_BACK_BIT | VK_STENCIL_FRONT_AND_BACK))
return 0;
return 1;
}
static inline uint32_t validate_VkStencilOp(VkStencilOp input_value)
{
switch ((VkStencilOp)input_value)
{
case VK_STENCIL_OP_DECREMENT_AND_CLAMP:
case VK_STENCIL_OP_DECREMENT_AND_WRAP:
case VK_STENCIL_OP_INCREMENT_AND_CLAMP:
case VK_STENCIL_OP_INCREMENT_AND_WRAP:
case VK_STENCIL_OP_INVERT:
case VK_STENCIL_OP_KEEP:
case VK_STENCIL_OP_REPLACE:
case VK_STENCIL_OP_ZERO:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkStructureType(VkStructureType input_value)
{
switch ((VkStructureType)input_value)
{
case VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR:
case VK_STRUCTURE_TYPE_APPLICATION_INFO:
case VK_STRUCTURE_TYPE_BIND_SPARSE_INFO:
case VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO:
case VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER:
case VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO:
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO:
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO:
case VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO:
case VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO:
case VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO:
case VK_STRUCTURE_TYPE_COPY_DESCRIPTOR_SET:
case VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT:
case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT:
case VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT:
case VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT:
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV:
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV:
case VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV:
case VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_CREATE_INFO:
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO:
case VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO:
case VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO:
case VK_STRUCTURE_TYPE_DEVICE_QUEUE_CREATE_INFO:
case VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR:
case VK_STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR:
case VK_STRUCTURE_TYPE_DISPLAY_SURFACE_CREATE_INFO_KHR:
case VK_STRUCTURE_TYPE_EVENT_CREATE_INFO:
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV:
case VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV:
case VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV:
case VK_STRUCTURE_TYPE_FENCE_CREATE_INFO:
case VK_STRUCTURE_TYPE_FRAMEBUFFER_CREATE_INFO:
case VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO:
case VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO:
case VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER:
case VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO:
case VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV:
case VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO:
case VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO:
case VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO:
case VK_STRUCTURE_TYPE_MAPPED_MEMORY_RANGE:
case VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO:
case VK_STRUCTURE_TYPE_MEMORY_BARRIER:
case VK_STRUCTURE_TYPE_MIR_SURFACE_CREATE_INFO_KHR:
case VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO:
case VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO:
case VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO:
case VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO:
case VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO:
case VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO:
case VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO:
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO:
case VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD:
case VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO:
case VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO:
case VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_STATE_CREATE_INFO:
case VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO:
case VK_STRUCTURE_TYPE_PRESENT_INFO_KHR:
case VK_STRUCTURE_TYPE_QUERY_POOL_CREATE_INFO:
case VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO:
case VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO:
case VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO:
case VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO:
case VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO:
case VK_STRUCTURE_TYPE_SUBMIT_INFO:
case VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR:
case VK_STRUCTURE_TYPE_WAYLAND_SURFACE_CREATE_INFO_KHR:
case VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV:
case VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR:
case VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET:
case VK_STRUCTURE_TYPE_XCB_SURFACE_CREATE_INFO_KHR:
case VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkSubpassContents(VkSubpassContents input_value)
{
switch ((VkSubpassContents)input_value)
{
case VK_SUBPASS_CONTENTS_INLINE:
case VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkSurfaceTransformFlagBitsKHR(VkSurfaceTransformFlagBitsKHR input_value)
{
if (input_value > (VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR | VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR | VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR | VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR | VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR | VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR | VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR | VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR | VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR))
return 0;
return 1;
}
static inline uint32_t validate_VkSystemAllocationScope(VkSystemAllocationScope input_value)
{
switch ((VkSystemAllocationScope)input_value)
{
case VK_SYSTEM_ALLOCATION_SCOPE_CACHE:
case VK_SYSTEM_ALLOCATION_SCOPE_COMMAND:
case VK_SYSTEM_ALLOCATION_SCOPE_DEVICE:
case VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE:
case VK_SYSTEM_ALLOCATION_SCOPE_OBJECT:
return 1;
default:
return 0;
}
}
static inline uint32_t validate_VkVertexInputRate(VkVertexInputRate input_value)
{
switch ((VkVertexInputRate)input_value)
{
case VK_VERTEX_INPUT_RATE_INSTANCE:
case VK_VERTEX_INPUT_RATE_VERTEX:
return 1;
default:
return 0;
}
}