Started working on a sample for VK_EXT_shader_object
Updated Vulkan headers
This commit is contained in:
parent
3294d03d2b
commit
bec075df2f
2 changed files with 165 additions and 48 deletions
45
external/vulkan/vulkan_beta.h
vendored
45
external/vulkan/vulkan_beta.h
vendored
|
|
@ -485,6 +485,51 @@ typedef struct VkVideoEncodeH265RateControlLayerInfoEXT {
|
||||||
} VkVideoEncodeH265RateControlLayerInfoEXT;
|
} VkVideoEncodeH265RateControlLayerInfoEXT;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_NV_displacement_micromap 1
|
||||||
|
#define VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION 1
|
||||||
|
#define VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME "VK_NV_displacement_micromap"
|
||||||
|
|
||||||
|
typedef enum VkDisplacementMicromapFormatNV {
|
||||||
|
VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV = 1,
|
||||||
|
VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV = 2,
|
||||||
|
VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV = 3,
|
||||||
|
VK_DISPLACEMENT_MICROMAP_FORMAT_MAX_ENUM_NV = 0x7FFFFFFF
|
||||||
|
} VkDisplacementMicromapFormatNV;
|
||||||
|
typedef struct VkPhysicalDeviceDisplacementMicromapFeaturesNV {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
VkBool32 displacementMicromap;
|
||||||
|
} VkPhysicalDeviceDisplacementMicromapFeaturesNV;
|
||||||
|
|
||||||
|
typedef struct VkPhysicalDeviceDisplacementMicromapPropertiesNV {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
uint32_t maxDisplacementMicromapSubdivisionLevel;
|
||||||
|
} VkPhysicalDeviceDisplacementMicromapPropertiesNV;
|
||||||
|
|
||||||
|
typedef struct VkAccelerationStructureTrianglesDisplacementMicromapNV {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
VkFormat displacementBiasAndScaleFormat;
|
||||||
|
VkFormat displacementVectorFormat;
|
||||||
|
VkDeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer;
|
||||||
|
VkDeviceSize displacementBiasAndScaleStride;
|
||||||
|
VkDeviceOrHostAddressConstKHR displacementVectorBuffer;
|
||||||
|
VkDeviceSize displacementVectorStride;
|
||||||
|
VkDeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags;
|
||||||
|
VkDeviceSize displacedMicromapPrimitiveFlagsStride;
|
||||||
|
VkIndexType indexType;
|
||||||
|
VkDeviceOrHostAddressConstKHR indexBuffer;
|
||||||
|
VkDeviceSize indexStride;
|
||||||
|
uint32_t baseTriangle;
|
||||||
|
uint32_t usageCountsCount;
|
||||||
|
const VkMicromapUsageEXT* pUsageCounts;
|
||||||
|
const VkMicromapUsageEXT* const* ppUsageCounts;
|
||||||
|
VkMicromapEXT micromap;
|
||||||
|
} VkAccelerationStructureTrianglesDisplacementMicromapNV;
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
168
external/vulkan/vulkan_core.h
vendored
168
external/vulkan/vulkan_core.h
vendored
|
|
@ -68,7 +68,7 @@ extern "C" {
|
||||||
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
|
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
|
||||||
|
|
||||||
// Version of this file
|
// Version of this file
|
||||||
#define VK_HEADER_VERSION 245
|
#define VK_HEADER_VERSION 248
|
||||||
|
|
||||||
// Complete version of this file
|
// Complete version of this file
|
||||||
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
|
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
|
||||||
|
|
@ -185,6 +185,7 @@ typedef enum VkResult {
|
||||||
VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000,
|
VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000,
|
||||||
#endif
|
#endif
|
||||||
VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000,
|
VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000,
|
||||||
|
VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000,
|
||||||
VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
|
VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
|
||||||
VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
|
VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
|
||||||
VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
|
VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
|
||||||
|
|
@ -933,6 +934,8 @@ typedef enum VkStructureType {
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000,
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001,
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000,
|
||||||
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT = 1000395000,
|
||||||
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT = 1000395001,
|
||||||
VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000,
|
VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000,
|
||||||
VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001,
|
VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001,
|
||||||
VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002,
|
VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002,
|
||||||
|
|
@ -999,6 +1002,9 @@ typedef enum VkStructureType {
|
||||||
VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010,
|
VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010,
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000,
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000,
|
||||||
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000,
|
||||||
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001,
|
||||||
|
VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT = 1000482002,
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000,
|
||||||
VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001,
|
VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001,
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000,
|
||||||
|
|
@ -1186,6 +1192,7 @@ typedef enum VkStructureType {
|
||||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
|
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES,
|
||||||
VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
|
VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS,
|
||||||
VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS,
|
VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS,
|
||||||
|
VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO,
|
||||||
VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
|
VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
|
||||||
} VkStructureType;
|
} VkStructureType;
|
||||||
|
|
||||||
|
|
@ -1290,6 +1297,7 @@ typedef enum VkObjectType {
|
||||||
VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000,
|
VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000,
|
||||||
VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000,
|
VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000,
|
||||||
VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000,
|
VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000,
|
||||||
|
VK_OBJECT_TYPE_SHADER_EXT = 1000482000,
|
||||||
VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
|
VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
|
||||||
VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
|
VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
|
||||||
VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
|
VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT,
|
||||||
|
|
@ -14687,7 +14695,7 @@ typedef struct VkPhysicalDevice4444FormatsFeaturesEXT {
|
||||||
|
|
||||||
|
|
||||||
#define VK_EXT_device_fault 1
|
#define VK_EXT_device_fault 1
|
||||||
#define VK_EXT_DEVICE_FAULT_SPEC_VERSION 1
|
#define VK_EXT_DEVICE_FAULT_SPEC_VERSION 2
|
||||||
#define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault"
|
#define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault"
|
||||||
|
|
||||||
typedef enum VkDeviceFaultAddressTypeEXT {
|
typedef enum VkDeviceFaultAddressTypeEXT {
|
||||||
|
|
@ -14751,6 +14759,8 @@ typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT {
|
||||||
uint32_t applicationNameOffset;
|
uint32_t applicationNameOffset;
|
||||||
uint32_t applicationVersion;
|
uint32_t applicationVersion;
|
||||||
uint32_t engineNameOffset;
|
uint32_t engineNameOffset;
|
||||||
|
uint32_t engineVersion;
|
||||||
|
uint32_t apiVersion;
|
||||||
} VkDeviceFaultVendorBinaryHeaderVersionOneEXT;
|
} VkDeviceFaultVendorBinaryHeaderVersionOneEXT;
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo);
|
typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo);
|
||||||
|
|
@ -15234,6 +15244,27 @@ typedef struct VkPhysicalDeviceImage2DViewOf3DFeaturesEXT {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_EXT_shader_tile_image 1
|
||||||
|
#define VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION 1
|
||||||
|
#define VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME "VK_EXT_shader_tile_image"
|
||||||
|
typedef struct VkPhysicalDeviceShaderTileImageFeaturesEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
VkBool32 shaderTileImageColorReadAccess;
|
||||||
|
VkBool32 shaderTileImageDepthReadAccess;
|
||||||
|
VkBool32 shaderTileImageStencilReadAccess;
|
||||||
|
} VkPhysicalDeviceShaderTileImageFeaturesEXT;
|
||||||
|
|
||||||
|
typedef struct VkPhysicalDeviceShaderTileImagePropertiesEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
VkBool32 shaderTileImageCoherentReadAccelerated;
|
||||||
|
VkBool32 shaderTileImageReadSampleFromPixelRateInvocation;
|
||||||
|
VkBool32 shaderTileImageReadFromHelperInvocation;
|
||||||
|
} VkPhysicalDeviceShaderTileImagePropertiesEXT;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_EXT_opacity_micromap 1
|
#define VK_EXT_opacity_micromap 1
|
||||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT)
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT)
|
||||||
#define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2
|
#define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2
|
||||||
|
|
@ -15505,58 +15536,13 @@ VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT(
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define VK_NV_displacement_micromap 1
|
|
||||||
#define VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION 1
|
|
||||||
#define VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME "VK_NV_displacement_micromap"
|
|
||||||
|
|
||||||
typedef enum VkDisplacementMicromapFormatNV {
|
|
||||||
VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV = 1,
|
|
||||||
VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV = 2,
|
|
||||||
VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV = 3,
|
|
||||||
VK_DISPLACEMENT_MICROMAP_FORMAT_MAX_ENUM_NV = 0x7FFFFFFF
|
|
||||||
} VkDisplacementMicromapFormatNV;
|
|
||||||
typedef struct VkPhysicalDeviceDisplacementMicromapFeaturesNV {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
VkBool32 displacementMicromap;
|
|
||||||
} VkPhysicalDeviceDisplacementMicromapFeaturesNV;
|
|
||||||
|
|
||||||
typedef struct VkPhysicalDeviceDisplacementMicromapPropertiesNV {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
uint32_t maxDisplacementMicromapSubdivisionLevel;
|
|
||||||
} VkPhysicalDeviceDisplacementMicromapPropertiesNV;
|
|
||||||
|
|
||||||
typedef struct VkAccelerationStructureTrianglesDisplacementMicromapNV {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
VkFormat displacementBiasAndScaleFormat;
|
|
||||||
VkFormat displacementVectorFormat;
|
|
||||||
VkDeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer;
|
|
||||||
VkDeviceSize displacementBiasAndScaleStride;
|
|
||||||
VkDeviceOrHostAddressConstKHR displacementVectorBuffer;
|
|
||||||
VkDeviceSize displacementVectorStride;
|
|
||||||
VkDeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags;
|
|
||||||
VkDeviceSize displacedMicromapPrimitiveFlagsStride;
|
|
||||||
VkIndexType indexType;
|
|
||||||
VkDeviceOrHostAddressConstKHR indexBuffer;
|
|
||||||
VkDeviceSize indexStride;
|
|
||||||
uint32_t baseTriangle;
|
|
||||||
uint32_t usageCountsCount;
|
|
||||||
const VkMicromapUsageEXT* pUsageCounts;
|
|
||||||
const VkMicromapUsageEXT* const* ppUsageCounts;
|
|
||||||
VkMicromapEXT micromap;
|
|
||||||
} VkAccelerationStructureTrianglesDisplacementMicromapNV;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_EXT_load_store_op_none 1
|
#define VK_EXT_load_store_op_none 1
|
||||||
#define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
|
#define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1
|
||||||
#define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
|
#define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none"
|
||||||
|
|
||||||
|
|
||||||
#define VK_HUAWEI_cluster_culling_shader 1
|
#define VK_HUAWEI_cluster_culling_shader 1
|
||||||
#define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 1
|
#define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 2
|
||||||
#define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader"
|
#define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader"
|
||||||
typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
|
typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI {
|
||||||
VkStructureType sType;
|
VkStructureType sType;
|
||||||
|
|
@ -16458,6 +16444,92 @@ typedef struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_EXT_shader_object 1
|
||||||
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT)
|
||||||
|
#define VK_EXT_SHADER_OBJECT_SPEC_VERSION 1
|
||||||
|
#define VK_EXT_SHADER_OBJECT_EXTENSION_NAME "VK_EXT_shader_object"
|
||||||
|
|
||||||
|
typedef enum VkShaderCodeTypeEXT {
|
||||||
|
VK_SHADER_CODE_TYPE_BINARY_EXT = 0,
|
||||||
|
VK_SHADER_CODE_TYPE_SPIRV_EXT = 1,
|
||||||
|
VK_SHADER_CODE_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF
|
||||||
|
} VkShaderCodeTypeEXT;
|
||||||
|
|
||||||
|
typedef enum VkShaderCreateFlagBitsEXT {
|
||||||
|
VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001,
|
||||||
|
VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002,
|
||||||
|
VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004,
|
||||||
|
VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008,
|
||||||
|
VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010,
|
||||||
|
VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020,
|
||||||
|
VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040,
|
||||||
|
VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
|
||||||
|
} VkShaderCreateFlagBitsEXT;
|
||||||
|
typedef VkFlags VkShaderCreateFlagsEXT;
|
||||||
|
typedef struct VkPhysicalDeviceShaderObjectFeaturesEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
VkBool32 shaderObject;
|
||||||
|
} VkPhysicalDeviceShaderObjectFeaturesEXT;
|
||||||
|
|
||||||
|
typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
uint8_t shaderBinaryUUID[VK_UUID_SIZE];
|
||||||
|
uint32_t shaderBinaryVersion;
|
||||||
|
} VkPhysicalDeviceShaderObjectPropertiesEXT;
|
||||||
|
|
||||||
|
typedef struct VkShaderCreateInfoEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkShaderCreateFlagsEXT flags;
|
||||||
|
VkShaderStageFlagBits stage;
|
||||||
|
VkShaderStageFlags nextStage;
|
||||||
|
VkShaderCodeTypeEXT codeType;
|
||||||
|
size_t codeSize;
|
||||||
|
const void* pCode;
|
||||||
|
const char* pName;
|
||||||
|
uint32_t setLayoutCount;
|
||||||
|
const VkDescriptorSetLayout* pSetLayouts;
|
||||||
|
uint32_t pushConstantRangeCount;
|
||||||
|
const VkPushConstantRange* pPushConstantRanges;
|
||||||
|
const VkSpecializationInfo* pSpecializationInfo;
|
||||||
|
} VkShaderCreateInfoEXT;
|
||||||
|
|
||||||
|
typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT;
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateShadersEXT)(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkDestroyShaderEXT)(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks* pAllocator);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkGetShaderBinaryDataEXT)(VkDevice device, VkShaderEXT shader, size_t* pDataSize, void* pData);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkCmdBindShadersEXT)(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders);
|
||||||
|
|
||||||
|
#ifndef VK_NO_PROTOTYPES
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateShadersEXT(
|
||||||
|
VkDevice device,
|
||||||
|
uint32_t createInfoCount,
|
||||||
|
const VkShaderCreateInfoEXT* pCreateInfos,
|
||||||
|
const VkAllocationCallbacks* pAllocator,
|
||||||
|
VkShaderEXT* pShaders);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkDestroyShaderEXT(
|
||||||
|
VkDevice device,
|
||||||
|
VkShaderEXT shader,
|
||||||
|
const VkAllocationCallbacks* pAllocator);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderBinaryDataEXT(
|
||||||
|
VkDevice device,
|
||||||
|
VkShaderEXT shader,
|
||||||
|
size_t* pDataSize,
|
||||||
|
void* pData);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkCmdBindShadersEXT(
|
||||||
|
VkCommandBuffer commandBuffer,
|
||||||
|
uint32_t stageCount,
|
||||||
|
const VkShaderStageFlagBits* pStages,
|
||||||
|
const VkShaderEXT* pShaders);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define VK_QCOM_tile_properties 1
|
#define VK_QCOM_tile_properties 1
|
||||||
#define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1
|
#define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1
|
||||||
#define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties"
|
#define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue