Simple Directmedia Layer

Update to the latest version of the Khronos headers

+6317 -1427
+2 -2
src/video/khronos/EGL/egl.h
··· 14 14 ** used to make the header, and the header can be found at 15 15 ** http://www.khronos.org/registry/egl 16 16 ** 17 - ** Khronos $Git commit SHA1: 6fb1daea15 $ on $Git commit date: 2022-05-25 09:41:13 -0600 $ 17 + ** Khronos $Git commit SHA1: f4cc936b88 $ on $Git commit date: 2023-12-16 01:21:49 -0500 $ 18 18 */ 19 19 20 20 #include <EGL/eglplatform.h> ··· 23 23 #define EGL_EGL_PROTOTYPES 1 24 24 #endif 25 25 26 - /* Generated on date 20220525 */ 26 + /* Generated on date 20231215 */ 27 27 28 28 /* Generated C header for: 29 29 * API: egl
+26 -2
src/video/khronos/EGL/eglext.h
··· 14 14 ** used to make the header, and the header can be found at 15 15 ** http://www.khronos.org/registry/egl 16 16 ** 17 - ** Khronos $Git commit SHA1: 6fb1daea15 $ on $Git commit date: 2022-05-25 09:41:13 -0600 $ 17 + ** Khronos $Git commit SHA1: f4cc936b88 $ on $Git commit date: 2023-12-16 01:21:49 -0500 $ 18 18 */ 19 19 20 20 #include <EGL/eglplatform.h> 21 21 22 - #define EGL_EGLEXT_VERSION 20220525 22 + #define EGL_EGLEXT_VERSION 20231215 23 23 24 24 /* Generated C header for: 25 25 * API: egl ··· 727 727 #define EGL_EXT_explicit_device 1 728 728 #endif /* EGL_EXT_explicit_device */ 729 729 730 + #ifndef EGL_EXT_gl_colorspace_bt2020_hlg 731 + #define EGL_EXT_gl_colorspace_bt2020_hlg 1 732 + #define EGL_GL_COLORSPACE_BT2020_HLG_EXT 0x3540 733 + #endif /* EGL_EXT_gl_colorspace_bt2020_hlg */ 734 + 730 735 #ifndef EGL_EXT_gl_colorspace_bt2020_linear 731 736 #define EGL_EXT_gl_colorspace_bt2020_linear 1 732 737 #define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F ··· 922 927 #ifndef EGL_EXT_protected_surface 923 928 #define EGL_EXT_protected_surface 1 924 929 #endif /* EGL_EXT_protected_surface */ 930 + 931 + #ifndef EGL_EXT_query_reset_notification_strategy 932 + #define EGL_EXT_query_reset_notification_strategy 1 933 + #endif /* EGL_EXT_query_reset_notification_strategy */ 925 934 926 935 #ifndef EGL_EXT_stream_consumer_egloutput 927 936 #define EGL_EXT_stream_consumer_egloutput 1 ··· 1223 1232 #endif 1224 1233 #endif /* EGL_NV_stream_consumer_eglimage */ 1225 1234 1235 + #ifndef EGL_NV_stream_consumer_eglimage_use_scanout_attrib 1236 + #define EGL_NV_stream_consumer_eglimage_use_scanout_attrib 1 1237 + #define EGL_STREAM_CONSUMER_IMAGE_USE_SCANOUT_NV 0x3378 1238 + #endif /* EGL_NV_stream_consumer_eglimage_use_scanout_attrib */ 1239 + 1226 1240 #ifndef EGL_NV_stream_consumer_gltexture_yuv 1227 1241 #define EGL_NV_stream_consumer_gltexture_yuv 1 1228 1242 #define EGL_YUV_PLANE0_TEXTURE_UNIT_NV 0x332C ··· 1431 1445 #define EGL_NV_triple_buffer 1 1432 1446 #define EGL_TRIPLE_BUFFER_NV 0x3230 1433 1447 #endif /* EGL_NV_triple_buffer */ 1448 + 1449 + #ifndef EGL_QNX_image_native_buffer 1450 + #define EGL_QNX_image_native_buffer 1 1451 + #define EGL_NATIVE_BUFFER_QNX 0x3551 1452 + #endif /* EGL_QNX_image_native_buffer */ 1453 + 1454 + #ifndef EGL_QNX_platform_screen 1455 + #define EGL_QNX_platform_screen 1 1456 + #define EGL_PLATFORM_SCREEN_QNX 0x3550 1457 + #endif /* EGL_QNX_platform_screen */ 1434 1458 1435 1459 #ifndef EGL_TIZEN_image_native_buffer 1436 1460 #define EGL_TIZEN_image_native_buffer 1
+6
src/video/khronos/EGL/eglplatform.h
··· 64 64 typedef HBITMAP EGLNativePixmapType; 65 65 typedef HWND EGLNativeWindowType; 66 66 67 + #elif defined(__QNX__) 68 + 69 + typedef khronos_uintptr_t EGLNativeDisplayType; 70 + typedef struct _screen_pixmap* EGLNativePixmapType; /* screen_pixmap_t */ 71 + typedef struct _screen_window* EGLNativeWindowType; /* screen_window_t */ 72 + 67 73 #elif defined(__EMSCRIPTEN__) 68 74 69 75 typedef int EGLNativeDisplayType;
+1 -1
src/video/khronos/GLES2/gl2.h
··· 25 25 #define GL_GLES_PROTOTYPES 1 26 26 #endif 27 27 28 - /* Generated on date 20220530 */ 28 + /* Generated on date 20231129 */ 29 29 30 30 /* Generated C header for: 31 31 * API: gles2
+71 -3
src/video/khronos/GLES2/gl2ext.h
··· 19 19 #define GL_APIENTRYP GL_APIENTRY* 20 20 #endif 21 21 22 - /* Generated on date 20220530 */ 22 + /* Generated on date 20231129 */ 23 23 24 24 /* Generated C header for: 25 25 * API: gles2 ··· 1052 1052 #define GL_ARM_rgba8 1 1053 1053 #endif /* GL_ARM_rgba8 */ 1054 1054 1055 + #ifndef GL_ARM_shader_core_properties 1056 + #define GL_ARM_shader_core_properties 1 1057 + #define GL_SHADER_CORE_COUNT_ARM 0x96F0 1058 + #define GL_SHADER_CORE_ACTIVE_COUNT_ARM 0x96F1 1059 + #define GL_SHADER_CORE_PRESENT_MASK_ARM 0x96F2 1060 + #define GL_SHADER_CORE_MAX_WARP_COUNT_ARM 0x96F3 1061 + #define GL_SHADER_CORE_PIXEL_RATE_ARM 0x96F4 1062 + #define GL_SHADER_CORE_TEXEL_RATE_ARM 0x96F5 1063 + #define GL_SHADER_CORE_FMA_RATE_ARM 0x96F6 1064 + typedef void (GL_APIENTRYP PFNGLMAXACTIVESHADERCORESARMPROC) (GLuint count); 1065 + #ifdef GL_GLEXT_PROTOTYPES 1066 + GL_APICALL void GL_APIENTRY glMaxActiveShaderCoresARM (GLuint count); 1067 + #endif 1068 + #endif /* GL_ARM_shader_core_properties */ 1069 + 1055 1070 #ifndef GL_ARM_shader_framebuffer_fetch 1056 1071 #define GL_ARM_shader_framebuffer_fetch 1 1057 1072 #define GL_FETCH_PER_SAMPLE_ARM 0x8F65 ··· 1459 1474 #endif 1460 1475 #endif /* GL_EXT_fragment_shading_rate */ 1461 1476 1477 + #ifndef GL_EXT_framebuffer_blit_layers 1478 + #define GL_EXT_framebuffer_blit_layers 1 1479 + typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERLAYERSEXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 1480 + typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERLAYEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint srcLayer, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLint dstLayer, GLbitfield mask, GLenum filter); 1481 + #ifdef GL_GLEXT_PROTOTYPES 1482 + GL_APICALL void GL_APIENTRY glBlitFramebufferLayersEXT (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); 1483 + GL_APICALL void GL_APIENTRY glBlitFramebufferLayerEXT (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint srcLayer, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLint dstLayer, GLbitfield mask, GLenum filter); 1484 + #endif 1485 + #endif /* GL_EXT_framebuffer_blit_layers */ 1486 + 1462 1487 #ifndef GL_EXT_geometry_point_size 1463 1488 #define GL_EXT_geometry_point_size 1 1464 1489 #endif /* GL_EXT_geometry_point_size */ ··· 1856 1881 #define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A 1857 1882 typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); 1858 1883 typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); 1859 - typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); 1884 + typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar *const*strings); 1860 1885 typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); 1861 1886 typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); 1862 1887 typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); ··· 1901 1926 #ifdef GL_GLEXT_PROTOTYPES 1902 1927 GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program); 1903 1928 GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline); 1904 - GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings); 1929 + GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar *const*strings); 1905 1930 GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines); 1906 1931 GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines); 1907 1932 GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); ··· 2553 2578 #define GL_PROGRAM_BINARY_FORMAT_MESA 0x875F 2554 2579 #endif /* GL_MESA_program_binary_formats */ 2555 2580 2581 + #ifndef GL_MESA_sampler_objects 2582 + #define GL_MESA_sampler_objects 1 2583 + #define GL_SAMPLER_BINDING 0x8919 2584 + typedef void (GL_APIENTRYP PFNGLGENSAMPLERSPROC) (GLsizei count, GLuint *samplers); 2585 + typedef void (GL_APIENTRYP PFNGLDELETESAMPLERSPROC) (GLsizei count, const GLuint *samplers); 2586 + typedef GLboolean (GL_APIENTRYP PFNGLISSAMPLERPROC) (GLuint sampler); 2587 + typedef void (GL_APIENTRYP PFNGLBINDSAMPLERPROC) (GLuint unit, GLuint sampler); 2588 + typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIPROC) (GLuint sampler, GLenum pname, GLint param); 2589 + typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, const GLint *param); 2590 + typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFPROC) (GLuint sampler, GLenum pname, GLfloat param); 2591 + typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, const GLfloat *param); 2592 + typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC) (GLuint sampler, GLenum pname, GLint *params); 2593 + typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC) (GLuint sampler, GLenum pname, GLfloat *params); 2594 + #ifdef GL_GLEXT_PROTOTYPES 2595 + GL_APICALL void GL_APIENTRY glGenSamplers (GLsizei count, GLuint *samplers); 2596 + GL_APICALL void GL_APIENTRY glDeleteSamplers (GLsizei count, const GLuint *samplers); 2597 + GL_APICALL GLboolean GL_APIENTRY glIsSampler (GLuint sampler); 2598 + GL_APICALL void GL_APIENTRY glBindSampler (GLuint unit, GLuint sampler); 2599 + GL_APICALL void GL_APIENTRY glSamplerParameteri (GLuint sampler, GLenum pname, GLint param); 2600 + GL_APICALL void GL_APIENTRY glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint *param); 2601 + GL_APICALL void GL_APIENTRY glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param); 2602 + GL_APICALL void GL_APIENTRY glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat *param); 2603 + GL_APICALL void GL_APIENTRY glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint *params); 2604 + GL_APICALL void GL_APIENTRY glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat *params); 2605 + #endif 2606 + #endif /* GL_MESA_sampler_objects */ 2607 + 2556 2608 #ifndef GL_MESA_shader_integer_functions 2557 2609 #define GL_MESA_shader_integer_functions 1 2558 2610 #endif /* GL_MESA_shader_integer_functions */ ··· 3185 3237 GL_APICALL void GL_APIENTRY glUniformMatrix4x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); 3186 3238 #endif 3187 3239 #endif /* GL_NV_non_square_matrices */ 3240 + 3241 + #ifndef GL_NV_pack_subimage 3242 + #define GL_NV_pack_subimage 1 3243 + #define GL_PACK_ROW_LENGTH_NV 0x0D02 3244 + #define GL_PACK_SKIP_ROWS_NV 0x0D03 3245 + #define GL_PACK_SKIP_PIXELS_NV 0x0D04 3246 + #endif /* GL_NV_pack_subimage */ 3188 3247 3189 3248 #ifndef GL_NV_path_rendering 3190 3249 #define GL_NV_path_rendering 1 ··· 3917 3976 #define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 3918 3977 #endif /* GL_QCOM_perfmon_global_mode */ 3919 3978 3979 + #ifndef GL_QCOM_render_sRGB_R8_RG8 3980 + #define GL_QCOM_render_sRGB_R8_RG8 1 3981 + #endif /* GL_QCOM_render_sRGB_R8_RG8 */ 3982 + 3920 3983 #ifndef GL_QCOM_render_shared_exponent 3921 3984 #define GL_QCOM_render_shared_exponent 1 3922 3985 #endif /* GL_QCOM_render_shared_exponent */ ··· 3973 4036 #define GL_FOVEATION_SUBSAMPLED_LAYOUT_METHOD_BIT_QCOM 0x00000004 3974 4037 #define GL_MAX_SHADER_SUBSAMPLED_IMAGE_UNITS_QCOM 0x8FA1 3975 4038 #endif /* GL_QCOM_texture_foveated_subsampled_layout */ 4039 + 4040 + #ifndef GL_QCOM_texture_lod_bias 4041 + #define GL_QCOM_texture_lod_bias 1 4042 + #define GL_TEXTURE_LOD_BIAS_QCOM 0x8C96 4043 + #endif /* GL_QCOM_texture_lod_bias */ 3976 4044 3977 4045 #ifndef GL_QCOM_tiled_rendering 3978 4046 #define GL_QCOM_tiled_rendering 1
+312
src/video/khronos/vk_video/vulkan_video_codec_h264std.h
··· 1 + #ifndef VULKAN_VIDEO_CODEC_H264STD_H_ 2 + #define VULKAN_VIDEO_CODEC_H264STD_H_ 1 3 + 4 + /* 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 + ** 7 + ** SPDX-License-Identifier: Apache-2.0 8 + */ 9 + 10 + /* 11 + ** This header is generated from the Khronos Vulkan XML API Registry. 12 + ** 13 + */ 14 + 15 + 16 + #ifdef __cplusplus 17 + extern "C" { 18 + #endif 19 + 20 + 21 + 22 + // vulkan_video_codec_h264std is a preprocessor guard. Do not pass it to API calls. 23 + #define vulkan_video_codec_h264std 1 24 + #include "vulkan_video_codecs_common.h" 25 + #define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32 26 + #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6 27 + #define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16 28 + #define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 6 29 + #define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64 30 + #define STD_VIDEO_H264_MAX_NUM_LIST_REF 32 31 + #define STD_VIDEO_H264_MAX_CHROMA_PLANES 2 32 + #define STD_VIDEO_H264_NO_REFERENCE_PICTURE 0xFF 33 + 34 + typedef enum StdVideoH264ChromaFormatIdc { 35 + STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0, 36 + STD_VIDEO_H264_CHROMA_FORMAT_IDC_420 = 1, 37 + STD_VIDEO_H264_CHROMA_FORMAT_IDC_422 = 2, 38 + STD_VIDEO_H264_CHROMA_FORMAT_IDC_444 = 3, 39 + STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF, 40 + STD_VIDEO_H264_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF 41 + } StdVideoH264ChromaFormatIdc; 42 + 43 + typedef enum StdVideoH264ProfileIdc { 44 + STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66, 45 + STD_VIDEO_H264_PROFILE_IDC_MAIN = 77, 46 + STD_VIDEO_H264_PROFILE_IDC_HIGH = 100, 47 + STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244, 48 + STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF, 49 + STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF 50 + } StdVideoH264ProfileIdc; 51 + 52 + typedef enum StdVideoH264LevelIdc { 53 + STD_VIDEO_H264_LEVEL_IDC_1_0 = 0, 54 + STD_VIDEO_H264_LEVEL_IDC_1_1 = 1, 55 + STD_VIDEO_H264_LEVEL_IDC_1_2 = 2, 56 + STD_VIDEO_H264_LEVEL_IDC_1_3 = 3, 57 + STD_VIDEO_H264_LEVEL_IDC_2_0 = 4, 58 + STD_VIDEO_H264_LEVEL_IDC_2_1 = 5, 59 + STD_VIDEO_H264_LEVEL_IDC_2_2 = 6, 60 + STD_VIDEO_H264_LEVEL_IDC_3_0 = 7, 61 + STD_VIDEO_H264_LEVEL_IDC_3_1 = 8, 62 + STD_VIDEO_H264_LEVEL_IDC_3_2 = 9, 63 + STD_VIDEO_H264_LEVEL_IDC_4_0 = 10, 64 + STD_VIDEO_H264_LEVEL_IDC_4_1 = 11, 65 + STD_VIDEO_H264_LEVEL_IDC_4_2 = 12, 66 + STD_VIDEO_H264_LEVEL_IDC_5_0 = 13, 67 + STD_VIDEO_H264_LEVEL_IDC_5_1 = 14, 68 + STD_VIDEO_H264_LEVEL_IDC_5_2 = 15, 69 + STD_VIDEO_H264_LEVEL_IDC_6_0 = 16, 70 + STD_VIDEO_H264_LEVEL_IDC_6_1 = 17, 71 + STD_VIDEO_H264_LEVEL_IDC_6_2 = 18, 72 + STD_VIDEO_H264_LEVEL_IDC_INVALID = 0x7FFFFFFF, 73 + STD_VIDEO_H264_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF 74 + } StdVideoH264LevelIdc; 75 + 76 + typedef enum StdVideoH264PocType { 77 + STD_VIDEO_H264_POC_TYPE_0 = 0, 78 + STD_VIDEO_H264_POC_TYPE_1 = 1, 79 + STD_VIDEO_H264_POC_TYPE_2 = 2, 80 + STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF, 81 + STD_VIDEO_H264_POC_TYPE_MAX_ENUM = 0x7FFFFFFF 82 + } StdVideoH264PocType; 83 + 84 + typedef enum StdVideoH264AspectRatioIdc { 85 + STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED = 0, 86 + STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE = 1, 87 + STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11 = 2, 88 + STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11 = 3, 89 + STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11 = 4, 90 + STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33 = 5, 91 + STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11 = 6, 92 + STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11 = 7, 93 + STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11 = 8, 94 + STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33 = 9, 95 + STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11 = 10, 96 + STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11 = 11, 97 + STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33 = 12, 98 + STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99 = 13, 99 + STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3 = 14, 100 + STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2 = 15, 101 + STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1 = 16, 102 + STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR = 255, 103 + STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF, 104 + STD_VIDEO_H264_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF 105 + } StdVideoH264AspectRatioIdc; 106 + 107 + typedef enum StdVideoH264WeightedBipredIdc { 108 + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT = 0, 109 + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT = 1, 110 + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT = 2, 111 + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID = 0x7FFFFFFF, 112 + STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_MAX_ENUM = 0x7FFFFFFF 113 + } StdVideoH264WeightedBipredIdc; 114 + 115 + typedef enum StdVideoH264ModificationOfPicNumsIdc { 116 + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT = 0, 117 + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD = 1, 118 + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM = 2, 119 + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END = 3, 120 + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID = 0x7FFFFFFF, 121 + STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_MAX_ENUM = 0x7FFFFFFF 122 + } StdVideoH264ModificationOfPicNumsIdc; 123 + 124 + typedef enum StdVideoH264MemMgmtControlOp { 125 + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END = 0, 126 + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM = 1, 127 + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM = 2, 128 + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM = 3, 129 + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX = 4, 130 + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL = 5, 131 + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM = 6, 132 + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID = 0x7FFFFFFF, 133 + STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MAX_ENUM = 0x7FFFFFFF 134 + } StdVideoH264MemMgmtControlOp; 135 + 136 + typedef enum StdVideoH264CabacInitIdc { 137 + STD_VIDEO_H264_CABAC_INIT_IDC_0 = 0, 138 + STD_VIDEO_H264_CABAC_INIT_IDC_1 = 1, 139 + STD_VIDEO_H264_CABAC_INIT_IDC_2 = 2, 140 + STD_VIDEO_H264_CABAC_INIT_IDC_INVALID = 0x7FFFFFFF, 141 + STD_VIDEO_H264_CABAC_INIT_IDC_MAX_ENUM = 0x7FFFFFFF 142 + } StdVideoH264CabacInitIdc; 143 + 144 + typedef enum StdVideoH264DisableDeblockingFilterIdc { 145 + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED = 0, 146 + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED = 1, 147 + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL = 2, 148 + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID = 0x7FFFFFFF, 149 + STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_MAX_ENUM = 0x7FFFFFFF 150 + } StdVideoH264DisableDeblockingFilterIdc; 151 + 152 + typedef enum StdVideoH264SliceType { 153 + STD_VIDEO_H264_SLICE_TYPE_P = 0, 154 + STD_VIDEO_H264_SLICE_TYPE_B = 1, 155 + STD_VIDEO_H264_SLICE_TYPE_I = 2, 156 + STD_VIDEO_H264_SLICE_TYPE_INVALID = 0x7FFFFFFF, 157 + STD_VIDEO_H264_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF 158 + } StdVideoH264SliceType; 159 + 160 + typedef enum StdVideoH264PictureType { 161 + STD_VIDEO_H264_PICTURE_TYPE_P = 0, 162 + STD_VIDEO_H264_PICTURE_TYPE_B = 1, 163 + STD_VIDEO_H264_PICTURE_TYPE_I = 2, 164 + STD_VIDEO_H264_PICTURE_TYPE_IDR = 5, 165 + STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF, 166 + STD_VIDEO_H264_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 167 + } StdVideoH264PictureType; 168 + 169 + typedef enum StdVideoH264NonVclNaluType { 170 + STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS = 0, 171 + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS = 1, 172 + STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD = 2, 173 + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX = 3, 174 + STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE = 4, 175 + STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM = 5, 176 + STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED = 6, 177 + STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID = 0x7FFFFFFF, 178 + STD_VIDEO_H264_NON_VCL_NALU_TYPE_MAX_ENUM = 0x7FFFFFFF 179 + } StdVideoH264NonVclNaluType; 180 + typedef struct StdVideoH264SpsVuiFlags { 181 + uint32_t aspect_ratio_info_present_flag : 1; 182 + uint32_t overscan_info_present_flag : 1; 183 + uint32_t overscan_appropriate_flag : 1; 184 + uint32_t video_signal_type_present_flag : 1; 185 + uint32_t video_full_range_flag : 1; 186 + uint32_t color_description_present_flag : 1; 187 + uint32_t chroma_loc_info_present_flag : 1; 188 + uint32_t timing_info_present_flag : 1; 189 + uint32_t fixed_frame_rate_flag : 1; 190 + uint32_t bitstream_restriction_flag : 1; 191 + uint32_t nal_hrd_parameters_present_flag : 1; 192 + uint32_t vcl_hrd_parameters_present_flag : 1; 193 + } StdVideoH264SpsVuiFlags; 194 + 195 + typedef struct StdVideoH264HrdParameters { 196 + uint8_t cpb_cnt_minus1; 197 + uint8_t bit_rate_scale; 198 + uint8_t cpb_size_scale; 199 + uint8_t reserved1; 200 + uint32_t bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; 201 + uint32_t cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; 202 + uint8_t cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE]; 203 + uint32_t initial_cpb_removal_delay_length_minus1; 204 + uint32_t cpb_removal_delay_length_minus1; 205 + uint32_t dpb_output_delay_length_minus1; 206 + uint32_t time_offset_length; 207 + } StdVideoH264HrdParameters; 208 + 209 + typedef struct StdVideoH264SequenceParameterSetVui { 210 + StdVideoH264SpsVuiFlags flags; 211 + StdVideoH264AspectRatioIdc aspect_ratio_idc; 212 + uint16_t sar_width; 213 + uint16_t sar_height; 214 + uint8_t video_format; 215 + uint8_t colour_primaries; 216 + uint8_t transfer_characteristics; 217 + uint8_t matrix_coefficients; 218 + uint32_t num_units_in_tick; 219 + uint32_t time_scale; 220 + uint8_t max_num_reorder_frames; 221 + uint8_t max_dec_frame_buffering; 222 + uint8_t chroma_sample_loc_type_top_field; 223 + uint8_t chroma_sample_loc_type_bottom_field; 224 + uint32_t reserved1; 225 + const StdVideoH264HrdParameters* pHrdParameters; 226 + } StdVideoH264SequenceParameterSetVui; 227 + 228 + typedef struct StdVideoH264SpsFlags { 229 + uint32_t constraint_set0_flag : 1; 230 + uint32_t constraint_set1_flag : 1; 231 + uint32_t constraint_set2_flag : 1; 232 + uint32_t constraint_set3_flag : 1; 233 + uint32_t constraint_set4_flag : 1; 234 + uint32_t constraint_set5_flag : 1; 235 + uint32_t direct_8x8_inference_flag : 1; 236 + uint32_t mb_adaptive_frame_field_flag : 1; 237 + uint32_t frame_mbs_only_flag : 1; 238 + uint32_t delta_pic_order_always_zero_flag : 1; 239 + uint32_t separate_colour_plane_flag : 1; 240 + uint32_t gaps_in_frame_num_value_allowed_flag : 1; 241 + uint32_t qpprime_y_zero_transform_bypass_flag : 1; 242 + uint32_t frame_cropping_flag : 1; 243 + uint32_t seq_scaling_matrix_present_flag : 1; 244 + uint32_t vui_parameters_present_flag : 1; 245 + } StdVideoH264SpsFlags; 246 + 247 + typedef struct StdVideoH264ScalingLists { 248 + uint16_t scaling_list_present_mask; 249 + uint16_t use_default_scaling_matrix_mask; 250 + uint8_t ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS]; 251 + uint8_t ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS]; 252 + } StdVideoH264ScalingLists; 253 + 254 + typedef struct StdVideoH264SequenceParameterSet { 255 + StdVideoH264SpsFlags flags; 256 + StdVideoH264ProfileIdc profile_idc; 257 + StdVideoH264LevelIdc level_idc; 258 + StdVideoH264ChromaFormatIdc chroma_format_idc; 259 + uint8_t seq_parameter_set_id; 260 + uint8_t bit_depth_luma_minus8; 261 + uint8_t bit_depth_chroma_minus8; 262 + uint8_t log2_max_frame_num_minus4; 263 + StdVideoH264PocType pic_order_cnt_type; 264 + int32_t offset_for_non_ref_pic; 265 + int32_t offset_for_top_to_bottom_field; 266 + uint8_t log2_max_pic_order_cnt_lsb_minus4; 267 + uint8_t num_ref_frames_in_pic_order_cnt_cycle; 268 + uint8_t max_num_ref_frames; 269 + uint8_t reserved1; 270 + uint32_t pic_width_in_mbs_minus1; 271 + uint32_t pic_height_in_map_units_minus1; 272 + uint32_t frame_crop_left_offset; 273 + uint32_t frame_crop_right_offset; 274 + uint32_t frame_crop_top_offset; 275 + uint32_t frame_crop_bottom_offset; 276 + uint32_t reserved2; 277 + const int32_t* pOffsetForRefFrame; 278 + const StdVideoH264ScalingLists* pScalingLists; 279 + const StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui; 280 + } StdVideoH264SequenceParameterSet; 281 + 282 + typedef struct StdVideoH264PpsFlags { 283 + uint32_t transform_8x8_mode_flag : 1; 284 + uint32_t redundant_pic_cnt_present_flag : 1; 285 + uint32_t constrained_intra_pred_flag : 1; 286 + uint32_t deblocking_filter_control_present_flag : 1; 287 + uint32_t weighted_pred_flag : 1; 288 + uint32_t bottom_field_pic_order_in_frame_present_flag : 1; 289 + uint32_t entropy_coding_mode_flag : 1; 290 + uint32_t pic_scaling_matrix_present_flag : 1; 291 + } StdVideoH264PpsFlags; 292 + 293 + typedef struct StdVideoH264PictureParameterSet { 294 + StdVideoH264PpsFlags flags; 295 + uint8_t seq_parameter_set_id; 296 + uint8_t pic_parameter_set_id; 297 + uint8_t num_ref_idx_l0_default_active_minus1; 298 + uint8_t num_ref_idx_l1_default_active_minus1; 299 + StdVideoH264WeightedBipredIdc weighted_bipred_idc; 300 + int8_t pic_init_qp_minus26; 301 + int8_t pic_init_qs_minus26; 302 + int8_t chroma_qp_index_offset; 303 + int8_t second_chroma_qp_index_offset; 304 + const StdVideoH264ScalingLists* pScalingLists; 305 + } StdVideoH264PictureParameterSet; 306 + 307 + 308 + #ifdef __cplusplus 309 + } 310 + #endif 311 + 312 + #endif
+77
src/video/khronos/vk_video/vulkan_video_codec_h264std_decode.h
··· 1 + #ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 2 + #define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1 3 + 4 + /* 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 + ** 7 + ** SPDX-License-Identifier: Apache-2.0 8 + */ 9 + 10 + /* 11 + ** This header is generated from the Khronos Vulkan XML API Registry. 12 + ** 13 + */ 14 + 15 + 16 + #ifdef __cplusplus 17 + extern "C" { 18 + #endif 19 + 20 + 21 + 22 + // vulkan_video_codec_h264std_decode is a preprocessor guard. Do not pass it to API calls. 23 + #define vulkan_video_codec_h264std_decode 1 24 + #include "vulkan_video_codec_h264std.h" 25 + 26 + #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) 27 + 28 + #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 29 + #define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode" 30 + #define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2 31 + 32 + typedef enum StdVideoDecodeH264FieldOrderCount { 33 + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0, 34 + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1, 35 + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF, 36 + STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF 37 + } StdVideoDecodeH264FieldOrderCount; 38 + typedef struct StdVideoDecodeH264PictureInfoFlags { 39 + uint32_t field_pic_flag : 1; 40 + uint32_t is_intra : 1; 41 + uint32_t IdrPicFlag : 1; 42 + uint32_t bottom_field_flag : 1; 43 + uint32_t is_reference : 1; 44 + uint32_t complementary_field_pair : 1; 45 + } StdVideoDecodeH264PictureInfoFlags; 46 + 47 + typedef struct StdVideoDecodeH264PictureInfo { 48 + StdVideoDecodeH264PictureInfoFlags flags; 49 + uint8_t seq_parameter_set_id; 50 + uint8_t pic_parameter_set_id; 51 + uint8_t reserved1; 52 + uint8_t reserved2; 53 + uint16_t frame_num; 54 + uint16_t idr_pic_id; 55 + int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; 56 + } StdVideoDecodeH264PictureInfo; 57 + 58 + typedef struct StdVideoDecodeH264ReferenceInfoFlags { 59 + uint32_t top_field_flag : 1; 60 + uint32_t bottom_field_flag : 1; 61 + uint32_t used_for_long_term_reference : 1; 62 + uint32_t is_non_existing : 1; 63 + } StdVideoDecodeH264ReferenceInfoFlags; 64 + 65 + typedef struct StdVideoDecodeH264ReferenceInfo { 66 + StdVideoDecodeH264ReferenceInfoFlags flags; 67 + uint16_t FrameNum; 68 + uint16_t reserved; 69 + int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE]; 70 + } StdVideoDecodeH264ReferenceInfo; 71 + 72 + 73 + #ifdef __cplusplus 74 + } 75 + #endif 76 + 77 + #endif
+147
src/video/khronos/vk_video/vulkan_video_codec_h264std_encode.h
··· 1 + #ifndef VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 2 + #define VULKAN_VIDEO_CODEC_H264STD_ENCODE_H_ 1 3 + 4 + /* 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 + ** 7 + ** SPDX-License-Identifier: Apache-2.0 8 + */ 9 + 10 + /* 11 + ** This header is generated from the Khronos Vulkan XML API Registry. 12 + ** 13 + */ 14 + 15 + 16 + #ifdef __cplusplus 17 + extern "C" { 18 + #endif 19 + 20 + 21 + 22 + // vulkan_video_codec_h264std_encode is a preprocessor guard. Do not pass it to API calls. 23 + #define vulkan_video_codec_h264std_encode 1 24 + #include "vulkan_video_codec_h264std.h" 25 + 26 + #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) 27 + 28 + #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_API_VERSION_1_0_0 29 + #define VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_encode" 30 + typedef struct StdVideoEncodeH264WeightTableFlags { 31 + uint32_t luma_weight_l0_flag; 32 + uint32_t chroma_weight_l0_flag; 33 + uint32_t luma_weight_l1_flag; 34 + uint32_t chroma_weight_l1_flag; 35 + } StdVideoEncodeH264WeightTableFlags; 36 + 37 + typedef struct StdVideoEncodeH264WeightTable { 38 + StdVideoEncodeH264WeightTableFlags flags; 39 + uint8_t luma_log2_weight_denom; 40 + uint8_t chroma_log2_weight_denom; 41 + int8_t luma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 42 + int8_t luma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 43 + int8_t chroma_weight_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; 44 + int8_t chroma_offset_l0[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; 45 + int8_t luma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 46 + int8_t luma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 47 + int8_t chroma_weight_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; 48 + int8_t chroma_offset_l1[STD_VIDEO_H264_MAX_NUM_LIST_REF][STD_VIDEO_H264_MAX_CHROMA_PLANES]; 49 + } StdVideoEncodeH264WeightTable; 50 + 51 + typedef struct StdVideoEncodeH264SliceHeaderFlags { 52 + uint32_t direct_spatial_mv_pred_flag : 1; 53 + uint32_t num_ref_idx_active_override_flag : 1; 54 + uint32_t reserved : 30; 55 + } StdVideoEncodeH264SliceHeaderFlags; 56 + 57 + typedef struct StdVideoEncodeH264PictureInfoFlags { 58 + uint32_t IdrPicFlag : 1; 59 + uint32_t is_reference : 1; 60 + uint32_t no_output_of_prior_pics_flag : 1; 61 + uint32_t long_term_reference_flag : 1; 62 + uint32_t adaptive_ref_pic_marking_mode_flag : 1; 63 + uint32_t reserved : 27; 64 + } StdVideoEncodeH264PictureInfoFlags; 65 + 66 + typedef struct StdVideoEncodeH264ReferenceInfoFlags { 67 + uint32_t used_for_long_term_reference : 1; 68 + uint32_t reserved : 31; 69 + } StdVideoEncodeH264ReferenceInfoFlags; 70 + 71 + typedef struct StdVideoEncodeH264ReferenceListsInfoFlags { 72 + uint32_t ref_pic_list_modification_flag_l0 : 1; 73 + uint32_t ref_pic_list_modification_flag_l1 : 1; 74 + uint32_t reserved : 30; 75 + } StdVideoEncodeH264ReferenceListsInfoFlags; 76 + 77 + typedef struct StdVideoEncodeH264RefListModEntry { 78 + StdVideoH264ModificationOfPicNumsIdc modification_of_pic_nums_idc; 79 + uint16_t abs_diff_pic_num_minus1; 80 + uint16_t long_term_pic_num; 81 + } StdVideoEncodeH264RefListModEntry; 82 + 83 + typedef struct StdVideoEncodeH264RefPicMarkingEntry { 84 + StdVideoH264MemMgmtControlOp memory_management_control_operation; 85 + uint16_t difference_of_pic_nums_minus1; 86 + uint16_t long_term_pic_num; 87 + uint16_t long_term_frame_idx; 88 + uint16_t max_long_term_frame_idx_plus1; 89 + } StdVideoEncodeH264RefPicMarkingEntry; 90 + 91 + typedef struct StdVideoEncodeH264ReferenceListsInfo { 92 + StdVideoEncodeH264ReferenceListsInfoFlags flags; 93 + uint8_t num_ref_idx_l0_active_minus1; 94 + uint8_t num_ref_idx_l1_active_minus1; 95 + uint8_t RefPicList0[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 96 + uint8_t RefPicList1[STD_VIDEO_H264_MAX_NUM_LIST_REF]; 97 + uint8_t refList0ModOpCount; 98 + uint8_t refList1ModOpCount; 99 + uint8_t refPicMarkingOpCount; 100 + uint8_t reserved1[7]; 101 + const StdVideoEncodeH264RefListModEntry* pRefList0ModOperations; 102 + const StdVideoEncodeH264RefListModEntry* pRefList1ModOperations; 103 + const StdVideoEncodeH264RefPicMarkingEntry* pRefPicMarkingOperations; 104 + } StdVideoEncodeH264ReferenceListsInfo; 105 + 106 + typedef struct StdVideoEncodeH264PictureInfo { 107 + StdVideoEncodeH264PictureInfoFlags flags; 108 + uint8_t seq_parameter_set_id; 109 + uint8_t pic_parameter_set_id; 110 + uint16_t idr_pic_id; 111 + StdVideoH264PictureType primary_pic_type; 112 + uint32_t frame_num; 113 + int32_t PicOrderCnt; 114 + uint8_t temporal_id; 115 + uint8_t reserved1[3]; 116 + const StdVideoEncodeH264ReferenceListsInfo* pRefLists; 117 + } StdVideoEncodeH264PictureInfo; 118 + 119 + typedef struct StdVideoEncodeH264ReferenceInfo { 120 + StdVideoEncodeH264ReferenceInfoFlags flags; 121 + StdVideoH264PictureType primary_pic_type; 122 + uint32_t FrameNum; 123 + int32_t PicOrderCnt; 124 + uint16_t long_term_pic_num; 125 + uint16_t long_term_frame_idx; 126 + uint8_t temporal_id; 127 + } StdVideoEncodeH264ReferenceInfo; 128 + 129 + typedef struct StdVideoEncodeH264SliceHeader { 130 + StdVideoEncodeH264SliceHeaderFlags flags; 131 + uint32_t first_mb_in_slice; 132 + StdVideoH264SliceType slice_type; 133 + int8_t slice_alpha_c0_offset_div2; 134 + int8_t slice_beta_offset_div2; 135 + int8_t slice_qp_delta; 136 + uint8_t reserved1; 137 + StdVideoH264CabacInitIdc cabac_init_idc; 138 + StdVideoH264DisableDeblockingFilterIdc disable_deblocking_filter_idc; 139 + const StdVideoEncodeH264WeightTable* pWeightTable; 140 + } StdVideoEncodeH264SliceHeader; 141 + 142 + 143 + #ifdef __cplusplus 144 + } 145 + #endif 146 + 147 + #endif
+446
src/video/khronos/vk_video/vulkan_video_codec_h265std.h
··· 1 + #ifndef VULKAN_VIDEO_CODEC_H265STD_H_ 2 + #define VULKAN_VIDEO_CODEC_H265STD_H_ 1 3 + 4 + /* 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 + ** 7 + ** SPDX-License-Identifier: Apache-2.0 8 + */ 9 + 10 + /* 11 + ** This header is generated from the Khronos Vulkan XML API Registry. 12 + ** 13 + */ 14 + 15 + 16 + #ifdef __cplusplus 17 + extern "C" { 18 + #endif 19 + 20 + 21 + 22 + // vulkan_video_codec_h265std is a preprocessor guard. Do not pass it to API calls. 23 + #define vulkan_video_codec_h265std 1 24 + #include "vulkan_video_codecs_common.h" 25 + #define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32 26 + #define STD_VIDEO_H265_SUBLAYERS_LIST_SIZE 7 27 + #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6 28 + #define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16 29 + #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6 30 + #define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS 64 31 + #define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS 6 32 + #define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64 33 + #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2 34 + #define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64 35 + #define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6 36 + #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19 37 + #define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21 38 + #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3 39 + #define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128 40 + #define STD_VIDEO_H265_MAX_NUM_LIST_REF 15 41 + #define STD_VIDEO_H265_MAX_CHROMA_PLANES 2 42 + #define STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS 64 43 + #define STD_VIDEO_H265_MAX_DPB_SIZE 16 44 + #define STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS 32 45 + #define STD_VIDEO_H265_MAX_LONG_TERM_PICS 16 46 + #define STD_VIDEO_H265_MAX_DELTA_POC 48 47 + #define STD_VIDEO_H265_NO_REFERENCE_PICTURE 0xFF 48 + 49 + typedef enum StdVideoH265ChromaFormatIdc { 50 + STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0, 51 + STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1, 52 + STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2, 53 + STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3, 54 + STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF, 55 + STD_VIDEO_H265_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF 56 + } StdVideoH265ChromaFormatIdc; 57 + 58 + typedef enum StdVideoH265ProfileIdc { 59 + STD_VIDEO_H265_PROFILE_IDC_MAIN = 1, 60 + STD_VIDEO_H265_PROFILE_IDC_MAIN_10 = 2, 61 + STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE = 3, 62 + STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4, 63 + STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9, 64 + STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF, 65 + STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF 66 + } StdVideoH265ProfileIdc; 67 + 68 + typedef enum StdVideoH265LevelIdc { 69 + STD_VIDEO_H265_LEVEL_IDC_1_0 = 0, 70 + STD_VIDEO_H265_LEVEL_IDC_2_0 = 1, 71 + STD_VIDEO_H265_LEVEL_IDC_2_1 = 2, 72 + STD_VIDEO_H265_LEVEL_IDC_3_0 = 3, 73 + STD_VIDEO_H265_LEVEL_IDC_3_1 = 4, 74 + STD_VIDEO_H265_LEVEL_IDC_4_0 = 5, 75 + STD_VIDEO_H265_LEVEL_IDC_4_1 = 6, 76 + STD_VIDEO_H265_LEVEL_IDC_5_0 = 7, 77 + STD_VIDEO_H265_LEVEL_IDC_5_1 = 8, 78 + STD_VIDEO_H265_LEVEL_IDC_5_2 = 9, 79 + STD_VIDEO_H265_LEVEL_IDC_6_0 = 10, 80 + STD_VIDEO_H265_LEVEL_IDC_6_1 = 11, 81 + STD_VIDEO_H265_LEVEL_IDC_6_2 = 12, 82 + STD_VIDEO_H265_LEVEL_IDC_INVALID = 0x7FFFFFFF, 83 + STD_VIDEO_H265_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF 84 + } StdVideoH265LevelIdc; 85 + 86 + typedef enum StdVideoH265SliceType { 87 + STD_VIDEO_H265_SLICE_TYPE_B = 0, 88 + STD_VIDEO_H265_SLICE_TYPE_P = 1, 89 + STD_VIDEO_H265_SLICE_TYPE_I = 2, 90 + STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF, 91 + STD_VIDEO_H265_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF 92 + } StdVideoH265SliceType; 93 + 94 + typedef enum StdVideoH265PictureType { 95 + STD_VIDEO_H265_PICTURE_TYPE_P = 0, 96 + STD_VIDEO_H265_PICTURE_TYPE_B = 1, 97 + STD_VIDEO_H265_PICTURE_TYPE_I = 2, 98 + STD_VIDEO_H265_PICTURE_TYPE_IDR = 3, 99 + STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF, 100 + STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 101 + } StdVideoH265PictureType; 102 + 103 + typedef enum StdVideoH265AspectRatioIdc { 104 + STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED = 0, 105 + STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE = 1, 106 + STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11 = 2, 107 + STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11 = 3, 108 + STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11 = 4, 109 + STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33 = 5, 110 + STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11 = 6, 111 + STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11 = 7, 112 + STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11 = 8, 113 + STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33 = 9, 114 + STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11 = 10, 115 + STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11 = 11, 116 + STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33 = 12, 117 + STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99 = 13, 118 + STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3 = 14, 119 + STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2 = 15, 120 + STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1 = 16, 121 + STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR = 255, 122 + STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF, 123 + STD_VIDEO_H265_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF 124 + } StdVideoH265AspectRatioIdc; 125 + typedef struct StdVideoH265DecPicBufMgr { 126 + uint32_t max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 127 + uint8_t max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 128 + uint8_t max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 129 + } StdVideoH265DecPicBufMgr; 130 + 131 + typedef struct StdVideoH265SubLayerHrdParameters { 132 + uint32_t bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; 133 + uint32_t cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; 134 + uint32_t cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; 135 + uint32_t bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE]; 136 + uint32_t cbr_flag; 137 + } StdVideoH265SubLayerHrdParameters; 138 + 139 + typedef struct StdVideoH265HrdFlags { 140 + uint32_t nal_hrd_parameters_present_flag : 1; 141 + uint32_t vcl_hrd_parameters_present_flag : 1; 142 + uint32_t sub_pic_hrd_params_present_flag : 1; 143 + uint32_t sub_pic_cpb_params_in_pic_timing_sei_flag : 1; 144 + uint32_t fixed_pic_rate_general_flag : 8; 145 + uint32_t fixed_pic_rate_within_cvs_flag : 8; 146 + uint32_t low_delay_hrd_flag : 8; 147 + } StdVideoH265HrdFlags; 148 + 149 + typedef struct StdVideoH265HrdParameters { 150 + StdVideoH265HrdFlags flags; 151 + uint8_t tick_divisor_minus2; 152 + uint8_t du_cpb_removal_delay_increment_length_minus1; 153 + uint8_t dpb_output_delay_du_length_minus1; 154 + uint8_t bit_rate_scale; 155 + uint8_t cpb_size_scale; 156 + uint8_t cpb_size_du_scale; 157 + uint8_t initial_cpb_removal_delay_length_minus1; 158 + uint8_t au_cpb_removal_delay_length_minus1; 159 + uint8_t dpb_output_delay_length_minus1; 160 + uint8_t cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 161 + uint16_t elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE]; 162 + uint16_t reserved[3]; 163 + const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal; 164 + const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl; 165 + } StdVideoH265HrdParameters; 166 + 167 + typedef struct StdVideoH265VpsFlags { 168 + uint32_t vps_temporal_id_nesting_flag : 1; 169 + uint32_t vps_sub_layer_ordering_info_present_flag : 1; 170 + uint32_t vps_timing_info_present_flag : 1; 171 + uint32_t vps_poc_proportional_to_timing_flag : 1; 172 + } StdVideoH265VpsFlags; 173 + 174 + typedef struct StdVideoH265ProfileTierLevelFlags { 175 + uint32_t general_tier_flag : 1; 176 + uint32_t general_progressive_source_flag : 1; 177 + uint32_t general_interlaced_source_flag : 1; 178 + uint32_t general_non_packed_constraint_flag : 1; 179 + uint32_t general_frame_only_constraint_flag : 1; 180 + } StdVideoH265ProfileTierLevelFlags; 181 + 182 + typedef struct StdVideoH265ProfileTierLevel { 183 + StdVideoH265ProfileTierLevelFlags flags; 184 + StdVideoH265ProfileIdc general_profile_idc; 185 + StdVideoH265LevelIdc general_level_idc; 186 + } StdVideoH265ProfileTierLevel; 187 + 188 + typedef struct StdVideoH265VideoParameterSet { 189 + StdVideoH265VpsFlags flags; 190 + uint8_t vps_video_parameter_set_id; 191 + uint8_t vps_max_sub_layers_minus1; 192 + uint8_t reserved1; 193 + uint8_t reserved2; 194 + uint32_t vps_num_units_in_tick; 195 + uint32_t vps_time_scale; 196 + uint32_t vps_num_ticks_poc_diff_one_minus1; 197 + uint32_t reserved3; 198 + const StdVideoH265DecPicBufMgr* pDecPicBufMgr; 199 + const StdVideoH265HrdParameters* pHrdParameters; 200 + const StdVideoH265ProfileTierLevel* pProfileTierLevel; 201 + } StdVideoH265VideoParameterSet; 202 + 203 + typedef struct StdVideoH265ScalingLists { 204 + uint8_t ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS]; 205 + uint8_t ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS]; 206 + uint8_t ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS]; 207 + uint8_t ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS]; 208 + uint8_t ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS]; 209 + uint8_t ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS]; 210 + } StdVideoH265ScalingLists; 211 + 212 + typedef struct StdVideoH265SpsVuiFlags { 213 + uint32_t aspect_ratio_info_present_flag : 1; 214 + uint32_t overscan_info_present_flag : 1; 215 + uint32_t overscan_appropriate_flag : 1; 216 + uint32_t video_signal_type_present_flag : 1; 217 + uint32_t video_full_range_flag : 1; 218 + uint32_t colour_description_present_flag : 1; 219 + uint32_t chroma_loc_info_present_flag : 1; 220 + uint32_t neutral_chroma_indication_flag : 1; 221 + uint32_t field_seq_flag : 1; 222 + uint32_t frame_field_info_present_flag : 1; 223 + uint32_t default_display_window_flag : 1; 224 + uint32_t vui_timing_info_present_flag : 1; 225 + uint32_t vui_poc_proportional_to_timing_flag : 1; 226 + uint32_t vui_hrd_parameters_present_flag : 1; 227 + uint32_t bitstream_restriction_flag : 1; 228 + uint32_t tiles_fixed_structure_flag : 1; 229 + uint32_t motion_vectors_over_pic_boundaries_flag : 1; 230 + uint32_t restricted_ref_pic_lists_flag : 1; 231 + } StdVideoH265SpsVuiFlags; 232 + 233 + typedef struct StdVideoH265SequenceParameterSetVui { 234 + StdVideoH265SpsVuiFlags flags; 235 + StdVideoH265AspectRatioIdc aspect_ratio_idc; 236 + uint16_t sar_width; 237 + uint16_t sar_height; 238 + uint8_t video_format; 239 + uint8_t colour_primaries; 240 + uint8_t transfer_characteristics; 241 + uint8_t matrix_coeffs; 242 + uint8_t chroma_sample_loc_type_top_field; 243 + uint8_t chroma_sample_loc_type_bottom_field; 244 + uint8_t reserved1; 245 + uint8_t reserved2; 246 + uint16_t def_disp_win_left_offset; 247 + uint16_t def_disp_win_right_offset; 248 + uint16_t def_disp_win_top_offset; 249 + uint16_t def_disp_win_bottom_offset; 250 + uint32_t vui_num_units_in_tick; 251 + uint32_t vui_time_scale; 252 + uint32_t vui_num_ticks_poc_diff_one_minus1; 253 + uint16_t min_spatial_segmentation_idc; 254 + uint16_t reserved3; 255 + uint8_t max_bytes_per_pic_denom; 256 + uint8_t max_bits_per_min_cu_denom; 257 + uint8_t log2_max_mv_length_horizontal; 258 + uint8_t log2_max_mv_length_vertical; 259 + const StdVideoH265HrdParameters* pHrdParameters; 260 + } StdVideoH265SequenceParameterSetVui; 261 + 262 + typedef struct StdVideoH265PredictorPaletteEntries { 263 + uint16_t PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE]; 264 + } StdVideoH265PredictorPaletteEntries; 265 + 266 + typedef struct StdVideoH265SpsFlags { 267 + uint32_t sps_temporal_id_nesting_flag : 1; 268 + uint32_t separate_colour_plane_flag : 1; 269 + uint32_t conformance_window_flag : 1; 270 + uint32_t sps_sub_layer_ordering_info_present_flag : 1; 271 + uint32_t scaling_list_enabled_flag : 1; 272 + uint32_t sps_scaling_list_data_present_flag : 1; 273 + uint32_t amp_enabled_flag : 1; 274 + uint32_t sample_adaptive_offset_enabled_flag : 1; 275 + uint32_t pcm_enabled_flag : 1; 276 + uint32_t pcm_loop_filter_disabled_flag : 1; 277 + uint32_t long_term_ref_pics_present_flag : 1; 278 + uint32_t sps_temporal_mvp_enabled_flag : 1; 279 + uint32_t strong_intra_smoothing_enabled_flag : 1; 280 + uint32_t vui_parameters_present_flag : 1; 281 + uint32_t sps_extension_present_flag : 1; 282 + uint32_t sps_range_extension_flag : 1; 283 + uint32_t transform_skip_rotation_enabled_flag : 1; 284 + uint32_t transform_skip_context_enabled_flag : 1; 285 + uint32_t implicit_rdpcm_enabled_flag : 1; 286 + uint32_t explicit_rdpcm_enabled_flag : 1; 287 + uint32_t extended_precision_processing_flag : 1; 288 + uint32_t intra_smoothing_disabled_flag : 1; 289 + uint32_t high_precision_offsets_enabled_flag : 1; 290 + uint32_t persistent_rice_adaptation_enabled_flag : 1; 291 + uint32_t cabac_bypass_alignment_enabled_flag : 1; 292 + uint32_t sps_scc_extension_flag : 1; 293 + uint32_t sps_curr_pic_ref_enabled_flag : 1; 294 + uint32_t palette_mode_enabled_flag : 1; 295 + uint32_t sps_palette_predictor_initializers_present_flag : 1; 296 + uint32_t intra_boundary_filtering_disabled_flag : 1; 297 + } StdVideoH265SpsFlags; 298 + 299 + typedef struct StdVideoH265ShortTermRefPicSetFlags { 300 + uint32_t inter_ref_pic_set_prediction_flag : 1; 301 + uint32_t delta_rps_sign : 1; 302 + } StdVideoH265ShortTermRefPicSetFlags; 303 + 304 + typedef struct StdVideoH265ShortTermRefPicSet { 305 + StdVideoH265ShortTermRefPicSetFlags flags; 306 + uint32_t delta_idx_minus1; 307 + uint16_t use_delta_flag; 308 + uint16_t abs_delta_rps_minus1; 309 + uint16_t used_by_curr_pic_flag; 310 + uint16_t used_by_curr_pic_s0_flag; 311 + uint16_t used_by_curr_pic_s1_flag; 312 + uint16_t reserved1; 313 + uint8_t reserved2; 314 + uint8_t reserved3; 315 + uint8_t num_negative_pics; 316 + uint8_t num_positive_pics; 317 + uint16_t delta_poc_s0_minus1[STD_VIDEO_H265_MAX_DPB_SIZE]; 318 + uint16_t delta_poc_s1_minus1[STD_VIDEO_H265_MAX_DPB_SIZE]; 319 + } StdVideoH265ShortTermRefPicSet; 320 + 321 + typedef struct StdVideoH265LongTermRefPicsSps { 322 + uint32_t used_by_curr_pic_lt_sps_flag; 323 + uint32_t lt_ref_pic_poc_lsb_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS]; 324 + } StdVideoH265LongTermRefPicsSps; 325 + 326 + typedef struct StdVideoH265SequenceParameterSet { 327 + StdVideoH265SpsFlags flags; 328 + StdVideoH265ChromaFormatIdc chroma_format_idc; 329 + uint32_t pic_width_in_luma_samples; 330 + uint32_t pic_height_in_luma_samples; 331 + uint8_t sps_video_parameter_set_id; 332 + uint8_t sps_max_sub_layers_minus1; 333 + uint8_t sps_seq_parameter_set_id; 334 + uint8_t bit_depth_luma_minus8; 335 + uint8_t bit_depth_chroma_minus8; 336 + uint8_t log2_max_pic_order_cnt_lsb_minus4; 337 + uint8_t log2_min_luma_coding_block_size_minus3; 338 + uint8_t log2_diff_max_min_luma_coding_block_size; 339 + uint8_t log2_min_luma_transform_block_size_minus2; 340 + uint8_t log2_diff_max_min_luma_transform_block_size; 341 + uint8_t max_transform_hierarchy_depth_inter; 342 + uint8_t max_transform_hierarchy_depth_intra; 343 + uint8_t num_short_term_ref_pic_sets; 344 + uint8_t num_long_term_ref_pics_sps; 345 + uint8_t pcm_sample_bit_depth_luma_minus1; 346 + uint8_t pcm_sample_bit_depth_chroma_minus1; 347 + uint8_t log2_min_pcm_luma_coding_block_size_minus3; 348 + uint8_t log2_diff_max_min_pcm_luma_coding_block_size; 349 + uint8_t reserved1; 350 + uint8_t reserved2; 351 + uint8_t palette_max_size; 352 + uint8_t delta_palette_max_predictor_size; 353 + uint8_t motion_vector_resolution_control_idc; 354 + uint8_t sps_num_palette_predictor_initializers_minus1; 355 + uint32_t conf_win_left_offset; 356 + uint32_t conf_win_right_offset; 357 + uint32_t conf_win_top_offset; 358 + uint32_t conf_win_bottom_offset; 359 + const StdVideoH265ProfileTierLevel* pProfileTierLevel; 360 + const StdVideoH265DecPicBufMgr* pDecPicBufMgr; 361 + const StdVideoH265ScalingLists* pScalingLists; 362 + const StdVideoH265ShortTermRefPicSet* pShortTermRefPicSet; 363 + const StdVideoH265LongTermRefPicsSps* pLongTermRefPicsSps; 364 + const StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui; 365 + const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; 366 + } StdVideoH265SequenceParameterSet; 367 + 368 + typedef struct StdVideoH265PpsFlags { 369 + uint32_t dependent_slice_segments_enabled_flag : 1; 370 + uint32_t output_flag_present_flag : 1; 371 + uint32_t sign_data_hiding_enabled_flag : 1; 372 + uint32_t cabac_init_present_flag : 1; 373 + uint32_t constrained_intra_pred_flag : 1; 374 + uint32_t transform_skip_enabled_flag : 1; 375 + uint32_t cu_qp_delta_enabled_flag : 1; 376 + uint32_t pps_slice_chroma_qp_offsets_present_flag : 1; 377 + uint32_t weighted_pred_flag : 1; 378 + uint32_t weighted_bipred_flag : 1; 379 + uint32_t transquant_bypass_enabled_flag : 1; 380 + uint32_t tiles_enabled_flag : 1; 381 + uint32_t entropy_coding_sync_enabled_flag : 1; 382 + uint32_t uniform_spacing_flag : 1; 383 + uint32_t loop_filter_across_tiles_enabled_flag : 1; 384 + uint32_t pps_loop_filter_across_slices_enabled_flag : 1; 385 + uint32_t deblocking_filter_control_present_flag : 1; 386 + uint32_t deblocking_filter_override_enabled_flag : 1; 387 + uint32_t pps_deblocking_filter_disabled_flag : 1; 388 + uint32_t pps_scaling_list_data_present_flag : 1; 389 + uint32_t lists_modification_present_flag : 1; 390 + uint32_t slice_segment_header_extension_present_flag : 1; 391 + uint32_t pps_extension_present_flag : 1; 392 + uint32_t cross_component_prediction_enabled_flag : 1; 393 + uint32_t chroma_qp_offset_list_enabled_flag : 1; 394 + uint32_t pps_curr_pic_ref_enabled_flag : 1; 395 + uint32_t residual_adaptive_colour_transform_enabled_flag : 1; 396 + uint32_t pps_slice_act_qp_offsets_present_flag : 1; 397 + uint32_t pps_palette_predictor_initializers_present_flag : 1; 398 + uint32_t monochrome_palette_flag : 1; 399 + uint32_t pps_range_extension_flag : 1; 400 + } StdVideoH265PpsFlags; 401 + 402 + typedef struct StdVideoH265PictureParameterSet { 403 + StdVideoH265PpsFlags flags; 404 + uint8_t pps_pic_parameter_set_id; 405 + uint8_t pps_seq_parameter_set_id; 406 + uint8_t sps_video_parameter_set_id; 407 + uint8_t num_extra_slice_header_bits; 408 + uint8_t num_ref_idx_l0_default_active_minus1; 409 + uint8_t num_ref_idx_l1_default_active_minus1; 410 + int8_t init_qp_minus26; 411 + uint8_t diff_cu_qp_delta_depth; 412 + int8_t pps_cb_qp_offset; 413 + int8_t pps_cr_qp_offset; 414 + int8_t pps_beta_offset_div2; 415 + int8_t pps_tc_offset_div2; 416 + uint8_t log2_parallel_merge_level_minus2; 417 + uint8_t log2_max_transform_skip_block_size_minus2; 418 + uint8_t diff_cu_chroma_qp_offset_depth; 419 + uint8_t chroma_qp_offset_list_len_minus1; 420 + int8_t cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; 421 + int8_t cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE]; 422 + uint8_t log2_sao_offset_scale_luma; 423 + uint8_t log2_sao_offset_scale_chroma; 424 + int8_t pps_act_y_qp_offset_plus5; 425 + int8_t pps_act_cb_qp_offset_plus5; 426 + int8_t pps_act_cr_qp_offset_plus3; 427 + uint8_t pps_num_palette_predictor_initializers; 428 + uint8_t luma_bit_depth_entry_minus8; 429 + uint8_t chroma_bit_depth_entry_minus8; 430 + uint8_t num_tile_columns_minus1; 431 + uint8_t num_tile_rows_minus1; 432 + uint8_t reserved1; 433 + uint8_t reserved2; 434 + uint16_t column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE]; 435 + uint16_t row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE]; 436 + uint32_t reserved3; 437 + const StdVideoH265ScalingLists* pScalingLists; 438 + const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries; 439 + } StdVideoH265PictureParameterSet; 440 + 441 + 442 + #ifdef __cplusplus 443 + } 444 + #endif 445 + 446 + #endif
+67
src/video/khronos/vk_video/vulkan_video_codec_h265std_decode.h
··· 1 + #ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 2 + #define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1 3 + 4 + /* 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 + ** 7 + ** SPDX-License-Identifier: Apache-2.0 8 + */ 9 + 10 + /* 11 + ** This header is generated from the Khronos Vulkan XML API Registry. 12 + ** 13 + */ 14 + 15 + 16 + #ifdef __cplusplus 17 + extern "C" { 18 + #endif 19 + 20 + 21 + 22 + // vulkan_video_codec_h265std_decode is a preprocessor guard. Do not pass it to API calls. 23 + #define vulkan_video_codec_h265std_decode 1 24 + #include "vulkan_video_codec_h265std.h" 25 + 26 + #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) 27 + 28 + #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 29 + #define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode" 30 + #define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8 31 + typedef struct StdVideoDecodeH265PictureInfoFlags { 32 + uint32_t IrapPicFlag : 1; 33 + uint32_t IdrPicFlag : 1; 34 + uint32_t IsReference : 1; 35 + uint32_t short_term_ref_pic_set_sps_flag : 1; 36 + } StdVideoDecodeH265PictureInfoFlags; 37 + 38 + typedef struct StdVideoDecodeH265PictureInfo { 39 + StdVideoDecodeH265PictureInfoFlags flags; 40 + uint8_t sps_video_parameter_set_id; 41 + uint8_t pps_seq_parameter_set_id; 42 + uint8_t pps_pic_parameter_set_id; 43 + uint8_t NumDeltaPocsOfRefRpsIdx; 44 + int32_t PicOrderCntVal; 45 + uint16_t NumBitsForSTRefPicSetInSlice; 46 + uint16_t reserved; 47 + uint8_t RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; 48 + uint8_t RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; 49 + uint8_t RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE]; 50 + } StdVideoDecodeH265PictureInfo; 51 + 52 + typedef struct StdVideoDecodeH265ReferenceInfoFlags { 53 + uint32_t used_for_long_term_reference : 1; 54 + uint32_t unused_for_reference : 1; 55 + } StdVideoDecodeH265ReferenceInfoFlags; 56 + 57 + typedef struct StdVideoDecodeH265ReferenceInfo { 58 + StdVideoDecodeH265ReferenceInfoFlags flags; 59 + int32_t PicOrderCntVal; 60 + } StdVideoDecodeH265ReferenceInfo; 61 + 62 + 63 + #ifdef __cplusplus 64 + } 65 + #endif 66 + 67 + #endif
+157
src/video/khronos/vk_video/vulkan_video_codec_h265std_encode.h
··· 1 + #ifndef VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_ 2 + #define VULKAN_VIDEO_CODEC_H265STD_ENCODE_H_ 1 3 + 4 + /* 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 + ** 7 + ** SPDX-License-Identifier: Apache-2.0 8 + */ 9 + 10 + /* 11 + ** This header is generated from the Khronos Vulkan XML API Registry. 12 + ** 13 + */ 14 + 15 + 16 + #ifdef __cplusplus 17 + extern "C" { 18 + #endif 19 + 20 + 21 + 22 + // vulkan_video_codec_h265std_encode is a preprocessor guard. Do not pass it to API calls. 23 + #define vulkan_video_codec_h265std_encode 1 24 + #include "vulkan_video_codec_h265std.h" 25 + 26 + #define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0) 27 + 28 + #define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_API_VERSION_1_0_0 29 + #define VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_encode" 30 + typedef struct StdVideoEncodeH265WeightTableFlags { 31 + uint16_t luma_weight_l0_flag; 32 + uint16_t chroma_weight_l0_flag; 33 + uint16_t luma_weight_l1_flag; 34 + uint16_t chroma_weight_l1_flag; 35 + } StdVideoEncodeH265WeightTableFlags; 36 + 37 + typedef struct StdVideoEncodeH265WeightTable { 38 + StdVideoEncodeH265WeightTableFlags flags; 39 + uint8_t luma_log2_weight_denom; 40 + int8_t delta_chroma_log2_weight_denom; 41 + int8_t delta_luma_weight_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF]; 42 + int8_t luma_offset_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF]; 43 + int8_t delta_chroma_weight_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES]; 44 + int8_t delta_chroma_offset_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES]; 45 + int8_t delta_luma_weight_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF]; 46 + int8_t luma_offset_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF]; 47 + int8_t delta_chroma_weight_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES]; 48 + int8_t delta_chroma_offset_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF][STD_VIDEO_H265_MAX_CHROMA_PLANES]; 49 + } StdVideoEncodeH265WeightTable; 50 + 51 + typedef struct StdVideoEncodeH265SliceSegmentHeaderFlags { 52 + uint32_t first_slice_segment_in_pic_flag : 1; 53 + uint32_t dependent_slice_segment_flag : 1; 54 + uint32_t slice_sao_luma_flag : 1; 55 + uint32_t slice_sao_chroma_flag : 1; 56 + uint32_t num_ref_idx_active_override_flag : 1; 57 + uint32_t mvd_l1_zero_flag : 1; 58 + uint32_t cabac_init_flag : 1; 59 + uint32_t cu_chroma_qp_offset_enabled_flag : 1; 60 + uint32_t deblocking_filter_override_flag : 1; 61 + uint32_t slice_deblocking_filter_disabled_flag : 1; 62 + uint32_t collocated_from_l0_flag : 1; 63 + uint32_t slice_loop_filter_across_slices_enabled_flag : 1; 64 + uint32_t reserved : 20; 65 + } StdVideoEncodeH265SliceSegmentHeaderFlags; 66 + 67 + typedef struct StdVideoEncodeH265SliceSegmentHeader { 68 + StdVideoEncodeH265SliceSegmentHeaderFlags flags; 69 + StdVideoH265SliceType slice_type; 70 + uint32_t slice_segment_address; 71 + uint8_t collocated_ref_idx; 72 + uint8_t MaxNumMergeCand; 73 + int8_t slice_cb_qp_offset; 74 + int8_t slice_cr_qp_offset; 75 + int8_t slice_beta_offset_div2; 76 + int8_t slice_tc_offset_div2; 77 + int8_t slice_act_y_qp_offset; 78 + int8_t slice_act_cb_qp_offset; 79 + int8_t slice_act_cr_qp_offset; 80 + int8_t slice_qp_delta; 81 + uint16_t reserved1; 82 + const StdVideoEncodeH265WeightTable* pWeightTable; 83 + } StdVideoEncodeH265SliceSegmentHeader; 84 + 85 + typedef struct StdVideoEncodeH265ReferenceListsInfoFlags { 86 + uint32_t ref_pic_list_modification_flag_l0 : 1; 87 + uint32_t ref_pic_list_modification_flag_l1 : 1; 88 + uint32_t reserved : 30; 89 + } StdVideoEncodeH265ReferenceListsInfoFlags; 90 + 91 + typedef struct StdVideoEncodeH265ReferenceListsInfo { 92 + StdVideoEncodeH265ReferenceListsInfoFlags flags; 93 + uint8_t num_ref_idx_l0_active_minus1; 94 + uint8_t num_ref_idx_l1_active_minus1; 95 + uint8_t RefPicList0[STD_VIDEO_H265_MAX_NUM_LIST_REF]; 96 + uint8_t RefPicList1[STD_VIDEO_H265_MAX_NUM_LIST_REF]; 97 + uint8_t list_entry_l0[STD_VIDEO_H265_MAX_NUM_LIST_REF]; 98 + uint8_t list_entry_l1[STD_VIDEO_H265_MAX_NUM_LIST_REF]; 99 + } StdVideoEncodeH265ReferenceListsInfo; 100 + 101 + typedef struct StdVideoEncodeH265PictureInfoFlags { 102 + uint32_t is_reference : 1; 103 + uint32_t IrapPicFlag : 1; 104 + uint32_t used_for_long_term_reference : 1; 105 + uint32_t discardable_flag : 1; 106 + uint32_t cross_layer_bla_flag : 1; 107 + uint32_t pic_output_flag : 1; 108 + uint32_t no_output_of_prior_pics_flag : 1; 109 + uint32_t short_term_ref_pic_set_sps_flag : 1; 110 + uint32_t slice_temporal_mvp_enabled_flag : 1; 111 + uint32_t reserved : 23; 112 + } StdVideoEncodeH265PictureInfoFlags; 113 + 114 + typedef struct StdVideoEncodeH265LongTermRefPics { 115 + uint8_t num_long_term_sps; 116 + uint8_t num_long_term_pics; 117 + uint8_t lt_idx_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS]; 118 + uint8_t poc_lsb_lt[STD_VIDEO_H265_MAX_LONG_TERM_PICS]; 119 + uint16_t used_by_curr_pic_lt_flag; 120 + uint8_t delta_poc_msb_present_flag[STD_VIDEO_H265_MAX_DELTA_POC]; 121 + uint8_t delta_poc_msb_cycle_lt[STD_VIDEO_H265_MAX_DELTA_POC]; 122 + } StdVideoEncodeH265LongTermRefPics; 123 + 124 + typedef struct StdVideoEncodeH265PictureInfo { 125 + StdVideoEncodeH265PictureInfoFlags flags; 126 + StdVideoH265PictureType pic_type; 127 + uint8_t sps_video_parameter_set_id; 128 + uint8_t pps_seq_parameter_set_id; 129 + uint8_t pps_pic_parameter_set_id; 130 + uint8_t short_term_ref_pic_set_idx; 131 + int32_t PicOrderCntVal; 132 + uint8_t TemporalId; 133 + uint8_t reserved1[7]; 134 + const StdVideoEncodeH265ReferenceListsInfo* pRefLists; 135 + const StdVideoH265ShortTermRefPicSet* pShortTermRefPicSet; 136 + const StdVideoEncodeH265LongTermRefPics* pLongTermRefPics; 137 + } StdVideoEncodeH265PictureInfo; 138 + 139 + typedef struct StdVideoEncodeH265ReferenceInfoFlags { 140 + uint32_t used_for_long_term_reference : 1; 141 + uint32_t unused_for_reference : 1; 142 + uint32_t reserved : 30; 143 + } StdVideoEncodeH265ReferenceInfoFlags; 144 + 145 + typedef struct StdVideoEncodeH265ReferenceInfo { 146 + StdVideoEncodeH265ReferenceInfoFlags flags; 147 + StdVideoH265PictureType pic_type; 148 + int32_t PicOrderCntVal; 149 + uint8_t TemporalId; 150 + } StdVideoEncodeH265ReferenceInfo; 151 + 152 + 153 + #ifdef __cplusplus 154 + } 155 + #endif 156 + 157 + #endif
+36
src/video/khronos/vk_video/vulkan_video_codecs_common.h
··· 1 + #ifndef VULKAN_VIDEO_CODECS_COMMON_H_ 2 + #define VULKAN_VIDEO_CODECS_COMMON_H_ 1 3 + 4 + /* 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 + ** 7 + ** SPDX-License-Identifier: Apache-2.0 8 + */ 9 + 10 + /* 11 + ** This header is generated from the Khronos Vulkan XML API Registry. 12 + ** 13 + */ 14 + 15 + 16 + #ifdef __cplusplus 17 + extern "C" { 18 + #endif 19 + 20 + 21 + 22 + // vulkan_video_codecs_common is a preprocessor guard. Do not pass it to API calls. 23 + #define vulkan_video_codecs_common 1 24 + #if !defined(VK_NO_STDINT_H) 25 + #include <stdint.h> 26 + #endif 27 + 28 + #define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \ 29 + ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) 30 + 31 + 32 + #ifdef __cplusplus 33 + } 34 + #endif 35 + 36 + #endif
+22 -23
src/video/khronos/vulkan/vk_icd.h
··· 1 - // 2 - // File: vk_icd.h 3 - // 4 1 /* 5 - * Copyright (c) 2015-2016 The Khronos Group Inc. 6 - * Copyright (c) 2015-2016 Valve Corporation 7 - * Copyright (c) 2015-2016 LunarG, Inc. 2 + * Copyright 2015-2023 The Khronos Group Inc. 3 + * Copyright 2015-2023 Valve Corporation 4 + * Copyright 2015-2023 LunarG, Inc. 8 5 * 9 - * Licensed under the Apache License, Version 2.0 (the "License"); 10 - * you may not use this file except in compliance with the License. 11 - * You may obtain a copy of the License at 12 - * 13 - * http://www.apache.org/licenses/LICENSE-2.0 14 - * 15 - * Unless required by applicable law or agreed to in writing, software 16 - * distributed under the License is distributed on an "AS IS" BASIS, 17 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 - * See the License for the specific language governing permissions and 19 - * limitations under the License. 20 - * 6 + * SPDX-License-Identifier: Apache-2.0 21 7 */ 22 - 23 - #ifndef VKICD_H 24 - #define VKICD_H 8 + #pragma once 25 9 26 10 #include "vulkan.h" 27 11 #include <stdbool.h> ··· 42 26 // call for any API version > 1.0. Otherwise, the loader will 43 27 // manually determine if it can support the expected version. 44 28 // Version 6 - Add support for vk_icdEnumerateAdapterPhysicalDevices. 45 - #define CURRENT_LOADER_ICD_INTERFACE_VERSION 6 29 + // Version 7 - If an ICD supports any of the following functions, they must be 30 + // queryable with vk_icdGetInstanceProcAddr: 31 + // vk_icdNegotiateLoaderICDInterfaceVersion 32 + // vk_icdGetPhysicalDeviceProcAddr 33 + // vk_icdEnumerateAdapterPhysicalDevices (Windows only) 34 + // In addition, these functions no longer need to be exported directly. 35 + // This version allows drivers provided through the extension 36 + // VK_LUNARG_direct_driver_loading be able to support the entire 37 + // Driver-Loader interface. 38 + 39 + #define CURRENT_LOADER_ICD_INTERFACE_VERSION 7 46 40 #define MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION 0 47 41 #define MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION 4 48 42 ··· 123 117 VK_ICD_WSI_PLATFORM_VI, 124 118 VK_ICD_WSI_PLATFORM_GGP, 125 119 VK_ICD_WSI_PLATFORM_SCREEN, 120 + VK_ICD_WSI_PLATFORM_FUCHSIA, 126 121 } VkIcdWsiPlatform; 127 122 128 123 typedef struct { ··· 242 237 } VkIcdSurfaceScreen; 243 238 #endif // VK_USE_PLATFORM_SCREEN_QNX 244 239 245 - #endif // VKICD_H 240 + #ifdef VK_USE_PLATFORM_FUCHSIA 241 + typedef struct { 242 + VkIcdSurfaceBase base; 243 + } VkIcdSurfaceImagePipe; 244 + #endif // VK_USE_PLATFORM_FUCHSIA
+6 -27
src/video/khronos/vulkan/vk_layer.h
··· 1 - // 2 - // File: vk_layer.h 3 - // 4 1 /* 5 - * Copyright (c) 2015-2017 The Khronos Group Inc. 6 - * Copyright (c) 2015-2017 Valve Corporation 7 - * Copyright (c) 2015-2017 LunarG, Inc. 2 + * Copyright 2015-2023 The Khronos Group Inc. 3 + * Copyright 2015-2023 Valve Corporation 4 + * Copyright 2015-2023 LunarG, Inc. 8 5 * 9 - * Licensed under the Apache License, Version 2.0 (the "License"); 10 - * you may not use this file except in compliance with the License. 11 - * You may obtain a copy of the License at 12 - * 13 - * http://www.apache.org/licenses/LICENSE-2.0 14 - * 15 - * Unless required by applicable law or agreed to in writing, software 16 - * distributed under the License is distributed on an "AS IS" BASIS, 17 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 - * See the License for the specific language governing permissions and 19 - * limitations under the License. 20 - * 6 + * SPDX-License-Identifier: Apache-2.0 21 7 */ 8 + #pragma once 22 9 23 10 /* Need to define dispatch table 24 11 * Core struct can then have ptr to dispatch table at the top 25 12 * Along with object ptrs for current and next OBJ 26 13 */ 27 - #pragma once 28 14 29 - #include "vulkan.h" 30 - #if defined(__GNUC__) && __GNUC__ >= 4 31 - #define VK_LAYER_EXPORT __attribute__((visibility("default"))) 32 - #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590) 33 - #define VK_LAYER_EXPORT __attribute__((visibility("default"))) 34 - #else 35 - #define VK_LAYER_EXPORT 36 - #endif 15 + #include "vulkan_core.h" 37 16 38 17 #define MAX_NUM_UNKNOWN_EXTS 250 39 18
+1 -1
src/video/khronos/vulkan/vk_platform.h
··· 2 2 // File: vk_platform.h 3 3 // 4 4 /* 5 - ** Copyright 2014-2022 The Khronos Group Inc. 5 + ** Copyright 2014-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */
+9 -2
src/video/khronos/vulkan/vulkan.h
··· 2 2 #define VULKAN_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 38 38 39 39 40 40 #ifdef VK_USE_PLATFORM_WAYLAND_KHR 41 - #include <wayland-client.h> 42 41 #include "vulkan_wayland.h" 43 42 #endif 44 43 ··· 84 83 #include <screen/screen.h> 85 84 #include "vulkan_screen.h" 86 85 #endif 86 + 87 + 88 + #ifdef VK_USE_PLATFORM_SCI 89 + #include <nvscisync.h> 90 + #include <nvscibuf.h> 91 + #include "vulkan_sci.h" 92 + #endif 93 + 87 94 88 95 #ifdef VK_ENABLE_BETA_EXTENSIONS 89 96 #include "vulkan_beta.h"
+29 -1
src/video/khronos/vulkan/vulkan_android.h
··· 2 2 #define VULKAN_ANDROID_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_KHR_android_surface is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_KHR_android_surface 1 23 24 struct ANativeWindow; 24 25 #define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6 ··· 42 43 #endif 43 44 44 45 46 + // VK_ANDROID_external_memory_android_hardware_buffer is a preprocessor guard. Do not pass it to API calls. 45 47 #define VK_ANDROID_external_memory_android_hardware_buffer 1 46 48 struct AHardwareBuffer; 47 49 #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 5 ··· 117 119 const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, 118 120 struct AHardwareBuffer** pBuffer); 119 121 #endif 122 + 123 + 124 + // VK_ANDROID_external_format_resolve is a preprocessor guard. Do not pass it to API calls. 125 + #define VK_ANDROID_external_format_resolve 1 126 + #define VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_SPEC_VERSION 1 127 + #define VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_EXTENSION_NAME "VK_ANDROID_external_format_resolve" 128 + typedef struct VkPhysicalDeviceExternalFormatResolveFeaturesANDROID { 129 + VkStructureType sType; 130 + void* pNext; 131 + VkBool32 externalFormatResolve; 132 + } VkPhysicalDeviceExternalFormatResolveFeaturesANDROID; 133 + 134 + typedef struct VkPhysicalDeviceExternalFormatResolvePropertiesANDROID { 135 + VkStructureType sType; 136 + void* pNext; 137 + VkBool32 nullColorAttachmentWithExternalFormatResolve; 138 + VkChromaLocation externalFormatResolveChromaOffsetX; 139 + VkChromaLocation externalFormatResolveChromaOffsetY; 140 + } VkPhysicalDeviceExternalFormatResolvePropertiesANDROID; 141 + 142 + typedef struct VkAndroidHardwareBufferFormatResolvePropertiesANDROID { 143 + VkStructureType sType; 144 + void* pNext; 145 + VkFormat colorAttachmentFormat; 146 + } VkAndroidHardwareBufferFormatResolvePropertiesANDROID; 147 + 120 148 121 149 #ifdef __cplusplus 122 150 }
+134 -938
src/video/khronos/vulkan/vulkan_beta.h
··· 2 2 #define VULKAN_BETA_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 - #define VK_KHR_video_queue 1 23 - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) 24 - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) 25 - #define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 5 26 - #define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue" 27 - 28 - typedef enum VkQueryResultStatusKHR { 29 - VK_QUERY_RESULT_STATUS_ERROR_KHR = -1, 30 - VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0, 31 - VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1, 32 - VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF 33 - } VkQueryResultStatusKHR; 34 - 35 - typedef enum VkVideoCodecOperationFlagBitsKHR { 36 - VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0, 37 - #ifdef VK_ENABLE_BETA_EXTENSIONS 38 - VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT = 0x00010000, 39 - #endif 40 - #ifdef VK_ENABLE_BETA_EXTENSIONS 41 - VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT = 0x00020000, 42 - #endif 43 - #ifdef VK_ENABLE_BETA_EXTENSIONS 44 - VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT = 0x00000001, 45 - #endif 46 - #ifdef VK_ENABLE_BETA_EXTENSIONS 47 - VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT = 0x00000002, 48 - #endif 49 - VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 50 - } VkVideoCodecOperationFlagBitsKHR; 51 - typedef VkFlags VkVideoCodecOperationFlagsKHR; 52 - 53 - typedef enum VkVideoChromaSubsamplingFlagBitsKHR { 54 - VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0, 55 - VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001, 56 - VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002, 57 - VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004, 58 - VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008, 59 - VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 60 - } VkVideoChromaSubsamplingFlagBitsKHR; 61 - typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; 62 - 63 - typedef enum VkVideoComponentBitDepthFlagBitsKHR { 64 - VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0, 65 - VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001, 66 - VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004, 67 - VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010, 68 - VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 69 - } VkVideoComponentBitDepthFlagBitsKHR; 70 - typedef VkFlags VkVideoComponentBitDepthFlagsKHR; 71 - 72 - typedef enum VkVideoCapabilityFlagBitsKHR { 73 - VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 74 - VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002, 75 - VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 76 - } VkVideoCapabilityFlagBitsKHR; 77 - typedef VkFlags VkVideoCapabilityFlagsKHR; 78 - 79 - typedef enum VkVideoSessionCreateFlagBitsKHR { 80 - VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 81 - VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 82 - } VkVideoSessionCreateFlagBitsKHR; 83 - typedef VkFlags VkVideoSessionCreateFlagsKHR; 84 - typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; 85 - typedef VkFlags VkVideoBeginCodingFlagsKHR; 86 - typedef VkFlags VkVideoEndCodingFlagsKHR; 87 - 88 - typedef enum VkVideoCodingControlFlagBitsKHR { 89 - VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001, 90 - #ifdef VK_ENABLE_BETA_EXTENSIONS 91 - VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002, 92 - #endif 93 - #ifdef VK_ENABLE_BETA_EXTENSIONS 94 - VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_LAYER_BIT_KHR = 0x00000004, 95 - #endif 96 - VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 97 - } VkVideoCodingControlFlagBitsKHR; 98 - typedef VkFlags VkVideoCodingControlFlagsKHR; 99 - typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR { 100 - VkStructureType sType; 101 - void* pNext; 102 - VkBool32 queryResultStatusSupport; 103 - } VkQueueFamilyQueryResultStatusPropertiesKHR; 104 - 105 - typedef struct VkQueueFamilyVideoPropertiesKHR { 106 - VkStructureType sType; 107 - void* pNext; 108 - VkVideoCodecOperationFlagsKHR videoCodecOperations; 109 - } VkQueueFamilyVideoPropertiesKHR; 110 - 111 - typedef struct VkVideoProfileInfoKHR { 112 - VkStructureType sType; 113 - const void* pNext; 114 - VkVideoCodecOperationFlagBitsKHR videoCodecOperation; 115 - VkVideoChromaSubsamplingFlagsKHR chromaSubsampling; 116 - VkVideoComponentBitDepthFlagsKHR lumaBitDepth; 117 - VkVideoComponentBitDepthFlagsKHR chromaBitDepth; 118 - } VkVideoProfileInfoKHR; 119 - 120 - typedef struct VkVideoProfileListInfoKHR { 121 - VkStructureType sType; 122 - const void* pNext; 123 - uint32_t profileCount; 124 - const VkVideoProfileInfoKHR* pProfiles; 125 - } VkVideoProfileListInfoKHR; 126 - 127 - typedef struct VkVideoCapabilitiesKHR { 128 - VkStructureType sType; 129 - void* pNext; 130 - VkVideoCapabilityFlagsKHR capabilityFlags; 131 - VkDeviceSize minBitstreamBufferOffsetAlignment; 132 - VkDeviceSize minBitstreamBufferSizeAlignment; 133 - VkExtent2D videoPictureExtentGranularity; 134 - VkExtent2D minExtent; 135 - VkExtent2D maxExtent; 136 - uint32_t maxReferencePicturesSlotsCount; 137 - uint32_t maxReferencePicturesActiveCount; 138 - VkExtensionProperties stdHeaderVersion; 139 - } VkVideoCapabilitiesKHR; 140 - 141 - typedef struct VkPhysicalDeviceVideoFormatInfoKHR { 142 - VkStructureType sType; 143 - const void* pNext; 144 - VkImageUsageFlags imageUsage; 145 - } VkPhysicalDeviceVideoFormatInfoKHR; 146 - 147 - typedef struct VkVideoFormatPropertiesKHR { 148 - VkStructureType sType; 149 - void* pNext; 150 - VkFormat format; 151 - VkComponentMapping componentMapping; 152 - VkImageCreateFlags imageCreateFlags; 153 - VkImageType imageType; 154 - VkImageTiling imageTiling; 155 - VkImageUsageFlags imageUsageFlags; 156 - } VkVideoFormatPropertiesKHR; 157 - 158 - typedef struct VkVideoPictureResourceInfoKHR { 159 - VkStructureType sType; 160 - const void* pNext; 161 - VkOffset2D codedOffset; 162 - VkExtent2D codedExtent; 163 - uint32_t baseArrayLayer; 164 - VkImageView imageViewBinding; 165 - } VkVideoPictureResourceInfoKHR; 166 - 167 - typedef struct VkVideoReferenceSlotInfoKHR { 168 - VkStructureType sType; 169 - const void* pNext; 170 - int8_t slotIndex; 171 - const VkVideoPictureResourceInfoKHR* pPictureResource; 172 - } VkVideoReferenceSlotInfoKHR; 173 - 174 - typedef struct VkVideoSessionMemoryRequirementsKHR { 175 - VkStructureType sType; 176 - void* pNext; 177 - uint32_t memoryBindIndex; 178 - VkMemoryRequirements memoryRequirements; 179 - } VkVideoSessionMemoryRequirementsKHR; 180 - 181 - typedef struct VkBindVideoSessionMemoryInfoKHR { 182 - VkStructureType sType; 183 - const void* pNext; 184 - uint32_t memoryBindIndex; 185 - VkDeviceMemory memory; 186 - VkDeviceSize memoryOffset; 187 - VkDeviceSize memorySize; 188 - } VkBindVideoSessionMemoryInfoKHR; 189 - 190 - typedef struct VkVideoSessionCreateInfoKHR { 191 - VkStructureType sType; 192 - const void* pNext; 193 - uint32_t queueFamilyIndex; 194 - VkVideoSessionCreateFlagsKHR flags; 195 - const VkVideoProfileInfoKHR* pVideoProfile; 196 - VkFormat pictureFormat; 197 - VkExtent2D maxCodedExtent; 198 - VkFormat referencePicturesFormat; 199 - uint32_t maxReferencePicturesSlotsCount; 200 - uint32_t maxReferencePicturesActiveCount; 201 - const VkExtensionProperties* pStdHeaderVersion; 202 - } VkVideoSessionCreateInfoKHR; 203 - 204 - typedef struct VkVideoSessionParametersCreateInfoKHR { 205 - VkStructureType sType; 206 - const void* pNext; 207 - VkVideoSessionParametersCreateFlagsKHR flags; 208 - VkVideoSessionParametersKHR videoSessionParametersTemplate; 209 - VkVideoSessionKHR videoSession; 210 - } VkVideoSessionParametersCreateInfoKHR; 211 - 212 - typedef struct VkVideoSessionParametersUpdateInfoKHR { 213 - VkStructureType sType; 214 - const void* pNext; 215 - uint32_t updateSequenceCount; 216 - } VkVideoSessionParametersUpdateInfoKHR; 217 - 218 - typedef struct VkVideoBeginCodingInfoKHR { 219 - VkStructureType sType; 220 - const void* pNext; 221 - VkVideoBeginCodingFlagsKHR flags; 222 - VkVideoSessionKHR videoSession; 223 - VkVideoSessionParametersKHR videoSessionParameters; 224 - uint32_t referenceSlotCount; 225 - const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 226 - } VkVideoBeginCodingInfoKHR; 227 - 228 - typedef struct VkVideoEndCodingInfoKHR { 229 - VkStructureType sType; 230 - const void* pNext; 231 - VkVideoEndCodingFlagsKHR flags; 232 - } VkVideoEndCodingInfoKHR; 233 - 234 - typedef struct VkVideoCodingControlInfoKHR { 235 - VkStructureType sType; 236 - const void* pNext; 237 - VkVideoCodingControlFlagsKHR flags; 238 - } VkVideoCodingControlInfoKHR; 239 - 240 - typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities); 241 - typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties); 242 - typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession); 243 - typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator); 244 - typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 245 - typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 246 - typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters); 247 - typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 248 - typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator); 249 - typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo); 250 - typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo); 251 - typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo); 252 - 253 - #ifndef VK_NO_PROTOTYPES 254 - VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR( 255 - VkPhysicalDevice physicalDevice, 256 - const VkVideoProfileInfoKHR* pVideoProfile, 257 - VkVideoCapabilitiesKHR* pCapabilities); 258 - 259 - VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR( 260 - VkPhysicalDevice physicalDevice, 261 - const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, 262 - uint32_t* pVideoFormatPropertyCount, 263 - VkVideoFormatPropertiesKHR* pVideoFormatProperties); 264 - 265 - VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR( 266 - VkDevice device, 267 - const VkVideoSessionCreateInfoKHR* pCreateInfo, 268 - const VkAllocationCallbacks* pAllocator, 269 - VkVideoSessionKHR* pVideoSession); 270 - 271 - VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR( 272 - VkDevice device, 273 - VkVideoSessionKHR videoSession, 274 - const VkAllocationCallbacks* pAllocator); 275 - 276 - VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR( 277 - VkDevice device, 278 - VkVideoSessionKHR videoSession, 279 - uint32_t* pMemoryRequirementsCount, 280 - VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 281 - 282 - VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR( 283 - VkDevice device, 284 - VkVideoSessionKHR videoSession, 285 - uint32_t bindSessionMemoryInfoCount, 286 - const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 287 - 288 - VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR( 289 - VkDevice device, 290 - const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, 291 - const VkAllocationCallbacks* pAllocator, 292 - VkVideoSessionParametersKHR* pVideoSessionParameters); 293 - 294 - VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR( 295 - VkDevice device, 296 - VkVideoSessionParametersKHR videoSessionParameters, 297 - const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 298 - 299 - VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR( 300 - VkDevice device, 301 - VkVideoSessionParametersKHR videoSessionParameters, 302 - const VkAllocationCallbacks* pAllocator); 303 - 304 - VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR( 305 - VkCommandBuffer commandBuffer, 306 - const VkVideoBeginCodingInfoKHR* pBeginInfo); 307 - 308 - VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR( 309 - VkCommandBuffer commandBuffer, 310 - const VkVideoEndCodingInfoKHR* pEndCodingInfo); 311 - 312 - VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR( 313 - VkCommandBuffer commandBuffer, 314 - const VkVideoCodingControlInfoKHR* pCodingControlInfo); 315 - #endif 316 - 317 - 318 - #define VK_KHR_video_decode_queue 1 319 - #define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 6 320 - #define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue" 321 - 322 - typedef enum VkVideoDecodeCapabilityFlagBitsKHR { 323 - VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001, 324 - VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002, 325 - VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 326 - } VkVideoDecodeCapabilityFlagBitsKHR; 327 - typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; 328 - 329 - typedef enum VkVideoDecodeUsageFlagBitsKHR { 330 - VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0, 331 - VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 332 - VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0x00000002, 333 - VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0x00000004, 334 - VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 335 - } VkVideoDecodeUsageFlagBitsKHR; 336 - typedef VkFlags VkVideoDecodeUsageFlagsKHR; 337 - typedef VkFlags VkVideoDecodeFlagsKHR; 338 - typedef struct VkVideoDecodeCapabilitiesKHR { 339 - VkStructureType sType; 340 - void* pNext; 341 - VkVideoDecodeCapabilityFlagsKHR flags; 342 - } VkVideoDecodeCapabilitiesKHR; 343 - 344 - typedef struct VkVideoDecodeUsageInfoKHR { 345 - VkStructureType sType; 346 - const void* pNext; 347 - VkVideoDecodeUsageFlagsKHR videoUsageHints; 348 - } VkVideoDecodeUsageInfoKHR; 349 - 350 - typedef struct VkVideoDecodeInfoKHR { 351 - VkStructureType sType; 352 - const void* pNext; 353 - VkVideoDecodeFlagsKHR flags; 354 - VkBuffer srcBuffer; 355 - VkDeviceSize srcBufferOffset; 356 - VkDeviceSize srcBufferRange; 357 - VkVideoPictureResourceInfoKHR dstPictureResource; 358 - const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 359 - uint32_t referenceSlotCount; 360 - const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 361 - } VkVideoDecodeInfoKHR; 362 - 363 - typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo); 364 - 365 - #ifndef VK_NO_PROTOTYPES 366 - VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR( 367 - VkCommandBuffer commandBuffer, 368 - const VkVideoDecodeInfoKHR* pFrameInfo); 369 - #endif 370 - 371 - 22 + // VK_KHR_portability_subset is a preprocessor guard. Do not pass it to API calls. 372 23 #define VK_KHR_portability_subset 1 373 24 #define VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION 1 374 25 #define VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME "VK_KHR_portability_subset" ··· 400 51 401 52 402 53 403 - #define VK_KHR_video_encode_queue 1 404 - #define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 7 405 - #define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue" 406 - 407 - typedef enum VkVideoEncodeTuningModeKHR { 408 - VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0, 409 - VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1, 410 - VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2, 411 - VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3, 412 - VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4, 413 - VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 414 - } VkVideoEncodeTuningModeKHR; 415 - typedef VkFlags VkVideoEncodeFlagsKHR; 416 - 417 - typedef enum VkVideoEncodeCapabilityFlagBitsKHR { 418 - VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001, 419 - VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 420 - } VkVideoEncodeCapabilityFlagBitsKHR; 421 - typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; 422 - 423 - typedef enum VkVideoEncodeRateControlModeFlagBitsKHR { 424 - VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR = 0, 425 - VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 1, 426 - VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 2, 427 - VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 428 - } VkVideoEncodeRateControlModeFlagBitsKHR; 429 - typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; 430 - 431 - typedef enum VkVideoEncodeUsageFlagBitsKHR { 432 - VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR = 0, 433 - VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 434 - VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 0x00000002, 435 - VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 0x00000004, 436 - VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 0x00000008, 437 - VK_VIDEO_ENCODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 438 - } VkVideoEncodeUsageFlagBitsKHR; 439 - typedef VkFlags VkVideoEncodeUsageFlagsKHR; 440 - 441 - typedef enum VkVideoEncodeContentFlagBitsKHR { 442 - VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR = 0, 443 - VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 0x00000001, 444 - VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 0x00000002, 445 - VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 0x00000004, 446 - VK_VIDEO_ENCODE_CONTENT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 447 - } VkVideoEncodeContentFlagBitsKHR; 448 - typedef VkFlags VkVideoEncodeContentFlagsKHR; 449 - typedef VkFlags VkVideoEncodeRateControlFlagsKHR; 450 - typedef struct VkVideoEncodeInfoKHR { 451 - VkStructureType sType; 452 - const void* pNext; 453 - VkVideoEncodeFlagsKHR flags; 454 - uint32_t qualityLevel; 455 - VkBuffer dstBitstreamBuffer; 456 - VkDeviceSize dstBitstreamBufferOffset; 457 - VkDeviceSize dstBitstreamBufferMaxRange; 458 - VkVideoPictureResourceInfoKHR srcPictureResource; 459 - const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 460 - uint32_t referenceSlotCount; 461 - const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 462 - uint32_t precedingExternallyEncodedBytes; 463 - } VkVideoEncodeInfoKHR; 464 - 465 - typedef struct VkVideoEncodeCapabilitiesKHR { 466 - VkStructureType sType; 467 - void* pNext; 468 - VkVideoEncodeCapabilityFlagsKHR flags; 469 - VkVideoEncodeRateControlModeFlagsKHR rateControlModes; 470 - uint8_t rateControlLayerCount; 471 - uint8_t qualityLevelCount; 472 - VkExtent2D inputImageDataFillAlignment; 473 - } VkVideoEncodeCapabilitiesKHR; 474 - 475 - typedef struct VkVideoEncodeUsageInfoKHR { 476 - VkStructureType sType; 477 - const void* pNext; 478 - VkVideoEncodeUsageFlagsKHR videoUsageHints; 479 - VkVideoEncodeContentFlagsKHR videoContentHints; 480 - VkVideoEncodeTuningModeKHR tuningMode; 481 - } VkVideoEncodeUsageInfoKHR; 482 - 483 - typedef struct VkVideoEncodeRateControlLayerInfoKHR { 54 + // VK_AMDX_shader_enqueue is a preprocessor guard. Do not pass it to API calls. 55 + #define VK_AMDX_shader_enqueue 1 56 + #define VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION 1 57 + #define VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME "VK_AMDX_shader_enqueue" 58 + #define VK_SHADER_INDEX_UNUSED_AMDX (~0U) 59 + typedef struct VkPhysicalDeviceShaderEnqueueFeaturesAMDX { 484 60 VkStructureType sType; 485 - const void* pNext; 486 - uint32_t averageBitrate; 487 - uint32_t maxBitrate; 488 - uint32_t frameRateNumerator; 489 - uint32_t frameRateDenominator; 490 - uint32_t virtualBufferSizeInMs; 491 - uint32_t initialVirtualBufferSizeInMs; 492 - } VkVideoEncodeRateControlLayerInfoKHR; 493 - 494 - typedef struct VkVideoEncodeRateControlInfoKHR { 495 - VkStructureType sType; 496 - const void* pNext; 497 - VkVideoEncodeRateControlFlagsKHR flags; 498 - VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode; 499 - uint8_t layerCount; 500 - const VkVideoEncodeRateControlLayerInfoKHR* pLayerConfigs; 501 - } VkVideoEncodeRateControlInfoKHR; 502 - 503 - typedef void (VKAPI_PTR *PFN_vkCmdEncodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo); 504 - 505 - #ifndef VK_NO_PROTOTYPES 506 - VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR( 507 - VkCommandBuffer commandBuffer, 508 - const VkVideoEncodeInfoKHR* pEncodeInfo); 509 - #endif 510 - 511 - 512 - #define VK_EXT_video_encode_h264 1 513 - #include "vk_video/vulkan_video_codec_h264std.h" 514 - #include "vk_video/vulkan_video_codec_h264std_encode.h" 515 - #define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 8 516 - #define VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_EXT_video_encode_h264" 517 - 518 - typedef enum VkVideoEncodeH264RateControlStructureEXT { 519 - VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT = 0, 520 - VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_FLAT_EXT = 1, 521 - VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_DYADIC_EXT = 2, 522 - VK_VIDEO_ENCODE_H264_RATE_CONTROL_STRUCTURE_MAX_ENUM_EXT = 0x7FFFFFFF 523 - } VkVideoEncodeH264RateControlStructureEXT; 524 - 525 - typedef enum VkVideoEncodeH264CapabilityFlagBitsEXT { 526 - VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_ENABLED_BIT_EXT = 0x00000001, 527 - VK_VIDEO_ENCODE_H264_CAPABILITY_DIRECT_8X8_INFERENCE_DISABLED_BIT_EXT = 0x00000002, 528 - VK_VIDEO_ENCODE_H264_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT = 0x00000004, 529 - VK_VIDEO_ENCODE_H264_CAPABILITY_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_BIT_EXT = 0x00000008, 530 - VK_VIDEO_ENCODE_H264_CAPABILITY_SCALING_LISTS_BIT_EXT = 0x00000010, 531 - VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_EXT = 0x00000020, 532 - VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT = 0x00000040, 533 - VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT = 0x00000080, 534 - VK_VIDEO_ENCODE_H264_CAPABILITY_PIC_INIT_QP_MINUS26_BIT_EXT = 0x00000100, 535 - VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_BIT_EXT = 0x00000200, 536 - VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_EXPLICIT_BIT_EXT = 0x00000400, 537 - VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BIPRED_IMPLICIT_BIT_EXT = 0x00000800, 538 - VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT = 0x00001000, 539 - VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT = 0x00002000, 540 - VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT = 0x00004000, 541 - VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT = 0x00008000, 542 - VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT = 0x00010000, 543 - VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT = 0x00020000, 544 - VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT = 0x00040000, 545 - VK_VIDEO_ENCODE_H264_CAPABILITY_DISABLE_DIRECT_SPATIAL_MV_PRED_BIT_EXT = 0x00080000, 546 - VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT = 0x00100000, 547 - VK_VIDEO_ENCODE_H264_CAPABILITY_SLICE_MB_COUNT_BIT_EXT = 0x00200000, 548 - VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_EXT = 0x00400000, 549 - VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT = 0x00800000, 550 - VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT = 0x01000000, 551 - VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 552 - } VkVideoEncodeH264CapabilityFlagBitsEXT; 553 - typedef VkFlags VkVideoEncodeH264CapabilityFlagsEXT; 554 - 555 - typedef enum VkVideoEncodeH264InputModeFlagBitsEXT { 556 - VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT = 0x00000001, 557 - VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT = 0x00000002, 558 - VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT = 0x00000004, 559 - VK_VIDEO_ENCODE_H264_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 560 - } VkVideoEncodeH264InputModeFlagBitsEXT; 561 - typedef VkFlags VkVideoEncodeH264InputModeFlagsEXT; 562 - 563 - typedef enum VkVideoEncodeH264OutputModeFlagBitsEXT { 564 - VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT = 0x00000001, 565 - VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT = 0x00000002, 566 - VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT = 0x00000004, 567 - VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 568 - } VkVideoEncodeH264OutputModeFlagBitsEXT; 569 - typedef VkFlags VkVideoEncodeH264OutputModeFlagsEXT; 570 - typedef struct VkVideoEncodeH264CapabilitiesEXT { 571 - VkStructureType sType; 572 - void* pNext; 573 - VkVideoEncodeH264CapabilityFlagsEXT flags; 574 - VkVideoEncodeH264InputModeFlagsEXT inputModeFlags; 575 - VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags; 576 - uint8_t maxPPictureL0ReferenceCount; 577 - uint8_t maxBPictureL0ReferenceCount; 578 - uint8_t maxL1ReferenceCount; 579 - VkBool32 motionVectorsOverPicBoundariesFlag; 580 - uint32_t maxBytesPerPicDenom; 581 - uint32_t maxBitsPerMbDenom; 582 - uint32_t log2MaxMvLengthHorizontal; 583 - uint32_t log2MaxMvLengthVertical; 584 - } VkVideoEncodeH264CapabilitiesEXT; 585 - 586 - typedef struct VkVideoEncodeH264SessionParametersAddInfoEXT { 587 - VkStructureType sType; 588 - const void* pNext; 589 - uint32_t spsStdCount; 590 - const StdVideoH264SequenceParameterSet* pSpsStd; 591 - uint32_t ppsStdCount; 592 - const StdVideoH264PictureParameterSet* pPpsStd; 593 - } VkVideoEncodeH264SessionParametersAddInfoEXT; 594 - 595 - typedef struct VkVideoEncodeH264SessionParametersCreateInfoEXT { 596 - VkStructureType sType; 597 - const void* pNext; 598 - uint32_t maxSpsStdCount; 599 - uint32_t maxPpsStdCount; 600 - const VkVideoEncodeH264SessionParametersAddInfoEXT* pParametersAddInfo; 601 - } VkVideoEncodeH264SessionParametersCreateInfoEXT; 61 + void* pNext; 62 + VkBool32 shaderEnqueue; 63 + } VkPhysicalDeviceShaderEnqueueFeaturesAMDX; 602 64 603 - typedef struct VkVideoEncodeH264DpbSlotInfoEXT { 604 - VkStructureType sType; 605 - const void* pNext; 606 - int8_t slotIndex; 607 - const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo; 608 - } VkVideoEncodeH264DpbSlotInfoEXT; 609 - 610 - typedef struct VkVideoEncodeH264ReferenceListsInfoEXT { 611 - VkStructureType sType; 612 - const void* pNext; 613 - uint8_t referenceList0EntryCount; 614 - const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList0Entries; 615 - uint8_t referenceList1EntryCount; 616 - const VkVideoEncodeH264DpbSlotInfoEXT* pReferenceList1Entries; 617 - const StdVideoEncodeH264RefMemMgmtCtrlOperations* pMemMgmtCtrlOperations; 618 - } VkVideoEncodeH264ReferenceListsInfoEXT; 619 - 620 - typedef struct VkVideoEncodeH264NaluSliceInfoEXT { 621 - VkStructureType sType; 622 - const void* pNext; 623 - uint32_t mbCount; 624 - const VkVideoEncodeH264ReferenceListsInfoEXT* pReferenceFinalLists; 625 - const StdVideoEncodeH264SliceHeader* pSliceHeaderStd; 626 - } VkVideoEncodeH264NaluSliceInfoEXT; 627 - 628 - typedef struct VkVideoEncodeH264VclFrameInfoEXT { 629 - VkStructureType sType; 630 - const void* pNext; 631 - const VkVideoEncodeH264ReferenceListsInfoEXT* pReferenceFinalLists; 632 - uint32_t naluSliceEntryCount; 633 - const VkVideoEncodeH264NaluSliceInfoEXT* pNaluSliceEntries; 634 - const StdVideoEncodeH264PictureInfo* pCurrentPictureInfo; 635 - } VkVideoEncodeH264VclFrameInfoEXT; 636 - 637 - typedef struct VkVideoEncodeH264EmitPictureParametersInfoEXT { 65 + typedef struct VkPhysicalDeviceShaderEnqueuePropertiesAMDX { 638 66 VkStructureType sType; 639 - const void* pNext; 640 - uint8_t spsId; 641 - VkBool32 emitSpsEnable; 642 - uint32_t ppsIdEntryCount; 643 - const uint8_t* ppsIdEntries; 644 - } VkVideoEncodeH264EmitPictureParametersInfoEXT; 645 - 646 - typedef struct VkVideoEncodeH264ProfileInfoEXT { 647 - VkStructureType sType; 648 - const void* pNext; 649 - StdVideoH264ProfileIdc stdProfileIdc; 650 - } VkVideoEncodeH264ProfileInfoEXT; 651 - 652 - typedef struct VkVideoEncodeH264RateControlInfoEXT { 653 - VkStructureType sType; 654 - const void* pNext; 655 - uint32_t gopFrameCount; 656 - uint32_t idrPeriod; 657 - uint32_t consecutiveBFrameCount; 658 - VkVideoEncodeH264RateControlStructureEXT rateControlStructure; 659 - uint8_t temporalLayerCount; 660 - } VkVideoEncodeH264RateControlInfoEXT; 661 - 662 - typedef struct VkVideoEncodeH264QpEXT { 663 - int32_t qpI; 664 - int32_t qpP; 665 - int32_t qpB; 666 - } VkVideoEncodeH264QpEXT; 667 - 668 - typedef struct VkVideoEncodeH264FrameSizeEXT { 669 - uint32_t frameISize; 670 - uint32_t framePSize; 671 - uint32_t frameBSize; 672 - } VkVideoEncodeH264FrameSizeEXT; 673 - 674 - typedef struct VkVideoEncodeH264RateControlLayerInfoEXT { 675 - VkStructureType sType; 676 - const void* pNext; 677 - uint8_t temporalLayerId; 678 - VkBool32 useInitialRcQp; 679 - VkVideoEncodeH264QpEXT initialRcQp; 680 - VkBool32 useMinQp; 681 - VkVideoEncodeH264QpEXT minQp; 682 - VkBool32 useMaxQp; 683 - VkVideoEncodeH264QpEXT maxQp; 684 - VkBool32 useMaxFrameSize; 685 - VkVideoEncodeH264FrameSizeEXT maxFrameSize; 686 - } VkVideoEncodeH264RateControlLayerInfoEXT; 687 - 688 - 689 - 690 - #define VK_EXT_video_encode_h265 1 691 - #include "vk_video/vulkan_video_codec_h265std.h" 692 - #include "vk_video/vulkan_video_codec_h265std_encode.h" 693 - #define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 8 694 - #define VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_EXT_video_encode_h265" 695 - 696 - typedef enum VkVideoEncodeH265RateControlStructureEXT { 697 - VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_UNKNOWN_EXT = 0, 698 - VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_FLAT_EXT = 1, 699 - VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_DYADIC_EXT = 2, 700 - VK_VIDEO_ENCODE_H265_RATE_CONTROL_STRUCTURE_MAX_ENUM_EXT = 0x7FFFFFFF 701 - } VkVideoEncodeH265RateControlStructureEXT; 702 - 703 - typedef enum VkVideoEncodeH265CapabilityFlagBitsEXT { 704 - VK_VIDEO_ENCODE_H265_CAPABILITY_SEPARATE_COLOUR_PLANE_BIT_EXT = 0x00000001, 705 - VK_VIDEO_ENCODE_H265_CAPABILITY_SCALING_LISTS_BIT_EXT = 0x00000002, 706 - VK_VIDEO_ENCODE_H265_CAPABILITY_SAMPLE_ADAPTIVE_OFFSET_ENABLED_BIT_EXT = 0x00000004, 707 - VK_VIDEO_ENCODE_H265_CAPABILITY_PCM_ENABLE_BIT_EXT = 0x00000008, 708 - VK_VIDEO_ENCODE_H265_CAPABILITY_SPS_TEMPORAL_MVP_ENABLED_BIT_EXT = 0x00000010, 709 - VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_EXT = 0x00000020, 710 - VK_VIDEO_ENCODE_H265_CAPABILITY_INIT_QP_MINUS26_BIT_EXT = 0x00000040, 711 - VK_VIDEO_ENCODE_H265_CAPABILITY_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_EXT = 0x00000080, 712 - VK_VIDEO_ENCODE_H265_CAPABILITY_SIGN_DATA_HIDING_ENABLED_BIT_EXT = 0x00000100, 713 - VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_ENABLED_BIT_EXT = 0x00000200, 714 - VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSFORM_SKIP_DISABLED_BIT_EXT = 0x00000400, 715 - VK_VIDEO_ENCODE_H265_CAPABILITY_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_BIT_EXT = 0x00000800, 716 - VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_BIT_EXT = 0x00001000, 717 - VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_BIPRED_BIT_EXT = 0x00002000, 718 - VK_VIDEO_ENCODE_H265_CAPABILITY_WEIGHTED_PRED_NO_TABLE_BIT_EXT = 0x00004000, 719 - VK_VIDEO_ENCODE_H265_CAPABILITY_TRANSQUANT_BYPASS_ENABLED_BIT_EXT = 0x00008000, 720 - VK_VIDEO_ENCODE_H265_CAPABILITY_ENTROPY_CODING_SYNC_ENABLED_BIT_EXT = 0x00010000, 721 - VK_VIDEO_ENCODE_H265_CAPABILITY_DEBLOCKING_FILTER_OVERRIDE_ENABLED_BIT_EXT = 0x00020000, 722 - VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_FRAME_BIT_EXT = 0x00040000, 723 - VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_PER_TILE_BIT_EXT = 0x00080000, 724 - VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILE_PER_SLICE_BIT_EXT = 0x00100000, 725 - VK_VIDEO_ENCODE_H265_CAPABILITY_SLICE_SEGMENT_CTB_COUNT_BIT_EXT = 0x00200000, 726 - VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_EXT = 0x00400000, 727 - VK_VIDEO_ENCODE_H265_CAPABILITY_DEPENDENT_SLICE_SEGMENT_BIT_EXT = 0x00800000, 728 - VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_EXT = 0x01000000, 729 - VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_EXT = 0x02000000, 730 - VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 731 - } VkVideoEncodeH265CapabilityFlagBitsEXT; 732 - typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT; 733 - 734 - typedef enum VkVideoEncodeH265InputModeFlagBitsEXT { 735 - VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT = 0x00000001, 736 - VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_SEGMENT_BIT_EXT = 0x00000002, 737 - VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT = 0x00000004, 738 - VK_VIDEO_ENCODE_H265_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 739 - } VkVideoEncodeH265InputModeFlagBitsEXT; 740 - typedef VkFlags VkVideoEncodeH265InputModeFlagsEXT; 741 - 742 - typedef enum VkVideoEncodeH265OutputModeFlagBitsEXT { 743 - VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT = 0x00000001, 744 - VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_SEGMENT_BIT_EXT = 0x00000002, 745 - VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT = 0x00000004, 746 - VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 747 - } VkVideoEncodeH265OutputModeFlagBitsEXT; 748 - typedef VkFlags VkVideoEncodeH265OutputModeFlagsEXT; 749 - 750 - typedef enum VkVideoEncodeH265CtbSizeFlagBitsEXT { 751 - VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT = 0x00000001, 752 - VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT = 0x00000002, 753 - VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT = 0x00000004, 754 - VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 755 - } VkVideoEncodeH265CtbSizeFlagBitsEXT; 756 - typedef VkFlags VkVideoEncodeH265CtbSizeFlagsEXT; 757 - 758 - typedef enum VkVideoEncodeH265TransformBlockSizeFlagBitsEXT { 759 - VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_EXT = 0x00000001, 760 - VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_EXT = 0x00000002, 761 - VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_EXT = 0x00000004, 762 - VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_EXT = 0x00000008, 763 - VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 764 - } VkVideoEncodeH265TransformBlockSizeFlagBitsEXT; 765 - typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsEXT; 766 - typedef struct VkVideoEncodeH265CapabilitiesEXT { 767 - VkStructureType sType; 768 - void* pNext; 769 - VkVideoEncodeH265CapabilityFlagsEXT flags; 770 - VkVideoEncodeH265InputModeFlagsEXT inputModeFlags; 771 - VkVideoEncodeH265OutputModeFlagsEXT outputModeFlags; 772 - VkVideoEncodeH265CtbSizeFlagsEXT ctbSizes; 773 - VkVideoEncodeH265TransformBlockSizeFlagsEXT transformBlockSizes; 774 - uint8_t maxPPictureL0ReferenceCount; 775 - uint8_t maxBPictureL0ReferenceCount; 776 - uint8_t maxL1ReferenceCount; 777 - uint8_t maxSubLayersCount; 778 - uint8_t minLog2MinLumaCodingBlockSizeMinus3; 779 - uint8_t maxLog2MinLumaCodingBlockSizeMinus3; 780 - uint8_t minLog2MinLumaTransformBlockSizeMinus2; 781 - uint8_t maxLog2MinLumaTransformBlockSizeMinus2; 782 - uint8_t minMaxTransformHierarchyDepthInter; 783 - uint8_t maxMaxTransformHierarchyDepthInter; 784 - uint8_t minMaxTransformHierarchyDepthIntra; 785 - uint8_t maxMaxTransformHierarchyDepthIntra; 786 - uint8_t maxDiffCuQpDeltaDepth; 787 - uint8_t minMaxNumMergeCand; 788 - uint8_t maxMaxNumMergeCand; 789 - } VkVideoEncodeH265CapabilitiesEXT; 67 + void* pNext; 68 + uint32_t maxExecutionGraphDepth; 69 + uint32_t maxExecutionGraphShaderOutputNodes; 70 + uint32_t maxExecutionGraphShaderPayloadSize; 71 + uint32_t maxExecutionGraphShaderPayloadCount; 72 + uint32_t executionGraphDispatchAddressAlignment; 73 + } VkPhysicalDeviceShaderEnqueuePropertiesAMDX; 790 74 791 - typedef struct VkVideoEncodeH265SessionParametersAddInfoEXT { 792 - VkStructureType sType; 793 - const void* pNext; 794 - uint32_t vpsStdCount; 795 - const StdVideoH265VideoParameterSet* pVpsStd; 796 - uint32_t spsStdCount; 797 - const StdVideoH265SequenceParameterSet* pSpsStd; 798 - uint32_t ppsStdCount; 799 - const StdVideoH265PictureParameterSet* pPpsStd; 800 - } VkVideoEncodeH265SessionParametersAddInfoEXT; 75 + typedef struct VkExecutionGraphPipelineScratchSizeAMDX { 76 + VkStructureType sType; 77 + void* pNext; 78 + VkDeviceSize size; 79 + } VkExecutionGraphPipelineScratchSizeAMDX; 801 80 802 - typedef struct VkVideoEncodeH265SessionParametersCreateInfoEXT { 803 - VkStructureType sType; 804 - const void* pNext; 805 - uint32_t maxVpsStdCount; 806 - uint32_t maxSpsStdCount; 807 - uint32_t maxPpsStdCount; 808 - const VkVideoEncodeH265SessionParametersAddInfoEXT* pParametersAddInfo; 809 - } VkVideoEncodeH265SessionParametersCreateInfoEXT; 810 - 811 - typedef struct VkVideoEncodeH265DpbSlotInfoEXT { 81 + typedef struct VkExecutionGraphPipelineCreateInfoAMDX { 812 82 VkStructureType sType; 813 83 const void* pNext; 814 - int8_t slotIndex; 815 - const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo; 816 - } VkVideoEncodeH265DpbSlotInfoEXT; 817 - 818 - typedef struct VkVideoEncodeH265ReferenceListsInfoEXT { 819 - VkStructureType sType; 820 - const void* pNext; 821 - uint8_t referenceList0EntryCount; 822 - const VkVideoEncodeH265DpbSlotInfoEXT* pReferenceList0Entries; 823 - uint8_t referenceList1EntryCount; 824 - const VkVideoEncodeH265DpbSlotInfoEXT* pReferenceList1Entries; 825 - const StdVideoEncodeH265ReferenceModifications* pReferenceModifications; 826 - } VkVideoEncodeH265ReferenceListsInfoEXT; 827 - 828 - typedef struct VkVideoEncodeH265NaluSliceSegmentInfoEXT { 829 - VkStructureType sType; 830 - const void* pNext; 831 - uint32_t ctbCount; 832 - const VkVideoEncodeH265ReferenceListsInfoEXT* pReferenceFinalLists; 833 - const StdVideoEncodeH265SliceSegmentHeader* pSliceSegmentHeaderStd; 834 - } VkVideoEncodeH265NaluSliceSegmentInfoEXT; 835 - 836 - typedef struct VkVideoEncodeH265VclFrameInfoEXT { 837 - VkStructureType sType; 838 - const void* pNext; 839 - const VkVideoEncodeH265ReferenceListsInfoEXT* pReferenceFinalLists; 840 - uint32_t naluSliceSegmentEntryCount; 841 - const VkVideoEncodeH265NaluSliceSegmentInfoEXT* pNaluSliceSegmentEntries; 842 - const StdVideoEncodeH265PictureInfo* pCurrentPictureInfo; 843 - } VkVideoEncodeH265VclFrameInfoEXT; 844 - 845 - typedef struct VkVideoEncodeH265EmitPictureParametersInfoEXT { 846 - VkStructureType sType; 847 - const void* pNext; 848 - uint8_t vpsId; 849 - uint8_t spsId; 850 - VkBool32 emitVpsEnable; 851 - VkBool32 emitSpsEnable; 852 - uint32_t ppsIdEntryCount; 853 - const uint8_t* ppsIdEntries; 854 - } VkVideoEncodeH265EmitPictureParametersInfoEXT; 855 - 856 - typedef struct VkVideoEncodeH265ProfileInfoEXT { 857 - VkStructureType sType; 858 - const void* pNext; 859 - StdVideoH265ProfileIdc stdProfileIdc; 860 - } VkVideoEncodeH265ProfileInfoEXT; 861 - 862 - typedef struct VkVideoEncodeH265RateControlInfoEXT { 863 - VkStructureType sType; 864 - const void* pNext; 865 - uint32_t gopFrameCount; 866 - uint32_t idrPeriod; 867 - uint32_t consecutiveBFrameCount; 868 - VkVideoEncodeH265RateControlStructureEXT rateControlStructure; 869 - uint8_t subLayerCount; 870 - } VkVideoEncodeH265RateControlInfoEXT; 871 - 872 - typedef struct VkVideoEncodeH265QpEXT { 873 - int32_t qpI; 874 - int32_t qpP; 875 - int32_t qpB; 876 - } VkVideoEncodeH265QpEXT; 877 - 878 - typedef struct VkVideoEncodeH265FrameSizeEXT { 879 - uint32_t frameISize; 880 - uint32_t framePSize; 881 - uint32_t frameBSize; 882 - } VkVideoEncodeH265FrameSizeEXT; 883 - 884 - typedef struct VkVideoEncodeH265RateControlLayerInfoEXT { 885 - VkStructureType sType; 886 - const void* pNext; 887 - uint8_t temporalId; 888 - VkBool32 useInitialRcQp; 889 - VkVideoEncodeH265QpEXT initialRcQp; 890 - VkBool32 useMinQp; 891 - VkVideoEncodeH265QpEXT minQp; 892 - VkBool32 useMaxQp; 893 - VkVideoEncodeH265QpEXT maxQp; 894 - VkBool32 useMaxFrameSize; 895 - VkVideoEncodeH265FrameSizeEXT maxFrameSize; 896 - } VkVideoEncodeH265RateControlLayerInfoEXT; 897 - 84 + VkPipelineCreateFlags flags; 85 + uint32_t stageCount; 86 + const VkPipelineShaderStageCreateInfo* pStages; 87 + const VkPipelineLibraryCreateInfoKHR* pLibraryInfo; 88 + VkPipelineLayout layout; 89 + VkPipeline basePipelineHandle; 90 + int32_t basePipelineIndex; 91 + } VkExecutionGraphPipelineCreateInfoAMDX; 898 92 93 + typedef union VkDeviceOrHostAddressConstAMDX { 94 + VkDeviceAddress deviceAddress; 95 + const void* hostAddress; 96 + } VkDeviceOrHostAddressConstAMDX; 899 97 900 - #define VK_EXT_video_decode_h264 1 901 - #include "vk_video/vulkan_video_codec_h264std_decode.h" 902 - #define VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION 6 903 - #define VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME "VK_EXT_video_decode_h264" 98 + typedef struct VkDispatchGraphInfoAMDX { 99 + uint32_t nodeIndex; 100 + uint32_t payloadCount; 101 + VkDeviceOrHostAddressConstAMDX payloads; 102 + uint64_t payloadStride; 103 + } VkDispatchGraphInfoAMDX; 904 104 905 - typedef enum VkVideoDecodeH264PictureLayoutFlagBitsEXT { 906 - VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_EXT = 0, 907 - VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_EXT = 0x00000001, 908 - VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_EXT = 0x00000002, 909 - VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 910 - } VkVideoDecodeH264PictureLayoutFlagBitsEXT; 911 - typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsEXT; 912 - typedef struct VkVideoDecodeH264ProfileInfoEXT { 913 - VkStructureType sType; 914 - const void* pNext; 915 - StdVideoH264ProfileIdc stdProfileIdc; 916 - VkVideoDecodeH264PictureLayoutFlagsEXT pictureLayout; 917 - } VkVideoDecodeH264ProfileInfoEXT; 105 + typedef struct VkDispatchGraphCountInfoAMDX { 106 + uint32_t count; 107 + VkDeviceOrHostAddressConstAMDX infos; 108 + uint64_t stride; 109 + } VkDispatchGraphCountInfoAMDX; 918 110 919 - typedef struct VkVideoDecodeH264CapabilitiesEXT { 920 - VkStructureType sType; 921 - void* pNext; 922 - StdVideoH264Level maxLevel; 923 - VkOffset2D fieldOffsetGranularity; 924 - } VkVideoDecodeH264CapabilitiesEXT; 111 + typedef struct VkPipelineShaderStageNodeCreateInfoAMDX { 112 + VkStructureType sType; 113 + const void* pNext; 114 + const char* pName; 115 + uint32_t index; 116 + } VkPipelineShaderStageNodeCreateInfoAMDX; 925 117 926 - typedef struct VkVideoDecodeH264SessionParametersAddInfoEXT { 927 - VkStructureType sType; 928 - const void* pNext; 929 - uint32_t spsStdCount; 930 - const StdVideoH264SequenceParameterSet* pSpsStd; 931 - uint32_t ppsStdCount; 932 - const StdVideoH264PictureParameterSet* pPpsStd; 933 - } VkVideoDecodeH264SessionParametersAddInfoEXT; 118 + typedef VkResult (VKAPI_PTR *PFN_vkCreateExecutionGraphPipelinesAMDX)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines); 119 + typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineScratchSizeAMDX)(VkDevice device, VkPipeline executionGraph, VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo); 120 + typedef VkResult (VKAPI_PTR *PFN_vkGetExecutionGraphPipelineNodeIndexAMDX)(VkDevice device, VkPipeline executionGraph, const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo, uint32_t* pNodeIndex); 121 + typedef void (VKAPI_PTR *PFN_vkCmdInitializeGraphScratchMemoryAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch); 122 + typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, const VkDispatchGraphCountInfoAMDX* pCountInfo); 123 + typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, const VkDispatchGraphCountInfoAMDX* pCountInfo); 124 + typedef void (VKAPI_PTR *PFN_vkCmdDispatchGraphIndirectCountAMDX)(VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceAddress countInfo); 934 125 935 - typedef struct VkVideoDecodeH264SessionParametersCreateInfoEXT { 936 - VkStructureType sType; 937 - const void* pNext; 938 - uint32_t maxSpsStdCount; 939 - uint32_t maxPpsStdCount; 940 - const VkVideoDecodeH264SessionParametersAddInfoEXT* pParametersAddInfo; 941 - } VkVideoDecodeH264SessionParametersCreateInfoEXT; 126 + #ifndef VK_NO_PROTOTYPES 127 + VKAPI_ATTR VkResult VKAPI_CALL vkCreateExecutionGraphPipelinesAMDX( 128 + VkDevice device, 129 + VkPipelineCache pipelineCache, 130 + uint32_t createInfoCount, 131 + const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos, 132 + const VkAllocationCallbacks* pAllocator, 133 + VkPipeline* pPipelines); 942 134 943 - typedef struct VkVideoDecodeH264PictureInfoEXT { 944 - VkStructureType sType; 945 - const void* pNext; 946 - const StdVideoDecodeH264PictureInfo* pStdPictureInfo; 947 - uint32_t slicesCount; 948 - const uint32_t* pSlicesDataOffsets; 949 - } VkVideoDecodeH264PictureInfoEXT; 135 + VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineScratchSizeAMDX( 136 + VkDevice device, 137 + VkPipeline executionGraph, 138 + VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo); 950 139 951 - typedef struct VkVideoDecodeH264MvcInfoEXT { 952 - VkStructureType sType; 953 - const void* pNext; 954 - const StdVideoDecodeH264Mvc* pStdMvc; 955 - } VkVideoDecodeH264MvcInfoEXT; 140 + VKAPI_ATTR VkResult VKAPI_CALL vkGetExecutionGraphPipelineNodeIndexAMDX( 141 + VkDevice device, 142 + VkPipeline executionGraph, 143 + const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo, 144 + uint32_t* pNodeIndex); 956 145 957 - typedef struct VkVideoDecodeH264DpbSlotInfoEXT { 958 - VkStructureType sType; 959 - const void* pNext; 960 - const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo; 961 - } VkVideoDecodeH264DpbSlotInfoEXT; 146 + VKAPI_ATTR void VKAPI_CALL vkCmdInitializeGraphScratchMemoryAMDX( 147 + VkCommandBuffer commandBuffer, 148 + VkDeviceAddress scratch); 962 149 150 + VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphAMDX( 151 + VkCommandBuffer commandBuffer, 152 + VkDeviceAddress scratch, 153 + const VkDispatchGraphCountInfoAMDX* pCountInfo); 963 154 155 + VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectAMDX( 156 + VkCommandBuffer commandBuffer, 157 + VkDeviceAddress scratch, 158 + const VkDispatchGraphCountInfoAMDX* pCountInfo); 964 159 965 - #define VK_EXT_video_decode_h265 1 966 - #include "vk_video/vulkan_video_codec_h265std_decode.h" 967 - #define VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION 4 968 - #define VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME "VK_EXT_video_decode_h265" 969 - typedef struct VkVideoDecodeH265ProfileInfoEXT { 970 - VkStructureType sType; 971 - const void* pNext; 972 - StdVideoH265ProfileIdc stdProfileIdc; 973 - } VkVideoDecodeH265ProfileInfoEXT; 160 + VKAPI_ATTR void VKAPI_CALL vkCmdDispatchGraphIndirectCountAMDX( 161 + VkCommandBuffer commandBuffer, 162 + VkDeviceAddress scratch, 163 + VkDeviceAddress countInfo); 164 + #endif 974 165 975 - typedef struct VkVideoDecodeH265CapabilitiesEXT { 976 - VkStructureType sType; 977 - void* pNext; 978 - StdVideoH265Level maxLevel; 979 - } VkVideoDecodeH265CapabilitiesEXT; 980 166 981 - typedef struct VkVideoDecodeH265SessionParametersAddInfoEXT { 982 - VkStructureType sType; 983 - const void* pNext; 984 - uint32_t vpsStdCount; 985 - const StdVideoH265VideoParameterSet* pVpsStd; 986 - uint32_t spsStdCount; 987 - const StdVideoH265SequenceParameterSet* pSpsStd; 988 - uint32_t ppsStdCount; 989 - const StdVideoH265PictureParameterSet* pPpsStd; 990 - } VkVideoDecodeH265SessionParametersAddInfoEXT; 167 + // VK_NV_displacement_micromap is a preprocessor guard. Do not pass it to API calls. 168 + #define VK_NV_displacement_micromap 1 169 + #define VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION 2 170 + #define VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME "VK_NV_displacement_micromap" 991 171 992 - typedef struct VkVideoDecodeH265SessionParametersCreateInfoEXT { 993 - VkStructureType sType; 994 - const void* pNext; 995 - uint32_t maxVpsStdCount; 996 - uint32_t maxSpsStdCount; 997 - uint32_t maxPpsStdCount; 998 - const VkVideoDecodeH265SessionParametersAddInfoEXT* pParametersAddInfo; 999 - } VkVideoDecodeH265SessionParametersCreateInfoEXT; 172 + typedef enum VkDisplacementMicromapFormatNV { 173 + VK_DISPLACEMENT_MICROMAP_FORMAT_64_TRIANGLES_64_BYTES_NV = 1, 174 + VK_DISPLACEMENT_MICROMAP_FORMAT_256_TRIANGLES_128_BYTES_NV = 2, 175 + VK_DISPLACEMENT_MICROMAP_FORMAT_1024_TRIANGLES_128_BYTES_NV = 3, 176 + VK_DISPLACEMENT_MICROMAP_FORMAT_MAX_ENUM_NV = 0x7FFFFFFF 177 + } VkDisplacementMicromapFormatNV; 178 + typedef struct VkPhysicalDeviceDisplacementMicromapFeaturesNV { 179 + VkStructureType sType; 180 + void* pNext; 181 + VkBool32 displacementMicromap; 182 + } VkPhysicalDeviceDisplacementMicromapFeaturesNV; 1000 183 1001 - typedef struct VkVideoDecodeH265PictureInfoEXT { 1002 - VkStructureType sType; 1003 - const void* pNext; 1004 - StdVideoDecodeH265PictureInfo* pStdPictureInfo; 1005 - uint32_t slicesCount; 1006 - const uint32_t* pSlicesDataOffsets; 1007 - } VkVideoDecodeH265PictureInfoEXT; 184 + typedef struct VkPhysicalDeviceDisplacementMicromapPropertiesNV { 185 + VkStructureType sType; 186 + void* pNext; 187 + uint32_t maxDisplacementMicromapSubdivisionLevel; 188 + } VkPhysicalDeviceDisplacementMicromapPropertiesNV; 1008 189 1009 - typedef struct VkVideoDecodeH265DpbSlotInfoEXT { 1010 - VkStructureType sType; 1011 - const void* pNext; 1012 - const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo; 1013 - } VkVideoDecodeH265DpbSlotInfoEXT; 190 + typedef struct VkAccelerationStructureTrianglesDisplacementMicromapNV { 191 + VkStructureType sType; 192 + void* pNext; 193 + VkFormat displacementBiasAndScaleFormat; 194 + VkFormat displacementVectorFormat; 195 + VkDeviceOrHostAddressConstKHR displacementBiasAndScaleBuffer; 196 + VkDeviceSize displacementBiasAndScaleStride; 197 + VkDeviceOrHostAddressConstKHR displacementVectorBuffer; 198 + VkDeviceSize displacementVectorStride; 199 + VkDeviceOrHostAddressConstKHR displacedMicromapPrimitiveFlags; 200 + VkDeviceSize displacedMicromapPrimitiveFlagsStride; 201 + VkIndexType indexType; 202 + VkDeviceOrHostAddressConstKHR indexBuffer; 203 + VkDeviceSize indexStride; 204 + uint32_t baseTriangle; 205 + uint32_t usageCountsCount; 206 + const VkMicromapUsageEXT* pUsageCounts; 207 + const VkMicromapUsageEXT* const* ppUsageCounts; 208 + VkMicromapEXT micromap; 209 + } VkAccelerationStructureTrianglesDisplacementMicromapNV; 1014 210 1015 211 1016 212 #ifdef __cplusplus
+4649 -397
src/video/khronos/vulkan/vulkan_core.h
··· 2 2 #define VULKAN_CORE_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_VERSION_1_0 is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_VERSION_1_0 1 23 24 #include "vk_platform.h" 24 25 ··· 26 27 27 28 28 29 #ifndef VK_USE_64_BIT_PTR_DEFINES 29 - #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) 30 + #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) || (defined(__riscv) && __riscv_xlen == 64) 30 31 #define VK_USE_64_BIT_PTR_DEFINES 1 31 32 #else 32 33 #define VK_USE_64_BIT_PTR_DEFINES 0 ··· 58 59 #endif 59 60 #endif 60 61 61 - // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. 62 - #define VK_MAKE_VERSION(major, minor, patch) \ 63 - ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) 62 + #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ 63 + ((((uint32_t)(variant)) << 29U) | (((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) 64 64 65 65 // DEPRECATED: This define has been removed. Specific version defines (e.g. VK_API_VERSION_1_0), or the VK_MAKE_VERSION macro, should be used instead. 66 - //#define VK_API_VERSION VK_MAKE_VERSION(1, 0, 0) // Patch version should always be set to 0 67 - 68 - #define VK_MAKE_API_VERSION(variant, major, minor, patch) \ 69 - ((((uint32_t)(variant)) << 29) | (((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) 66 + //#define VK_API_VERSION VK_MAKE_API_VERSION(0, 1, 0, 0) // Patch version should always be set to 0 70 67 71 68 // Vulkan 1.0 version number 72 69 #define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0 73 70 74 71 // Version of this file 75 - #define VK_HEADER_VERSION 227 72 + #define VK_HEADER_VERSION 275 76 73 77 74 // Complete version of this file 78 75 #define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION) 79 76 77 + // DEPRECATED: This define is deprecated. VK_MAKE_API_VERSION should be used instead. 78 + #define VK_MAKE_VERSION(major, minor, patch) \ 79 + ((((uint32_t)(major)) << 22U) | (((uint32_t)(minor)) << 12U) | ((uint32_t)(patch))) 80 + 80 81 // DEPRECATED: This define is deprecated. VK_API_VERSION_MAJOR should be used instead. 81 - #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22) 82 + #define VK_VERSION_MAJOR(version) ((uint32_t)(version) >> 22U) 82 83 83 84 // DEPRECATED: This define is deprecated. VK_API_VERSION_MINOR should be used instead. 84 - #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) 85 + #define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 85 86 86 87 // DEPRECATED: This define is deprecated. VK_API_VERSION_PATCH should be used instead. 87 88 #define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 88 89 89 - #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29) 90 - #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU) 91 - #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) 90 + #define VK_API_VERSION_VARIANT(version) ((uint32_t)(version) >> 29U) 91 + #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22U) & 0x7FU) 92 + #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12U) & 0x3FFU) 92 93 #define VK_API_VERSION_PATCH(version) ((uint32_t)(version) & 0xFFFU) 93 94 typedef uint32_t VkBool32; 94 95 typedef uint64_t VkDeviceAddress; ··· 168 169 VK_ERROR_INCOMPATIBLE_DISPLAY_KHR = -1000003001, 169 170 VK_ERROR_VALIDATION_FAILED_EXT = -1000011001, 170 171 VK_ERROR_INVALID_SHADER_NV = -1000012000, 171 - #ifdef VK_ENABLE_BETA_EXTENSIONS 172 172 VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR = -1000023000, 173 - #endif 174 - #ifdef VK_ENABLE_BETA_EXTENSIONS 175 173 VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR = -1000023001, 176 - #endif 177 - #ifdef VK_ENABLE_BETA_EXTENSIONS 178 174 VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR = -1000023002, 179 - #endif 180 - #ifdef VK_ENABLE_BETA_EXTENSIONS 181 175 VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR = -1000023003, 182 - #endif 183 - #ifdef VK_ENABLE_BETA_EXTENSIONS 184 176 VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR = -1000023004, 185 - #endif 186 - #ifdef VK_ENABLE_BETA_EXTENSIONS 187 177 VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR = -1000023005, 188 - #endif 189 178 VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT = -1000158000, 190 179 VK_ERROR_NOT_PERMITTED_KHR = -1000174001, 191 180 VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT = -1000255000, ··· 193 182 VK_THREAD_DONE_KHR = 1000268001, 194 183 VK_OPERATION_DEFERRED_KHR = 1000268002, 195 184 VK_OPERATION_NOT_DEFERRED_KHR = 1000268003, 185 + VK_ERROR_INVALID_VIDEO_STD_PARAMETERS_KHR = -1000299000, 196 186 VK_ERROR_COMPRESSION_EXHAUSTED_EXT = -1000338000, 187 + VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT = 1000482000, 197 188 VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY, 198 189 VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE, 199 190 VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION, ··· 443 434 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_NAME_INFO_EXT = 1000022000, 444 435 VK_STRUCTURE_TYPE_DEBUG_MARKER_OBJECT_TAG_INFO_EXT = 1000022001, 445 436 VK_STRUCTURE_TYPE_DEBUG_MARKER_MARKER_INFO_EXT = 1000022002, 446 - #ifdef VK_ENABLE_BETA_EXTENSIONS 447 437 VK_STRUCTURE_TYPE_VIDEO_PROFILE_INFO_KHR = 1000023000, 448 - #endif 449 - #ifdef VK_ENABLE_BETA_EXTENSIONS 450 438 VK_STRUCTURE_TYPE_VIDEO_CAPABILITIES_KHR = 1000023001, 451 - #endif 452 - #ifdef VK_ENABLE_BETA_EXTENSIONS 453 439 VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR = 1000023002, 454 - #endif 455 - #ifdef VK_ENABLE_BETA_EXTENSIONS 456 440 VK_STRUCTURE_TYPE_VIDEO_SESSION_MEMORY_REQUIREMENTS_KHR = 1000023003, 457 - #endif 458 - #ifdef VK_ENABLE_BETA_EXTENSIONS 459 441 VK_STRUCTURE_TYPE_BIND_VIDEO_SESSION_MEMORY_INFO_KHR = 1000023004, 460 - #endif 461 - #ifdef VK_ENABLE_BETA_EXTENSIONS 462 442 VK_STRUCTURE_TYPE_VIDEO_SESSION_CREATE_INFO_KHR = 1000023005, 463 - #endif 464 - #ifdef VK_ENABLE_BETA_EXTENSIONS 465 443 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000023006, 466 - #endif 467 - #ifdef VK_ENABLE_BETA_EXTENSIONS 468 444 VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_UPDATE_INFO_KHR = 1000023007, 469 - #endif 470 - #ifdef VK_ENABLE_BETA_EXTENSIONS 471 445 VK_STRUCTURE_TYPE_VIDEO_BEGIN_CODING_INFO_KHR = 1000023008, 472 - #endif 473 - #ifdef VK_ENABLE_BETA_EXTENSIONS 474 446 VK_STRUCTURE_TYPE_VIDEO_END_CODING_INFO_KHR = 1000023009, 475 - #endif 476 - #ifdef VK_ENABLE_BETA_EXTENSIONS 477 447 VK_STRUCTURE_TYPE_VIDEO_CODING_CONTROL_INFO_KHR = 1000023010, 478 - #endif 479 - #ifdef VK_ENABLE_BETA_EXTENSIONS 480 448 VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR = 1000023011, 481 - #endif 482 - #ifdef VK_ENABLE_BETA_EXTENSIONS 483 449 VK_STRUCTURE_TYPE_QUEUE_FAMILY_VIDEO_PROPERTIES_KHR = 1000023012, 484 - #endif 485 - #ifdef VK_ENABLE_BETA_EXTENSIONS 486 450 VK_STRUCTURE_TYPE_VIDEO_PROFILE_LIST_INFO_KHR = 1000023013, 487 - #endif 488 - #ifdef VK_ENABLE_BETA_EXTENSIONS 489 451 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_FORMAT_INFO_KHR = 1000023014, 490 - #endif 491 - #ifdef VK_ENABLE_BETA_EXTENSIONS 492 452 VK_STRUCTURE_TYPE_VIDEO_FORMAT_PROPERTIES_KHR = 1000023015, 493 - #endif 494 - #ifdef VK_ENABLE_BETA_EXTENSIONS 495 453 VK_STRUCTURE_TYPE_QUEUE_FAMILY_QUERY_RESULT_STATUS_PROPERTIES_KHR = 1000023016, 496 - #endif 497 - #ifdef VK_ENABLE_BETA_EXTENSIONS 498 454 VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR = 1000024000, 499 - #endif 500 - #ifdef VK_ENABLE_BETA_EXTENSIONS 501 455 VK_STRUCTURE_TYPE_VIDEO_DECODE_CAPABILITIES_KHR = 1000024001, 502 - #endif 503 - #ifdef VK_ENABLE_BETA_EXTENSIONS 504 456 VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR = 1000024002, 505 - #endif 506 457 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV = 1000026000, 507 458 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV = 1000026001, 508 459 VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV = 1000026002, ··· 514 465 VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX = 1000029002, 515 466 VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX = 1000030000, 516 467 VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX = 1000030001, 517 - #ifdef VK_ENABLE_BETA_EXTENSIONS 518 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_EXT = 1000038000, 519 - #endif 520 - #ifdef VK_ENABLE_BETA_EXTENSIONS 521 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000038001, 522 - #endif 523 - #ifdef VK_ENABLE_BETA_EXTENSIONS 524 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000038002, 525 - #endif 526 - #ifdef VK_ENABLE_BETA_EXTENSIONS 527 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_VCL_FRAME_INFO_EXT = 1000038003, 528 - #endif 529 - #ifdef VK_ENABLE_BETA_EXTENSIONS 530 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_EXT = 1000038004, 531 - #endif 532 - #ifdef VK_ENABLE_BETA_EXTENSIONS 533 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_EXT = 1000038005, 534 - #endif 535 - #ifdef VK_ENABLE_BETA_EXTENSIONS 536 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000038006, 537 - #endif 538 - #ifdef VK_ENABLE_BETA_EXTENSIONS 539 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_EXT = 1000038007, 540 - #endif 541 - #ifdef VK_ENABLE_BETA_EXTENSIONS 542 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_EXT = 1000038008, 543 - #endif 544 - #ifdef VK_ENABLE_BETA_EXTENSIONS 545 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_EXT = 1000038009, 546 - #endif 547 - #ifdef VK_ENABLE_BETA_EXTENSIONS 548 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_REFERENCE_LISTS_INFO_EXT = 1000038010, 549 - #endif 550 - #ifdef VK_ENABLE_BETA_EXTENSIONS 551 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_EXT = 1000039000, 552 - #endif 553 - #ifdef VK_ENABLE_BETA_EXTENSIONS 554 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000039001, 555 - #endif 556 - #ifdef VK_ENABLE_BETA_EXTENSIONS 557 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000039002, 558 - #endif 559 - #ifdef VK_ENABLE_BETA_EXTENSIONS 560 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_VCL_FRAME_INFO_EXT = 1000039003, 561 - #endif 562 - #ifdef VK_ENABLE_BETA_EXTENSIONS 563 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_EXT = 1000039004, 564 - #endif 565 - #ifdef VK_ENABLE_BETA_EXTENSIONS 566 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_EXT = 1000039005, 567 - #endif 568 - #ifdef VK_ENABLE_BETA_EXTENSIONS 569 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_EMIT_PICTURE_PARAMETERS_INFO_EXT = 1000039006, 570 - #endif 571 - #ifdef VK_ENABLE_BETA_EXTENSIONS 572 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_EXT = 1000039007, 573 - #endif 574 - #ifdef VK_ENABLE_BETA_EXTENSIONS 575 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_REFERENCE_LISTS_INFO_EXT = 1000039008, 576 - #endif 577 - #ifdef VK_ENABLE_BETA_EXTENSIONS 578 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_EXT = 1000039009, 579 - #endif 580 - #ifdef VK_ENABLE_BETA_EXTENSIONS 581 - VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_EXT = 1000039010, 582 - #endif 583 - #ifdef VK_ENABLE_BETA_EXTENSIONS 584 - VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_EXT = 1000040000, 585 - #endif 586 - #ifdef VK_ENABLE_BETA_EXTENSIONS 587 - VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_EXT = 1000040001, 588 - #endif 589 - #ifdef VK_ENABLE_BETA_EXTENSIONS 590 - VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_MVC_INFO_EXT = 1000040002, 591 - #endif 592 - #ifdef VK_ENABLE_BETA_EXTENSIONS 593 - VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_EXT = 1000040003, 594 - #endif 595 - #ifdef VK_ENABLE_BETA_EXTENSIONS 596 - VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000040004, 597 - #endif 598 - #ifdef VK_ENABLE_BETA_EXTENSIONS 599 - VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_EXT = 1000040005, 600 - #endif 601 - #ifdef VK_ENABLE_BETA_EXTENSIONS 602 - VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_EXT = 1000040006, 603 - #endif 468 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_CAPABILITIES_KHR = 1000038000, 469 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000038001, 470 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000038002, 471 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PICTURE_INFO_KHR = 1000038003, 472 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_DPB_SLOT_INFO_KHR = 1000038004, 473 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_NALU_SLICE_INFO_KHR = 1000038005, 474 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_GOP_REMAINING_FRAME_INFO_KHR = 1000038006, 475 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_PROFILE_INFO_KHR = 1000038007, 476 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_INFO_KHR = 1000038008, 477 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_RATE_CONTROL_LAYER_INFO_KHR = 1000038009, 478 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_CREATE_INFO_KHR = 1000038010, 479 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_QUALITY_LEVEL_PROPERTIES_KHR = 1000038011, 480 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_GET_INFO_KHR = 1000038012, 481 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H264_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000038013, 482 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_CAPABILITIES_KHR = 1000039000, 483 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000039001, 484 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000039002, 485 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PICTURE_INFO_KHR = 1000039003, 486 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_DPB_SLOT_INFO_KHR = 1000039004, 487 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_NALU_SLICE_SEGMENT_INFO_KHR = 1000039005, 488 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_GOP_REMAINING_FRAME_INFO_KHR = 1000039006, 489 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_PROFILE_INFO_KHR = 1000039007, 490 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_INFO_KHR = 1000039009, 491 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_RATE_CONTROL_LAYER_INFO_KHR = 1000039010, 492 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_CREATE_INFO_KHR = 1000039011, 493 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_QUALITY_LEVEL_PROPERTIES_KHR = 1000039012, 494 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_GET_INFO_KHR = 1000039013, 495 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_H265_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000039014, 496 + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_CAPABILITIES_KHR = 1000040000, 497 + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PICTURE_INFO_KHR = 1000040001, 498 + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR = 1000040003, 499 + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000040004, 500 + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_SESSION_PARAMETERS_ADD_INFO_KHR = 1000040005, 501 + VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_DPB_SLOT_INFO_KHR = 1000040006, 604 502 VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD = 1000041000, 605 503 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR = 1000044006, 606 504 VK_STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT = 1000044007, ··· 655 553 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_ENABLE_FEATURES_EXT = 1000102000, 656 554 VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_DEPTH_CLIP_STATE_CREATE_INFO_EXT = 1000102001, 657 555 VK_STRUCTURE_TYPE_HDR_METADATA_EXT = 1000105000, 556 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG = 1000110000, 658 557 VK_STRUCTURE_TYPE_SHARED_PRESENT_SURFACE_CAPABILITIES_KHR = 1000111000, 659 558 VK_STRUCTURE_TYPE_IMPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114000, 660 559 VK_STRUCTURE_TYPE_EXPORT_FENCE_WIN32_HANDLE_INFO_KHR = 1000114001, ··· 690 589 VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID = 1000129004, 691 590 VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID = 1000129005, 692 591 VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = 1000129006, 592 + #ifdef VK_ENABLE_BETA_EXTENSIONS 593 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX = 1000134000, 594 + #endif 595 + #ifdef VK_ENABLE_BETA_EXTENSIONS 596 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX = 1000134001, 597 + #endif 598 + #ifdef VK_ENABLE_BETA_EXTENSIONS 599 + VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX = 1000134002, 600 + #endif 601 + #ifdef VK_ENABLE_BETA_EXTENSIONS 602 + VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX = 1000134003, 603 + #endif 604 + #ifdef VK_ENABLE_BETA_EXTENSIONS 605 + VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX = 1000134004, 606 + #endif 693 607 VK_STRUCTURE_TYPE_SAMPLE_LOCATIONS_INFO_EXT = 1000143000, 694 608 VK_STRUCTURE_TYPE_RENDER_PASS_SAMPLE_LOCATIONS_BEGIN_INFO_EXT = 1000143001, 695 609 VK_STRUCTURE_TYPE_PIPELINE_SAMPLE_LOCATIONS_STATE_CREATE_INFO_EXT = 1000143002, ··· 761 675 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_HOST_PROPERTIES_EXT = 1000178002, 762 676 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR = 1000181000, 763 677 VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD = 1000183000, 764 - VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = 1000184000, 765 678 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD = 1000185000, 766 - #ifdef VK_ENABLE_BETA_EXTENSIONS 767 - VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_EXT = 1000187000, 768 - #endif 769 - #ifdef VK_ENABLE_BETA_EXTENSIONS 770 - VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_EXT = 1000187001, 771 - #endif 772 - #ifdef VK_ENABLE_BETA_EXTENSIONS 773 - VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_EXT = 1000187002, 774 - #endif 775 - #ifdef VK_ENABLE_BETA_EXTENSIONS 776 - VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_EXT = 1000187003, 777 - #endif 778 - #ifdef VK_ENABLE_BETA_EXTENSIONS 779 - VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_EXT = 1000187004, 780 - #endif 781 - #ifdef VK_ENABLE_BETA_EXTENSIONS 782 - VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_EXT = 1000187005, 783 - #endif 679 + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR = 1000187000, 680 + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000187001, 681 + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_ADD_INFO_KHR = 1000187002, 682 + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR = 1000187003, 683 + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PICTURE_INFO_KHR = 1000187004, 684 + VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_DPB_SLOT_INFO_KHR = 1000187005, 784 685 VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO_KHR = 1000174000, 785 686 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR = 1000388000, 786 687 VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_KHR = 1000388001, 787 688 VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD = 1000189000, 788 689 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT = 1000190000, 789 - VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = 1000190001, 790 - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = 1000190002, 791 690 VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP = 1000191000, 792 691 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV = 1000201000, 793 692 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV = 1000202000, ··· 856 755 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INFO_KHR = 1000269003, 857 756 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_STATISTIC_KHR = 1000269004, 858 757 VK_STRUCTURE_TYPE_PIPELINE_EXECUTABLE_INTERNAL_REPRESENTATION_KHR = 1000269005, 758 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT = 1000270000, 759 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT = 1000270001, 760 + VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT = 1000270002, 761 + VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT = 1000270003, 762 + VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT = 1000270004, 763 + VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT = 1000270005, 764 + VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT = 1000270006, 765 + VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT = 1000270007, 766 + VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT = 1000270008, 767 + VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT = 1000270009, 768 + VK_STRUCTURE_TYPE_MEMORY_MAP_INFO_KHR = 1000271000, 769 + VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO_KHR = 1000271001, 859 770 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_2_FEATURES_EXT = 1000273000, 771 + VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_EXT = 1000274000, 772 + VK_STRUCTURE_TYPE_SURFACE_PRESENT_SCALING_CAPABILITIES_EXT = 1000274001, 773 + VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_COMPATIBILITY_EXT = 1000274002, 774 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_EXT = 1000275000, 775 + VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT = 1000275001, 776 + VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODES_CREATE_INFO_EXT = 1000275002, 777 + VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_MODE_INFO_EXT = 1000275003, 778 + VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_SCALING_CREATE_INFO_EXT = 1000275004, 779 + VK_STRUCTURE_TYPE_RELEASE_SWAPCHAIN_IMAGES_INFO_EXT = 1000275005, 860 780 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV = 1000277000, 861 781 VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV = 1000277001, 862 782 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV = 1000277002, ··· 870 790 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = 1000281000, 871 791 VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM = 1000282000, 872 792 VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM = 1000282001, 793 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_BIAS_CONTROL_FEATURES_EXT = 1000283000, 794 + VK_STRUCTURE_TYPE_DEPTH_BIAS_INFO_EXT = 1000283001, 795 + VK_STRUCTURE_TYPE_DEPTH_BIAS_REPRESENTATION_INFO_EXT = 1000283002, 873 796 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_MEMORY_REPORT_FEATURES_EXT = 1000284000, 874 797 VK_STRUCTURE_TYPE_DEVICE_DEVICE_MEMORY_REPORT_CREATE_INFO_EXT = 1000284001, 875 798 VK_STRUCTURE_TYPE_DEVICE_MEMORY_REPORT_CALLBACK_DATA_EXT = 1000284002, ··· 879 802 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT = 1000287001, 880 803 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT = 1000287002, 881 804 VK_STRUCTURE_TYPE_PIPELINE_LIBRARY_CREATE_INFO_KHR = 1000290000, 805 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV = 1000292000, 806 + VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV = 1000292001, 807 + VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV = 1000292002, 882 808 VK_STRUCTURE_TYPE_PRESENT_ID_KHR = 1000294000, 883 809 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_ID_FEATURES_KHR = 1000294001, 884 - #ifdef VK_ENABLE_BETA_EXTENSIONS 885 810 VK_STRUCTURE_TYPE_VIDEO_ENCODE_INFO_KHR = 1000299000, 886 - #endif 887 - #ifdef VK_ENABLE_BETA_EXTENSIONS 888 811 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_INFO_KHR = 1000299001, 889 - #endif 890 - #ifdef VK_ENABLE_BETA_EXTENSIONS 891 812 VK_STRUCTURE_TYPE_VIDEO_ENCODE_RATE_CONTROL_LAYER_INFO_KHR = 1000299002, 892 - #endif 893 - #ifdef VK_ENABLE_BETA_EXTENSIONS 894 813 VK_STRUCTURE_TYPE_VIDEO_ENCODE_CAPABILITIES_KHR = 1000299003, 895 - #endif 896 - #ifdef VK_ENABLE_BETA_EXTENSIONS 897 814 VK_STRUCTURE_TYPE_VIDEO_ENCODE_USAGE_INFO_KHR = 1000299004, 898 - #endif 815 + VK_STRUCTURE_TYPE_QUERY_POOL_VIDEO_ENCODE_FEEDBACK_CREATE_INFO_KHR = 1000299005, 816 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299006, 817 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_PROPERTIES_KHR = 1000299007, 818 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_QUALITY_LEVEL_INFO_KHR = 1000299008, 819 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_GET_INFO_KHR = 1000299009, 820 + VK_STRUCTURE_TYPE_VIDEO_ENCODE_SESSION_PARAMETERS_FEEDBACK_INFO_KHR = 1000299010, 899 821 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV = 1000300000, 900 822 VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV = 1000300001, 823 + VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV = 1000307000, 824 + VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV = 1000307001, 825 + VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV = 1000307002, 826 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV = 1000307003, 827 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV = 1000307004, 828 + VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV = 1000310000, 901 829 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECT_CREATE_INFO_EXT = 1000311000, 902 830 VK_STRUCTURE_TYPE_EXPORT_METAL_OBJECTS_INFO_EXT = 1000311001, 903 831 VK_STRUCTURE_TYPE_EXPORT_METAL_DEVICE_INFO_EXT = 1000311002, ··· 912 840 VK_STRUCTURE_TYPE_IMPORT_METAL_SHARED_EVENT_INFO_EXT = 1000311011, 913 841 VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV = 1000314008, 914 842 VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV = 1000314009, 843 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_PROPERTIES_EXT = 1000316000, 844 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_DENSITY_MAP_PROPERTIES_EXT = 1000316001, 845 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT = 1000316002, 846 + VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT = 1000316003, 847 + VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT = 1000316004, 848 + VK_STRUCTURE_TYPE_BUFFER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316005, 849 + VK_STRUCTURE_TYPE_IMAGE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316006, 850 + VK_STRUCTURE_TYPE_IMAGE_VIEW_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316007, 851 + VK_STRUCTURE_TYPE_SAMPLER_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316008, 852 + VK_STRUCTURE_TYPE_OPAQUE_CAPTURE_DESCRIPTOR_DATA_CREATE_INFO_EXT = 1000316010, 853 + VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT = 1000316011, 854 + VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_PUSH_DESCRIPTOR_BUFFER_HANDLE_EXT = 1000316012, 855 + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CAPTURE_DESCRIPTOR_DATA_INFO_EXT = 1000316009, 915 856 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_FEATURES_EXT = 1000320000, 916 857 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GRAPHICS_PIPELINE_LIBRARY_PROPERTIES_EXT = 1000320001, 917 858 VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_LIBRARY_CREATE_INFO_EXT = 1000320002, ··· 934 875 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR = 1000336000, 935 876 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_FEATURES_EXT = 1000338000, 936 877 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_CONTROL_EXT = 1000338001, 937 - VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = 1000338002, 938 - VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = 1000338003, 939 878 VK_STRUCTURE_TYPE_IMAGE_COMPRESSION_PROPERTIES_EXT = 1000338004, 940 879 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_FEATURES_EXT = 1000339000, 941 880 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = 1000340000, 881 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FAULT_FEATURES_EXT = 1000341000, 882 + VK_STRUCTURE_TYPE_DEVICE_FAULT_COUNTS_EXT = 1000341001, 883 + VK_STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT = 1000341002, 942 884 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = 1000344000, 943 885 VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT = 1000346000, 944 - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = 1000351000, 945 - VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = 1000351002, 946 886 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000, 947 887 VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001, 948 888 VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002, 949 889 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000, 890 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ADDRESS_BINDING_REPORT_FEATURES_EXT = 1000354000, 891 + VK_STRUCTURE_TYPE_DEVICE_ADDRESS_BINDING_CALLBACK_DATA_EXT = 1000354001, 950 892 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = 1000355000, 951 893 VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = 1000355001, 952 894 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000, ··· 973 915 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV = 1000371001, 974 916 VK_STRUCTURE_TYPE_PIPELINE_PROPERTIES_IDENTIFIER_EXT = 1000372000, 975 917 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROPERTIES_FEATURES_EXT = 1000372001, 918 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT = 1000375000, 919 + VK_STRUCTURE_TYPE_FRAME_BOUNDARY_EXT = 1000375001, 976 920 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT = 1000376000, 977 921 VK_STRUCTURE_TYPE_SUBPASS_RESOLVE_PERFORMANCE_QUERY_EXT = 1000376001, 978 922 VK_STRUCTURE_TYPE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_INFO_EXT = 1000376002, ··· 987 931 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT = 1000392000, 988 932 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = 1000392001, 989 933 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_2D_VIEW_OF_3D_FEATURES_EXT = 1000393000, 934 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_FEATURES_EXT = 1000395000, 935 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TILE_IMAGE_PROPERTIES_EXT = 1000395001, 936 + VK_STRUCTURE_TYPE_MICROMAP_BUILD_INFO_EXT = 1000396000, 937 + VK_STRUCTURE_TYPE_MICROMAP_VERSION_INFO_EXT = 1000396001, 938 + VK_STRUCTURE_TYPE_COPY_MICROMAP_INFO_EXT = 1000396002, 939 + VK_STRUCTURE_TYPE_COPY_MICROMAP_TO_MEMORY_INFO_EXT = 1000396003, 940 + VK_STRUCTURE_TYPE_COPY_MEMORY_TO_MICROMAP_INFO_EXT = 1000396004, 941 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_FEATURES_EXT = 1000396005, 942 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPACITY_MICROMAP_PROPERTIES_EXT = 1000396006, 943 + VK_STRUCTURE_TYPE_MICROMAP_CREATE_INFO_EXT = 1000396007, 944 + VK_STRUCTURE_TYPE_MICROMAP_BUILD_SIZES_INFO_EXT = 1000396008, 945 + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_OPACITY_MICROMAP_EXT = 1000396009, 946 + #ifdef VK_ENABLE_BETA_EXTENSIONS 947 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV = 1000397000, 948 + #endif 949 + #ifdef VK_ENABLE_BETA_EXTENSIONS 950 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV = 1000397001, 951 + #endif 952 + #ifdef VK_ENABLE_BETA_EXTENSIONS 953 + VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV = 1000397002, 954 + #endif 955 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI = 1000404000, 956 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI = 1000404001, 957 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI = 1000404002, 990 958 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = 1000411000, 991 959 VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = 1000411001, 992 960 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = 1000412000, 961 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = 1000415000, 962 + VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM = 1000417000, 963 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM = 1000417001, 964 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM = 1000417002, 965 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_SLICED_VIEW_OF_3D_FEATURES_EXT = 1000418000, 966 + VK_STRUCTURE_TYPE_IMAGE_VIEW_SLICED_CREATE_INFO_EXT = 1000418001, 993 967 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE = 1000420000, 994 968 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE = 1000420001, 995 969 VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE = 1000420002, 996 970 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLAMP_ZERO_ONE_FEATURES_EXT = 1000421000, 997 971 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NON_SEAMLESS_CUBE_MAP_FEATURES_EXT = 1000422000, 972 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM = 1000424000, 973 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM = 1000424001, 974 + VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM = 1000424002, 975 + VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM = 1000424003, 976 + VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM = 1000424004, 998 977 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM = 1000425000, 999 978 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM = 1000425001, 1000 979 VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM = 1000425002, 980 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV = 1000426000, 981 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV = 1000426001, 982 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV = 1000427000, 983 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV = 1000427001, 984 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV = 1000428000, 985 + VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV = 1000428001, 986 + VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV = 1000428002, 1001 987 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = 1000430000, 1002 988 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = 1000437000, 1003 989 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM = 1000440000, 1004 990 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM = 1000440001, 1005 991 VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM = 1000440002, 992 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_FEATURES_EXT = 1000451000, 993 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_NESTED_COMMAND_BUFFER_PROPERTIES_EXT = 1000451001, 994 + VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXT = 1000453000, 995 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT = 1000455000, 996 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT = 1000455001, 1006 997 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_MERGE_FEEDBACK_FEATURES_EXT = 1000458000, 1007 998 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT = 1000458001, 1008 999 VK_STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT = 1000458002, 1009 1000 VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = 1000458003, 1001 + VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = 1000459000, 1002 + VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = 1000459001, 1010 1003 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = 1000462000, 1011 1004 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT = 1000462001, 1012 1005 VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT = 1000462002, 1013 1006 VK_STRUCTURE_TYPE_SHADER_MODULE_IDENTIFIER_EXT = 1000462003, 1014 1007 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT = 1000342000, 1008 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV = 1000464000, 1009 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV = 1000464001, 1010 + VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV = 1000464002, 1011 + VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV = 1000464003, 1012 + VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV = 1000464004, 1013 + VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV = 1000464005, 1014 + VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV = 1000464010, 1015 1015 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LEGACY_DITHERING_FEATURES_EXT = 1000465000, 1016 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES_EXT = 1000466000, 1017 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID = 1000468000, 1018 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468001, 1019 + VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID = 1000468002, 1020 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR = 1000470000, 1021 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR = 1000470001, 1022 + VK_STRUCTURE_TYPE_RENDERING_AREA_INFO_KHR = 1000470003, 1023 + VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO_KHR = 1000470004, 1024 + VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR = 1000338002, 1025 + VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR = 1000338003, 1026 + VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR = 1000470005, 1027 + VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR = 1000470006, 1028 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_POSITION_FETCH_FEATURES_KHR = 1000481000, 1029 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT = 1000482000, 1030 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_PROPERTIES_EXT = 1000482001, 1031 + VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT = 1000482002, 1016 1032 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM = 1000484000, 1017 1033 VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM = 1000484001, 1018 1034 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC = 1000485000, 1019 1035 VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = 1000485001, 1036 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = 1000488000, 1037 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = 1000490000, 1038 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV = 1000490001, 1039 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV = 1000492000, 1040 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV = 1000492001, 1041 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT = 1000351000, 1042 + VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT = 1000351002, 1043 + VK_STRUCTURE_TYPE_LAYER_SETTINGS_CREATE_INFO_EXT = 1000496000, 1044 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM = 1000497000, 1045 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM = 1000497001, 1046 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT = 1000498000, 1047 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_FEATURES_EXT = 1000499000, 1048 + VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV = 1000505000, 1049 + VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV = 1000505001, 1050 + VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV = 1000505002, 1051 + VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV = 1000505003, 1052 + VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV = 1000505004, 1053 + VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV = 1000505005, 1054 + VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV = 1000505006, 1055 + VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV = 1000505007, 1056 + VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV = 1000505008, 1057 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_KHR = 1000506000, 1058 + VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506001, 1059 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506002, 1060 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000, 1061 + VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001, 1062 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR = 1000515000, 1063 + VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR = 1000515001, 1064 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = 1000516000, 1065 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM = 1000518000, 1066 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM = 1000518001, 1067 + VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM = 1000518002, 1068 + VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM = 1000519000, 1069 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM = 1000519001, 1070 + VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM = 1000519002, 1071 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM = 1000520000, 1072 + VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM = 1000520001, 1073 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM = 1000521000, 1074 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_FEATURES_EXT = 1000524000, 1075 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR = 1000525000, 1076 + VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR = 1000190001, 1077 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = 1000190002, 1078 + VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX = 1000529000, 1079 + VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX = 1000529001, 1080 + VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX = 1000529002, 1081 + VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX = 1000529003, 1082 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX = 1000529004, 1083 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = 1000530000, 1084 + VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = 1000184000, 1085 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = 1000545000, 1086 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = 1000545001, 1087 + VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = 1000545002, 1088 + VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR = 1000545003, 1089 + VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR = 1000545004, 1090 + VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR = 1000545005, 1091 + VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR = 1000545006, 1092 + VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = 1000545007, 1093 + VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = 1000545008, 1094 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = 1000546000, 1020 1095 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, 1021 1096 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, 1022 1097 VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, ··· 1117 1192 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES, 1118 1193 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES, 1119 1194 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES, 1195 + VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_EXT = VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR, 1196 + VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR, 1197 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR, 1120 1198 VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO, 1121 1199 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES, 1122 1200 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES, ··· 1179 1257 VK_STRUCTURE_TYPE_IMAGE_BLIT_2_KHR = VK_STRUCTURE_TYPE_IMAGE_BLIT_2, 1180 1258 VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR = VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2, 1181 1259 VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR = VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2, 1260 + VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_EXT = VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2_KHR, 1261 + VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_EXT = VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2_KHR, 1182 1262 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_EXT, 1263 + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT, 1264 + VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE = VK_STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_EXT, 1183 1265 VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3, 1184 1266 VK_STRUCTURE_TYPE_PIPELINE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_INFO_KHR, 1185 1267 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_KHR, ··· 1188 1270 VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES, 1189 1271 VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS, 1190 1272 VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS, 1273 + VK_STRUCTURE_TYPE_SHADER_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO, 1191 1274 VK_STRUCTURE_TYPE_MAX_ENUM = 0x7FFFFFFF 1192 1275 } VkStructureType; 1193 1276 ··· 1215 1298 VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL = 1000314000, 1216 1299 VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL = 1000314001, 1217 1300 VK_IMAGE_LAYOUT_PRESENT_SRC_KHR = 1000001002, 1218 - #ifdef VK_ENABLE_BETA_EXTENSIONS 1219 1301 VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR = 1000024000, 1220 - #endif 1221 - #ifdef VK_ENABLE_BETA_EXTENSIONS 1222 1302 VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR = 1000024001, 1223 - #endif 1224 - #ifdef VK_ENABLE_BETA_EXTENSIONS 1225 1303 VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR = 1000024002, 1226 - #endif 1227 1304 VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR = 1000111000, 1228 1305 VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT = 1000218000, 1229 1306 VK_IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR = 1000164003, 1230 - #ifdef VK_ENABLE_BETA_EXTENSIONS 1231 1307 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR = 1000299000, 1232 - #endif 1233 - #ifdef VK_ENABLE_BETA_EXTENSIONS 1234 1308 VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR = 1000299001, 1235 - #endif 1236 - #ifdef VK_ENABLE_BETA_EXTENSIONS 1237 1309 VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR = 1000299002, 1238 - #endif 1239 1310 VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = 1000339000, 1240 1311 VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, 1241 1312 VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR = VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, ··· 1284 1355 VK_OBJECT_TYPE_DISPLAY_KHR = 1000002000, 1285 1356 VK_OBJECT_TYPE_DISPLAY_MODE_KHR = 1000002001, 1286 1357 VK_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT = 1000011000, 1287 - #ifdef VK_ENABLE_BETA_EXTENSIONS 1288 1358 VK_OBJECT_TYPE_VIDEO_SESSION_KHR = 1000023000, 1289 - #endif 1290 - #ifdef VK_ENABLE_BETA_EXTENSIONS 1291 1359 VK_OBJECT_TYPE_VIDEO_SESSION_PARAMETERS_KHR = 1000023001, 1292 - #endif 1293 1360 VK_OBJECT_TYPE_CU_MODULE_NVX = 1000029000, 1294 1361 VK_OBJECT_TYPE_CU_FUNCTION_NVX = 1000029001, 1295 1362 VK_OBJECT_TYPE_DEBUG_UTILS_MESSENGER_EXT = 1000128000, ··· 1299 1366 VK_OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL = 1000210000, 1300 1367 VK_OBJECT_TYPE_DEFERRED_OPERATION_KHR = 1000268000, 1301 1368 VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000, 1369 + VK_OBJECT_TYPE_CUDA_MODULE_NV = 1000307000, 1370 + VK_OBJECT_TYPE_CUDA_FUNCTION_NV = 1000307001, 1302 1371 VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000, 1372 + VK_OBJECT_TYPE_MICROMAP_EXT = 1000396000, 1373 + VK_OBJECT_TYPE_OPTICAL_FLOW_SESSION_NV = 1000464000, 1374 + VK_OBJECT_TYPE_SHADER_EXT = 1000482000, 1303 1375 VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE, 1304 1376 VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION, 1305 1377 VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT, ··· 1313 1385 VK_VENDOR_ID_CODEPLAY = 0x10004, 1314 1386 VK_VENDOR_ID_MESA = 0x10005, 1315 1387 VK_VENDOR_ID_POCL = 0x10006, 1388 + VK_VENDOR_ID_MOBILEYE = 0x10007, 1316 1389 VK_VENDOR_ID_MAX_ENUM = 0x7FFFFFFF 1317 1390 } VkVendorId; 1318 1391 ··· 1578 1651 VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG = 1000054005, 1579 1652 VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG = 1000054006, 1580 1653 VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG = 1000054007, 1654 + VK_FORMAT_R16G16_S10_5_NV = 1000464000, 1655 + VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR = 1000470000, 1656 + VK_FORMAT_A8_UNORM_KHR = 1000470001, 1581 1657 VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK, 1582 1658 VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK, 1583 1659 VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT = VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK, ··· 1662 1738 VK_QUERY_TYPE_OCCLUSION = 0, 1663 1739 VK_QUERY_TYPE_PIPELINE_STATISTICS = 1, 1664 1740 VK_QUERY_TYPE_TIMESTAMP = 2, 1665 - #ifdef VK_ENABLE_BETA_EXTENSIONS 1666 1741 VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR = 1000023000, 1667 - #endif 1668 1742 VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT = 1000028004, 1669 1743 VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR = 1000116000, 1670 1744 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR = 1000150000, 1671 1745 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR = 1000150001, 1672 1746 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV = 1000165000, 1673 1747 VK_QUERY_TYPE_PERFORMANCE_QUERY_INTEL = 1000210000, 1674 - #ifdef VK_ENABLE_BETA_EXTENSIONS 1675 - VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR = 1000299000, 1676 - #endif 1748 + VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR = 1000299000, 1677 1749 VK_QUERY_TYPE_MESH_PRIMITIVES_GENERATED_EXT = 1000328000, 1678 1750 VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT = 1000382000, 1679 1751 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR = 1000386000, 1680 1752 VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR = 1000386001, 1753 + VK_QUERY_TYPE_MICROMAP_SERIALIZATION_SIZE_EXT = 1000396000, 1754 + VK_QUERY_TYPE_MICROMAP_COMPACTED_SIZE_EXT = 1000396001, 1681 1755 VK_QUERY_TYPE_MAX_ENUM = 0x7FFFFFFF 1682 1756 } VkQueryType; 1683 1757 ··· 1826 1900 VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE = 1000377004, 1827 1901 VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV = 1000087000, 1828 1902 VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT = 1000099000, 1903 + VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT = 1000099001, 1904 + VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT = 1000099002, 1829 1905 VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT = 1000143000, 1830 1906 VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR = 1000347000, 1831 1907 VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV = 1000164004, 1832 1908 VK_DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV = 1000164006, 1909 + VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV = 1000205000, 1833 1910 VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = 1000205001, 1834 1911 VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR = 1000226000, 1835 1912 VK_DYNAMIC_STATE_LINE_STIPPLE_EXT = 1000259000, ··· 1837 1914 VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT = 1000377000, 1838 1915 VK_DYNAMIC_STATE_LOGIC_OP_EXT = 1000377003, 1839 1916 VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT = 1000381000, 1917 + VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = 1000455002, 1918 + VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = 1000455003, 1919 + VK_DYNAMIC_STATE_POLYGON_MODE_EXT = 1000455004, 1920 + VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT = 1000455005, 1921 + VK_DYNAMIC_STATE_SAMPLE_MASK_EXT = 1000455006, 1922 + VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT = 1000455007, 1923 + VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT = 1000455008, 1924 + VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT = 1000455009, 1925 + VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT = 1000455010, 1926 + VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT = 1000455011, 1927 + VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT = 1000455012, 1928 + VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = 1000455013, 1929 + VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT = 1000455014, 1930 + VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT = 1000455015, 1931 + VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT = 1000455016, 1932 + VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT = 1000455017, 1933 + VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT = 1000455018, 1934 + VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT = 1000455019, 1935 + VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT = 1000455020, 1936 + VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT = 1000455021, 1937 + VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT = 1000455022, 1938 + VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV = 1000455023, 1939 + VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV = 1000455024, 1940 + VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV = 1000455025, 1941 + VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV = 1000455026, 1942 + VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV = 1000455027, 1943 + VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV = 1000455028, 1944 + VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV = 1000455029, 1945 + VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV = 1000455030, 1946 + VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV = 1000455031, 1947 + VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV = 1000455032, 1948 + VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT = 1000524000, 1840 1949 VK_DYNAMIC_STATE_CULL_MODE_EXT = VK_DYNAMIC_STATE_CULL_MODE, 1841 1950 VK_DYNAMIC_STATE_FRONT_FACE_EXT = VK_DYNAMIC_STATE_FRONT_FACE, 1842 1951 VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT = VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY, ··· 1973 2082 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK = 1000138000, 1974 2083 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000, 1975 2084 VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV = 1000165000, 1976 - VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = 1000351000, 1977 2085 VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM = 1000440000, 1978 2086 VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM = 1000440001, 2087 + VK_DESCRIPTOR_TYPE_MUTABLE_EXT = 1000351000, 1979 2088 VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK_EXT = VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK, 2089 + VK_DESCRIPTOR_TYPE_MUTABLE_VALVE = VK_DESCRIPTOR_TYPE_MUTABLE_EXT, 1980 2090 VK_DESCRIPTOR_TYPE_MAX_ENUM = 0x7FFFFFFF 1981 2091 } VkDescriptorType; 1982 2092 ··· 2001 2111 typedef enum VkPipelineBindPoint { 2002 2112 VK_PIPELINE_BIND_POINT_GRAPHICS = 0, 2003 2113 VK_PIPELINE_BIND_POINT_COMPUTE = 1, 2114 + #ifdef VK_ENABLE_BETA_EXTENSIONS 2115 + VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX = 1000134000, 2116 + #endif 2004 2117 VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR = 1000165000, 2005 2118 VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = 1000369003, 2006 2119 VK_PIPELINE_BIND_POINT_RAY_TRACING_NV = VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR, ··· 2025 2138 typedef enum VkSubpassContents { 2026 2139 VK_SUBPASS_CONTENTS_INLINE = 0, 2027 2140 VK_SUBPASS_CONTENTS_SECONDARY_COMMAND_BUFFERS = 1, 2141 + VK_SUBPASS_CONTENTS_INLINE_AND_SECONDARY_COMMAND_BUFFERS_EXT = 1000451000, 2028 2142 VK_SUBPASS_CONTENTS_MAX_ENUM = 0x7FFFFFFF 2029 2143 } VkSubpassContents; 2030 2144 ··· 2111 2225 VK_FORMAT_FEATURE_DISJOINT_BIT = 0x00400000, 2112 2226 VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT = 0x00800000, 2113 2227 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT = 0x00010000, 2114 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2115 2228 VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000, 2116 - #endif 2117 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2118 2229 VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000, 2119 - #endif 2120 2230 VK_FORMAT_FEATURE_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000, 2121 2231 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT = 0x00002000, 2122 2232 VK_FORMAT_FEATURE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000, 2123 2233 VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000, 2124 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2125 2234 VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000, 2126 - #endif 2127 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2128 2235 VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000, 2129 - #endif 2130 2236 VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG = VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT, 2131 2237 VK_FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, 2132 2238 VK_FORMAT_FEATURE_TRANSFER_DST_BIT_KHR = VK_FORMAT_FEATURE_TRANSFER_DST_BIT, ··· 2158 2264 VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000, 2159 2265 VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000, 2160 2266 VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000, 2267 + VK_IMAGE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00010000, 2161 2268 VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT = 0x00040000, 2162 2269 VK_IMAGE_CREATE_2D_VIEW_COMPATIBLE_BIT_EXT = 0x00020000, 2163 2270 VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM = 0x00008000, 2271 + VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00100000, 2164 2272 VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT, 2165 2273 VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT, 2166 2274 VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT, ··· 2192 2300 VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT = 0x00000020, 2193 2301 VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT = 0x00000040, 2194 2302 VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT = 0x00000080, 2195 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2196 2303 VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00000400, 2197 - #endif 2198 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2199 2304 VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00000800, 2200 - #endif 2201 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2202 2305 VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR = 0x00001000, 2203 - #endif 2204 2306 VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x00000200, 2205 2307 VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00000100, 2206 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2308 + VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT = 0x00400000, 2207 2309 VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00002000, 2208 - #endif 2209 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2210 2310 VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00004000, 2211 - #endif 2212 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2213 2311 VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR = 0x00008000, 2214 - #endif 2215 2312 VK_IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x00080000, 2216 2313 VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI = 0x00040000, 2217 2314 VK_IMAGE_USAGE_SAMPLE_WEIGHT_BIT_QCOM = 0x00100000, ··· 2255 2352 VK_QUEUE_TRANSFER_BIT = 0x00000004, 2256 2353 VK_QUEUE_SPARSE_BINDING_BIT = 0x00000008, 2257 2354 VK_QUEUE_PROTECTED_BIT = 0x00000010, 2258 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2259 2355 VK_QUEUE_VIDEO_DECODE_BIT_KHR = 0x00000020, 2260 - #endif 2261 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2262 2356 VK_QUEUE_VIDEO_ENCODE_BIT_KHR = 0x00000040, 2263 - #endif 2357 + VK_QUEUE_OPTICAL_FLOW_BIT_NV = 0x00000100, 2264 2358 VK_QUEUE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2265 2359 } VkQueueFlagBits; 2266 2360 typedef VkFlags VkQueueFlags; ··· 2353 2447 VK_QUERY_PIPELINE_STATISTIC_COMPUTE_SHADER_INVOCATIONS_BIT = 0x00000400, 2354 2448 VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT = 0x00000800, 2355 2449 VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT = 0x00001000, 2450 + VK_QUERY_PIPELINE_STATISTIC_CLUSTER_CULLING_SHADER_INVOCATIONS_BIT_HUAWEI = 0x00002000, 2356 2451 VK_QUERY_PIPELINE_STATISTIC_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2357 2452 } VkQueryPipelineStatisticFlagBits; 2358 2453 typedef VkFlags VkQueryPipelineStatisticFlags; ··· 2363 2458 VK_QUERY_RESULT_WAIT_BIT = 0x00000002, 2364 2459 VK_QUERY_RESULT_WITH_AVAILABILITY_BIT = 0x00000004, 2365 2460 VK_QUERY_RESULT_PARTIAL_BIT = 0x00000008, 2366 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2367 2461 VK_QUERY_RESULT_WITH_STATUS_BIT_KHR = 0x00000010, 2368 - #endif 2369 2462 VK_QUERY_RESULT_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2370 2463 } VkQueryResultFlagBits; 2371 2464 typedef VkFlags VkQueryResultFlags; ··· 2376 2469 VK_BUFFER_CREATE_SPARSE_ALIASED_BIT = 0x00000004, 2377 2470 VK_BUFFER_CREATE_PROTECTED_BIT = 0x00000008, 2378 2471 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT = 0x00000010, 2472 + VK_BUFFER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000020, 2473 + VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR = 0x00000040, 2379 2474 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2380 2475 VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT, 2381 2476 VK_BUFFER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF ··· 2393 2488 VK_BUFFER_USAGE_VERTEX_BUFFER_BIT = 0x00000080, 2394 2489 VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT = 0x00000100, 2395 2490 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT = 0x00020000, 2396 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2397 2491 VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000, 2398 - #endif 2399 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2400 2492 VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR = 0x00004000, 2401 - #endif 2402 2493 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800, 2403 2494 VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000, 2404 2495 VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200, 2496 + #ifdef VK_ENABLE_BETA_EXTENSIONS 2497 + VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000, 2498 + #endif 2405 2499 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000, 2406 2500 VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000, 2407 2501 VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400, 2408 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2409 2502 VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000, 2410 - #endif 2411 - #ifdef VK_ENABLE_BETA_EXTENSIONS 2412 2503 VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000, 2413 - #endif 2504 + VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000, 2505 + VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000, 2506 + VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000, 2507 + VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000, 2508 + VK_BUFFER_USAGE_MICROMAP_STORAGE_BIT_EXT = 0x01000000, 2414 2509 VK_BUFFER_USAGE_RAY_TRACING_BIT_NV = VK_BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR, 2415 2510 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, 2416 2511 VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_KHR = VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT, ··· 2421 2516 2422 2517 typedef enum VkImageViewCreateFlagBits { 2423 2518 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DYNAMIC_BIT_EXT = 0x00000001, 2519 + VK_IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000004, 2424 2520 VK_IMAGE_VIEW_CREATE_FRAGMENT_DENSITY_MAP_DEFERRED_BIT_EXT = 0x00000002, 2425 2521 VK_IMAGE_VIEW_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2426 2522 } VkImageViewCreateFlagBits; ··· 2465 2561 VK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080, 2466 2562 VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00040000, 2467 2563 VK_PIPELINE_CREATE_LIBRARY_BIT_KHR = 0x00000800, 2564 + VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000, 2468 2565 VK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000, 2469 2566 VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400, 2470 2567 VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000, 2471 2568 VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000, 2472 2569 VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000, 2570 + VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000, 2571 + #ifdef VK_ENABLE_BETA_EXTENSIONS 2572 + VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000, 2573 + #endif 2574 + VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000, 2575 + VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000, 2473 2576 VK_PIPELINE_CREATE_DISPATCH_BASE = VK_PIPELINE_CREATE_DISPATCH_BASE_BIT, 2474 2577 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, 2475 2578 VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT, ··· 2508 2611 VK_SHADER_STAGE_TASK_BIT_EXT = 0x00000040, 2509 2612 VK_SHADER_STAGE_MESH_BIT_EXT = 0x00000080, 2510 2613 VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI = 0x00004000, 2614 + VK_SHADER_STAGE_CLUSTER_CULLING_BIT_HUAWEI = 0x00080000, 2511 2615 VK_SHADER_STAGE_RAYGEN_BIT_NV = VK_SHADER_STAGE_RAYGEN_BIT_KHR, 2512 2616 VK_SHADER_STAGE_ANY_HIT_BIT_NV = VK_SHADER_STAGE_ANY_HIT_BIT_KHR, 2513 2617 VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV = VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, ··· 2561 2665 typedef enum VkSamplerCreateFlagBits { 2562 2666 VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT = 0x00000001, 2563 2667 VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT = 0x00000002, 2668 + VK_SAMPLER_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 2564 2669 VK_SAMPLER_CREATE_NON_SEAMLESS_CUBE_MAP_BIT_EXT = 0x00000004, 2565 2670 VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM = 0x00000010, 2566 2671 VK_SAMPLER_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF ··· 2570 2675 typedef enum VkDescriptorPoolCreateFlagBits { 2571 2676 VK_DESCRIPTOR_POOL_CREATE_FREE_DESCRIPTOR_SET_BIT = 0x00000001, 2572 2677 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT = 0x00000002, 2573 - VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = 0x00000004, 2678 + VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT = 0x00000004, 2679 + VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_SETS_BIT_NV = 0x00000008, 2680 + VK_DESCRIPTOR_POOL_CREATE_ALLOW_OVERALLOCATION_POOLS_BIT_NV = 0x00000010, 2574 2681 VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT = VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, 2682 + VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_VALVE = VK_DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT, 2575 2683 VK_DESCRIPTOR_POOL_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2576 2684 } VkDescriptorPoolCreateFlagBits; 2577 2685 typedef VkFlags VkDescriptorPoolCreateFlags; ··· 2580 2688 typedef enum VkDescriptorSetLayoutCreateFlagBits { 2581 2689 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT = 0x00000002, 2582 2690 VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR = 0x00000001, 2583 - VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = 0x00000004, 2691 + VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00000010, 2692 + VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT = 0x00000020, 2693 + VK_DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV = 0x00000080, 2694 + VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT = 0x00000004, 2695 + VK_DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = 0x00000040, 2584 2696 VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT = VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT, 2697 + VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE = VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT, 2585 2698 VK_DESCRIPTOR_SET_LAYOUT_CREATE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF 2586 2699 } VkDescriptorSetLayoutCreateFlagBits; 2587 2700 typedef VkFlags VkDescriptorSetLayoutCreateFlags; ··· 4735 4848 #endif 4736 4849 4737 4850 4851 + // VK_VERSION_1_1 is a preprocessor guard. Do not pass it to API calls. 4738 4852 #define VK_VERSION_1_1 1 4739 4853 // Vulkan 1.1 version number 4740 4854 #define VK_API_VERSION_1_1 VK_MAKE_API_VERSION(0, 1, 1, 0)// Patch version should always be set to 0 ··· 4852 4966 VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT = 0x00000100, 4853 4967 VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA = 0x00000800, 4854 4968 VK_EXTERNAL_MEMORY_HANDLE_TYPE_RDMA_ADDRESS_BIT_NV = 0x00001000, 4969 + VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX = 0x00004000, 4855 4970 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT, 4856 4971 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_BIT, 4857 4972 VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT, ··· 5600 5715 #endif 5601 5716 5602 5717 5718 + // VK_VERSION_1_2 is a preprocessor guard. Do not pass it to API calls. 5603 5719 #define VK_VERSION_1_2 1 5604 5720 // Vulkan 1.2 version number 5605 5721 #define VK_API_VERSION_1_2 VK_MAKE_API_VERSION(0, 1, 2, 0)// Patch version should always be set to 0 ··· 5631 5747 VK_DRIVER_ID_SAMSUNG_PROPRIETARY = 21, 5632 5748 VK_DRIVER_ID_MESA_VENUS = 22, 5633 5749 VK_DRIVER_ID_MESA_DOZEN = 23, 5750 + VK_DRIVER_ID_MESA_NVK = 24, 5751 + VK_DRIVER_ID_IMAGINATION_OPEN_SOURCE_MESA = 25, 5752 + VK_DRIVER_ID_MESA_AGXV = 26, 5634 5753 VK_DRIVER_ID_AMD_PROPRIETARY_KHR = VK_DRIVER_ID_AMD_PROPRIETARY, 5635 5754 VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR = VK_DRIVER_ID_AMD_OPEN_SOURCE, 5636 5755 VK_DRIVER_ID_MESA_RADV_KHR = VK_DRIVER_ID_MESA_RADV, ··· 5660 5779 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE = 0, 5661 5780 VK_SAMPLER_REDUCTION_MODE_MIN = 1, 5662 5781 VK_SAMPLER_REDUCTION_MODE_MAX = 2, 5782 + VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM = 1000521000, 5663 5783 VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_EXT = VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, 5664 5784 VK_SAMPLER_REDUCTION_MODE_MIN_EXT = VK_SAMPLER_REDUCTION_MODE_MIN, 5665 5785 VK_SAMPLER_REDUCTION_MODE_MAX_EXT = VK_SAMPLER_REDUCTION_MODE_MAX, ··· 5680 5800 VK_RESOLVE_MODE_AVERAGE_BIT = 0x00000002, 5681 5801 VK_RESOLVE_MODE_MIN_BIT = 0x00000004, 5682 5802 VK_RESOLVE_MODE_MAX_BIT = 0x00000008, 5803 + VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID = 0x00000010, 5683 5804 VK_RESOLVE_MODE_NONE_KHR = VK_RESOLVE_MODE_NONE, 5684 5805 VK_RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR = VK_RESOLVE_MODE_SAMPLE_ZERO_BIT, 5685 5806 VK_RESOLVE_MODE_AVERAGE_BIT_KHR = VK_RESOLVE_MODE_AVERAGE_BIT, ··· 6352 6473 #endif 6353 6474 6354 6475 6476 + // VK_VERSION_1_3 is a preprocessor guard. Do not pass it to API calls. 6355 6477 #define VK_VERSION_1_3 1 6356 6478 // Vulkan 1.3 version number 6357 6479 #define VK_API_VERSION_1_3 VK_MAKE_API_VERSION(0, 1, 3, 0)// Patch version should always be set to 0 ··· 6443 6565 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR = 0x2000000000ULL; 6444 6566 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT = 0x4000000000ULL; 6445 6567 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR = 0x4000000000ULL; 6446 - #ifdef VK_ENABLE_BETA_EXTENSIONS 6447 6568 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR = 0x04000000ULL; 6448 - #endif 6449 - #ifdef VK_ENABLE_BETA_EXTENSIONS 6450 6569 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR = 0x08000000ULL; 6451 - #endif 6452 6570 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT = 0x01000000ULL; 6453 6571 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00040000ULL; 6454 6572 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV = 0x00020000ULL; ··· 6463 6581 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV = 0x00100000ULL; 6464 6582 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT = 0x00080000ULL; 6465 6583 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT = 0x00100000ULL; 6584 + static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI = 0x8000000000ULL; 6466 6585 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI = 0x8000000000ULL; 6467 6586 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI = 0x10000000000ULL; 6468 6587 static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR = 0x10000000ULL; 6588 + static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT = 0x40000000ULL; 6589 + static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_CLUSTER_CULLING_SHADER_BIT_HUAWEI = 0x20000000000ULL; 6590 + static const VkPipelineStageFlagBits2 VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV = 0x20000000ULL; 6469 6591 6470 6592 typedef VkFlags64 VkAccessFlags2; 6471 6593 ··· 6513 6635 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR = 0x200000000ULL; 6514 6636 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT = 0x400000000ULL; 6515 6637 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR = 0x400000000ULL; 6516 - #ifdef VK_ENABLE_BETA_EXTENSIONS 6517 6638 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR = 0x800000000ULL; 6518 - #endif 6519 - #ifdef VK_ENABLE_BETA_EXTENSIONS 6520 6639 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR = 0x1000000000ULL; 6521 - #endif 6522 - #ifdef VK_ENABLE_BETA_EXTENSIONS 6523 6640 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR = 0x2000000000ULL; 6524 - #endif 6525 - #ifdef VK_ENABLE_BETA_EXTENSIONS 6526 6641 static const VkAccessFlagBits2 VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR = 0x4000000000ULL; 6527 - #endif 6528 6642 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT = 0x02000000ULL; 6529 6643 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT = 0x04000000ULL; 6530 6644 static const VkAccessFlagBits2 VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT = 0x08000000ULL; ··· 6539 6653 static const VkAccessFlagBits2 VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV = 0x00400000ULL; 6540 6654 static const VkAccessFlagBits2 VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT = 0x01000000ULL; 6541 6655 static const VkAccessFlagBits2 VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT = 0x00080000ULL; 6656 + static const VkAccessFlagBits2 VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT = 0x20000000000ULL; 6542 6657 static const VkAccessFlagBits2 VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI = 0x8000000000ULL; 6543 6658 static const VkAccessFlagBits2 VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR = 0x10000000000ULL; 6659 + static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_READ_BIT_EXT = 0x100000000000ULL; 6660 + static const VkAccessFlagBits2 VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT = 0x200000000000ULL; 6661 + static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV = 0x40000000000ULL; 6662 + static const VkAccessFlagBits2 VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV = 0x80000000000ULL; 6544 6663 6545 6664 6546 6665 typedef enum VkSubmitFlagBits { ··· 6554 6673 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT = 0x00000001, 6555 6674 VK_RENDERING_SUSPENDING_BIT = 0x00000002, 6556 6675 VK_RENDERING_RESUMING_BIT = 0x00000004, 6676 + VK_RENDERING_CONTENTS_INLINE_BIT_EXT = 0x00000010, 6557 6677 VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT = 0x00000008, 6558 6678 VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT_KHR = VK_RENDERING_CONTENTS_SECONDARY_COMMAND_BUFFERS_BIT, 6559 6679 VK_RENDERING_SUSPENDING_BIT_KHR = VK_RENDERING_SUSPENDING_BIT, ··· 6619 6739 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR = 0x100000000ULL; 6620 6740 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT = 0x200000000ULL; 6621 6741 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR = 0x200000000ULL; 6622 - #ifdef VK_ENABLE_BETA_EXTENSIONS 6623 6742 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR = 0x02000000ULL; 6624 - #endif 6625 - #ifdef VK_ENABLE_BETA_EXTENSIONS 6626 6743 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR = 0x04000000ULL; 6627 - #endif 6628 6744 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = 0x20000000ULL; 6629 6745 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT = 0x01000000ULL; 6630 6746 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x40000000ULL; 6631 - #ifdef VK_ENABLE_BETA_EXTENSIONS 6747 + static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT = 0x400000000000ULL; 6632 6748 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR = 0x08000000ULL; 6633 - #endif 6634 - #ifdef VK_ENABLE_BETA_EXTENSIONS 6635 6749 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR = 0x10000000ULL; 6636 - #endif 6637 6750 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV = 0x4000000000ULL; 6638 6751 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM = 0x400000000ULL; 6639 6752 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM = 0x800000000ULL; 6640 6753 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM = 0x1000000000ULL; 6641 6754 static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM = 0x2000000000ULL; 6755 + static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_IMAGE_BIT_NV = 0x10000000000ULL; 6756 + static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_VECTOR_BIT_NV = 0x20000000000ULL; 6757 + static const VkFormatFeatureFlagBits2 VK_FORMAT_FEATURE_2_OPTICAL_FLOW_COST_BIT_NV = 0x40000000000ULL; 6642 6758 6643 6759 typedef struct VkPhysicalDeviceVulkan13Features { 6644 6760 VkStructureType sType; ··· 7392 7508 #endif 7393 7509 7394 7510 7511 + // VK_KHR_surface is a preprocessor guard. Do not pass it to API calls. 7395 7512 #define VK_KHR_surface 1 7396 7513 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) 7397 7514 #define VK_KHR_SURFACE_SPEC_VERSION 25 ··· 7506 7623 #endif 7507 7624 7508 7625 7626 + // VK_KHR_swapchain is a preprocessor guard. Do not pass it to API calls. 7509 7627 #define VK_KHR_swapchain 1 7510 7628 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSwapchainKHR) 7511 7629 #define VK_KHR_SWAPCHAIN_SPEC_VERSION 70 ··· 7515 7633 VK_SWAPCHAIN_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = 0x00000001, 7516 7634 VK_SWAPCHAIN_CREATE_PROTECTED_BIT_KHR = 0x00000002, 7517 7635 VK_SWAPCHAIN_CREATE_MUTABLE_FORMAT_BIT_KHR = 0x00000004, 7636 + VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT = 0x00000008, 7518 7637 VK_SWAPCHAIN_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7519 7638 } VkSwapchainCreateFlagBitsKHR; 7520 7639 typedef VkFlags VkSwapchainCreateFlagsKHR; ··· 7665 7784 #endif 7666 7785 7667 7786 7787 + // VK_KHR_display is a preprocessor guard. Do not pass it to API calls. 7668 7788 #define VK_KHR_display 1 7669 7789 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayKHR) 7670 7790 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDisplayModeKHR) ··· 7790 7910 #endif 7791 7911 7792 7912 7913 + // VK_KHR_display_swapchain is a preprocessor guard. Do not pass it to API calls. 7793 7914 #define VK_KHR_display_swapchain 1 7794 7915 #define VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION 10 7795 7916 #define VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME "VK_KHR_display_swapchain" ··· 7813 7934 #endif 7814 7935 7815 7936 7937 + // VK_KHR_sampler_mirror_clamp_to_edge is a preprocessor guard. Do not pass it to API calls. 7816 7938 #define VK_KHR_sampler_mirror_clamp_to_edge 1 7817 7939 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION 3 7818 7940 #define VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME "VK_KHR_sampler_mirror_clamp_to_edge" 7819 7941 7820 7942 7943 + // VK_KHR_video_queue is a preprocessor guard. Do not pass it to API calls. 7944 + #define VK_KHR_video_queue 1 7945 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR) 7946 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR) 7947 + #define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 8 7948 + #define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue" 7949 + 7950 + typedef enum VkQueryResultStatusKHR { 7951 + VK_QUERY_RESULT_STATUS_ERROR_KHR = -1, 7952 + VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0, 7953 + VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1, 7954 + VK_QUERY_RESULT_STATUS_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_KHR = -1000299000, 7955 + VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF 7956 + } VkQueryResultStatusKHR; 7957 + 7958 + typedef enum VkVideoCodecOperationFlagBitsKHR { 7959 + VK_VIDEO_CODEC_OPERATION_NONE_KHR = 0, 7960 + VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR = 0x00010000, 7961 + VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR = 0x00020000, 7962 + VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001, 7963 + VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002, 7964 + VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7965 + } VkVideoCodecOperationFlagBitsKHR; 7966 + typedef VkFlags VkVideoCodecOperationFlagsKHR; 7967 + 7968 + typedef enum VkVideoChromaSubsamplingFlagBitsKHR { 7969 + VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_KHR = 0, 7970 + VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001, 7971 + VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002, 7972 + VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004, 7973 + VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008, 7974 + VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7975 + } VkVideoChromaSubsamplingFlagBitsKHR; 7976 + typedef VkFlags VkVideoChromaSubsamplingFlagsKHR; 7977 + 7978 + typedef enum VkVideoComponentBitDepthFlagBitsKHR { 7979 + VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0, 7980 + VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001, 7981 + VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004, 7982 + VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010, 7983 + VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7984 + } VkVideoComponentBitDepthFlagBitsKHR; 7985 + typedef VkFlags VkVideoComponentBitDepthFlagsKHR; 7986 + 7987 + typedef enum VkVideoCapabilityFlagBitsKHR { 7988 + VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 7989 + VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002, 7990 + VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7991 + } VkVideoCapabilityFlagBitsKHR; 7992 + typedef VkFlags VkVideoCapabilityFlagsKHR; 7993 + 7994 + typedef enum VkVideoSessionCreateFlagBitsKHR { 7995 + VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001, 7996 + VK_VIDEO_SESSION_CREATE_ALLOW_ENCODE_PARAMETER_OPTIMIZATIONS_BIT_KHR = 0x00000002, 7997 + VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR = 0x00000004, 7998 + VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 7999 + } VkVideoSessionCreateFlagBitsKHR; 8000 + typedef VkFlags VkVideoSessionCreateFlagsKHR; 8001 + typedef VkFlags VkVideoSessionParametersCreateFlagsKHR; 8002 + typedef VkFlags VkVideoBeginCodingFlagsKHR; 8003 + typedef VkFlags VkVideoEndCodingFlagsKHR; 8004 + 8005 + typedef enum VkVideoCodingControlFlagBitsKHR { 8006 + VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001, 8007 + VK_VIDEO_CODING_CONTROL_ENCODE_RATE_CONTROL_BIT_KHR = 0x00000002, 8008 + VK_VIDEO_CODING_CONTROL_ENCODE_QUALITY_LEVEL_BIT_KHR = 0x00000004, 8009 + VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8010 + } VkVideoCodingControlFlagBitsKHR; 8011 + typedef VkFlags VkVideoCodingControlFlagsKHR; 8012 + typedef struct VkQueueFamilyQueryResultStatusPropertiesKHR { 8013 + VkStructureType sType; 8014 + void* pNext; 8015 + VkBool32 queryResultStatusSupport; 8016 + } VkQueueFamilyQueryResultStatusPropertiesKHR; 8017 + 8018 + typedef struct VkQueueFamilyVideoPropertiesKHR { 8019 + VkStructureType sType; 8020 + void* pNext; 8021 + VkVideoCodecOperationFlagsKHR videoCodecOperations; 8022 + } VkQueueFamilyVideoPropertiesKHR; 8023 + 8024 + typedef struct VkVideoProfileInfoKHR { 8025 + VkStructureType sType; 8026 + const void* pNext; 8027 + VkVideoCodecOperationFlagBitsKHR videoCodecOperation; 8028 + VkVideoChromaSubsamplingFlagsKHR chromaSubsampling; 8029 + VkVideoComponentBitDepthFlagsKHR lumaBitDepth; 8030 + VkVideoComponentBitDepthFlagsKHR chromaBitDepth; 8031 + } VkVideoProfileInfoKHR; 8032 + 8033 + typedef struct VkVideoProfileListInfoKHR { 8034 + VkStructureType sType; 8035 + const void* pNext; 8036 + uint32_t profileCount; 8037 + const VkVideoProfileInfoKHR* pProfiles; 8038 + } VkVideoProfileListInfoKHR; 8039 + 8040 + typedef struct VkVideoCapabilitiesKHR { 8041 + VkStructureType sType; 8042 + void* pNext; 8043 + VkVideoCapabilityFlagsKHR flags; 8044 + VkDeviceSize minBitstreamBufferOffsetAlignment; 8045 + VkDeviceSize minBitstreamBufferSizeAlignment; 8046 + VkExtent2D pictureAccessGranularity; 8047 + VkExtent2D minCodedExtent; 8048 + VkExtent2D maxCodedExtent; 8049 + uint32_t maxDpbSlots; 8050 + uint32_t maxActiveReferencePictures; 8051 + VkExtensionProperties stdHeaderVersion; 8052 + } VkVideoCapabilitiesKHR; 8053 + 8054 + typedef struct VkPhysicalDeviceVideoFormatInfoKHR { 8055 + VkStructureType sType; 8056 + const void* pNext; 8057 + VkImageUsageFlags imageUsage; 8058 + } VkPhysicalDeviceVideoFormatInfoKHR; 8059 + 8060 + typedef struct VkVideoFormatPropertiesKHR { 8061 + VkStructureType sType; 8062 + void* pNext; 8063 + VkFormat format; 8064 + VkComponentMapping componentMapping; 8065 + VkImageCreateFlags imageCreateFlags; 8066 + VkImageType imageType; 8067 + VkImageTiling imageTiling; 8068 + VkImageUsageFlags imageUsageFlags; 8069 + } VkVideoFormatPropertiesKHR; 8070 + 8071 + typedef struct VkVideoPictureResourceInfoKHR { 8072 + VkStructureType sType; 8073 + const void* pNext; 8074 + VkOffset2D codedOffset; 8075 + VkExtent2D codedExtent; 8076 + uint32_t baseArrayLayer; 8077 + VkImageView imageViewBinding; 8078 + } VkVideoPictureResourceInfoKHR; 8079 + 8080 + typedef struct VkVideoReferenceSlotInfoKHR { 8081 + VkStructureType sType; 8082 + const void* pNext; 8083 + int32_t slotIndex; 8084 + const VkVideoPictureResourceInfoKHR* pPictureResource; 8085 + } VkVideoReferenceSlotInfoKHR; 8086 + 8087 + typedef struct VkVideoSessionMemoryRequirementsKHR { 8088 + VkStructureType sType; 8089 + void* pNext; 8090 + uint32_t memoryBindIndex; 8091 + VkMemoryRequirements memoryRequirements; 8092 + } VkVideoSessionMemoryRequirementsKHR; 8093 + 8094 + typedef struct VkBindVideoSessionMemoryInfoKHR { 8095 + VkStructureType sType; 8096 + const void* pNext; 8097 + uint32_t memoryBindIndex; 8098 + VkDeviceMemory memory; 8099 + VkDeviceSize memoryOffset; 8100 + VkDeviceSize memorySize; 8101 + } VkBindVideoSessionMemoryInfoKHR; 8102 + 8103 + typedef struct VkVideoSessionCreateInfoKHR { 8104 + VkStructureType sType; 8105 + const void* pNext; 8106 + uint32_t queueFamilyIndex; 8107 + VkVideoSessionCreateFlagsKHR flags; 8108 + const VkVideoProfileInfoKHR* pVideoProfile; 8109 + VkFormat pictureFormat; 8110 + VkExtent2D maxCodedExtent; 8111 + VkFormat referencePictureFormat; 8112 + uint32_t maxDpbSlots; 8113 + uint32_t maxActiveReferencePictures; 8114 + const VkExtensionProperties* pStdHeaderVersion; 8115 + } VkVideoSessionCreateInfoKHR; 8116 + 8117 + typedef struct VkVideoSessionParametersCreateInfoKHR { 8118 + VkStructureType sType; 8119 + const void* pNext; 8120 + VkVideoSessionParametersCreateFlagsKHR flags; 8121 + VkVideoSessionParametersKHR videoSessionParametersTemplate; 8122 + VkVideoSessionKHR videoSession; 8123 + } VkVideoSessionParametersCreateInfoKHR; 8124 + 8125 + typedef struct VkVideoSessionParametersUpdateInfoKHR { 8126 + VkStructureType sType; 8127 + const void* pNext; 8128 + uint32_t updateSequenceCount; 8129 + } VkVideoSessionParametersUpdateInfoKHR; 8130 + 8131 + typedef struct VkVideoBeginCodingInfoKHR { 8132 + VkStructureType sType; 8133 + const void* pNext; 8134 + VkVideoBeginCodingFlagsKHR flags; 8135 + VkVideoSessionKHR videoSession; 8136 + VkVideoSessionParametersKHR videoSessionParameters; 8137 + uint32_t referenceSlotCount; 8138 + const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 8139 + } VkVideoBeginCodingInfoKHR; 8140 + 8141 + typedef struct VkVideoEndCodingInfoKHR { 8142 + VkStructureType sType; 8143 + const void* pNext; 8144 + VkVideoEndCodingFlagsKHR flags; 8145 + } VkVideoEndCodingInfoKHR; 8146 + 8147 + typedef struct VkVideoCodingControlInfoKHR { 8148 + VkStructureType sType; 8149 + const void* pNext; 8150 + VkVideoCodingControlFlagsKHR flags; 8151 + } VkVideoCodingControlInfoKHR; 8152 + 8153 + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileInfoKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities); 8154 + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties); 8155 + typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession); 8156 + typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator); 8157 + typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 8158 + typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 8159 + typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters); 8160 + typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 8161 + typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator); 8162 + typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo); 8163 + typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo); 8164 + typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo); 8165 + 8166 + #ifndef VK_NO_PROTOTYPES 8167 + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR( 8168 + VkPhysicalDevice physicalDevice, 8169 + const VkVideoProfileInfoKHR* pVideoProfile, 8170 + VkVideoCapabilitiesKHR* pCapabilities); 8171 + 8172 + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR( 8173 + VkPhysicalDevice physicalDevice, 8174 + const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, 8175 + uint32_t* pVideoFormatPropertyCount, 8176 + VkVideoFormatPropertiesKHR* pVideoFormatProperties); 8177 + 8178 + VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR( 8179 + VkDevice device, 8180 + const VkVideoSessionCreateInfoKHR* pCreateInfo, 8181 + const VkAllocationCallbacks* pAllocator, 8182 + VkVideoSessionKHR* pVideoSession); 8183 + 8184 + VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR( 8185 + VkDevice device, 8186 + VkVideoSessionKHR videoSession, 8187 + const VkAllocationCallbacks* pAllocator); 8188 + 8189 + VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR( 8190 + VkDevice device, 8191 + VkVideoSessionKHR videoSession, 8192 + uint32_t* pMemoryRequirementsCount, 8193 + VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements); 8194 + 8195 + VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR( 8196 + VkDevice device, 8197 + VkVideoSessionKHR videoSession, 8198 + uint32_t bindSessionMemoryInfoCount, 8199 + const VkBindVideoSessionMemoryInfoKHR* pBindSessionMemoryInfos); 8200 + 8201 + VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR( 8202 + VkDevice device, 8203 + const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, 8204 + const VkAllocationCallbacks* pAllocator, 8205 + VkVideoSessionParametersKHR* pVideoSessionParameters); 8206 + 8207 + VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR( 8208 + VkDevice device, 8209 + VkVideoSessionParametersKHR videoSessionParameters, 8210 + const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo); 8211 + 8212 + VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR( 8213 + VkDevice device, 8214 + VkVideoSessionParametersKHR videoSessionParameters, 8215 + const VkAllocationCallbacks* pAllocator); 8216 + 8217 + VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR( 8218 + VkCommandBuffer commandBuffer, 8219 + const VkVideoBeginCodingInfoKHR* pBeginInfo); 8220 + 8221 + VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR( 8222 + VkCommandBuffer commandBuffer, 8223 + const VkVideoEndCodingInfoKHR* pEndCodingInfo); 8224 + 8225 + VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR( 8226 + VkCommandBuffer commandBuffer, 8227 + const VkVideoCodingControlInfoKHR* pCodingControlInfo); 8228 + #endif 8229 + 8230 + 8231 + // VK_KHR_video_decode_queue is a preprocessor guard. Do not pass it to API calls. 8232 + #define VK_KHR_video_decode_queue 1 8233 + #define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 8 8234 + #define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue" 8235 + 8236 + typedef enum VkVideoDecodeCapabilityFlagBitsKHR { 8237 + VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR = 0x00000001, 8238 + VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR = 0x00000002, 8239 + VK_VIDEO_DECODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8240 + } VkVideoDecodeCapabilityFlagBitsKHR; 8241 + typedef VkFlags VkVideoDecodeCapabilityFlagsKHR; 8242 + 8243 + typedef enum VkVideoDecodeUsageFlagBitsKHR { 8244 + VK_VIDEO_DECODE_USAGE_DEFAULT_KHR = 0, 8245 + VK_VIDEO_DECODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 8246 + VK_VIDEO_DECODE_USAGE_OFFLINE_BIT_KHR = 0x00000002, 8247 + VK_VIDEO_DECODE_USAGE_STREAMING_BIT_KHR = 0x00000004, 8248 + VK_VIDEO_DECODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8249 + } VkVideoDecodeUsageFlagBitsKHR; 8250 + typedef VkFlags VkVideoDecodeUsageFlagsKHR; 8251 + typedef VkFlags VkVideoDecodeFlagsKHR; 8252 + typedef struct VkVideoDecodeCapabilitiesKHR { 8253 + VkStructureType sType; 8254 + void* pNext; 8255 + VkVideoDecodeCapabilityFlagsKHR flags; 8256 + } VkVideoDecodeCapabilitiesKHR; 8257 + 8258 + typedef struct VkVideoDecodeUsageInfoKHR { 8259 + VkStructureType sType; 8260 + const void* pNext; 8261 + VkVideoDecodeUsageFlagsKHR videoUsageHints; 8262 + } VkVideoDecodeUsageInfoKHR; 8263 + 8264 + typedef struct VkVideoDecodeInfoKHR { 8265 + VkStructureType sType; 8266 + const void* pNext; 8267 + VkVideoDecodeFlagsKHR flags; 8268 + VkBuffer srcBuffer; 8269 + VkDeviceSize srcBufferOffset; 8270 + VkDeviceSize srcBufferRange; 8271 + VkVideoPictureResourceInfoKHR dstPictureResource; 8272 + const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 8273 + uint32_t referenceSlotCount; 8274 + const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 8275 + } VkVideoDecodeInfoKHR; 8276 + 8277 + typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pDecodeInfo); 8278 + 8279 + #ifndef VK_NO_PROTOTYPES 8280 + VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR( 8281 + VkCommandBuffer commandBuffer, 8282 + const VkVideoDecodeInfoKHR* pDecodeInfo); 8283 + #endif 8284 + 8285 + 8286 + // VK_KHR_video_encode_h264 is a preprocessor guard. Do not pass it to API calls. 8287 + #define VK_KHR_video_encode_h264 1 8288 + #include "vk_video/vulkan_video_codec_h264std.h" 8289 + #include "vk_video/vulkan_video_codec_h264std_encode.h" 8290 + #define VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION 14 8291 + #define VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_KHR_video_encode_h264" 8292 + 8293 + typedef enum VkVideoEncodeH264CapabilityFlagBitsKHR { 8294 + VK_VIDEO_ENCODE_H264_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8295 + VK_VIDEO_ENCODE_H264_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 8296 + VK_VIDEO_ENCODE_H264_CAPABILITY_ROW_UNALIGNED_SLICE_BIT_KHR = 0x00000004, 8297 + VK_VIDEO_ENCODE_H264_CAPABILITY_DIFFERENT_SLICE_TYPE_BIT_KHR = 0x00000008, 8298 + VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 8299 + VK_VIDEO_ENCODE_H264_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 8300 + VK_VIDEO_ENCODE_H264_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 8301 + VK_VIDEO_ENCODE_H264_CAPABILITY_PER_SLICE_CONSTANT_QP_BIT_KHR = 0x00000080, 8302 + VK_VIDEO_ENCODE_H264_CAPABILITY_GENERATE_PREFIX_NALU_BIT_KHR = 0x00000100, 8303 + VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8304 + } VkVideoEncodeH264CapabilityFlagBitsKHR; 8305 + typedef VkFlags VkVideoEncodeH264CapabilityFlagsKHR; 8306 + 8307 + typedef enum VkVideoEncodeH264StdFlagBitsKHR { 8308 + VK_VIDEO_ENCODE_H264_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 8309 + VK_VIDEO_ENCODE_H264_STD_QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG_SET_BIT_KHR = 0x00000002, 8310 + VK_VIDEO_ENCODE_H264_STD_SCALING_MATRIX_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 8311 + VK_VIDEO_ENCODE_H264_STD_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000008, 8312 + VK_VIDEO_ENCODE_H264_STD_SECOND_CHROMA_QP_INDEX_OFFSET_BIT_KHR = 0x00000010, 8313 + VK_VIDEO_ENCODE_H264_STD_PIC_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 8314 + VK_VIDEO_ENCODE_H264_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 8315 + VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_EXPLICIT_BIT_KHR = 0x00000080, 8316 + VK_VIDEO_ENCODE_H264_STD_WEIGHTED_BIPRED_IDC_IMPLICIT_BIT_KHR = 0x00000100, 8317 + VK_VIDEO_ENCODE_H264_STD_TRANSFORM_8X8_MODE_FLAG_SET_BIT_KHR = 0x00000200, 8318 + VK_VIDEO_ENCODE_H264_STD_DIRECT_SPATIAL_MV_PRED_FLAG_UNSET_BIT_KHR = 0x00000400, 8319 + VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_UNSET_BIT_KHR = 0x00000800, 8320 + VK_VIDEO_ENCODE_H264_STD_ENTROPY_CODING_MODE_FLAG_SET_BIT_KHR = 0x00001000, 8321 + VK_VIDEO_ENCODE_H264_STD_DIRECT_8X8_INFERENCE_FLAG_UNSET_BIT_KHR = 0x00002000, 8322 + VK_VIDEO_ENCODE_H264_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 8323 + VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_DISABLED_BIT_KHR = 0x00008000, 8324 + VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_ENABLED_BIT_KHR = 0x00010000, 8325 + VK_VIDEO_ENCODE_H264_STD_DEBLOCKING_FILTER_PARTIAL_BIT_KHR = 0x00020000, 8326 + VK_VIDEO_ENCODE_H264_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 8327 + VK_VIDEO_ENCODE_H264_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 8328 + VK_VIDEO_ENCODE_H264_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8329 + } VkVideoEncodeH264StdFlagBitsKHR; 8330 + typedef VkFlags VkVideoEncodeH264StdFlagsKHR; 8331 + 8332 + typedef enum VkVideoEncodeH264RateControlFlagBitsKHR { 8333 + VK_VIDEO_ENCODE_H264_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8334 + VK_VIDEO_ENCODE_H264_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 8335 + VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 8336 + VK_VIDEO_ENCODE_H264_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 8337 + VK_VIDEO_ENCODE_H264_RATE_CONTROL_TEMPORAL_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 8338 + VK_VIDEO_ENCODE_H264_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8339 + } VkVideoEncodeH264RateControlFlagBitsKHR; 8340 + typedef VkFlags VkVideoEncodeH264RateControlFlagsKHR; 8341 + typedef struct VkVideoEncodeH264CapabilitiesKHR { 8342 + VkStructureType sType; 8343 + void* pNext; 8344 + VkVideoEncodeH264CapabilityFlagsKHR flags; 8345 + StdVideoH264LevelIdc maxLevelIdc; 8346 + uint32_t maxSliceCount; 8347 + uint32_t maxPPictureL0ReferenceCount; 8348 + uint32_t maxBPictureL0ReferenceCount; 8349 + uint32_t maxL1ReferenceCount; 8350 + uint32_t maxTemporalLayerCount; 8351 + VkBool32 expectDyadicTemporalLayerPattern; 8352 + int32_t minQp; 8353 + int32_t maxQp; 8354 + VkBool32 prefersGopRemainingFrames; 8355 + VkBool32 requiresGopRemainingFrames; 8356 + VkVideoEncodeH264StdFlagsKHR stdSyntaxFlags; 8357 + } VkVideoEncodeH264CapabilitiesKHR; 8358 + 8359 + typedef struct VkVideoEncodeH264QpKHR { 8360 + int32_t qpI; 8361 + int32_t qpP; 8362 + int32_t qpB; 8363 + } VkVideoEncodeH264QpKHR; 8364 + 8365 + typedef struct VkVideoEncodeH264QualityLevelPropertiesKHR { 8366 + VkStructureType sType; 8367 + void* pNext; 8368 + VkVideoEncodeH264RateControlFlagsKHR preferredRateControlFlags; 8369 + uint32_t preferredGopFrameCount; 8370 + uint32_t preferredIdrPeriod; 8371 + uint32_t preferredConsecutiveBFrameCount; 8372 + uint32_t preferredTemporalLayerCount; 8373 + VkVideoEncodeH264QpKHR preferredConstantQp; 8374 + uint32_t preferredMaxL0ReferenceCount; 8375 + uint32_t preferredMaxL1ReferenceCount; 8376 + VkBool32 preferredStdEntropyCodingModeFlag; 8377 + } VkVideoEncodeH264QualityLevelPropertiesKHR; 8378 + 8379 + typedef struct VkVideoEncodeH264SessionCreateInfoKHR { 8380 + VkStructureType sType; 8381 + const void* pNext; 8382 + VkBool32 useMaxLevelIdc; 8383 + StdVideoH264LevelIdc maxLevelIdc; 8384 + } VkVideoEncodeH264SessionCreateInfoKHR; 8385 + 8386 + typedef struct VkVideoEncodeH264SessionParametersAddInfoKHR { 8387 + VkStructureType sType; 8388 + const void* pNext; 8389 + uint32_t stdSPSCount; 8390 + const StdVideoH264SequenceParameterSet* pStdSPSs; 8391 + uint32_t stdPPSCount; 8392 + const StdVideoH264PictureParameterSet* pStdPPSs; 8393 + } VkVideoEncodeH264SessionParametersAddInfoKHR; 8394 + 8395 + typedef struct VkVideoEncodeH264SessionParametersCreateInfoKHR { 8396 + VkStructureType sType; 8397 + const void* pNext; 8398 + uint32_t maxStdSPSCount; 8399 + uint32_t maxStdPPSCount; 8400 + const VkVideoEncodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 8401 + } VkVideoEncodeH264SessionParametersCreateInfoKHR; 8402 + 8403 + typedef struct VkVideoEncodeH264SessionParametersGetInfoKHR { 8404 + VkStructureType sType; 8405 + const void* pNext; 8406 + VkBool32 writeStdSPS; 8407 + VkBool32 writeStdPPS; 8408 + uint32_t stdSPSId; 8409 + uint32_t stdPPSId; 8410 + } VkVideoEncodeH264SessionParametersGetInfoKHR; 8411 + 8412 + typedef struct VkVideoEncodeH264SessionParametersFeedbackInfoKHR { 8413 + VkStructureType sType; 8414 + void* pNext; 8415 + VkBool32 hasStdSPSOverrides; 8416 + VkBool32 hasStdPPSOverrides; 8417 + } VkVideoEncodeH264SessionParametersFeedbackInfoKHR; 8418 + 8419 + typedef struct VkVideoEncodeH264NaluSliceInfoKHR { 8420 + VkStructureType sType; 8421 + const void* pNext; 8422 + int32_t constantQp; 8423 + const StdVideoEncodeH264SliceHeader* pStdSliceHeader; 8424 + } VkVideoEncodeH264NaluSliceInfoKHR; 8425 + 8426 + typedef struct VkVideoEncodeH264PictureInfoKHR { 8427 + VkStructureType sType; 8428 + const void* pNext; 8429 + uint32_t naluSliceEntryCount; 8430 + const VkVideoEncodeH264NaluSliceInfoKHR* pNaluSliceEntries; 8431 + const StdVideoEncodeH264PictureInfo* pStdPictureInfo; 8432 + VkBool32 generatePrefixNalu; 8433 + } VkVideoEncodeH264PictureInfoKHR; 8434 + 8435 + typedef struct VkVideoEncodeH264DpbSlotInfoKHR { 8436 + VkStructureType sType; 8437 + const void* pNext; 8438 + const StdVideoEncodeH264ReferenceInfo* pStdReferenceInfo; 8439 + } VkVideoEncodeH264DpbSlotInfoKHR; 8440 + 8441 + typedef struct VkVideoEncodeH264ProfileInfoKHR { 8442 + VkStructureType sType; 8443 + const void* pNext; 8444 + StdVideoH264ProfileIdc stdProfileIdc; 8445 + } VkVideoEncodeH264ProfileInfoKHR; 8446 + 8447 + typedef struct VkVideoEncodeH264RateControlInfoKHR { 8448 + VkStructureType sType; 8449 + const void* pNext; 8450 + VkVideoEncodeH264RateControlFlagsKHR flags; 8451 + uint32_t gopFrameCount; 8452 + uint32_t idrPeriod; 8453 + uint32_t consecutiveBFrameCount; 8454 + uint32_t temporalLayerCount; 8455 + } VkVideoEncodeH264RateControlInfoKHR; 8456 + 8457 + typedef struct VkVideoEncodeH264FrameSizeKHR { 8458 + uint32_t frameISize; 8459 + uint32_t framePSize; 8460 + uint32_t frameBSize; 8461 + } VkVideoEncodeH264FrameSizeKHR; 8462 + 8463 + typedef struct VkVideoEncodeH264RateControlLayerInfoKHR { 8464 + VkStructureType sType; 8465 + const void* pNext; 8466 + VkBool32 useMinQp; 8467 + VkVideoEncodeH264QpKHR minQp; 8468 + VkBool32 useMaxQp; 8469 + VkVideoEncodeH264QpKHR maxQp; 8470 + VkBool32 useMaxFrameSize; 8471 + VkVideoEncodeH264FrameSizeKHR maxFrameSize; 8472 + } VkVideoEncodeH264RateControlLayerInfoKHR; 8473 + 8474 + typedef struct VkVideoEncodeH264GopRemainingFrameInfoKHR { 8475 + VkStructureType sType; 8476 + const void* pNext; 8477 + VkBool32 useGopRemainingFrames; 8478 + uint32_t gopRemainingI; 8479 + uint32_t gopRemainingP; 8480 + uint32_t gopRemainingB; 8481 + } VkVideoEncodeH264GopRemainingFrameInfoKHR; 8482 + 8483 + 8484 + 8485 + // VK_KHR_video_encode_h265 is a preprocessor guard. Do not pass it to API calls. 8486 + #define VK_KHR_video_encode_h265 1 8487 + #include "vk_video/vulkan_video_codec_h265std.h" 8488 + #include "vk_video/vulkan_video_codec_h265std_encode.h" 8489 + #define VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION 14 8490 + #define VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_KHR_video_encode_h265" 8491 + 8492 + typedef enum VkVideoEncodeH265CapabilityFlagBitsKHR { 8493 + VK_VIDEO_ENCODE_H265_CAPABILITY_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8494 + VK_VIDEO_ENCODE_H265_CAPABILITY_PREDICTION_WEIGHT_TABLE_GENERATED_BIT_KHR = 0x00000002, 8495 + VK_VIDEO_ENCODE_H265_CAPABILITY_ROW_UNALIGNED_SLICE_SEGMENT_BIT_KHR = 0x00000004, 8496 + VK_VIDEO_ENCODE_H265_CAPABILITY_DIFFERENT_SLICE_SEGMENT_TYPE_BIT_KHR = 0x00000008, 8497 + VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L0_LIST_BIT_KHR = 0x00000010, 8498 + VK_VIDEO_ENCODE_H265_CAPABILITY_B_FRAME_IN_L1_LIST_BIT_KHR = 0x00000020, 8499 + VK_VIDEO_ENCODE_H265_CAPABILITY_PER_PICTURE_TYPE_MIN_MAX_QP_BIT_KHR = 0x00000040, 8500 + VK_VIDEO_ENCODE_H265_CAPABILITY_PER_SLICE_SEGMENT_CONSTANT_QP_BIT_KHR = 0x00000080, 8501 + VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_TILES_PER_SLICE_SEGMENT_BIT_KHR = 0x00000100, 8502 + VK_VIDEO_ENCODE_H265_CAPABILITY_MULTIPLE_SLICE_SEGMENTS_PER_TILE_BIT_KHR = 0x00000200, 8503 + VK_VIDEO_ENCODE_H265_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8504 + } VkVideoEncodeH265CapabilityFlagBitsKHR; 8505 + typedef VkFlags VkVideoEncodeH265CapabilityFlagsKHR; 8506 + 8507 + typedef enum VkVideoEncodeH265StdFlagBitsKHR { 8508 + VK_VIDEO_ENCODE_H265_STD_SEPARATE_COLOR_PLANE_FLAG_SET_BIT_KHR = 0x00000001, 8509 + VK_VIDEO_ENCODE_H265_STD_SAMPLE_ADAPTIVE_OFFSET_ENABLED_FLAG_SET_BIT_KHR = 0x00000002, 8510 + VK_VIDEO_ENCODE_H265_STD_SCALING_LIST_DATA_PRESENT_FLAG_SET_BIT_KHR = 0x00000004, 8511 + VK_VIDEO_ENCODE_H265_STD_PCM_ENABLED_FLAG_SET_BIT_KHR = 0x00000008, 8512 + VK_VIDEO_ENCODE_H265_STD_SPS_TEMPORAL_MVP_ENABLED_FLAG_SET_BIT_KHR = 0x00000010, 8513 + VK_VIDEO_ENCODE_H265_STD_INIT_QP_MINUS26_BIT_KHR = 0x00000020, 8514 + VK_VIDEO_ENCODE_H265_STD_WEIGHTED_PRED_FLAG_SET_BIT_KHR = 0x00000040, 8515 + VK_VIDEO_ENCODE_H265_STD_WEIGHTED_BIPRED_FLAG_SET_BIT_KHR = 0x00000080, 8516 + VK_VIDEO_ENCODE_H265_STD_LOG2_PARALLEL_MERGE_LEVEL_MINUS2_BIT_KHR = 0x00000100, 8517 + VK_VIDEO_ENCODE_H265_STD_SIGN_DATA_HIDING_ENABLED_FLAG_SET_BIT_KHR = 0x00000200, 8518 + VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_SET_BIT_KHR = 0x00000400, 8519 + VK_VIDEO_ENCODE_H265_STD_TRANSFORM_SKIP_ENABLED_FLAG_UNSET_BIT_KHR = 0x00000800, 8520 + VK_VIDEO_ENCODE_H265_STD_PPS_SLICE_CHROMA_QP_OFFSETS_PRESENT_FLAG_SET_BIT_KHR = 0x00001000, 8521 + VK_VIDEO_ENCODE_H265_STD_TRANSQUANT_BYPASS_ENABLED_FLAG_SET_BIT_KHR = 0x00002000, 8522 + VK_VIDEO_ENCODE_H265_STD_CONSTRAINED_INTRA_PRED_FLAG_SET_BIT_KHR = 0x00004000, 8523 + VK_VIDEO_ENCODE_H265_STD_ENTROPY_CODING_SYNC_ENABLED_FLAG_SET_BIT_KHR = 0x00008000, 8524 + VK_VIDEO_ENCODE_H265_STD_DEBLOCKING_FILTER_OVERRIDE_ENABLED_FLAG_SET_BIT_KHR = 0x00010000, 8525 + VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENTS_ENABLED_FLAG_SET_BIT_KHR = 0x00020000, 8526 + VK_VIDEO_ENCODE_H265_STD_DEPENDENT_SLICE_SEGMENT_FLAG_SET_BIT_KHR = 0x00040000, 8527 + VK_VIDEO_ENCODE_H265_STD_SLICE_QP_DELTA_BIT_KHR = 0x00080000, 8528 + VK_VIDEO_ENCODE_H265_STD_DIFFERENT_SLICE_QP_DELTA_BIT_KHR = 0x00100000, 8529 + VK_VIDEO_ENCODE_H265_STD_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8530 + } VkVideoEncodeH265StdFlagBitsKHR; 8531 + typedef VkFlags VkVideoEncodeH265StdFlagsKHR; 8532 + 8533 + typedef enum VkVideoEncodeH265CtbSizeFlagBitsKHR { 8534 + VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_KHR = 0x00000001, 8535 + VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_KHR = 0x00000002, 8536 + VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_KHR = 0x00000004, 8537 + VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8538 + } VkVideoEncodeH265CtbSizeFlagBitsKHR; 8539 + typedef VkFlags VkVideoEncodeH265CtbSizeFlagsKHR; 8540 + 8541 + typedef enum VkVideoEncodeH265TransformBlockSizeFlagBitsKHR { 8542 + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_4_BIT_KHR = 0x00000001, 8543 + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_8_BIT_KHR = 0x00000002, 8544 + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_16_BIT_KHR = 0x00000004, 8545 + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_32_BIT_KHR = 0x00000008, 8546 + VK_VIDEO_ENCODE_H265_TRANSFORM_BLOCK_SIZE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8547 + } VkVideoEncodeH265TransformBlockSizeFlagBitsKHR; 8548 + typedef VkFlags VkVideoEncodeH265TransformBlockSizeFlagsKHR; 8549 + 8550 + typedef enum VkVideoEncodeH265RateControlFlagBitsKHR { 8551 + VK_VIDEO_ENCODE_H265_RATE_CONTROL_ATTEMPT_HRD_COMPLIANCE_BIT_KHR = 0x00000001, 8552 + VK_VIDEO_ENCODE_H265_RATE_CONTROL_REGULAR_GOP_BIT_KHR = 0x00000002, 8553 + VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_FLAT_BIT_KHR = 0x00000004, 8554 + VK_VIDEO_ENCODE_H265_RATE_CONTROL_REFERENCE_PATTERN_DYADIC_BIT_KHR = 0x00000008, 8555 + VK_VIDEO_ENCODE_H265_RATE_CONTROL_TEMPORAL_SUB_LAYER_PATTERN_DYADIC_BIT_KHR = 0x00000010, 8556 + VK_VIDEO_ENCODE_H265_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8557 + } VkVideoEncodeH265RateControlFlagBitsKHR; 8558 + typedef VkFlags VkVideoEncodeH265RateControlFlagsKHR; 8559 + typedef struct VkVideoEncodeH265CapabilitiesKHR { 8560 + VkStructureType sType; 8561 + void* pNext; 8562 + VkVideoEncodeH265CapabilityFlagsKHR flags; 8563 + StdVideoH265LevelIdc maxLevelIdc; 8564 + uint32_t maxSliceSegmentCount; 8565 + VkExtent2D maxTiles; 8566 + VkVideoEncodeH265CtbSizeFlagsKHR ctbSizes; 8567 + VkVideoEncodeH265TransformBlockSizeFlagsKHR transformBlockSizes; 8568 + uint32_t maxPPictureL0ReferenceCount; 8569 + uint32_t maxBPictureL0ReferenceCount; 8570 + uint32_t maxL1ReferenceCount; 8571 + uint32_t maxSubLayerCount; 8572 + VkBool32 expectDyadicTemporalSubLayerPattern; 8573 + int32_t minQp; 8574 + int32_t maxQp; 8575 + VkBool32 prefersGopRemainingFrames; 8576 + VkBool32 requiresGopRemainingFrames; 8577 + VkVideoEncodeH265StdFlagsKHR stdSyntaxFlags; 8578 + } VkVideoEncodeH265CapabilitiesKHR; 8579 + 8580 + typedef struct VkVideoEncodeH265SessionCreateInfoKHR { 8581 + VkStructureType sType; 8582 + const void* pNext; 8583 + VkBool32 useMaxLevelIdc; 8584 + StdVideoH265LevelIdc maxLevelIdc; 8585 + } VkVideoEncodeH265SessionCreateInfoKHR; 8586 + 8587 + typedef struct VkVideoEncodeH265QpKHR { 8588 + int32_t qpI; 8589 + int32_t qpP; 8590 + int32_t qpB; 8591 + } VkVideoEncodeH265QpKHR; 8592 + 8593 + typedef struct VkVideoEncodeH265QualityLevelPropertiesKHR { 8594 + VkStructureType sType; 8595 + void* pNext; 8596 + VkVideoEncodeH265RateControlFlagsKHR preferredRateControlFlags; 8597 + uint32_t preferredGopFrameCount; 8598 + uint32_t preferredIdrPeriod; 8599 + uint32_t preferredConsecutiveBFrameCount; 8600 + uint32_t preferredSubLayerCount; 8601 + VkVideoEncodeH265QpKHR preferredConstantQp; 8602 + uint32_t preferredMaxL0ReferenceCount; 8603 + uint32_t preferredMaxL1ReferenceCount; 8604 + } VkVideoEncodeH265QualityLevelPropertiesKHR; 8605 + 8606 + typedef struct VkVideoEncodeH265SessionParametersAddInfoKHR { 8607 + VkStructureType sType; 8608 + const void* pNext; 8609 + uint32_t stdVPSCount; 8610 + const StdVideoH265VideoParameterSet* pStdVPSs; 8611 + uint32_t stdSPSCount; 8612 + const StdVideoH265SequenceParameterSet* pStdSPSs; 8613 + uint32_t stdPPSCount; 8614 + const StdVideoH265PictureParameterSet* pStdPPSs; 8615 + } VkVideoEncodeH265SessionParametersAddInfoKHR; 8616 + 8617 + typedef struct VkVideoEncodeH265SessionParametersCreateInfoKHR { 8618 + VkStructureType sType; 8619 + const void* pNext; 8620 + uint32_t maxStdVPSCount; 8621 + uint32_t maxStdSPSCount; 8622 + uint32_t maxStdPPSCount; 8623 + const VkVideoEncodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 8624 + } VkVideoEncodeH265SessionParametersCreateInfoKHR; 8625 + 8626 + typedef struct VkVideoEncodeH265SessionParametersGetInfoKHR { 8627 + VkStructureType sType; 8628 + const void* pNext; 8629 + VkBool32 writeStdVPS; 8630 + VkBool32 writeStdSPS; 8631 + VkBool32 writeStdPPS; 8632 + uint32_t stdVPSId; 8633 + uint32_t stdSPSId; 8634 + uint32_t stdPPSId; 8635 + } VkVideoEncodeH265SessionParametersGetInfoKHR; 8636 + 8637 + typedef struct VkVideoEncodeH265SessionParametersFeedbackInfoKHR { 8638 + VkStructureType sType; 8639 + void* pNext; 8640 + VkBool32 hasStdVPSOverrides; 8641 + VkBool32 hasStdSPSOverrides; 8642 + VkBool32 hasStdPPSOverrides; 8643 + } VkVideoEncodeH265SessionParametersFeedbackInfoKHR; 8644 + 8645 + typedef struct VkVideoEncodeH265NaluSliceSegmentInfoKHR { 8646 + VkStructureType sType; 8647 + const void* pNext; 8648 + int32_t constantQp; 8649 + const StdVideoEncodeH265SliceSegmentHeader* pStdSliceSegmentHeader; 8650 + } VkVideoEncodeH265NaluSliceSegmentInfoKHR; 8651 + 8652 + typedef struct VkVideoEncodeH265PictureInfoKHR { 8653 + VkStructureType sType; 8654 + const void* pNext; 8655 + uint32_t naluSliceSegmentEntryCount; 8656 + const VkVideoEncodeH265NaluSliceSegmentInfoKHR* pNaluSliceSegmentEntries; 8657 + const StdVideoEncodeH265PictureInfo* pStdPictureInfo; 8658 + } VkVideoEncodeH265PictureInfoKHR; 8659 + 8660 + typedef struct VkVideoEncodeH265DpbSlotInfoKHR { 8661 + VkStructureType sType; 8662 + const void* pNext; 8663 + const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo; 8664 + } VkVideoEncodeH265DpbSlotInfoKHR; 8665 + 8666 + typedef struct VkVideoEncodeH265ProfileInfoKHR { 8667 + VkStructureType sType; 8668 + const void* pNext; 8669 + StdVideoH265ProfileIdc stdProfileIdc; 8670 + } VkVideoEncodeH265ProfileInfoKHR; 8671 + 8672 + typedef struct VkVideoEncodeH265RateControlInfoKHR { 8673 + VkStructureType sType; 8674 + const void* pNext; 8675 + VkVideoEncodeH265RateControlFlagsKHR flags; 8676 + uint32_t gopFrameCount; 8677 + uint32_t idrPeriod; 8678 + uint32_t consecutiveBFrameCount; 8679 + uint32_t subLayerCount; 8680 + } VkVideoEncodeH265RateControlInfoKHR; 8681 + 8682 + typedef struct VkVideoEncodeH265FrameSizeKHR { 8683 + uint32_t frameISize; 8684 + uint32_t framePSize; 8685 + uint32_t frameBSize; 8686 + } VkVideoEncodeH265FrameSizeKHR; 8687 + 8688 + typedef struct VkVideoEncodeH265RateControlLayerInfoKHR { 8689 + VkStructureType sType; 8690 + const void* pNext; 8691 + VkBool32 useMinQp; 8692 + VkVideoEncodeH265QpKHR minQp; 8693 + VkBool32 useMaxQp; 8694 + VkVideoEncodeH265QpKHR maxQp; 8695 + VkBool32 useMaxFrameSize; 8696 + VkVideoEncodeH265FrameSizeKHR maxFrameSize; 8697 + } VkVideoEncodeH265RateControlLayerInfoKHR; 8698 + 8699 + typedef struct VkVideoEncodeH265GopRemainingFrameInfoKHR { 8700 + VkStructureType sType; 8701 + const void* pNext; 8702 + VkBool32 useGopRemainingFrames; 8703 + uint32_t gopRemainingI; 8704 + uint32_t gopRemainingP; 8705 + uint32_t gopRemainingB; 8706 + } VkVideoEncodeH265GopRemainingFrameInfoKHR; 8707 + 8708 + 8709 + 8710 + // VK_KHR_video_decode_h264 is a preprocessor guard. Do not pass it to API calls. 8711 + #define VK_KHR_video_decode_h264 1 8712 + #include "vk_video/vulkan_video_codec_h264std_decode.h" 8713 + #define VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION 9 8714 + #define VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME "VK_KHR_video_decode_h264" 8715 + 8716 + typedef enum VkVideoDecodeH264PictureLayoutFlagBitsKHR { 8717 + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_KHR = 0, 8718 + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_KHR = 0x00000001, 8719 + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_KHR = 0x00000002, 8720 + VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 8721 + } VkVideoDecodeH264PictureLayoutFlagBitsKHR; 8722 + typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsKHR; 8723 + typedef struct VkVideoDecodeH264ProfileInfoKHR { 8724 + VkStructureType sType; 8725 + const void* pNext; 8726 + StdVideoH264ProfileIdc stdProfileIdc; 8727 + VkVideoDecodeH264PictureLayoutFlagBitsKHR pictureLayout; 8728 + } VkVideoDecodeH264ProfileInfoKHR; 8729 + 8730 + typedef struct VkVideoDecodeH264CapabilitiesKHR { 8731 + VkStructureType sType; 8732 + void* pNext; 8733 + StdVideoH264LevelIdc maxLevelIdc; 8734 + VkOffset2D fieldOffsetGranularity; 8735 + } VkVideoDecodeH264CapabilitiesKHR; 8736 + 8737 + typedef struct VkVideoDecodeH264SessionParametersAddInfoKHR { 8738 + VkStructureType sType; 8739 + const void* pNext; 8740 + uint32_t stdSPSCount; 8741 + const StdVideoH264SequenceParameterSet* pStdSPSs; 8742 + uint32_t stdPPSCount; 8743 + const StdVideoH264PictureParameterSet* pStdPPSs; 8744 + } VkVideoDecodeH264SessionParametersAddInfoKHR; 8745 + 8746 + typedef struct VkVideoDecodeH264SessionParametersCreateInfoKHR { 8747 + VkStructureType sType; 8748 + const void* pNext; 8749 + uint32_t maxStdSPSCount; 8750 + uint32_t maxStdPPSCount; 8751 + const VkVideoDecodeH264SessionParametersAddInfoKHR* pParametersAddInfo; 8752 + } VkVideoDecodeH264SessionParametersCreateInfoKHR; 8753 + 8754 + typedef struct VkVideoDecodeH264PictureInfoKHR { 8755 + VkStructureType sType; 8756 + const void* pNext; 8757 + const StdVideoDecodeH264PictureInfo* pStdPictureInfo; 8758 + uint32_t sliceCount; 8759 + const uint32_t* pSliceOffsets; 8760 + } VkVideoDecodeH264PictureInfoKHR; 8761 + 8762 + typedef struct VkVideoDecodeH264DpbSlotInfoKHR { 8763 + VkStructureType sType; 8764 + const void* pNext; 8765 + const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo; 8766 + } VkVideoDecodeH264DpbSlotInfoKHR; 8767 + 8768 + 8769 + 8770 + // VK_KHR_dynamic_rendering is a preprocessor guard. Do not pass it to API calls. 7821 8771 #define VK_KHR_dynamic_rendering 1 7822 8772 #define VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION 1 7823 8773 #define VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME "VK_KHR_dynamic_rendering" ··· 7880 8830 #endif 7881 8831 7882 8832 8833 + // VK_KHR_multiview is a preprocessor guard. Do not pass it to API calls. 7883 8834 #define VK_KHR_multiview 1 7884 8835 #define VK_KHR_MULTIVIEW_SPEC_VERSION 1 7885 8836 #define VK_KHR_MULTIVIEW_EXTENSION_NAME "VK_KHR_multiview" ··· 7891 8842 7892 8843 7893 8844 8845 + // VK_KHR_get_physical_device_properties2 is a preprocessor guard. Do not pass it to API calls. 7894 8846 #define VK_KHR_get_physical_device_properties2 1 7895 8847 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION 2 7896 8848 #define VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_physical_device_properties2" ··· 7956 8908 #endif 7957 8909 7958 8910 8911 + // VK_KHR_device_group is a preprocessor guard. Do not pass it to API calls. 7959 8912 #define VK_KHR_device_group 1 7960 8913 #define VK_KHR_DEVICE_GROUP_SPEC_VERSION 4 7961 8914 #define VK_KHR_DEVICE_GROUP_EXTENSION_NAME "VK_KHR_device_group" ··· 8008 8961 #endif 8009 8962 8010 8963 8964 + // VK_KHR_shader_draw_parameters is a preprocessor guard. Do not pass it to API calls. 8011 8965 #define VK_KHR_shader_draw_parameters 1 8012 8966 #define VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION 1 8013 8967 #define VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME "VK_KHR_shader_draw_parameters" 8014 8968 8015 8969 8970 + // VK_KHR_maintenance1 is a preprocessor guard. Do not pass it to API calls. 8016 8971 #define VK_KHR_maintenance1 1 8017 8972 #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2 8018 8973 #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1" ··· 8030 8985 #endif 8031 8986 8032 8987 8988 + // VK_KHR_device_group_creation is a preprocessor guard. Do not pass it to API calls. 8033 8989 #define VK_KHR_device_group_creation 1 8034 8990 #define VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION 1 8035 8991 #define VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME "VK_KHR_device_group_creation" ··· 8048 9004 #endif 8049 9005 8050 9006 9007 + // VK_KHR_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 8051 9008 #define VK_KHR_external_memory_capabilities 1 8052 9009 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 8053 9010 #define VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_memory_capabilities" ··· 8082 9039 #endif 8083 9040 8084 9041 9042 + // VK_KHR_external_memory is a preprocessor guard. Do not pass it to API calls. 8085 9043 #define VK_KHR_external_memory 1 8086 9044 #define VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION 1 8087 9045 #define VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME "VK_KHR_external_memory" ··· 8094 9052 8095 9053 8096 9054 9055 + // VK_KHR_external_memory_fd is a preprocessor guard. Do not pass it to API calls. 8097 9056 #define VK_KHR_external_memory_fd 1 8098 9057 #define VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION 1 8099 9058 #define VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME "VK_KHR_external_memory_fd" ··· 8134 9093 #endif 8135 9094 8136 9095 9096 + // VK_KHR_external_semaphore_capabilities is a preprocessor guard. Do not pass it to API calls. 8137 9097 #define VK_KHR_external_semaphore_capabilities 1 8138 9098 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION 1 8139 9099 #define VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_semaphore_capabilities" ··· 8159 9119 #endif 8160 9120 8161 9121 9122 + // VK_KHR_external_semaphore is a preprocessor guard. Do not pass it to API calls. 8162 9123 #define VK_KHR_external_semaphore 1 8163 9124 #define VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 8164 9125 #define VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_KHR_external_semaphore" ··· 8170 9131 8171 9132 8172 9133 9134 + // VK_KHR_external_semaphore_fd is a preprocessor guard. Do not pass it to API calls. 8173 9135 #define VK_KHR_external_semaphore_fd 1 8174 9136 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION 1 8175 9137 #define VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME "VK_KHR_external_semaphore_fd" ··· 8204 9166 #endif 8205 9167 8206 9168 9169 + // VK_KHR_push_descriptor is a preprocessor guard. Do not pass it to API calls. 8207 9170 #define VK_KHR_push_descriptor 1 8208 9171 #define VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION 2 8209 9172 #define VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME "VK_KHR_push_descriptor" ··· 8234 9197 #endif 8235 9198 8236 9199 9200 + // VK_KHR_shader_float16_int8 is a preprocessor guard. Do not pass it to API calls. 8237 9201 #define VK_KHR_shader_float16_int8 1 8238 9202 #define VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION 1 8239 9203 #define VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME "VK_KHR_shader_float16_int8" ··· 8243 9207 8244 9208 8245 9209 9210 + // VK_KHR_16bit_storage is a preprocessor guard. Do not pass it to API calls. 8246 9211 #define VK_KHR_16bit_storage 1 8247 9212 #define VK_KHR_16BIT_STORAGE_SPEC_VERSION 1 8248 9213 #define VK_KHR_16BIT_STORAGE_EXTENSION_NAME "VK_KHR_16bit_storage" ··· 8250 9215 8251 9216 8252 9217 9218 + // VK_KHR_incremental_present is a preprocessor guard. Do not pass it to API calls. 8253 9219 #define VK_KHR_incremental_present 1 8254 9220 #define VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION 2 8255 9221 #define VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME "VK_KHR_incremental_present" ··· 8273 9239 8274 9240 8275 9241 9242 + // VK_KHR_descriptor_update_template is a preprocessor guard. Do not pass it to API calls. 8276 9243 #define VK_KHR_descriptor_update_template 1 8277 9244 typedef VkDescriptorUpdateTemplate VkDescriptorUpdateTemplateKHR; 8278 9245 ··· 8310 9277 #endif 8311 9278 8312 9279 9280 + // VK_KHR_imageless_framebuffer is a preprocessor guard. Do not pass it to API calls. 8313 9281 #define VK_KHR_imageless_framebuffer 1 8314 9282 #define VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION 1 8315 9283 #define VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME "VK_KHR_imageless_framebuffer" ··· 8323 9291 8324 9292 8325 9293 9294 + // VK_KHR_create_renderpass2 is a preprocessor guard. Do not pass it to API calls. 8326 9295 #define VK_KHR_create_renderpass2 1 8327 9296 #define VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION 1 8328 9297 #define VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME "VK_KHR_create_renderpass2" ··· 8368 9337 #endif 8369 9338 8370 9339 9340 + // VK_KHR_shared_presentable_image is a preprocessor guard. Do not pass it to API calls. 8371 9341 #define VK_KHR_shared_presentable_image 1 8372 9342 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION 1 8373 9343 #define VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME "VK_KHR_shared_presentable_image" ··· 8386 9356 #endif 8387 9357 8388 9358 9359 + // VK_KHR_external_fence_capabilities is a preprocessor guard. Do not pass it to API calls. 8389 9360 #define VK_KHR_external_fence_capabilities 1 8390 9361 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION 1 8391 9362 #define VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME "VK_KHR_external_fence_capabilities" ··· 8411 9382 #endif 8412 9383 8413 9384 9385 + // VK_KHR_external_fence is a preprocessor guard. Do not pass it to API calls. 8414 9386 #define VK_KHR_external_fence 1 8415 9387 #define VK_KHR_EXTERNAL_FENCE_SPEC_VERSION 1 8416 9388 #define VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME "VK_KHR_external_fence" ··· 8422 9394 8423 9395 8424 9396 9397 + // VK_KHR_external_fence_fd is a preprocessor guard. Do not pass it to API calls. 8425 9398 #define VK_KHR_external_fence_fd 1 8426 9399 #define VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION 1 8427 9400 #define VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME "VK_KHR_external_fence_fd" ··· 8456 9429 #endif 8457 9430 8458 9431 9432 + // VK_KHR_performance_query is a preprocessor guard. Do not pass it to API calls. 8459 9433 #define VK_KHR_performance_query 1 8460 9434 #define VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION 1 8461 9435 #define VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME "VK_KHR_performance_query" ··· 8596 9570 #endif 8597 9571 8598 9572 9573 + // VK_KHR_maintenance2 is a preprocessor guard. Do not pass it to API calls. 8599 9574 #define VK_KHR_maintenance2 1 8600 9575 #define VK_KHR_MAINTENANCE_2_SPEC_VERSION 1 8601 9576 #define VK_KHR_MAINTENANCE_2_EXTENSION_NAME "VK_KHR_maintenance2" ··· 8617 9592 8618 9593 8619 9594 9595 + // VK_KHR_get_surface_capabilities2 is a preprocessor guard. Do not pass it to API calls. 8620 9596 #define VK_KHR_get_surface_capabilities2 1 8621 9597 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION 1 8622 9598 #define VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME "VK_KHR_get_surface_capabilities2" ··· 8655 9631 #endif 8656 9632 8657 9633 9634 + // VK_KHR_variable_pointers is a preprocessor guard. Do not pass it to API calls. 8658 9635 #define VK_KHR_variable_pointers 1 8659 9636 #define VK_KHR_VARIABLE_POINTERS_SPEC_VERSION 1 8660 9637 #define VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME "VK_KHR_variable_pointers" ··· 8664 9641 8665 9642 8666 9643 9644 + // VK_KHR_get_display_properties2 is a preprocessor guard. Do not pass it to API calls. 8667 9645 #define VK_KHR_get_display_properties2 1 8668 9646 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION 1 8669 9647 #define VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME "VK_KHR_get_display_properties2" ··· 8727 9705 #endif 8728 9706 8729 9707 9708 + // VK_KHR_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 8730 9709 #define VK_KHR_dedicated_allocation 1 8731 9710 #define VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION 3 8732 9711 #define VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_KHR_dedicated_allocation" ··· 8736 9715 8737 9716 8738 9717 9718 + // VK_KHR_storage_buffer_storage_class is a preprocessor guard. Do not pass it to API calls. 8739 9719 #define VK_KHR_storage_buffer_storage_class 1 8740 9720 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION 1 8741 9721 #define VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME "VK_KHR_storage_buffer_storage_class" 8742 9722 8743 9723 9724 + // VK_KHR_relaxed_block_layout is a preprocessor guard. Do not pass it to API calls. 8744 9725 #define VK_KHR_relaxed_block_layout 1 8745 9726 #define VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION 1 8746 9727 #define VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME "VK_KHR_relaxed_block_layout" 8747 9728 8748 9729 9730 + // VK_KHR_get_memory_requirements2 is a preprocessor guard. Do not pass it to API calls. 8749 9731 #define VK_KHR_get_memory_requirements2 1 8750 9732 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION 1 8751 9733 #define VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME "VK_KHR_get_memory_requirements2" ··· 8782 9764 #endif 8783 9765 8784 9766 9767 + // VK_KHR_image_format_list is a preprocessor guard. Do not pass it to API calls. 8785 9768 #define VK_KHR_image_format_list 1 8786 9769 #define VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION 1 8787 9770 #define VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME "VK_KHR_image_format_list" ··· 8789 9772 8790 9773 8791 9774 9775 + // VK_KHR_sampler_ycbcr_conversion is a preprocessor guard. Do not pass it to API calls. 8792 9776 #define VK_KHR_sampler_ycbcr_conversion 1 8793 9777 typedef VkSamplerYcbcrConversion VkSamplerYcbcrConversionKHR; 8794 9778 ··· 8829 9813 #endif 8830 9814 8831 9815 9816 + // VK_KHR_bind_memory2 is a preprocessor guard. Do not pass it to API calls. 8832 9817 #define VK_KHR_bind_memory2 1 8833 9818 #define VK_KHR_BIND_MEMORY_2_SPEC_VERSION 1 8834 9819 #define VK_KHR_BIND_MEMORY_2_EXTENSION_NAME "VK_KHR_bind_memory2" ··· 8852 9837 #endif 8853 9838 8854 9839 9840 + // VK_KHR_maintenance3 is a preprocessor guard. Do not pass it to API calls. 8855 9841 #define VK_KHR_maintenance3 1 8856 9842 #define VK_KHR_MAINTENANCE_3_SPEC_VERSION 1 8857 9843 #define VK_KHR_MAINTENANCE_3_EXTENSION_NAME "VK_KHR_maintenance3" ··· 8871 9857 #endif 8872 9858 8873 9859 9860 + // VK_KHR_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 8874 9861 #define VK_KHR_draw_indirect_count 1 8875 9862 #define VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION 1 8876 9863 #define VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_KHR_draw_indirect_count" ··· 8898 9885 #endif 8899 9886 8900 9887 9888 + // VK_KHR_shader_subgroup_extended_types is a preprocessor guard. Do not pass it to API calls. 8901 9889 #define VK_KHR_shader_subgroup_extended_types 1 8902 9890 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION 1 8903 9891 #define VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME "VK_KHR_shader_subgroup_extended_types" ··· 8905 9893 8906 9894 8907 9895 9896 + // VK_KHR_8bit_storage is a preprocessor guard. Do not pass it to API calls. 8908 9897 #define VK_KHR_8bit_storage 1 8909 9898 #define VK_KHR_8BIT_STORAGE_SPEC_VERSION 1 8910 9899 #define VK_KHR_8BIT_STORAGE_EXTENSION_NAME "VK_KHR_8bit_storage" ··· 8912 9901 8913 9902 8914 9903 9904 + // VK_KHR_shader_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 8915 9905 #define VK_KHR_shader_atomic_int64 1 8916 9906 #define VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION 1 8917 9907 #define VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME "VK_KHR_shader_atomic_int64" ··· 8919 9909 8920 9910 8921 9911 9912 + // VK_KHR_shader_clock is a preprocessor guard. Do not pass it to API calls. 8922 9913 #define VK_KHR_shader_clock 1 8923 9914 #define VK_KHR_SHADER_CLOCK_SPEC_VERSION 1 8924 9915 #define VK_KHR_SHADER_CLOCK_EXTENSION_NAME "VK_KHR_shader_clock" ··· 8931 9922 8932 9923 8933 9924 9925 + // VK_KHR_video_decode_h265 is a preprocessor guard. Do not pass it to API calls. 9926 + #define VK_KHR_video_decode_h265 1 9927 + #include "vk_video/vulkan_video_codec_h265std_decode.h" 9928 + #define VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION 8 9929 + #define VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME "VK_KHR_video_decode_h265" 9930 + typedef struct VkVideoDecodeH265ProfileInfoKHR { 9931 + VkStructureType sType; 9932 + const void* pNext; 9933 + StdVideoH265ProfileIdc stdProfileIdc; 9934 + } VkVideoDecodeH265ProfileInfoKHR; 9935 + 9936 + typedef struct VkVideoDecodeH265CapabilitiesKHR { 9937 + VkStructureType sType; 9938 + void* pNext; 9939 + StdVideoH265LevelIdc maxLevelIdc; 9940 + } VkVideoDecodeH265CapabilitiesKHR; 9941 + 9942 + typedef struct VkVideoDecodeH265SessionParametersAddInfoKHR { 9943 + VkStructureType sType; 9944 + const void* pNext; 9945 + uint32_t stdVPSCount; 9946 + const StdVideoH265VideoParameterSet* pStdVPSs; 9947 + uint32_t stdSPSCount; 9948 + const StdVideoH265SequenceParameterSet* pStdSPSs; 9949 + uint32_t stdPPSCount; 9950 + const StdVideoH265PictureParameterSet* pStdPPSs; 9951 + } VkVideoDecodeH265SessionParametersAddInfoKHR; 9952 + 9953 + typedef struct VkVideoDecodeH265SessionParametersCreateInfoKHR { 9954 + VkStructureType sType; 9955 + const void* pNext; 9956 + uint32_t maxStdVPSCount; 9957 + uint32_t maxStdSPSCount; 9958 + uint32_t maxStdPPSCount; 9959 + const VkVideoDecodeH265SessionParametersAddInfoKHR* pParametersAddInfo; 9960 + } VkVideoDecodeH265SessionParametersCreateInfoKHR; 9961 + 9962 + typedef struct VkVideoDecodeH265PictureInfoKHR { 9963 + VkStructureType sType; 9964 + const void* pNext; 9965 + const StdVideoDecodeH265PictureInfo* pStdPictureInfo; 9966 + uint32_t sliceSegmentCount; 9967 + const uint32_t* pSliceSegmentOffsets; 9968 + } VkVideoDecodeH265PictureInfoKHR; 9969 + 9970 + typedef struct VkVideoDecodeH265DpbSlotInfoKHR { 9971 + VkStructureType sType; 9972 + const void* pNext; 9973 + const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo; 9974 + } VkVideoDecodeH265DpbSlotInfoKHR; 9975 + 9976 + 9977 + 9978 + // VK_KHR_global_priority is a preprocessor guard. Do not pass it to API calls. 8934 9979 #define VK_KHR_global_priority 1 8935 9980 #define VK_MAX_GLOBAL_PRIORITY_SIZE_KHR 16U 8936 9981 #define VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION 1 ··· 8968 10013 8969 10014 8970 10015 10016 + // VK_KHR_driver_properties is a preprocessor guard. Do not pass it to API calls. 8971 10017 #define VK_KHR_driver_properties 1 8972 10018 #define VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION 1 8973 10019 #define VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME "VK_KHR_driver_properties" ··· 8981 10027 8982 10028 8983 10029 10030 + // VK_KHR_shader_float_controls is a preprocessor guard. Do not pass it to API calls. 8984 10031 #define VK_KHR_shader_float_controls 1 8985 10032 #define VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION 4 8986 10033 #define VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME "VK_KHR_shader_float_controls" ··· 8990 10037 8991 10038 8992 10039 10040 + // VK_KHR_depth_stencil_resolve is a preprocessor guard. Do not pass it to API calls. 8993 10041 #define VK_KHR_depth_stencil_resolve 1 8994 10042 #define VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION 1 8995 10043 #define VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME "VK_KHR_depth_stencil_resolve" ··· 9003 10051 9004 10052 9005 10053 10054 + // VK_KHR_swapchain_mutable_format is a preprocessor guard. Do not pass it to API calls. 9006 10055 #define VK_KHR_swapchain_mutable_format 1 9007 10056 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION 1 9008 10057 #define VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME "VK_KHR_swapchain_mutable_format" 9009 10058 9010 10059 10060 + // VK_KHR_timeline_semaphore is a preprocessor guard. Do not pass it to API calls. 9011 10061 #define VK_KHR_timeline_semaphore 1 9012 10062 #define VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION 2 9013 10063 #define VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME "VK_KHR_timeline_semaphore" ··· 9050 10100 #endif 9051 10101 9052 10102 10103 + // VK_KHR_vulkan_memory_model is a preprocessor guard. Do not pass it to API calls. 9053 10104 #define VK_KHR_vulkan_memory_model 1 9054 10105 #define VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION 3 9055 10106 #define VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME "VK_KHR_vulkan_memory_model" ··· 9057 10108 9058 10109 9059 10110 10111 + // VK_KHR_shader_terminate_invocation is a preprocessor guard. Do not pass it to API calls. 9060 10112 #define VK_KHR_shader_terminate_invocation 1 9061 10113 #define VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION 1 9062 10114 #define VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME "VK_KHR_shader_terminate_invocation" ··· 9064 10116 9065 10117 9066 10118 10119 + // VK_KHR_fragment_shading_rate is a preprocessor guard. Do not pass it to API calls. 9067 10120 #define VK_KHR_fragment_shading_rate 1 9068 10121 #define VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION 2 9069 10122 #define VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME "VK_KHR_fragment_shading_rate" ··· 9143 10196 #endif 9144 10197 9145 10198 10199 + // VK_KHR_spirv_1_4 is a preprocessor guard. Do not pass it to API calls. 9146 10200 #define VK_KHR_spirv_1_4 1 9147 10201 #define VK_KHR_SPIRV_1_4_SPEC_VERSION 1 9148 10202 #define VK_KHR_SPIRV_1_4_EXTENSION_NAME "VK_KHR_spirv_1_4" 9149 10203 9150 10204 10205 + // VK_KHR_surface_protected_capabilities is a preprocessor guard. Do not pass it to API calls. 9151 10206 #define VK_KHR_surface_protected_capabilities 1 9152 10207 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION 1 9153 10208 #define VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME "VK_KHR_surface_protected_capabilities" ··· 9159 10214 9160 10215 9161 10216 10217 + // VK_KHR_separate_depth_stencil_layouts is a preprocessor guard. Do not pass it to API calls. 9162 10218 #define VK_KHR_separate_depth_stencil_layouts 1 9163 10219 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION 1 9164 10220 #define VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME "VK_KHR_separate_depth_stencil_layouts" ··· 9170 10226 9171 10227 9172 10228 10229 + // VK_KHR_present_wait is a preprocessor guard. Do not pass it to API calls. 9173 10230 #define VK_KHR_present_wait 1 9174 10231 #define VK_KHR_PRESENT_WAIT_SPEC_VERSION 1 9175 10232 #define VK_KHR_PRESENT_WAIT_EXTENSION_NAME "VK_KHR_present_wait" ··· 9190 10247 #endif 9191 10248 9192 10249 10250 + // VK_KHR_uniform_buffer_standard_layout is a preprocessor guard. Do not pass it to API calls. 9193 10251 #define VK_KHR_uniform_buffer_standard_layout 1 9194 10252 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION 1 9195 10253 #define VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME "VK_KHR_uniform_buffer_standard_layout" ··· 9197 10255 9198 10256 9199 10257 10258 + // VK_KHR_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 9200 10259 #define VK_KHR_buffer_device_address 1 9201 10260 #define VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 1 9202 10261 #define VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_KHR_buffer_device_address" ··· 9229 10288 #endif 9230 10289 9231 10290 10291 + // VK_KHR_deferred_host_operations is a preprocessor guard. Do not pass it to API calls. 9232 10292 #define VK_KHR_deferred_host_operations 1 9233 10293 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR) 9234 10294 #define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 4 ··· 9264 10324 #endif 9265 10325 9266 10326 10327 + // VK_KHR_pipeline_executable_properties is a preprocessor guard. Do not pass it to API calls. 9267 10328 #define VK_KHR_pipeline_executable_properties 1 9268 10329 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION 1 9269 10330 #define VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME "VK_KHR_pipeline_executable_properties" ··· 9354 10415 #endif 9355 10416 9356 10417 10418 + // VK_KHR_map_memory2 is a preprocessor guard. Do not pass it to API calls. 10419 + #define VK_KHR_map_memory2 1 10420 + #define VK_KHR_MAP_MEMORY_2_SPEC_VERSION 1 10421 + #define VK_KHR_MAP_MEMORY_2_EXTENSION_NAME "VK_KHR_map_memory2" 10422 + typedef VkFlags VkMemoryUnmapFlagsKHR; 10423 + typedef struct VkMemoryMapInfoKHR { 10424 + VkStructureType sType; 10425 + const void* pNext; 10426 + VkMemoryMapFlags flags; 10427 + VkDeviceMemory memory; 10428 + VkDeviceSize offset; 10429 + VkDeviceSize size; 10430 + } VkMemoryMapInfoKHR; 10431 + 10432 + typedef struct VkMemoryUnmapInfoKHR { 10433 + VkStructureType sType; 10434 + const void* pNext; 10435 + VkMemoryUnmapFlagsKHR flags; 10436 + VkDeviceMemory memory; 10437 + } VkMemoryUnmapInfoKHR; 10438 + 10439 + typedef VkResult (VKAPI_PTR *PFN_vkMapMemory2KHR)(VkDevice device, const VkMemoryMapInfoKHR* pMemoryMapInfo, void** ppData); 10440 + typedef VkResult (VKAPI_PTR *PFN_vkUnmapMemory2KHR)(VkDevice device, const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo); 10441 + 10442 + #ifndef VK_NO_PROTOTYPES 10443 + VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory2KHR( 10444 + VkDevice device, 10445 + const VkMemoryMapInfoKHR* pMemoryMapInfo, 10446 + void** ppData); 10447 + 10448 + VKAPI_ATTR VkResult VKAPI_CALL vkUnmapMemory2KHR( 10449 + VkDevice device, 10450 + const VkMemoryUnmapInfoKHR* pMemoryUnmapInfo); 10451 + #endif 10452 + 10453 + 10454 + // VK_KHR_shader_integer_dot_product is a preprocessor guard. Do not pass it to API calls. 9357 10455 #define VK_KHR_shader_integer_dot_product 1 9358 10456 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION 1 9359 10457 #define VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME "VK_KHR_shader_integer_dot_product" ··· 9363 10461 9364 10462 9365 10463 10464 + // VK_KHR_pipeline_library is a preprocessor guard. Do not pass it to API calls. 9366 10465 #define VK_KHR_pipeline_library 1 9367 10466 #define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1 9368 10467 #define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library" ··· 9375 10474 9376 10475 9377 10476 10477 + // VK_KHR_shader_non_semantic_info is a preprocessor guard. Do not pass it to API calls. 9378 10478 #define VK_KHR_shader_non_semantic_info 1 9379 10479 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION 1 9380 10480 #define VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME "VK_KHR_shader_non_semantic_info" 9381 10481 9382 10482 10483 + // VK_KHR_present_id is a preprocessor guard. Do not pass it to API calls. 9383 10484 #define VK_KHR_present_id 1 9384 10485 #define VK_KHR_PRESENT_ID_SPEC_VERSION 1 9385 10486 #define VK_KHR_PRESENT_ID_EXTENSION_NAME "VK_KHR_present_id" ··· 9398 10499 9399 10500 9400 10501 10502 + // VK_KHR_video_encode_queue is a preprocessor guard. Do not pass it to API calls. 10503 + #define VK_KHR_video_encode_queue 1 10504 + #define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 12 10505 + #define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue" 10506 + 10507 + typedef enum VkVideoEncodeTuningModeKHR { 10508 + VK_VIDEO_ENCODE_TUNING_MODE_DEFAULT_KHR = 0, 10509 + VK_VIDEO_ENCODE_TUNING_MODE_HIGH_QUALITY_KHR = 1, 10510 + VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR = 2, 10511 + VK_VIDEO_ENCODE_TUNING_MODE_ULTRA_LOW_LATENCY_KHR = 3, 10512 + VK_VIDEO_ENCODE_TUNING_MODE_LOSSLESS_KHR = 4, 10513 + VK_VIDEO_ENCODE_TUNING_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 10514 + } VkVideoEncodeTuningModeKHR; 10515 + typedef VkFlags VkVideoEncodeFlagsKHR; 10516 + 10517 + typedef enum VkVideoEncodeCapabilityFlagBitsKHR { 10518 + VK_VIDEO_ENCODE_CAPABILITY_PRECEDING_EXTERNALLY_ENCODED_BYTES_BIT_KHR = 0x00000001, 10519 + VK_VIDEO_ENCODE_CAPABILITY_INSUFFICIENT_BITSTREAM_BUFFER_RANGE_DETECTION_BIT_KHR = 0x00000002, 10520 + VK_VIDEO_ENCODE_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10521 + } VkVideoEncodeCapabilityFlagBitsKHR; 10522 + typedef VkFlags VkVideoEncodeCapabilityFlagsKHR; 10523 + 10524 + typedef enum VkVideoEncodeRateControlModeFlagBitsKHR { 10525 + VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DEFAULT_KHR = 0, 10526 + VK_VIDEO_ENCODE_RATE_CONTROL_MODE_DISABLED_BIT_KHR = 0x00000001, 10527 + VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 0x00000002, 10528 + VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 0x00000004, 10529 + VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10530 + } VkVideoEncodeRateControlModeFlagBitsKHR; 10531 + typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR; 10532 + 10533 + typedef enum VkVideoEncodeFeedbackFlagBitsKHR { 10534 + VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BUFFER_OFFSET_BIT_KHR = 0x00000001, 10535 + VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_BYTES_WRITTEN_BIT_KHR = 0x00000002, 10536 + VK_VIDEO_ENCODE_FEEDBACK_BITSTREAM_HAS_OVERRIDES_BIT_KHR = 0x00000004, 10537 + VK_VIDEO_ENCODE_FEEDBACK_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10538 + } VkVideoEncodeFeedbackFlagBitsKHR; 10539 + typedef VkFlags VkVideoEncodeFeedbackFlagsKHR; 10540 + 10541 + typedef enum VkVideoEncodeUsageFlagBitsKHR { 10542 + VK_VIDEO_ENCODE_USAGE_DEFAULT_KHR = 0, 10543 + VK_VIDEO_ENCODE_USAGE_TRANSCODING_BIT_KHR = 0x00000001, 10544 + VK_VIDEO_ENCODE_USAGE_STREAMING_BIT_KHR = 0x00000002, 10545 + VK_VIDEO_ENCODE_USAGE_RECORDING_BIT_KHR = 0x00000004, 10546 + VK_VIDEO_ENCODE_USAGE_CONFERENCING_BIT_KHR = 0x00000008, 10547 + VK_VIDEO_ENCODE_USAGE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10548 + } VkVideoEncodeUsageFlagBitsKHR; 10549 + typedef VkFlags VkVideoEncodeUsageFlagsKHR; 10550 + 10551 + typedef enum VkVideoEncodeContentFlagBitsKHR { 10552 + VK_VIDEO_ENCODE_CONTENT_DEFAULT_KHR = 0, 10553 + VK_VIDEO_ENCODE_CONTENT_CAMERA_BIT_KHR = 0x00000001, 10554 + VK_VIDEO_ENCODE_CONTENT_DESKTOP_BIT_KHR = 0x00000002, 10555 + VK_VIDEO_ENCODE_CONTENT_RENDERED_BIT_KHR = 0x00000004, 10556 + VK_VIDEO_ENCODE_CONTENT_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 10557 + } VkVideoEncodeContentFlagBitsKHR; 10558 + typedef VkFlags VkVideoEncodeContentFlagsKHR; 10559 + typedef VkFlags VkVideoEncodeRateControlFlagsKHR; 10560 + typedef struct VkVideoEncodeInfoKHR { 10561 + VkStructureType sType; 10562 + const void* pNext; 10563 + VkVideoEncodeFlagsKHR flags; 10564 + VkBuffer dstBuffer; 10565 + VkDeviceSize dstBufferOffset; 10566 + VkDeviceSize dstBufferRange; 10567 + VkVideoPictureResourceInfoKHR srcPictureResource; 10568 + const VkVideoReferenceSlotInfoKHR* pSetupReferenceSlot; 10569 + uint32_t referenceSlotCount; 10570 + const VkVideoReferenceSlotInfoKHR* pReferenceSlots; 10571 + uint32_t precedingExternallyEncodedBytes; 10572 + } VkVideoEncodeInfoKHR; 10573 + 10574 + typedef struct VkVideoEncodeCapabilitiesKHR { 10575 + VkStructureType sType; 10576 + void* pNext; 10577 + VkVideoEncodeCapabilityFlagsKHR flags; 10578 + VkVideoEncodeRateControlModeFlagsKHR rateControlModes; 10579 + uint32_t maxRateControlLayers; 10580 + uint64_t maxBitrate; 10581 + uint32_t maxQualityLevels; 10582 + VkExtent2D encodeInputPictureGranularity; 10583 + VkVideoEncodeFeedbackFlagsKHR supportedEncodeFeedbackFlags; 10584 + } VkVideoEncodeCapabilitiesKHR; 10585 + 10586 + typedef struct VkQueryPoolVideoEncodeFeedbackCreateInfoKHR { 10587 + VkStructureType sType; 10588 + const void* pNext; 10589 + VkVideoEncodeFeedbackFlagsKHR encodeFeedbackFlags; 10590 + } VkQueryPoolVideoEncodeFeedbackCreateInfoKHR; 10591 + 10592 + typedef struct VkVideoEncodeUsageInfoKHR { 10593 + VkStructureType sType; 10594 + const void* pNext; 10595 + VkVideoEncodeUsageFlagsKHR videoUsageHints; 10596 + VkVideoEncodeContentFlagsKHR videoContentHints; 10597 + VkVideoEncodeTuningModeKHR tuningMode; 10598 + } VkVideoEncodeUsageInfoKHR; 10599 + 10600 + typedef struct VkVideoEncodeRateControlLayerInfoKHR { 10601 + VkStructureType sType; 10602 + const void* pNext; 10603 + uint64_t averageBitrate; 10604 + uint64_t maxBitrate; 10605 + uint32_t frameRateNumerator; 10606 + uint32_t frameRateDenominator; 10607 + } VkVideoEncodeRateControlLayerInfoKHR; 10608 + 10609 + typedef struct VkVideoEncodeRateControlInfoKHR { 10610 + VkStructureType sType; 10611 + const void* pNext; 10612 + VkVideoEncodeRateControlFlagsKHR flags; 10613 + VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode; 10614 + uint32_t layerCount; 10615 + const VkVideoEncodeRateControlLayerInfoKHR* pLayers; 10616 + uint32_t virtualBufferSizeInMs; 10617 + uint32_t initialVirtualBufferSizeInMs; 10618 + } VkVideoEncodeRateControlInfoKHR; 10619 + 10620 + typedef struct VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR { 10621 + VkStructureType sType; 10622 + const void* pNext; 10623 + const VkVideoProfileInfoKHR* pVideoProfile; 10624 + uint32_t qualityLevel; 10625 + } VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR; 10626 + 10627 + typedef struct VkVideoEncodeQualityLevelPropertiesKHR { 10628 + VkStructureType sType; 10629 + void* pNext; 10630 + VkVideoEncodeRateControlModeFlagBitsKHR preferredRateControlMode; 10631 + uint32_t preferredRateControlLayerCount; 10632 + } VkVideoEncodeQualityLevelPropertiesKHR; 10633 + 10634 + typedef struct VkVideoEncodeQualityLevelInfoKHR { 10635 + VkStructureType sType; 10636 + const void* pNext; 10637 + uint32_t qualityLevel; 10638 + } VkVideoEncodeQualityLevelInfoKHR; 10639 + 10640 + typedef struct VkVideoEncodeSessionParametersGetInfoKHR { 10641 + VkStructureType sType; 10642 + const void* pNext; 10643 + VkVideoSessionParametersKHR videoSessionParameters; 10644 + } VkVideoEncodeSessionParametersGetInfoKHR; 10645 + 10646 + typedef struct VkVideoEncodeSessionParametersFeedbackInfoKHR { 10647 + VkStructureType sType; 10648 + void* pNext; 10649 + VkBool32 hasOverrides; 10650 + } VkVideoEncodeSessionParametersFeedbackInfoKHR; 10651 + 10652 + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 10653 + typedef VkResult (VKAPI_PTR *PFN_vkGetEncodedVideoSessionParametersKHR)(VkDevice device, const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, size_t* pDataSize, void* pData); 10654 + typedef void (VKAPI_PTR *PFN_vkCmdEncodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo); 10655 + 10656 + #ifndef VK_NO_PROTOTYPES 10657 + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( 10658 + VkPhysicalDevice physicalDevice, 10659 + const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR* pQualityLevelInfo, 10660 + VkVideoEncodeQualityLevelPropertiesKHR* pQualityLevelProperties); 10661 + 10662 + VKAPI_ATTR VkResult VKAPI_CALL vkGetEncodedVideoSessionParametersKHR( 10663 + VkDevice device, 10664 + const VkVideoEncodeSessionParametersGetInfoKHR* pVideoSessionParametersInfo, 10665 + VkVideoEncodeSessionParametersFeedbackInfoKHR* pFeedbackInfo, 10666 + size_t* pDataSize, 10667 + void* pData); 10668 + 10669 + VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR( 10670 + VkCommandBuffer commandBuffer, 10671 + const VkVideoEncodeInfoKHR* pEncodeInfo); 10672 + #endif 10673 + 10674 + 10675 + // VK_KHR_synchronization2 is a preprocessor guard. Do not pass it to API calls. 9401 10676 #define VK_KHR_synchronization2 1 9402 10677 #define VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION 1 9403 10678 #define VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME "VK_KHR_synchronization2" ··· 9498 10773 #endif 9499 10774 9500 10775 10776 + // VK_KHR_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 9501 10777 #define VK_KHR_fragment_shader_barycentric 1 9502 10778 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 9503 10779 #define VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_KHR_fragment_shader_barycentric" ··· 9515 10791 9516 10792 9517 10793 10794 + // VK_KHR_shader_subgroup_uniform_control_flow is a preprocessor guard. Do not pass it to API calls. 9518 10795 #define VK_KHR_shader_subgroup_uniform_control_flow 1 9519 10796 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION 1 9520 10797 #define VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME "VK_KHR_shader_subgroup_uniform_control_flow" ··· 9526 10803 9527 10804 9528 10805 10806 + // VK_KHR_zero_initialize_workgroup_memory is a preprocessor guard. Do not pass it to API calls. 9529 10807 #define VK_KHR_zero_initialize_workgroup_memory 1 9530 10808 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION 1 9531 10809 #define VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME "VK_KHR_zero_initialize_workgroup_memory" ··· 9533 10811 9534 10812 9535 10813 10814 + // VK_KHR_workgroup_memory_explicit_layout is a preprocessor guard. Do not pass it to API calls. 9536 10815 #define VK_KHR_workgroup_memory_explicit_layout 1 9537 10816 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION 1 9538 10817 #define VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME "VK_KHR_workgroup_memory_explicit_layout" ··· 9547 10826 9548 10827 9549 10828 10829 + // VK_KHR_copy_commands2 is a preprocessor guard. Do not pass it to API calls. 9550 10830 #define VK_KHR_copy_commands2 1 9551 10831 #define VK_KHR_COPY_COMMANDS_2_SPEC_VERSION 1 9552 10832 #define VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME "VK_KHR_copy_commands2" ··· 9606 10886 #endif 9607 10887 9608 10888 10889 + // VK_KHR_format_feature_flags2 is a preprocessor guard. Do not pass it to API calls. 9609 10890 #define VK_KHR_format_feature_flags2 1 9610 10891 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION 2 9611 10892 #define VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME "VK_KHR_format_feature_flags2" ··· 9617 10898 9618 10899 9619 10900 10901 + // VK_KHR_ray_tracing_maintenance1 is a preprocessor guard. Do not pass it to API calls. 9620 10902 #define VK_KHR_ray_tracing_maintenance1 1 9621 10903 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION 1 9622 10904 #define VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_ray_tracing_maintenance1" ··· 9653 10935 #endif 9654 10936 9655 10937 10938 + // VK_KHR_portability_enumeration is a preprocessor guard. Do not pass it to API calls. 9656 10939 #define VK_KHR_portability_enumeration 1 9657 10940 #define VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION 1 9658 10941 #define VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME "VK_KHR_portability_enumeration" 9659 10942 9660 10943 10944 + // VK_KHR_maintenance4 is a preprocessor guard. Do not pass it to API calls. 9661 10945 #define VK_KHR_maintenance4 1 9662 10946 #define VK_KHR_MAINTENANCE_4_SPEC_VERSION 2 9663 10947 #define VK_KHR_MAINTENANCE_4_EXTENSION_NAME "VK_KHR_maintenance4" ··· 9692 10976 #endif 9693 10977 9694 10978 10979 + // VK_KHR_maintenance5 is a preprocessor guard. Do not pass it to API calls. 10980 + #define VK_KHR_maintenance5 1 10981 + #define VK_KHR_MAINTENANCE_5_SPEC_VERSION 1 10982 + #define VK_KHR_MAINTENANCE_5_EXTENSION_NAME "VK_KHR_maintenance5" 10983 + typedef VkFlags64 VkPipelineCreateFlags2KHR; 10984 + 10985 + // Flag bits for VkPipelineCreateFlagBits2KHR 10986 + typedef VkFlags64 VkPipelineCreateFlagBits2KHR; 10987 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT_KHR = 0x00000001ULL; 10988 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_ALLOW_DERIVATIVES_BIT_KHR = 0x00000002ULL; 10989 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DERIVATIVE_BIT_KHR = 0x00000004ULL; 10990 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_VIEW_INDEX_FROM_DEVICE_INDEX_BIT_KHR = 0x00000008ULL; 10991 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DISPATCH_BASE_BIT_KHR = 0x00000010ULL; 10992 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEFER_COMPILE_BIT_NV = 0x00000020ULL; 10993 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_STATISTICS_BIT_KHR = 0x00000040ULL; 10994 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR = 0x00000080ULL; 10995 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_KHR = 0x00000100ULL; 10996 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_EARLY_RETURN_ON_FAILURE_BIT_KHR = 0x00000200ULL; 10997 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LINK_TIME_OPTIMIZATION_BIT_EXT = 0x00000400ULL; 10998 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT = 0x00800000ULL; 10999 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_LIBRARY_BIT_KHR = 0x00000800ULL; 11000 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR = 0x00001000ULL; 11001 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SKIP_AABBS_BIT_KHR = 0x00002000ULL; 11002 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = 0x00004000ULL; 11003 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = 0x00008000ULL; 11004 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR = 0x00010000ULL; 11005 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR = 0x00020000ULL; 11006 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR = 0x00080000ULL; 11007 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_NV = 0x00040000ULL; 11008 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_ALLOW_MOTION_BIT_NV = 0x00100000ULL; 11009 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = 0x00200000ULL; 11010 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00400000ULL; 11011 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT = 0x01000000ULL; 11012 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x02000000ULL; 11013 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT = 0x04000000ULL; 11014 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_NO_PROTECTED_ACCESS_BIT_EXT = 0x08000000ULL; 11015 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_PROTECTED_ACCESS_ONLY_BIT_EXT = 0x40000000ULL; 11016 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV = 0x10000000ULL; 11017 + static const VkPipelineCreateFlagBits2KHR VK_PIPELINE_CREATE_2_DESCRIPTOR_BUFFER_BIT_EXT = 0x20000000ULL; 11018 + 11019 + typedef VkFlags64 VkBufferUsageFlags2KHR; 11020 + 11021 + // Flag bits for VkBufferUsageFlagBits2KHR 11022 + typedef VkFlags64 VkBufferUsageFlagBits2KHR; 11023 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_SRC_BIT_KHR = 0x00000001ULL; 11024 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFER_DST_BIT_KHR = 0x00000002ULL; 11025 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR = 0x00000004ULL; 11026 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_TEXEL_BUFFER_BIT_KHR = 0x00000008ULL; 11027 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_UNIFORM_BUFFER_BIT_KHR = 0x00000010ULL; 11028 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_STORAGE_BUFFER_BIT_KHR = 0x00000020ULL; 11029 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDEX_BUFFER_BIT_KHR = 0x00000040ULL; 11030 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VERTEX_BUFFER_BIT_KHR = 0x00000080ULL; 11031 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_INDIRECT_BUFFER_BIT_KHR = 0x00000100ULL; 11032 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX = 0x02000000ULL; 11033 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_CONDITIONAL_RENDERING_BIT_EXT = 0x00000200ULL; 11034 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_BINDING_TABLE_BIT_KHR = 0x00000400ULL; 11035 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RAY_TRACING_BIT_NV = 0x00000400ULL; 11036 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT = 0x00000800ULL; 11037 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT = 0x00001000ULL; 11038 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_SRC_BIT_KHR = 0x00002000ULL; 11039 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_DECODE_DST_BIT_KHR = 0x00004000ULL; 11040 + #ifdef VK_ENABLE_BETA_EXTENSIONS 11041 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_DST_BIT_KHR = 0x00008000ULL; 11042 + #endif 11043 + #ifdef VK_ENABLE_BETA_EXTENSIONS 11044 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_VIDEO_ENCODE_SRC_BIT_KHR = 0x00010000ULL; 11045 + #endif 11046 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT_KHR = 0x00020000ULL; 11047 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR = 0x00080000ULL; 11048 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR = 0x00100000ULL; 11049 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT = 0x00200000ULL; 11050 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT = 0x00400000ULL; 11051 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT = 0x04000000ULL; 11052 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT = 0x00800000ULL; 11053 + static const VkBufferUsageFlagBits2KHR VK_BUFFER_USAGE_2_MICROMAP_STORAGE_BIT_EXT = 0x01000000ULL; 11054 + 11055 + typedef struct VkPhysicalDeviceMaintenance5FeaturesKHR { 11056 + VkStructureType sType; 11057 + void* pNext; 11058 + VkBool32 maintenance5; 11059 + } VkPhysicalDeviceMaintenance5FeaturesKHR; 11060 + 11061 + typedef struct VkPhysicalDeviceMaintenance5PropertiesKHR { 11062 + VkStructureType sType; 11063 + void* pNext; 11064 + VkBool32 earlyFragmentMultisampleCoverageAfterSampleCounting; 11065 + VkBool32 earlyFragmentSampleMaskTestBeforeSampleCounting; 11066 + VkBool32 depthStencilSwizzleOneSupport; 11067 + VkBool32 polygonModePointSize; 11068 + VkBool32 nonStrictSinglePixelWideLinesUseParallelogram; 11069 + VkBool32 nonStrictWideLinesUseParallelogram; 11070 + } VkPhysicalDeviceMaintenance5PropertiesKHR; 11071 + 11072 + typedef struct VkRenderingAreaInfoKHR { 11073 + VkStructureType sType; 11074 + const void* pNext; 11075 + uint32_t viewMask; 11076 + uint32_t colorAttachmentCount; 11077 + const VkFormat* pColorAttachmentFormats; 11078 + VkFormat depthAttachmentFormat; 11079 + VkFormat stencilAttachmentFormat; 11080 + } VkRenderingAreaInfoKHR; 11081 + 11082 + typedef struct VkImageSubresource2KHR { 11083 + VkStructureType sType; 11084 + void* pNext; 11085 + VkImageSubresource imageSubresource; 11086 + } VkImageSubresource2KHR; 11087 + 11088 + typedef struct VkDeviceImageSubresourceInfoKHR { 11089 + VkStructureType sType; 11090 + const void* pNext; 11091 + const VkImageCreateInfo* pCreateInfo; 11092 + const VkImageSubresource2KHR* pSubresource; 11093 + } VkDeviceImageSubresourceInfoKHR; 11094 + 11095 + typedef struct VkSubresourceLayout2KHR { 11096 + VkStructureType sType; 11097 + void* pNext; 11098 + VkSubresourceLayout subresourceLayout; 11099 + } VkSubresourceLayout2KHR; 11100 + 11101 + typedef struct VkPipelineCreateFlags2CreateInfoKHR { 11102 + VkStructureType sType; 11103 + const void* pNext; 11104 + VkPipelineCreateFlags2KHR flags; 11105 + } VkPipelineCreateFlags2CreateInfoKHR; 11106 + 11107 + typedef struct VkBufferUsageFlags2CreateInfoKHR { 11108 + VkStructureType sType; 11109 + const void* pNext; 11110 + VkBufferUsageFlags2KHR usage; 11111 + } VkBufferUsageFlags2CreateInfoKHR; 11112 + 11113 + typedef void (VKAPI_PTR *PFN_vkCmdBindIndexBuffer2KHR)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType); 11114 + typedef void (VKAPI_PTR *PFN_vkGetRenderingAreaGranularityKHR)(VkDevice device, const VkRenderingAreaInfoKHR* pRenderingAreaInfo, VkExtent2D* pGranularity); 11115 + typedef void (VKAPI_PTR *PFN_vkGetDeviceImageSubresourceLayoutKHR)(VkDevice device, const VkDeviceImageSubresourceInfoKHR* pInfo, VkSubresourceLayout2KHR* pLayout); 11116 + typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2KHR)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout); 11117 + 11118 + #ifndef VK_NO_PROTOTYPES 11119 + VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer2KHR( 11120 + VkCommandBuffer commandBuffer, 11121 + VkBuffer buffer, 11122 + VkDeviceSize offset, 11123 + VkDeviceSize size, 11124 + VkIndexType indexType); 11125 + 11126 + VKAPI_ATTR void VKAPI_CALL vkGetRenderingAreaGranularityKHR( 11127 + VkDevice device, 11128 + const VkRenderingAreaInfoKHR* pRenderingAreaInfo, 11129 + VkExtent2D* pGranularity); 11130 + 11131 + VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSubresourceLayoutKHR( 11132 + VkDevice device, 11133 + const VkDeviceImageSubresourceInfoKHR* pInfo, 11134 + VkSubresourceLayout2KHR* pLayout); 11135 + 11136 + VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2KHR( 11137 + VkDevice device, 11138 + VkImage image, 11139 + const VkImageSubresource2KHR* pSubresource, 11140 + VkSubresourceLayout2KHR* pLayout); 11141 + #endif 11142 + 11143 + 11144 + // VK_KHR_ray_tracing_position_fetch is a preprocessor guard. Do not pass it to API calls. 11145 + #define VK_KHR_ray_tracing_position_fetch 1 11146 + #define VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION 1 11147 + #define VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME "VK_KHR_ray_tracing_position_fetch" 11148 + typedef struct VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR { 11149 + VkStructureType sType; 11150 + void* pNext; 11151 + VkBool32 rayTracingPositionFetch; 11152 + } VkPhysicalDeviceRayTracingPositionFetchFeaturesKHR; 11153 + 11154 + 11155 + 11156 + // VK_KHR_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 11157 + #define VK_KHR_cooperative_matrix 1 11158 + #define VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION 2 11159 + #define VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_KHR_cooperative_matrix" 11160 + 11161 + typedef enum VkComponentTypeKHR { 11162 + VK_COMPONENT_TYPE_FLOAT16_KHR = 0, 11163 + VK_COMPONENT_TYPE_FLOAT32_KHR = 1, 11164 + VK_COMPONENT_TYPE_FLOAT64_KHR = 2, 11165 + VK_COMPONENT_TYPE_SINT8_KHR = 3, 11166 + VK_COMPONENT_TYPE_SINT16_KHR = 4, 11167 + VK_COMPONENT_TYPE_SINT32_KHR = 5, 11168 + VK_COMPONENT_TYPE_SINT64_KHR = 6, 11169 + VK_COMPONENT_TYPE_UINT8_KHR = 7, 11170 + VK_COMPONENT_TYPE_UINT16_KHR = 8, 11171 + VK_COMPONENT_TYPE_UINT32_KHR = 9, 11172 + VK_COMPONENT_TYPE_UINT64_KHR = 10, 11173 + VK_COMPONENT_TYPE_FLOAT16_NV = VK_COMPONENT_TYPE_FLOAT16_KHR, 11174 + VK_COMPONENT_TYPE_FLOAT32_NV = VK_COMPONENT_TYPE_FLOAT32_KHR, 11175 + VK_COMPONENT_TYPE_FLOAT64_NV = VK_COMPONENT_TYPE_FLOAT64_KHR, 11176 + VK_COMPONENT_TYPE_SINT8_NV = VK_COMPONENT_TYPE_SINT8_KHR, 11177 + VK_COMPONENT_TYPE_SINT16_NV = VK_COMPONENT_TYPE_SINT16_KHR, 11178 + VK_COMPONENT_TYPE_SINT32_NV = VK_COMPONENT_TYPE_SINT32_KHR, 11179 + VK_COMPONENT_TYPE_SINT64_NV = VK_COMPONENT_TYPE_SINT64_KHR, 11180 + VK_COMPONENT_TYPE_UINT8_NV = VK_COMPONENT_TYPE_UINT8_KHR, 11181 + VK_COMPONENT_TYPE_UINT16_NV = VK_COMPONENT_TYPE_UINT16_KHR, 11182 + VK_COMPONENT_TYPE_UINT32_NV = VK_COMPONENT_TYPE_UINT32_KHR, 11183 + VK_COMPONENT_TYPE_UINT64_NV = VK_COMPONENT_TYPE_UINT64_KHR, 11184 + VK_COMPONENT_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 11185 + } VkComponentTypeKHR; 11186 + 11187 + typedef enum VkScopeKHR { 11188 + VK_SCOPE_DEVICE_KHR = 1, 11189 + VK_SCOPE_WORKGROUP_KHR = 2, 11190 + VK_SCOPE_SUBGROUP_KHR = 3, 11191 + VK_SCOPE_QUEUE_FAMILY_KHR = 5, 11192 + VK_SCOPE_DEVICE_NV = VK_SCOPE_DEVICE_KHR, 11193 + VK_SCOPE_WORKGROUP_NV = VK_SCOPE_WORKGROUP_KHR, 11194 + VK_SCOPE_SUBGROUP_NV = VK_SCOPE_SUBGROUP_KHR, 11195 + VK_SCOPE_QUEUE_FAMILY_NV = VK_SCOPE_QUEUE_FAMILY_KHR, 11196 + VK_SCOPE_MAX_ENUM_KHR = 0x7FFFFFFF 11197 + } VkScopeKHR; 11198 + typedef struct VkCooperativeMatrixPropertiesKHR { 11199 + VkStructureType sType; 11200 + void* pNext; 11201 + uint32_t MSize; 11202 + uint32_t NSize; 11203 + uint32_t KSize; 11204 + VkComponentTypeKHR AType; 11205 + VkComponentTypeKHR BType; 11206 + VkComponentTypeKHR CType; 11207 + VkComponentTypeKHR ResultType; 11208 + VkBool32 saturatingAccumulation; 11209 + VkScopeKHR scope; 11210 + } VkCooperativeMatrixPropertiesKHR; 11211 + 11212 + typedef struct VkPhysicalDeviceCooperativeMatrixFeaturesKHR { 11213 + VkStructureType sType; 11214 + void* pNext; 11215 + VkBool32 cooperativeMatrix; 11216 + VkBool32 cooperativeMatrixRobustBufferAccess; 11217 + } VkPhysicalDeviceCooperativeMatrixFeaturesKHR; 11218 + 11219 + typedef struct VkPhysicalDeviceCooperativeMatrixPropertiesKHR { 11220 + VkStructureType sType; 11221 + void* pNext; 11222 + VkShaderStageFlags cooperativeMatrixSupportedStages; 11223 + } VkPhysicalDeviceCooperativeMatrixPropertiesKHR; 11224 + 11225 + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR)(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkCooperativeMatrixPropertiesKHR* pProperties); 11226 + 11227 + #ifndef VK_NO_PROTOTYPES 11228 + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( 11229 + VkPhysicalDevice physicalDevice, 11230 + uint32_t* pPropertyCount, 11231 + VkCooperativeMatrixPropertiesKHR* pProperties); 11232 + #endif 11233 + 11234 + 11235 + // VK_KHR_video_maintenance1 is a preprocessor guard. Do not pass it to API calls. 11236 + #define VK_KHR_video_maintenance1 1 11237 + #define VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION 1 11238 + #define VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_video_maintenance1" 11239 + typedef struct VkPhysicalDeviceVideoMaintenance1FeaturesKHR { 11240 + VkStructureType sType; 11241 + void* pNext; 11242 + VkBool32 videoMaintenance1; 11243 + } VkPhysicalDeviceVideoMaintenance1FeaturesKHR; 11244 + 11245 + typedef struct VkVideoInlineQueryInfoKHR { 11246 + VkStructureType sType; 11247 + const void* pNext; 11248 + VkQueryPool queryPool; 11249 + uint32_t firstQuery; 11250 + uint32_t queryCount; 11251 + } VkVideoInlineQueryInfoKHR; 11252 + 11253 + 11254 + 11255 + // VK_KHR_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 11256 + #define VK_KHR_vertex_attribute_divisor 1 11257 + #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 1 11258 + #define VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_KHR_vertex_attribute_divisor" 11259 + typedef struct VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR { 11260 + VkStructureType sType; 11261 + void* pNext; 11262 + uint32_t maxVertexAttribDivisor; 11263 + VkBool32 supportsNonZeroFirstInstance; 11264 + } VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR; 11265 + 11266 + typedef struct VkVertexInputBindingDivisorDescriptionKHR { 11267 + uint32_t binding; 11268 + uint32_t divisor; 11269 + } VkVertexInputBindingDivisorDescriptionKHR; 11270 + 11271 + typedef struct VkPipelineVertexInputDivisorStateCreateInfoKHR { 11272 + VkStructureType sType; 11273 + const void* pNext; 11274 + uint32_t vertexBindingDivisorCount; 11275 + const VkVertexInputBindingDivisorDescriptionKHR* pVertexBindingDivisors; 11276 + } VkPipelineVertexInputDivisorStateCreateInfoKHR; 11277 + 11278 + typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR { 11279 + VkStructureType sType; 11280 + void* pNext; 11281 + VkBool32 vertexAttributeInstanceRateDivisor; 11282 + VkBool32 vertexAttributeInstanceRateZeroDivisor; 11283 + } VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR; 11284 + 11285 + 11286 + 11287 + // VK_KHR_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 11288 + #define VK_KHR_calibrated_timestamps 1 11289 + #define VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION 1 11290 + #define VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_KHR_calibrated_timestamps" 11291 + 11292 + typedef enum VkTimeDomainKHR { 11293 + VK_TIME_DOMAIN_DEVICE_KHR = 0, 11294 + VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR = 1, 11295 + VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR = 2, 11296 + VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR = 3, 11297 + VK_TIME_DOMAIN_DEVICE_EXT = VK_TIME_DOMAIN_DEVICE_KHR, 11298 + VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_KHR, 11299 + VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_KHR, 11300 + VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_KHR, 11301 + VK_TIME_DOMAIN_MAX_ENUM_KHR = 0x7FFFFFFF 11302 + } VkTimeDomainKHR; 11303 + typedef struct VkCalibratedTimestampInfoKHR { 11304 + VkStructureType sType; 11305 + const void* pNext; 11306 + VkTimeDomainKHR timeDomain; 11307 + } VkCalibratedTimestampInfoKHR; 11308 + 11309 + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 11310 + typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsKHR)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 11311 + 11312 + #ifndef VK_NO_PROTOTYPES 11313 + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( 11314 + VkPhysicalDevice physicalDevice, 11315 + uint32_t* pTimeDomainCount, 11316 + VkTimeDomainKHR* pTimeDomains); 11317 + 11318 + VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsKHR( 11319 + VkDevice device, 11320 + uint32_t timestampCount, 11321 + const VkCalibratedTimestampInfoKHR* pTimestampInfos, 11322 + uint64_t* pTimestamps, 11323 + uint64_t* pMaxDeviation); 11324 + #endif 11325 + 11326 + 11327 + // VK_KHR_maintenance6 is a preprocessor guard. Do not pass it to API calls. 11328 + #define VK_KHR_maintenance6 1 11329 + #define VK_KHR_MAINTENANCE_6_SPEC_VERSION 1 11330 + #define VK_KHR_MAINTENANCE_6_EXTENSION_NAME "VK_KHR_maintenance6" 11331 + typedef struct VkPhysicalDeviceMaintenance6FeaturesKHR { 11332 + VkStructureType sType; 11333 + void* pNext; 11334 + VkBool32 maintenance6; 11335 + } VkPhysicalDeviceMaintenance6FeaturesKHR; 11336 + 11337 + typedef struct VkPhysicalDeviceMaintenance6PropertiesKHR { 11338 + VkStructureType sType; 11339 + void* pNext; 11340 + VkBool32 blockTexelViewCompatibleMultipleLayers; 11341 + uint32_t maxCombinedImageSamplerDescriptorCount; 11342 + VkBool32 fragmentShadingRateClampCombinerInputs; 11343 + } VkPhysicalDeviceMaintenance6PropertiesKHR; 11344 + 11345 + typedef struct VkBindMemoryStatusKHR { 11346 + VkStructureType sType; 11347 + const void* pNext; 11348 + VkResult* pResult; 11349 + } VkBindMemoryStatusKHR; 11350 + 11351 + typedef struct VkBindDescriptorSetsInfoKHR { 11352 + VkStructureType sType; 11353 + const void* pNext; 11354 + VkShaderStageFlags stageFlags; 11355 + VkPipelineLayout layout; 11356 + uint32_t firstSet; 11357 + uint32_t descriptorSetCount; 11358 + const VkDescriptorSet* pDescriptorSets; 11359 + uint32_t dynamicOffsetCount; 11360 + const uint32_t* pDynamicOffsets; 11361 + } VkBindDescriptorSetsInfoKHR; 11362 + 11363 + typedef struct VkPushConstantsInfoKHR { 11364 + VkStructureType sType; 11365 + const void* pNext; 11366 + VkPipelineLayout layout; 11367 + VkShaderStageFlags stageFlags; 11368 + uint32_t offset; 11369 + uint32_t size; 11370 + const void* pValues; 11371 + } VkPushConstantsInfoKHR; 11372 + 11373 + typedef struct VkPushDescriptorSetInfoKHR { 11374 + VkStructureType sType; 11375 + const void* pNext; 11376 + VkShaderStageFlags stageFlags; 11377 + VkPipelineLayout layout; 11378 + uint32_t set; 11379 + uint32_t descriptorWriteCount; 11380 + const VkWriteDescriptorSet* pDescriptorWrites; 11381 + } VkPushDescriptorSetInfoKHR; 11382 + 11383 + typedef struct VkPushDescriptorSetWithTemplateInfoKHR { 11384 + VkStructureType sType; 11385 + const void* pNext; 11386 + VkDescriptorUpdateTemplate descriptorUpdateTemplate; 11387 + VkPipelineLayout layout; 11388 + uint32_t set; 11389 + const void* pData; 11390 + } VkPushDescriptorSetWithTemplateInfoKHR; 11391 + 11392 + typedef struct VkSetDescriptorBufferOffsetsInfoEXT { 11393 + VkStructureType sType; 11394 + const void* pNext; 11395 + VkShaderStageFlags stageFlags; 11396 + VkPipelineLayout layout; 11397 + uint32_t firstSet; 11398 + uint32_t setCount; 11399 + const uint32_t* pBufferIndices; 11400 + const VkDeviceSize* pOffsets; 11401 + } VkSetDescriptorBufferOffsetsInfoEXT; 11402 + 11403 + typedef struct VkBindDescriptorBufferEmbeddedSamplersInfoEXT { 11404 + VkStructureType sType; 11405 + const void* pNext; 11406 + VkShaderStageFlags stageFlags; 11407 + VkPipelineLayout layout; 11408 + uint32_t set; 11409 + } VkBindDescriptorBufferEmbeddedSamplersInfoEXT; 11410 + 11411 + typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorSets2KHR)(VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo); 11412 + typedef void (VKAPI_PTR *PFN_vkCmdPushConstants2KHR)(VkCommandBuffer commandBuffer, const VkPushConstantsInfoKHR* pPushConstantsInfo); 11413 + typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSet2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo); 11414 + typedef void (VKAPI_PTR *PFN_vkCmdPushDescriptorSetWithTemplate2KHR)(VkCommandBuffer commandBuffer, const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo); 11415 + typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsets2EXT)(VkCommandBuffer commandBuffer, const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 11416 + typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)(VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 11417 + 11418 + #ifndef VK_NO_PROTOTYPES 11419 + VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets2KHR( 11420 + VkCommandBuffer commandBuffer, 11421 + const VkBindDescriptorSetsInfoKHR* pBindDescriptorSetsInfo); 11422 + 11423 + VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants2KHR( 11424 + VkCommandBuffer commandBuffer, 11425 + const VkPushConstantsInfoKHR* pPushConstantsInfo); 11426 + 11427 + VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSet2KHR( 11428 + VkCommandBuffer commandBuffer, 11429 + const VkPushDescriptorSetInfoKHR* pPushDescriptorSetInfo); 11430 + 11431 + VKAPI_ATTR void VKAPI_CALL vkCmdPushDescriptorSetWithTemplate2KHR( 11432 + VkCommandBuffer commandBuffer, 11433 + const VkPushDescriptorSetWithTemplateInfoKHR* pPushDescriptorSetWithTemplateInfo); 11434 + 11435 + VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsets2EXT( 11436 + VkCommandBuffer commandBuffer, 11437 + const VkSetDescriptorBufferOffsetsInfoEXT* pSetDescriptorBufferOffsetsInfo); 11438 + 11439 + VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( 11440 + VkCommandBuffer commandBuffer, 11441 + const VkBindDescriptorBufferEmbeddedSamplersInfoEXT* pBindDescriptorBufferEmbeddedSamplersInfo); 11442 + #endif 11443 + 11444 + 11445 + // VK_EXT_debug_report is a preprocessor guard. Do not pass it to API calls. 9695 11446 #define VK_EXT_debug_report 1 9696 11447 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugReportCallbackEXT) 9697 11448 #define VK_EXT_DEBUG_REPORT_SPEC_VERSION 10 ··· 9736 11487 VK_DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT = 1000029001, 9737 11488 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000, 9738 11489 VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000, 11490 + VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_MODULE_NV_EXT = 1000307000, 11491 + VK_DEBUG_REPORT_OBJECT_TYPE_CUDA_FUNCTION_NV_EXT = 1000307001, 9739 11492 VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000, 9740 11493 VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT, 9741 11494 VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT, ··· 9799 11552 #endif 9800 11553 9801 11554 11555 + // VK_NV_glsl_shader is a preprocessor guard. Do not pass it to API calls. 9802 11556 #define VK_NV_glsl_shader 1 9803 11557 #define VK_NV_GLSL_SHADER_SPEC_VERSION 1 9804 11558 #define VK_NV_GLSL_SHADER_EXTENSION_NAME "VK_NV_glsl_shader" 9805 11559 9806 11560 11561 + // VK_EXT_depth_range_unrestricted is a preprocessor guard. Do not pass it to API calls. 9807 11562 #define VK_EXT_depth_range_unrestricted 1 9808 11563 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION 1 9809 11564 #define VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME "VK_EXT_depth_range_unrestricted" 9810 11565 9811 11566 11567 + // VK_IMG_filter_cubic is a preprocessor guard. Do not pass it to API calls. 9812 11568 #define VK_IMG_filter_cubic 1 9813 11569 #define VK_IMG_FILTER_CUBIC_SPEC_VERSION 1 9814 11570 #define VK_IMG_FILTER_CUBIC_EXTENSION_NAME "VK_IMG_filter_cubic" 9815 11571 9816 11572 11573 + // VK_AMD_rasterization_order is a preprocessor guard. Do not pass it to API calls. 9817 11574 #define VK_AMD_rasterization_order 1 9818 11575 #define VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION 1 9819 11576 #define VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME "VK_AMD_rasterization_order" ··· 9831 11588 9832 11589 9833 11590 11591 + // VK_AMD_shader_trinary_minmax is a preprocessor guard. Do not pass it to API calls. 9834 11592 #define VK_AMD_shader_trinary_minmax 1 9835 11593 #define VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION 1 9836 11594 #define VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME "VK_AMD_shader_trinary_minmax" 9837 11595 9838 11596 11597 + // VK_AMD_shader_explicit_vertex_parameter is a preprocessor guard. Do not pass it to API calls. 9839 11598 #define VK_AMD_shader_explicit_vertex_parameter 1 9840 11599 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION 1 9841 11600 #define VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME "VK_AMD_shader_explicit_vertex_parameter" 9842 11601 9843 11602 11603 + // VK_EXT_debug_marker is a preprocessor guard. Do not pass it to API calls. 9844 11604 #define VK_EXT_debug_marker 1 9845 11605 #define VK_EXT_DEBUG_MARKER_SPEC_VERSION 4 9846 11606 #define VK_EXT_DEBUG_MARKER_EXTENSION_NAME "VK_EXT_debug_marker" ··· 9897 11657 #endif 9898 11658 9899 11659 11660 + // VK_AMD_gcn_shader is a preprocessor guard. Do not pass it to API calls. 9900 11661 #define VK_AMD_gcn_shader 1 9901 11662 #define VK_AMD_GCN_SHADER_SPEC_VERSION 1 9902 11663 #define VK_AMD_GCN_SHADER_EXTENSION_NAME "VK_AMD_gcn_shader" 9903 11664 9904 11665 11666 + // VK_NV_dedicated_allocation is a preprocessor guard. Do not pass it to API calls. 9905 11667 #define VK_NV_dedicated_allocation 1 9906 11668 #define VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION 1 9907 11669 #define VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME "VK_NV_dedicated_allocation" ··· 9926 11688 9927 11689 9928 11690 11691 + // VK_EXT_transform_feedback is a preprocessor guard. Do not pass it to API calls. 9929 11692 #define VK_EXT_transform_feedback 1 9930 11693 #define VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION 1 9931 11694 #define VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME "VK_EXT_transform_feedback" ··· 10013 11776 #endif 10014 11777 10015 11778 11779 + // VK_NVX_binary_import is a preprocessor guard. Do not pass it to API calls. 10016 11780 #define VK_NVX_binary_import 1 10017 11781 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuModuleNVX) 10018 11782 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCuFunctionNVX) ··· 10084 11848 #endif 10085 11849 10086 11850 11851 + // VK_NVX_image_view_handle is a preprocessor guard. Do not pass it to API calls. 10087 11852 #define VK_NVX_image_view_handle 1 10088 11853 #define VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 2 10089 11854 #define VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME "VK_NVX_image_view_handle" ··· 10117 11882 #endif 10118 11883 10119 11884 11885 + // VK_AMD_draw_indirect_count is a preprocessor guard. Do not pass it to API calls. 10120 11886 #define VK_AMD_draw_indirect_count 1 10121 11887 #define VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION 2 10122 11888 #define VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME "VK_AMD_draw_indirect_count" ··· 10144 11910 #endif 10145 11911 10146 11912 11913 + // VK_AMD_negative_viewport_height is a preprocessor guard. Do not pass it to API calls. 10147 11914 #define VK_AMD_negative_viewport_height 1 10148 11915 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION 1 10149 11916 #define VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME "VK_AMD_negative_viewport_height" 10150 11917 10151 11918 11919 + // VK_AMD_gpu_shader_half_float is a preprocessor guard. Do not pass it to API calls. 10152 11920 #define VK_AMD_gpu_shader_half_float 1 10153 11921 #define VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION 2 10154 11922 #define VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME "VK_AMD_gpu_shader_half_float" 10155 11923 10156 11924 11925 + // VK_AMD_shader_ballot is a preprocessor guard. Do not pass it to API calls. 10157 11926 #define VK_AMD_shader_ballot 1 10158 11927 #define VK_AMD_SHADER_BALLOT_SPEC_VERSION 1 10159 11928 #define VK_AMD_SHADER_BALLOT_EXTENSION_NAME "VK_AMD_shader_ballot" 10160 11929 10161 11930 11931 + // VK_AMD_texture_gather_bias_lod is a preprocessor guard. Do not pass it to API calls. 10162 11932 #define VK_AMD_texture_gather_bias_lod 1 10163 11933 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION 1 10164 11934 #define VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME "VK_AMD_texture_gather_bias_lod" ··· 10170 11940 10171 11941 10172 11942 11943 + // VK_AMD_shader_info is a preprocessor guard. Do not pass it to API calls. 10173 11944 #define VK_AMD_shader_info 1 10174 11945 #define VK_AMD_SHADER_INFO_SPEC_VERSION 1 10175 11946 #define VK_AMD_SHADER_INFO_EXTENSION_NAME "VK_AMD_shader_info" ··· 10211 11982 #endif 10212 11983 10213 11984 11985 + // VK_AMD_shader_image_load_store_lod is a preprocessor guard. Do not pass it to API calls. 10214 11986 #define VK_AMD_shader_image_load_store_lod 1 10215 11987 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION 1 10216 11988 #define VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME "VK_AMD_shader_image_load_store_lod" 10217 11989 10218 11990 11991 + // VK_NV_corner_sampled_image is a preprocessor guard. Do not pass it to API calls. 10219 11992 #define VK_NV_corner_sampled_image 1 10220 11993 #define VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION 2 10221 11994 #define VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME "VK_NV_corner_sampled_image" ··· 10227 12000 10228 12001 10229 12002 12003 + // VK_IMG_format_pvrtc is a preprocessor guard. Do not pass it to API calls. 10230 12004 #define VK_IMG_format_pvrtc 1 10231 12005 #define VK_IMG_FORMAT_PVRTC_SPEC_VERSION 1 10232 12006 #define VK_IMG_FORMAT_PVRTC_EXTENSION_NAME "VK_IMG_format_pvrtc" 10233 12007 10234 12008 12009 + // VK_NV_external_memory_capabilities is a preprocessor guard. Do not pass it to API calls. 10235 12010 #define VK_NV_external_memory_capabilities 1 10236 12011 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION 1 10237 12012 #define VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME "VK_NV_external_memory_capabilities" ··· 10274 12049 #endif 10275 12050 10276 12051 12052 + // VK_NV_external_memory is a preprocessor guard. Do not pass it to API calls. 10277 12053 #define VK_NV_external_memory 1 10278 12054 #define VK_NV_EXTERNAL_MEMORY_SPEC_VERSION 1 10279 12055 #define VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME "VK_NV_external_memory" ··· 10291 12067 10292 12068 10293 12069 12070 + // VK_EXT_validation_flags is a preprocessor guard. Do not pass it to API calls. 10294 12071 #define VK_EXT_validation_flags 1 10295 - #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 2 12072 + #define VK_EXT_VALIDATION_FLAGS_SPEC_VERSION 3 10296 12073 #define VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME "VK_EXT_validation_flags" 10297 12074 10298 12075 typedef enum VkValidationCheckEXT { ··· 10309 12086 10310 12087 10311 12088 12089 + // VK_EXT_shader_subgroup_ballot is a preprocessor guard. Do not pass it to API calls. 10312 12090 #define VK_EXT_shader_subgroup_ballot 1 10313 12091 #define VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION 1 10314 12092 #define VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME "VK_EXT_shader_subgroup_ballot" 10315 12093 10316 12094 12095 + // VK_EXT_shader_subgroup_vote is a preprocessor guard. Do not pass it to API calls. 10317 12096 #define VK_EXT_shader_subgroup_vote 1 10318 12097 #define VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION 1 10319 12098 #define VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME "VK_EXT_shader_subgroup_vote" 10320 12099 10321 12100 12101 + // VK_EXT_texture_compression_astc_hdr is a preprocessor guard. Do not pass it to API calls. 10322 12102 #define VK_EXT_texture_compression_astc_hdr 1 10323 12103 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION 1 10324 12104 #define VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME "VK_EXT_texture_compression_astc_hdr" ··· 10326 12106 10327 12107 10328 12108 12109 + // VK_EXT_astc_decode_mode is a preprocessor guard. Do not pass it to API calls. 10329 12110 #define VK_EXT_astc_decode_mode 1 10330 12111 #define VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION 1 10331 12112 #define VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME "VK_EXT_astc_decode_mode" ··· 10343 12124 10344 12125 10345 12126 12127 + // VK_EXT_pipeline_robustness is a preprocessor guard. Do not pass it to API calls. 10346 12128 #define VK_EXT_pipeline_robustness 1 10347 12129 #define VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION 1 10348 12130 #define VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_pipeline_robustness" ··· 10388 12170 10389 12171 10390 12172 12173 + // VK_EXT_conditional_rendering is a preprocessor guard. Do not pass it to API calls. 10391 12174 #define VK_EXT_conditional_rendering 1 10392 12175 #define VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION 2 10393 12176 #define VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME "VK_EXT_conditional_rendering" ··· 10431 12214 #endif 10432 12215 10433 12216 12217 + // VK_NV_clip_space_w_scaling is a preprocessor guard. Do not pass it to API calls. 10434 12218 #define VK_NV_clip_space_w_scaling 1 10435 12219 #define VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION 1 10436 12220 #define VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME "VK_NV_clip_space_w_scaling" ··· 10458 12242 #endif 10459 12243 10460 12244 12245 + // VK_EXT_direct_mode_display is a preprocessor guard. Do not pass it to API calls. 10461 12246 #define VK_EXT_direct_mode_display 1 10462 12247 #define VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION 1 10463 12248 #define VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME "VK_EXT_direct_mode_display" ··· 10470 12255 #endif 10471 12256 10472 12257 12258 + // VK_EXT_display_surface_counter is a preprocessor guard. Do not pass it to API calls. 10473 12259 #define VK_EXT_display_surface_counter 1 10474 12260 #define VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION 1 10475 12261 #define VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME "VK_EXT_display_surface_counter" ··· 10506 12292 #endif 10507 12293 10508 12294 12295 + // VK_EXT_display_control is a preprocessor guard. Do not pass it to API calls. 10509 12296 #define VK_EXT_display_control 1 10510 12297 #define VK_EXT_DISPLAY_CONTROL_SPEC_VERSION 1 10511 12298 #define VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME "VK_EXT_display_control" ··· 10582 12369 #endif 10583 12370 10584 12371 12372 + // VK_GOOGLE_display_timing is a preprocessor guard. Do not pass it to API calls. 10585 12373 #define VK_GOOGLE_display_timing 1 10586 12374 #define VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION 1 10587 12375 #define VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME "VK_GOOGLE_display_timing" ··· 10626 12414 #endif 10627 12415 10628 12416 12417 + // VK_NV_sample_mask_override_coverage is a preprocessor guard. Do not pass it to API calls. 10629 12418 #define VK_NV_sample_mask_override_coverage 1 10630 12419 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION 1 10631 12420 #define VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME "VK_NV_sample_mask_override_coverage" 10632 12421 10633 12422 12423 + // VK_NV_geometry_shader_passthrough is a preprocessor guard. Do not pass it to API calls. 10634 12424 #define VK_NV_geometry_shader_passthrough 1 10635 12425 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION 1 10636 12426 #define VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME "VK_NV_geometry_shader_passthrough" 10637 12427 10638 12428 12429 + // VK_NV_viewport_array2 is a preprocessor guard. Do not pass it to API calls. 10639 12430 #define VK_NV_viewport_array2 1 10640 12431 #define VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION 1 10641 12432 #define VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME "VK_NV_viewport_array2" ··· 10643 12434 #define VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME 10644 12435 10645 12436 12437 + // VK_NVX_multiview_per_view_attributes is a preprocessor guard. Do not pass it to API calls. 10646 12438 #define VK_NVX_multiview_per_view_attributes 1 10647 12439 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION 1 10648 12440 #define VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME "VK_NVX_multiview_per_view_attributes" ··· 10654 12446 10655 12447 10656 12448 12449 + // VK_NV_viewport_swizzle is a preprocessor guard. Do not pass it to API calls. 10657 12450 #define VK_NV_viewport_swizzle 1 10658 12451 #define VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION 1 10659 12452 #define VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME "VK_NV_viewport_swizzle" ··· 10687 12480 10688 12481 10689 12482 12483 + // VK_EXT_discard_rectangles is a preprocessor guard. Do not pass it to API calls. 10690 12484 #define VK_EXT_discard_rectangles 1 10691 - #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 1 12485 + #define VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION 2 10692 12486 #define VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME "VK_EXT_discard_rectangles" 10693 12487 10694 12488 typedef enum VkDiscardRectangleModeEXT { ··· 10713 12507 } VkPipelineDiscardRectangleStateCreateInfoEXT; 10714 12508 10715 12509 typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEXT)(VkCommandBuffer commandBuffer, uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const VkRect2D* pDiscardRectangles); 12510 + typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable); 12511 + typedef void (VKAPI_PTR *PFN_vkCmdSetDiscardRectangleModeEXT)(VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode); 10716 12512 10717 12513 #ifndef VK_NO_PROTOTYPES 10718 12514 VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEXT( ··· 10720 12516 uint32_t firstDiscardRectangle, 10721 12517 uint32_t discardRectangleCount, 10722 12518 const VkRect2D* pDiscardRectangles); 12519 + 12520 + VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleEnableEXT( 12521 + VkCommandBuffer commandBuffer, 12522 + VkBool32 discardRectangleEnable); 12523 + 12524 + VKAPI_ATTR void VKAPI_CALL vkCmdSetDiscardRectangleModeEXT( 12525 + VkCommandBuffer commandBuffer, 12526 + VkDiscardRectangleModeEXT discardRectangleMode); 10723 12527 #endif 10724 12528 10725 12529 12530 + // VK_EXT_conservative_rasterization is a preprocessor guard. Do not pass it to API calls. 10726 12531 #define VK_EXT_conservative_rasterization 1 10727 12532 #define VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION 1 10728 12533 #define VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME "VK_EXT_conservative_rasterization" ··· 10758 12563 10759 12564 10760 12565 12566 + // VK_EXT_depth_clip_enable is a preprocessor guard. Do not pass it to API calls. 10761 12567 #define VK_EXT_depth_clip_enable 1 10762 12568 #define VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION 1 10763 12569 #define VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME "VK_EXT_depth_clip_enable" ··· 10777 12583 10778 12584 10779 12585 12586 + // VK_EXT_swapchain_colorspace is a preprocessor guard. Do not pass it to API calls. 10780 12587 #define VK_EXT_swapchain_colorspace 1 10781 12588 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION 4 10782 12589 #define VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME "VK_EXT_swapchain_colorspace" 10783 12590 10784 12591 12592 + // VK_EXT_hdr_metadata is a preprocessor guard. Do not pass it to API calls. 10785 12593 #define VK_EXT_hdr_metadata 1 10786 12594 #define VK_EXT_HDR_METADATA_SPEC_VERSION 2 10787 12595 #define VK_EXT_HDR_METADATA_EXTENSION_NAME "VK_EXT_hdr_metadata" ··· 10814 12622 #endif 10815 12623 10816 12624 12625 + // VK_IMG_relaxed_line_rasterization is a preprocessor guard. Do not pass it to API calls. 12626 + #define VK_IMG_relaxed_line_rasterization 1 12627 + #define VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION 1 12628 + #define VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME "VK_IMG_relaxed_line_rasterization" 12629 + typedef struct VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG { 12630 + VkStructureType sType; 12631 + void* pNext; 12632 + VkBool32 relaxedLineRasterization; 12633 + } VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG; 12634 + 12635 + 12636 + 12637 + // VK_EXT_external_memory_dma_buf is a preprocessor guard. Do not pass it to API calls. 10817 12638 #define VK_EXT_external_memory_dma_buf 1 10818 12639 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION 1 10819 12640 #define VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME "VK_EXT_external_memory_dma_buf" 10820 12641 10821 12642 12643 + // VK_EXT_queue_family_foreign is a preprocessor guard. Do not pass it to API calls. 10822 12644 #define VK_EXT_queue_family_foreign 1 10823 12645 #define VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION 1 10824 12646 #define VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME "VK_EXT_queue_family_foreign" 10825 12647 #define VK_QUEUE_FAMILY_FOREIGN_EXT (~2U) 10826 12648 10827 12649 12650 + // VK_EXT_debug_utils is a preprocessor guard. Do not pass it to API calls. 10828 12651 #define VK_EXT_debug_utils 1 10829 12652 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDebugUtilsMessengerEXT) 10830 12653 #define VK_EXT_DEBUG_UTILS_SPEC_VERSION 2 ··· 10843 12666 VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT = 0x00000001, 10844 12667 VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT = 0x00000002, 10845 12668 VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT = 0x00000004, 12669 + VK_DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT = 0x00000008, 10846 12670 VK_DEBUG_UTILS_MESSAGE_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 10847 12671 } VkDebugUtilsMessageTypeFlagBitsEXT; 10848 12672 typedef VkFlags VkDebugUtilsMessageTypeFlagsEXT; ··· 10966 12790 #endif 10967 12791 10968 12792 12793 + // VK_EXT_sampler_filter_minmax is a preprocessor guard. Do not pass it to API calls. 10969 12794 #define VK_EXT_sampler_filter_minmax 1 10970 12795 #define VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION 2 10971 12796 #define VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME "VK_EXT_sampler_filter_minmax" ··· 10977 12802 10978 12803 10979 12804 12805 + // VK_AMD_gpu_shader_int16 is a preprocessor guard. Do not pass it to API calls. 10980 12806 #define VK_AMD_gpu_shader_int16 1 10981 12807 #define VK_AMD_GPU_SHADER_INT16_SPEC_VERSION 2 10982 12808 #define VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME "VK_AMD_gpu_shader_int16" 10983 12809 10984 12810 12811 + // VK_AMD_mixed_attachment_samples is a preprocessor guard. Do not pass it to API calls. 10985 12812 #define VK_AMD_mixed_attachment_samples 1 10986 12813 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION 1 10987 12814 #define VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME "VK_AMD_mixed_attachment_samples" 10988 12815 10989 12816 12817 + // VK_AMD_shader_fragment_mask is a preprocessor guard. Do not pass it to API calls. 10990 12818 #define VK_AMD_shader_fragment_mask 1 10991 12819 #define VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION 1 10992 12820 #define VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME "VK_AMD_shader_fragment_mask" 10993 12821 10994 12822 12823 + // VK_EXT_inline_uniform_block is a preprocessor guard. Do not pass it to API calls. 10995 12824 #define VK_EXT_inline_uniform_block 1 10996 12825 #define VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION 1 10997 12826 #define VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME "VK_EXT_inline_uniform_block" ··· 11005 12834 11006 12835 11007 12836 12837 + // VK_EXT_shader_stencil_export is a preprocessor guard. Do not pass it to API calls. 11008 12838 #define VK_EXT_shader_stencil_export 1 11009 12839 #define VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION 1 11010 12840 #define VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME "VK_EXT_shader_stencil_export" 11011 12841 11012 12842 12843 + // VK_EXT_sample_locations is a preprocessor guard. Do not pass it to API calls. 11013 12844 #define VK_EXT_sample_locations 1 11014 12845 #define VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION 1 11015 12846 #define VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME "VK_EXT_sample_locations" ··· 11084 12915 #endif 11085 12916 11086 12917 12918 + // VK_EXT_blend_operation_advanced is a preprocessor guard. Do not pass it to API calls. 11087 12919 #define VK_EXT_blend_operation_advanced 1 11088 12920 #define VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION 2 11089 12921 #define VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME "VK_EXT_blend_operation_advanced" ··· 11121 12953 11122 12954 11123 12955 12956 + // VK_NV_fragment_coverage_to_color is a preprocessor guard. Do not pass it to API calls. 11124 12957 #define VK_NV_fragment_coverage_to_color 1 11125 12958 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION 1 11126 12959 #define VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME "VK_NV_fragment_coverage_to_color" ··· 11135 12968 11136 12969 11137 12970 12971 + // VK_NV_framebuffer_mixed_samples is a preprocessor guard. Do not pass it to API calls. 11138 12972 #define VK_NV_framebuffer_mixed_samples 1 11139 12973 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION 1 11140 12974 #define VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME "VK_NV_framebuffer_mixed_samples" ··· 11159 12993 11160 12994 11161 12995 12996 + // VK_NV_fill_rectangle is a preprocessor guard. Do not pass it to API calls. 11162 12997 #define VK_NV_fill_rectangle 1 11163 12998 #define VK_NV_FILL_RECTANGLE_SPEC_VERSION 1 11164 12999 #define VK_NV_FILL_RECTANGLE_EXTENSION_NAME "VK_NV_fill_rectangle" 11165 13000 11166 13001 13002 + // VK_NV_shader_sm_builtins is a preprocessor guard. Do not pass it to API calls. 11167 13003 #define VK_NV_shader_sm_builtins 1 11168 13004 #define VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION 1 11169 13005 #define VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME "VK_NV_shader_sm_builtins" ··· 11182 13018 11183 13019 11184 13020 13021 + // VK_EXT_post_depth_coverage is a preprocessor guard. Do not pass it to API calls. 11185 13022 #define VK_EXT_post_depth_coverage 1 11186 13023 #define VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION 1 11187 13024 #define VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME "VK_EXT_post_depth_coverage" 11188 13025 11189 13026 13027 + // VK_EXT_image_drm_format_modifier is a preprocessor guard. Do not pass it to API calls. 11190 13028 #define VK_EXT_image_drm_format_modifier 1 11191 13029 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION 2 11192 13030 #define VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME "VK_EXT_image_drm_format_modifier" ··· 11256 13094 #endif 11257 13095 11258 13096 13097 + // VK_EXT_validation_cache is a preprocessor guard. Do not pass it to API calls. 11259 13098 #define VK_EXT_validation_cache 1 11260 13099 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkValidationCacheEXT) 11261 13100 #define VK_EXT_VALIDATION_CACHE_SPEC_VERSION 1 ··· 11311 13150 #endif 11312 13151 11313 13152 13153 + // VK_EXT_descriptor_indexing is a preprocessor guard. Do not pass it to API calls. 11314 13154 #define VK_EXT_descriptor_indexing 1 11315 13155 #define VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION 2 11316 13156 #define VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME "VK_EXT_descriptor_indexing" ··· 11330 13170 11331 13171 11332 13172 13173 + // VK_EXT_shader_viewport_index_layer is a preprocessor guard. Do not pass it to API calls. 11333 13174 #define VK_EXT_shader_viewport_index_layer 1 11334 13175 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION 1 11335 13176 #define VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME "VK_EXT_shader_viewport_index_layer" 11336 13177 11337 13178 13179 + // VK_NV_shading_rate_image is a preprocessor guard. Do not pass it to API calls. 11338 13180 #define VK_NV_shading_rate_image 1 11339 13181 #define VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION 3 11340 13182 #define VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME "VK_NV_shading_rate_image" ··· 11435 13277 #endif 11436 13278 11437 13279 13280 + // VK_NV_ray_tracing is a preprocessor guard. Do not pass it to API calls. 11438 13281 #define VK_NV_ray_tracing 1 11439 13282 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureNV) 11440 13283 #define VK_NV_RAY_TRACING_SPEC_VERSION 3 ··· 11513 13356 VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR = 0x00000002, 11514 13357 VK_GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR = 0x00000004, 11515 13358 VK_GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR = 0x00000008, 13359 + VK_GEOMETRY_INSTANCE_FORCE_OPACITY_MICROMAP_2_STATE_EXT = 0x00000010, 13360 + VK_GEOMETRY_INSTANCE_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000020, 11516 13361 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR, 11517 13362 VK_GEOMETRY_INSTANCE_TRIANGLE_CULL_DISABLE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, 11518 13363 VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_NV = VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, ··· 11533 13378 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_KHR = 0x00000008, 11534 13379 VK_BUILD_ACCELERATION_STRUCTURE_LOW_MEMORY_BIT_KHR = 0x00000010, 11535 13380 VK_BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV = 0x00000020, 13381 + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT = 0x00000040, 13382 + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISABLE_OPACITY_MICROMAPS_EXT = 0x00000080, 13383 + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT = 0x00000100, 13384 + #ifdef VK_ENABLE_BETA_EXTENSIONS 13385 + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DISPLACEMENT_MICROMAP_UPDATE_NV = 0x00000200, 13386 + #endif 13387 + VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_DATA_ACCESS_KHR = 0x00000800, 11536 13388 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR, 11537 13389 VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR, 11538 13390 VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV = VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_KHR, ··· 11804 13656 #endif 11805 13657 11806 13658 13659 + // VK_NV_representative_fragment_test is a preprocessor guard. Do not pass it to API calls. 11807 13660 #define VK_NV_representative_fragment_test 1 11808 13661 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION 2 11809 13662 #define VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME "VK_NV_representative_fragment_test" ··· 11821 13674 11822 13675 11823 13676 13677 + // VK_EXT_filter_cubic is a preprocessor guard. Do not pass it to API calls. 11824 13678 #define VK_EXT_filter_cubic 1 11825 13679 #define VK_EXT_FILTER_CUBIC_SPEC_VERSION 3 11826 13680 #define VK_EXT_FILTER_CUBIC_EXTENSION_NAME "VK_EXT_filter_cubic" ··· 11839 13693 11840 13694 11841 13695 13696 + // VK_QCOM_render_pass_shader_resolve is a preprocessor guard. Do not pass it to API calls. 11842 13697 #define VK_QCOM_render_pass_shader_resolve 1 11843 13698 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION 4 11844 13699 #define VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME "VK_QCOM_render_pass_shader_resolve" 11845 13700 11846 13701 13702 + // VK_EXT_global_priority is a preprocessor guard. Do not pass it to API calls. 11847 13703 #define VK_EXT_global_priority 1 11848 13704 #define VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION 2 11849 13705 #define VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME "VK_EXT_global_priority" ··· 11853 13709 11854 13710 11855 13711 13712 + // VK_EXT_external_memory_host is a preprocessor guard. Do not pass it to API calls. 11856 13713 #define VK_EXT_external_memory_host 1 11857 13714 #define VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION 1 11858 13715 #define VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME "VK_EXT_external_memory_host" ··· 11886 13743 #endif 11887 13744 11888 13745 13746 + // VK_AMD_buffer_marker is a preprocessor guard. Do not pass it to API calls. 11889 13747 #define VK_AMD_buffer_marker 1 11890 13748 #define VK_AMD_BUFFER_MARKER_SPEC_VERSION 1 11891 13749 #define VK_AMD_BUFFER_MARKER_EXTENSION_NAME "VK_AMD_buffer_marker" ··· 11901 13759 #endif 11902 13760 11903 13761 13762 + // VK_AMD_pipeline_compiler_control is a preprocessor guard. Do not pass it to API calls. 11904 13763 #define VK_AMD_pipeline_compiler_control 1 11905 13764 #define VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION 1 11906 13765 #define VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME "VK_AMD_pipeline_compiler_control" ··· 11917 13776 11918 13777 11919 13778 13779 + // VK_EXT_calibrated_timestamps is a preprocessor guard. Do not pass it to API calls. 11920 13780 #define VK_EXT_calibrated_timestamps 1 11921 13781 #define VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION 2 11922 13782 #define VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME "VK_EXT_calibrated_timestamps" 13783 + typedef VkTimeDomainKHR VkTimeDomainEXT; 11923 13784 11924 - typedef enum VkTimeDomainEXT { 11925 - VK_TIME_DOMAIN_DEVICE_EXT = 0, 11926 - VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT = 1, 11927 - VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT = 2, 11928 - VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT = 3, 11929 - VK_TIME_DOMAIN_MAX_ENUM_EXT = 0x7FFFFFFF 11930 - } VkTimeDomainEXT; 11931 - typedef struct VkCalibratedTimestampInfoEXT { 11932 - VkStructureType sType; 11933 - const void* pNext; 11934 - VkTimeDomainEXT timeDomain; 11935 - } VkCalibratedTimestampInfoEXT; 13785 + typedef VkCalibratedTimestampInfoKHR VkCalibratedTimestampInfoEXT; 11936 13786 11937 - typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainEXT* pTimeDomains); 11938 - typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoEXT* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 13787 + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)(VkPhysicalDevice physicalDevice, uint32_t* pTimeDomainCount, VkTimeDomainKHR* pTimeDomains); 13788 + typedef VkResult (VKAPI_PTR *PFN_vkGetCalibratedTimestampsEXT)(VkDevice device, uint32_t timestampCount, const VkCalibratedTimestampInfoKHR* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation); 11939 13789 11940 13790 #ifndef VK_NO_PROTOTYPES 11941 13791 VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( 11942 13792 VkPhysicalDevice physicalDevice, 11943 13793 uint32_t* pTimeDomainCount, 11944 - VkTimeDomainEXT* pTimeDomains); 13794 + VkTimeDomainKHR* pTimeDomains); 11945 13795 11946 13796 VKAPI_ATTR VkResult VKAPI_CALL vkGetCalibratedTimestampsEXT( 11947 13797 VkDevice device, 11948 13798 uint32_t timestampCount, 11949 - const VkCalibratedTimestampInfoEXT* pTimestampInfos, 13799 + const VkCalibratedTimestampInfoKHR* pTimestampInfos, 11950 13800 uint64_t* pTimestamps, 11951 13801 uint64_t* pMaxDeviation); 11952 13802 #endif 11953 13803 11954 13804 13805 + // VK_AMD_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 11955 13806 #define VK_AMD_shader_core_properties 1 11956 13807 #define VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION 2 11957 13808 #define VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_AMD_shader_core_properties" ··· 11976 13827 11977 13828 11978 13829 13830 + // VK_AMD_memory_overallocation_behavior is a preprocessor guard. Do not pass it to API calls. 11979 13831 #define VK_AMD_memory_overallocation_behavior 1 11980 13832 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION 1 11981 13833 #define VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME "VK_AMD_memory_overallocation_behavior" ··· 11994 13846 11995 13847 11996 13848 13849 + // VK_EXT_vertex_attribute_divisor is a preprocessor guard. Do not pass it to API calls. 11997 13850 #define VK_EXT_vertex_attribute_divisor 1 11998 13851 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION 3 11999 13852 #define VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME "VK_EXT_vertex_attribute_divisor" ··· 12003 13856 uint32_t maxVertexAttribDivisor; 12004 13857 } VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT; 12005 13858 12006 - typedef struct VkVertexInputBindingDivisorDescriptionEXT { 12007 - uint32_t binding; 12008 - uint32_t divisor; 12009 - } VkVertexInputBindingDivisorDescriptionEXT; 13859 + typedef VkVertexInputBindingDivisorDescriptionKHR VkVertexInputBindingDivisorDescriptionEXT; 12010 13860 12011 - typedef struct VkPipelineVertexInputDivisorStateCreateInfoEXT { 12012 - VkStructureType sType; 12013 - const void* pNext; 12014 - uint32_t vertexBindingDivisorCount; 12015 - const VkVertexInputBindingDivisorDescriptionEXT* pVertexBindingDivisors; 12016 - } VkPipelineVertexInputDivisorStateCreateInfoEXT; 13861 + typedef VkPipelineVertexInputDivisorStateCreateInfoKHR VkPipelineVertexInputDivisorStateCreateInfoEXT; 12017 13862 12018 - typedef struct VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT { 12019 - VkStructureType sType; 12020 - void* pNext; 12021 - VkBool32 vertexAttributeInstanceRateDivisor; 12022 - VkBool32 vertexAttributeInstanceRateZeroDivisor; 12023 - } VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; 13863 + typedef VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT; 12024 13864 12025 13865 12026 13866 13867 + // VK_EXT_pipeline_creation_feedback is a preprocessor guard. Do not pass it to API calls. 12027 13868 #define VK_EXT_pipeline_creation_feedback 1 12028 13869 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION 1 12029 13870 #define VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME "VK_EXT_pipeline_creation_feedback" ··· 12037 13878 12038 13879 12039 13880 13881 + // VK_NV_shader_subgroup_partitioned is a preprocessor guard. Do not pass it to API calls. 12040 13882 #define VK_NV_shader_subgroup_partitioned 1 12041 13883 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION 1 12042 13884 #define VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME "VK_NV_shader_subgroup_partitioned" 12043 13885 12044 13886 13887 + // VK_NV_compute_shader_derivatives is a preprocessor guard. Do not pass it to API calls. 12045 13888 #define VK_NV_compute_shader_derivatives 1 12046 13889 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION 1 12047 13890 #define VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME "VK_NV_compute_shader_derivatives" ··· 12054 13897 12055 13898 12056 13899 13900 + // VK_NV_mesh_shader is a preprocessor guard. Do not pass it to API calls. 12057 13901 #define VK_NV_mesh_shader 1 12058 13902 #define VK_NV_MESH_SHADER_SPEC_VERSION 1 12059 13903 #define VK_NV_MESH_SHADER_EXTENSION_NAME "VK_NV_mesh_shader" ··· 12115 13959 #endif 12116 13960 12117 13961 13962 + // VK_NV_fragment_shader_barycentric is a preprocessor guard. Do not pass it to API calls. 12118 13963 #define VK_NV_fragment_shader_barycentric 1 12119 13964 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION 1 12120 13965 #define VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME "VK_NV_fragment_shader_barycentric" ··· 12122 13967 12123 13968 12124 13969 13970 + // VK_NV_shader_image_footprint is a preprocessor guard. Do not pass it to API calls. 12125 13971 #define VK_NV_shader_image_footprint 1 12126 13972 #define VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION 2 12127 13973 #define VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME "VK_NV_shader_image_footprint" ··· 12133 13979 12134 13980 12135 13981 13982 + // VK_NV_scissor_exclusive is a preprocessor guard. Do not pass it to API calls. 12136 13983 #define VK_NV_scissor_exclusive 1 12137 - #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 1 13984 + #define VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION 2 12138 13985 #define VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME "VK_NV_scissor_exclusive" 12139 13986 typedef struct VkPipelineViewportExclusiveScissorStateCreateInfoNV { 12140 13987 VkStructureType sType; ··· 12149 13996 VkBool32 exclusiveScissor; 12150 13997 } VkPhysicalDeviceExclusiveScissorFeaturesNV; 12151 13998 13999 + typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorEnableNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkBool32* pExclusiveScissorEnables); 12152 14000 typedef void (VKAPI_PTR *PFN_vkCmdSetExclusiveScissorNV)(VkCommandBuffer commandBuffer, uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const VkRect2D* pExclusiveScissors); 12153 14001 12154 14002 #ifndef VK_NO_PROTOTYPES 14003 + VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorEnableNV( 14004 + VkCommandBuffer commandBuffer, 14005 + uint32_t firstExclusiveScissor, 14006 + uint32_t exclusiveScissorCount, 14007 + const VkBool32* pExclusiveScissorEnables); 14008 + 12155 14009 VKAPI_ATTR void VKAPI_CALL vkCmdSetExclusiveScissorNV( 12156 14010 VkCommandBuffer commandBuffer, 12157 14011 uint32_t firstExclusiveScissor, ··· 12160 14014 #endif 12161 14015 12162 14016 14017 + // VK_NV_device_diagnostic_checkpoints is a preprocessor guard. Do not pass it to API calls. 12163 14018 #define VK_NV_device_diagnostic_checkpoints 1 12164 14019 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION 2 12165 14020 #define VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME "VK_NV_device_diagnostic_checkpoints" ··· 12191 14046 #endif 12192 14047 12193 14048 14049 + // VK_INTEL_shader_integer_functions2 is a preprocessor guard. Do not pass it to API calls. 12194 14050 #define VK_INTEL_shader_integer_functions2 1 12195 14051 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION 1 12196 14052 #define VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME "VK_INTEL_shader_integer_functions2" ··· 12202 14058 12203 14059 12204 14060 14061 + // VK_INTEL_performance_query is a preprocessor guard. Do not pass it to API calls. 12205 14062 #define VK_INTEL_performance_query 1 12206 14063 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkPerformanceConfigurationINTEL) 12207 14064 #define VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION 2 ··· 12340 14197 #endif 12341 14198 12342 14199 14200 + // VK_EXT_pci_bus_info is a preprocessor guard. Do not pass it to API calls. 12343 14201 #define VK_EXT_pci_bus_info 1 12344 14202 #define VK_EXT_PCI_BUS_INFO_SPEC_VERSION 2 12345 14203 #define VK_EXT_PCI_BUS_INFO_EXTENSION_NAME "VK_EXT_pci_bus_info" ··· 12354 14212 12355 14213 12356 14214 14215 + // VK_AMD_display_native_hdr is a preprocessor guard. Do not pass it to API calls. 12357 14216 #define VK_AMD_display_native_hdr 1 12358 14217 #define VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION 1 12359 14218 #define VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME "VK_AMD_display_native_hdr" ··· 12379 14238 #endif 12380 14239 12381 14240 14241 + // VK_EXT_fragment_density_map is a preprocessor guard. Do not pass it to API calls. 12382 14242 #define VK_EXT_fragment_density_map 1 12383 14243 #define VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION 2 12384 14244 #define VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME "VK_EXT_fragment_density_map" ··· 12406 14266 12407 14267 12408 14268 14269 + // VK_EXT_scalar_block_layout is a preprocessor guard. Do not pass it to API calls. 12409 14270 #define VK_EXT_scalar_block_layout 1 12410 14271 #define VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION 1 12411 14272 #define VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME "VK_EXT_scalar_block_layout" ··· 12413 14274 12414 14275 12415 14276 14277 + // VK_GOOGLE_hlsl_functionality1 is a preprocessor guard. Do not pass it to API calls. 12416 14278 #define VK_GOOGLE_hlsl_functionality1 1 12417 14279 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION 1 12418 14280 #define VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME "VK_GOOGLE_hlsl_functionality1" ··· 12420 14282 #define VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME 12421 14283 12422 14284 14285 + // VK_GOOGLE_decorate_string is a preprocessor guard. Do not pass it to API calls. 12423 14286 #define VK_GOOGLE_decorate_string 1 12424 14287 #define VK_GOOGLE_DECORATE_STRING_SPEC_VERSION 1 12425 14288 #define VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME "VK_GOOGLE_decorate_string" 12426 14289 12427 14290 14291 + // VK_EXT_subgroup_size_control is a preprocessor guard. Do not pass it to API calls. 12428 14292 #define VK_EXT_subgroup_size_control 1 12429 14293 #define VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION 2 12430 14294 #define VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME "VK_EXT_subgroup_size_control" ··· 12436 14300 12437 14301 12438 14302 14303 + // VK_AMD_shader_core_properties2 is a preprocessor guard. Do not pass it to API calls. 12439 14304 #define VK_AMD_shader_core_properties2 1 12440 14305 #define VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION 1 12441 14306 #define VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME "VK_AMD_shader_core_properties2" ··· 12453 14318 12454 14319 12455 14320 14321 + // VK_AMD_device_coherent_memory is a preprocessor guard. Do not pass it to API calls. 12456 14322 #define VK_AMD_device_coherent_memory 1 12457 14323 #define VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION 1 12458 14324 #define VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME "VK_AMD_device_coherent_memory" ··· 12464 14330 12465 14331 12466 14332 14333 + // VK_EXT_shader_image_atomic_int64 is a preprocessor guard. Do not pass it to API calls. 12467 14334 #define VK_EXT_shader_image_atomic_int64 1 12468 14335 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION 1 12469 14336 #define VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME "VK_EXT_shader_image_atomic_int64" ··· 12476 14343 12477 14344 12478 14345 14346 + // VK_EXT_memory_budget is a preprocessor guard. Do not pass it to API calls. 12479 14347 #define VK_EXT_memory_budget 1 12480 14348 #define VK_EXT_MEMORY_BUDGET_SPEC_VERSION 1 12481 14349 #define VK_EXT_MEMORY_BUDGET_EXTENSION_NAME "VK_EXT_memory_budget" ··· 12488 14356 12489 14357 12490 14358 14359 + // VK_EXT_memory_priority is a preprocessor guard. Do not pass it to API calls. 12491 14360 #define VK_EXT_memory_priority 1 12492 14361 #define VK_EXT_MEMORY_PRIORITY_SPEC_VERSION 1 12493 14362 #define VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME "VK_EXT_memory_priority" ··· 12505 14374 12506 14375 12507 14376 14377 + // VK_NV_dedicated_allocation_image_aliasing is a preprocessor guard. Do not pass it to API calls. 12508 14378 #define VK_NV_dedicated_allocation_image_aliasing 1 12509 14379 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION 1 12510 14380 #define VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME "VK_NV_dedicated_allocation_image_aliasing" ··· 12516 14386 12517 14387 12518 14388 14389 + // VK_EXT_buffer_device_address is a preprocessor guard. Do not pass it to API calls. 12519 14390 #define VK_EXT_buffer_device_address 1 12520 14391 #define VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION 2 12521 14392 #define VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME "VK_EXT_buffer_device_address" ··· 12546 14417 #endif 12547 14418 12548 14419 14420 + // VK_EXT_tooling_info is a preprocessor guard. Do not pass it to API calls. 12549 14421 #define VK_EXT_tooling_info 1 12550 14422 #define VK_EXT_TOOLING_INFO_SPEC_VERSION 1 12551 14423 #define VK_EXT_TOOLING_INFO_EXTENSION_NAME "VK_EXT_tooling_info" ··· 12565 14437 #endif 12566 14438 12567 14439 14440 + // VK_EXT_separate_stencil_usage is a preprocessor guard. Do not pass it to API calls. 12568 14441 #define VK_EXT_separate_stencil_usage 1 12569 14442 #define VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION 1 12570 14443 #define VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME "VK_EXT_separate_stencil_usage" ··· 12572 14445 12573 14446 12574 14447 14448 + // VK_EXT_validation_features is a preprocessor guard. Do not pass it to API calls. 12575 14449 #define VK_EXT_validation_features 1 12576 - #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 5 14450 + #define VK_EXT_VALIDATION_FEATURES_SPEC_VERSION 6 12577 14451 #define VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME "VK_EXT_validation_features" 12578 14452 12579 14453 typedef enum VkValidationFeatureEnableEXT { ··· 12607 14481 12608 14482 12609 14483 14484 + // VK_NV_cooperative_matrix is a preprocessor guard. Do not pass it to API calls. 12610 14485 #define VK_NV_cooperative_matrix 1 12611 14486 #define VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION 1 12612 14487 #define VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME "VK_NV_cooperative_matrix" 14488 + typedef VkComponentTypeKHR VkComponentTypeNV; 12613 14489 12614 - typedef enum VkComponentTypeNV { 12615 - VK_COMPONENT_TYPE_FLOAT16_NV = 0, 12616 - VK_COMPONENT_TYPE_FLOAT32_NV = 1, 12617 - VK_COMPONENT_TYPE_FLOAT64_NV = 2, 12618 - VK_COMPONENT_TYPE_SINT8_NV = 3, 12619 - VK_COMPONENT_TYPE_SINT16_NV = 4, 12620 - VK_COMPONENT_TYPE_SINT32_NV = 5, 12621 - VK_COMPONENT_TYPE_SINT64_NV = 6, 12622 - VK_COMPONENT_TYPE_UINT8_NV = 7, 12623 - VK_COMPONENT_TYPE_UINT16_NV = 8, 12624 - VK_COMPONENT_TYPE_UINT32_NV = 9, 12625 - VK_COMPONENT_TYPE_UINT64_NV = 10, 12626 - VK_COMPONENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 12627 - } VkComponentTypeNV; 14490 + typedef VkScopeKHR VkScopeNV; 12628 14491 12629 - typedef enum VkScopeNV { 12630 - VK_SCOPE_DEVICE_NV = 1, 12631 - VK_SCOPE_WORKGROUP_NV = 2, 12632 - VK_SCOPE_SUBGROUP_NV = 3, 12633 - VK_SCOPE_QUEUE_FAMILY_NV = 5, 12634 - VK_SCOPE_MAX_ENUM_NV = 0x7FFFFFFF 12635 - } VkScopeNV; 12636 14492 typedef struct VkCooperativeMatrixPropertiesNV { 12637 14493 VkStructureType sType; 12638 14494 void* pNext; ··· 12669 14525 #endif 12670 14526 12671 14527 14528 + // VK_NV_coverage_reduction_mode is a preprocessor guard. Do not pass it to API calls. 12672 14529 #define VK_NV_coverage_reduction_mode 1 12673 14530 #define VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION 1 12674 14531 #define VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME "VK_NV_coverage_reduction_mode" ··· 12711 14568 #endif 12712 14569 12713 14570 14571 + // VK_EXT_fragment_shader_interlock is a preprocessor guard. Do not pass it to API calls. 12714 14572 #define VK_EXT_fragment_shader_interlock 1 12715 14573 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION 1 12716 14574 #define VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME "VK_EXT_fragment_shader_interlock" ··· 12724 14582 12725 14583 12726 14584 14585 + // VK_EXT_ycbcr_image_arrays is a preprocessor guard. Do not pass it to API calls. 12727 14586 #define VK_EXT_ycbcr_image_arrays 1 12728 14587 #define VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION 1 12729 14588 #define VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME "VK_EXT_ycbcr_image_arrays" ··· 12735 14594 12736 14595 12737 14596 14597 + // VK_EXT_provoking_vertex is a preprocessor guard. Do not pass it to API calls. 12738 14598 #define VK_EXT_provoking_vertex 1 12739 14599 #define VK_EXT_PROVOKING_VERTEX_SPEC_VERSION 1 12740 14600 #define VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME "VK_EXT_provoking_vertex" ··· 12766 14626 12767 14627 12768 14628 14629 + // VK_EXT_headless_surface is a preprocessor guard. Do not pass it to API calls. 12769 14630 #define VK_EXT_headless_surface 1 12770 14631 #define VK_EXT_HEADLESS_SURFACE_SPEC_VERSION 1 12771 14632 #define VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME "VK_EXT_headless_surface" ··· 12787 14648 #endif 12788 14649 12789 14650 14651 + // VK_EXT_line_rasterization is a preprocessor guard. Do not pass it to API calls. 12790 14652 #define VK_EXT_line_rasterization 1 12791 14653 #define VK_EXT_LINE_RASTERIZATION_SPEC_VERSION 1 12792 14654 #define VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME "VK_EXT_line_rasterization" ··· 12834 14696 #endif 12835 14697 12836 14698 14699 + // VK_EXT_shader_atomic_float is a preprocessor guard. Do not pass it to API calls. 12837 14700 #define VK_EXT_shader_atomic_float 1 12838 14701 #define VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION 1 12839 14702 #define VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME "VK_EXT_shader_atomic_float" ··· 12856 14719 12857 14720 12858 14721 14722 + // VK_EXT_host_query_reset is a preprocessor guard. Do not pass it to API calls. 12859 14723 #define VK_EXT_host_query_reset 1 12860 14724 #define VK_EXT_HOST_QUERY_RESET_SPEC_VERSION 1 12861 14725 #define VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME "VK_EXT_host_query_reset" ··· 12872 14736 #endif 12873 14737 12874 14738 14739 + // VK_EXT_index_type_uint8 is a preprocessor guard. Do not pass it to API calls. 12875 14740 #define VK_EXT_index_type_uint8 1 12876 14741 #define VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION 1 12877 14742 #define VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME "VK_EXT_index_type_uint8" ··· 12883 14748 12884 14749 12885 14750 14751 + // VK_EXT_extended_dynamic_state is a preprocessor guard. Do not pass it to API calls. 12886 14752 #define VK_EXT_extended_dynamic_state 1 12887 14753 #define VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION 1 12888 14754 #define VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_extended_dynamic_state" ··· 12967 14833 #endif 12968 14834 12969 14835 14836 + // VK_EXT_host_image_copy is a preprocessor guard. Do not pass it to API calls. 14837 + #define VK_EXT_host_image_copy 1 14838 + #define VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION 1 14839 + #define VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME "VK_EXT_host_image_copy" 14840 + 14841 + typedef enum VkHostImageCopyFlagBitsEXT { 14842 + VK_HOST_IMAGE_COPY_MEMCPY_EXT = 0x00000001, 14843 + VK_HOST_IMAGE_COPY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 14844 + } VkHostImageCopyFlagBitsEXT; 14845 + typedef VkFlags VkHostImageCopyFlagsEXT; 14846 + typedef struct VkPhysicalDeviceHostImageCopyFeaturesEXT { 14847 + VkStructureType sType; 14848 + void* pNext; 14849 + VkBool32 hostImageCopy; 14850 + } VkPhysicalDeviceHostImageCopyFeaturesEXT; 14851 + 14852 + typedef struct VkPhysicalDeviceHostImageCopyPropertiesEXT { 14853 + VkStructureType sType; 14854 + void* pNext; 14855 + uint32_t copySrcLayoutCount; 14856 + VkImageLayout* pCopySrcLayouts; 14857 + uint32_t copyDstLayoutCount; 14858 + VkImageLayout* pCopyDstLayouts; 14859 + uint8_t optimalTilingLayoutUUID[VK_UUID_SIZE]; 14860 + VkBool32 identicalMemoryTypeRequirements; 14861 + } VkPhysicalDeviceHostImageCopyPropertiesEXT; 14862 + 14863 + typedef struct VkMemoryToImageCopyEXT { 14864 + VkStructureType sType; 14865 + const void* pNext; 14866 + const void* pHostPointer; 14867 + uint32_t memoryRowLength; 14868 + uint32_t memoryImageHeight; 14869 + VkImageSubresourceLayers imageSubresource; 14870 + VkOffset3D imageOffset; 14871 + VkExtent3D imageExtent; 14872 + } VkMemoryToImageCopyEXT; 14873 + 14874 + typedef struct VkImageToMemoryCopyEXT { 14875 + VkStructureType sType; 14876 + const void* pNext; 14877 + void* pHostPointer; 14878 + uint32_t memoryRowLength; 14879 + uint32_t memoryImageHeight; 14880 + VkImageSubresourceLayers imageSubresource; 14881 + VkOffset3D imageOffset; 14882 + VkExtent3D imageExtent; 14883 + } VkImageToMemoryCopyEXT; 14884 + 14885 + typedef struct VkCopyMemoryToImageInfoEXT { 14886 + VkStructureType sType; 14887 + const void* pNext; 14888 + VkHostImageCopyFlagsEXT flags; 14889 + VkImage dstImage; 14890 + VkImageLayout dstImageLayout; 14891 + uint32_t regionCount; 14892 + const VkMemoryToImageCopyEXT* pRegions; 14893 + } VkCopyMemoryToImageInfoEXT; 14894 + 14895 + typedef struct VkCopyImageToMemoryInfoEXT { 14896 + VkStructureType sType; 14897 + const void* pNext; 14898 + VkHostImageCopyFlagsEXT flags; 14899 + VkImage srcImage; 14900 + VkImageLayout srcImageLayout; 14901 + uint32_t regionCount; 14902 + const VkImageToMemoryCopyEXT* pRegions; 14903 + } VkCopyImageToMemoryInfoEXT; 14904 + 14905 + typedef struct VkCopyImageToImageInfoEXT { 14906 + VkStructureType sType; 14907 + const void* pNext; 14908 + VkHostImageCopyFlagsEXT flags; 14909 + VkImage srcImage; 14910 + VkImageLayout srcImageLayout; 14911 + VkImage dstImage; 14912 + VkImageLayout dstImageLayout; 14913 + uint32_t regionCount; 14914 + const VkImageCopy2* pRegions; 14915 + } VkCopyImageToImageInfoEXT; 14916 + 14917 + typedef struct VkHostImageLayoutTransitionInfoEXT { 14918 + VkStructureType sType; 14919 + const void* pNext; 14920 + VkImage image; 14921 + VkImageLayout oldLayout; 14922 + VkImageLayout newLayout; 14923 + VkImageSubresourceRange subresourceRange; 14924 + } VkHostImageLayoutTransitionInfoEXT; 14925 + 14926 + typedef struct VkSubresourceHostMemcpySizeEXT { 14927 + VkStructureType sType; 14928 + void* pNext; 14929 + VkDeviceSize size; 14930 + } VkSubresourceHostMemcpySizeEXT; 14931 + 14932 + typedef struct VkHostImageCopyDevicePerformanceQueryEXT { 14933 + VkStructureType sType; 14934 + void* pNext; 14935 + VkBool32 optimalDeviceAccess; 14936 + VkBool32 identicalMemoryLayout; 14937 + } VkHostImageCopyDevicePerformanceQueryEXT; 14938 + 14939 + typedef VkSubresourceLayout2KHR VkSubresourceLayout2EXT; 14940 + 14941 + typedef VkImageSubresource2KHR VkImageSubresource2EXT; 14942 + 14943 + typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToImageEXT)(VkDevice device, const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo); 14944 + typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToMemoryEXT)(VkDevice device, const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo); 14945 + typedef VkResult (VKAPI_PTR *PFN_vkCopyImageToImageEXT)(VkDevice device, const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo); 14946 + typedef VkResult (VKAPI_PTR *PFN_vkTransitionImageLayoutEXT)(VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfoEXT* pTransitions); 14947 + typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2KHR* pSubresource, VkSubresourceLayout2KHR* pLayout); 14948 + 14949 + #ifndef VK_NO_PROTOTYPES 14950 + VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToImageEXT( 14951 + VkDevice device, 14952 + const VkCopyMemoryToImageInfoEXT* pCopyMemoryToImageInfo); 14953 + 14954 + VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToMemoryEXT( 14955 + VkDevice device, 14956 + const VkCopyImageToMemoryInfoEXT* pCopyImageToMemoryInfo); 14957 + 14958 + VKAPI_ATTR VkResult VKAPI_CALL vkCopyImageToImageEXT( 14959 + VkDevice device, 14960 + const VkCopyImageToImageInfoEXT* pCopyImageToImageInfo); 14961 + 14962 + VKAPI_ATTR VkResult VKAPI_CALL vkTransitionImageLayoutEXT( 14963 + VkDevice device, 14964 + uint32_t transitionCount, 14965 + const VkHostImageLayoutTransitionInfoEXT* pTransitions); 14966 + 14967 + VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT( 14968 + VkDevice device, 14969 + VkImage image, 14970 + const VkImageSubresource2KHR* pSubresource, 14971 + VkSubresourceLayout2KHR* pLayout); 14972 + #endif 14973 + 14974 + 14975 + // VK_EXT_shader_atomic_float2 is a preprocessor guard. Do not pass it to API calls. 12970 14976 #define VK_EXT_shader_atomic_float2 1 12971 14977 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION 1 12972 14978 #define VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME "VK_EXT_shader_atomic_float2" ··· 12989 14995 12990 14996 12991 14997 14998 + // VK_EXT_surface_maintenance1 is a preprocessor guard. Do not pass it to API calls. 14999 + #define VK_EXT_surface_maintenance1 1 15000 + #define VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION 1 15001 + #define VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_surface_maintenance1" 15002 + 15003 + typedef enum VkPresentScalingFlagBitsEXT { 15004 + VK_PRESENT_SCALING_ONE_TO_ONE_BIT_EXT = 0x00000001, 15005 + VK_PRESENT_SCALING_ASPECT_RATIO_STRETCH_BIT_EXT = 0x00000002, 15006 + VK_PRESENT_SCALING_STRETCH_BIT_EXT = 0x00000004, 15007 + VK_PRESENT_SCALING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15008 + } VkPresentScalingFlagBitsEXT; 15009 + typedef VkFlags VkPresentScalingFlagsEXT; 15010 + 15011 + typedef enum VkPresentGravityFlagBitsEXT { 15012 + VK_PRESENT_GRAVITY_MIN_BIT_EXT = 0x00000001, 15013 + VK_PRESENT_GRAVITY_MAX_BIT_EXT = 0x00000002, 15014 + VK_PRESENT_GRAVITY_CENTERED_BIT_EXT = 0x00000004, 15015 + VK_PRESENT_GRAVITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 15016 + } VkPresentGravityFlagBitsEXT; 15017 + typedef VkFlags VkPresentGravityFlagsEXT; 15018 + typedef struct VkSurfacePresentModeEXT { 15019 + VkStructureType sType; 15020 + void* pNext; 15021 + VkPresentModeKHR presentMode; 15022 + } VkSurfacePresentModeEXT; 15023 + 15024 + typedef struct VkSurfacePresentScalingCapabilitiesEXT { 15025 + VkStructureType sType; 15026 + void* pNext; 15027 + VkPresentScalingFlagsEXT supportedPresentScaling; 15028 + VkPresentGravityFlagsEXT supportedPresentGravityX; 15029 + VkPresentGravityFlagsEXT supportedPresentGravityY; 15030 + VkExtent2D minScaledImageExtent; 15031 + VkExtent2D maxScaledImageExtent; 15032 + } VkSurfacePresentScalingCapabilitiesEXT; 15033 + 15034 + typedef struct VkSurfacePresentModeCompatibilityEXT { 15035 + VkStructureType sType; 15036 + void* pNext; 15037 + uint32_t presentModeCount; 15038 + VkPresentModeKHR* pPresentModes; 15039 + } VkSurfacePresentModeCompatibilityEXT; 15040 + 15041 + 15042 + 15043 + // VK_EXT_swapchain_maintenance1 is a preprocessor guard. Do not pass it to API calls. 15044 + #define VK_EXT_swapchain_maintenance1 1 15045 + #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION 1 15046 + #define VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME "VK_EXT_swapchain_maintenance1" 15047 + typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT { 15048 + VkStructureType sType; 15049 + void* pNext; 15050 + VkBool32 swapchainMaintenance1; 15051 + } VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT; 15052 + 15053 + typedef struct VkSwapchainPresentFenceInfoEXT { 15054 + VkStructureType sType; 15055 + const void* pNext; 15056 + uint32_t swapchainCount; 15057 + const VkFence* pFences; 15058 + } VkSwapchainPresentFenceInfoEXT; 15059 + 15060 + typedef struct VkSwapchainPresentModesCreateInfoEXT { 15061 + VkStructureType sType; 15062 + const void* pNext; 15063 + uint32_t presentModeCount; 15064 + const VkPresentModeKHR* pPresentModes; 15065 + } VkSwapchainPresentModesCreateInfoEXT; 15066 + 15067 + typedef struct VkSwapchainPresentModeInfoEXT { 15068 + VkStructureType sType; 15069 + const void* pNext; 15070 + uint32_t swapchainCount; 15071 + const VkPresentModeKHR* pPresentModes; 15072 + } VkSwapchainPresentModeInfoEXT; 15073 + 15074 + typedef struct VkSwapchainPresentScalingCreateInfoEXT { 15075 + VkStructureType sType; 15076 + const void* pNext; 15077 + VkPresentScalingFlagsEXT scalingBehavior; 15078 + VkPresentGravityFlagsEXT presentGravityX; 15079 + VkPresentGravityFlagsEXT presentGravityY; 15080 + } VkSwapchainPresentScalingCreateInfoEXT; 15081 + 15082 + typedef struct VkReleaseSwapchainImagesInfoEXT { 15083 + VkStructureType sType; 15084 + const void* pNext; 15085 + VkSwapchainKHR swapchain; 15086 + uint32_t imageIndexCount; 15087 + const uint32_t* pImageIndices; 15088 + } VkReleaseSwapchainImagesInfoEXT; 15089 + 15090 + typedef VkResult (VKAPI_PTR *PFN_vkReleaseSwapchainImagesEXT)(VkDevice device, const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 15091 + 15092 + #ifndef VK_NO_PROTOTYPES 15093 + VKAPI_ATTR VkResult VKAPI_CALL vkReleaseSwapchainImagesEXT( 15094 + VkDevice device, 15095 + const VkReleaseSwapchainImagesInfoEXT* pReleaseInfo); 15096 + #endif 15097 + 15098 + 15099 + // VK_EXT_shader_demote_to_helper_invocation is a preprocessor guard. Do not pass it to API calls. 12992 15100 #define VK_EXT_shader_demote_to_helper_invocation 1 12993 15101 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION 1 12994 15102 #define VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME "VK_EXT_shader_demote_to_helper_invocation" ··· 12996 15104 12997 15105 12998 15106 15107 + // VK_NV_device_generated_commands is a preprocessor guard. Do not pass it to API calls. 12999 15108 #define VK_NV_device_generated_commands 1 13000 15109 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkIndirectCommandsLayoutNV) 13001 15110 #define VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION 3 ··· 13011 15120 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV = 6, 13012 15121 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV = 7, 13013 15122 VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV = 1000328000, 15123 + VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV = 1000428003, 15124 + VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV = 1000428004, 13014 15125 VK_INDIRECT_COMMANDS_TOKEN_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 13015 15126 } VkIndirectCommandsTokenTypeNV; 13016 15127 ··· 13187 15298 #endif 13188 15299 13189 15300 15301 + // VK_NV_inherited_viewport_scissor is a preprocessor guard. Do not pass it to API calls. 13190 15302 #define VK_NV_inherited_viewport_scissor 1 13191 15303 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION 1 13192 15304 #define VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME "VK_NV_inherited_viewport_scissor" ··· 13206 15318 13207 15319 13208 15320 15321 + // VK_EXT_texel_buffer_alignment is a preprocessor guard. Do not pass it to API calls. 13209 15322 #define VK_EXT_texel_buffer_alignment 1 13210 15323 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION 1 13211 15324 #define VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME "VK_EXT_texel_buffer_alignment" ··· 13219 15332 13220 15333 13221 15334 15335 + // VK_QCOM_render_pass_transform is a preprocessor guard. Do not pass it to API calls. 13222 15336 #define VK_QCOM_render_pass_transform 1 13223 - #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 3 15337 + #define VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION 4 13224 15338 #define VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME "VK_QCOM_render_pass_transform" 13225 15339 typedef struct VkRenderPassTransformBeginInfoQCOM { 13226 15340 VkStructureType sType; ··· 13237 15351 13238 15352 13239 15353 15354 + // VK_EXT_depth_bias_control is a preprocessor guard. Do not pass it to API calls. 15355 + #define VK_EXT_depth_bias_control 1 15356 + #define VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION 1 15357 + #define VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME "VK_EXT_depth_bias_control" 15358 + 15359 + typedef enum VkDepthBiasRepresentationEXT { 15360 + VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORMAT_EXT = 0, 15361 + VK_DEPTH_BIAS_REPRESENTATION_LEAST_REPRESENTABLE_VALUE_FORCE_UNORM_EXT = 1, 15362 + VK_DEPTH_BIAS_REPRESENTATION_FLOAT_EXT = 2, 15363 + VK_DEPTH_BIAS_REPRESENTATION_MAX_ENUM_EXT = 0x7FFFFFFF 15364 + } VkDepthBiasRepresentationEXT; 15365 + typedef struct VkPhysicalDeviceDepthBiasControlFeaturesEXT { 15366 + VkStructureType sType; 15367 + void* pNext; 15368 + VkBool32 depthBiasControl; 15369 + VkBool32 leastRepresentableValueForceUnormRepresentation; 15370 + VkBool32 floatRepresentation; 15371 + VkBool32 depthBiasExact; 15372 + } VkPhysicalDeviceDepthBiasControlFeaturesEXT; 15373 + 15374 + typedef struct VkDepthBiasInfoEXT { 15375 + VkStructureType sType; 15376 + const void* pNext; 15377 + float depthBiasConstantFactor; 15378 + float depthBiasClamp; 15379 + float depthBiasSlopeFactor; 15380 + } VkDepthBiasInfoEXT; 15381 + 15382 + typedef struct VkDepthBiasRepresentationInfoEXT { 15383 + VkStructureType sType; 15384 + const void* pNext; 15385 + VkDepthBiasRepresentationEXT depthBiasRepresentation; 15386 + VkBool32 depthBiasExact; 15387 + } VkDepthBiasRepresentationInfoEXT; 15388 + 15389 + typedef void (VKAPI_PTR *PFN_vkCmdSetDepthBias2EXT)(VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT* pDepthBiasInfo); 15390 + 15391 + #ifndef VK_NO_PROTOTYPES 15392 + VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias2EXT( 15393 + VkCommandBuffer commandBuffer, 15394 + const VkDepthBiasInfoEXT* pDepthBiasInfo); 15395 + #endif 15396 + 15397 + 15398 + // VK_EXT_device_memory_report is a preprocessor guard. Do not pass it to API calls. 13240 15399 #define VK_EXT_device_memory_report 1 13241 15400 #define VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION 2 13242 15401 #define VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME "VK_EXT_device_memory_report" ··· 13282 15441 13283 15442 13284 15443 15444 + // VK_EXT_acquire_drm_display is a preprocessor guard. Do not pass it to API calls. 13285 15445 #define VK_EXT_acquire_drm_display 1 13286 15446 #define VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION 1 13287 15447 #define VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_drm_display" ··· 13302 15462 #endif 13303 15463 13304 15464 15465 + // VK_EXT_robustness2 is a preprocessor guard. Do not pass it to API calls. 13305 15466 #define VK_EXT_robustness2 1 13306 15467 #define VK_EXT_ROBUSTNESS_2_SPEC_VERSION 1 13307 15468 #define VK_EXT_ROBUSTNESS_2_EXTENSION_NAME "VK_EXT_robustness2" ··· 13322 15483 13323 15484 13324 15485 15486 + // VK_EXT_custom_border_color is a preprocessor guard. Do not pass it to API calls. 13325 15487 #define VK_EXT_custom_border_color 1 13326 15488 #define VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION 12 13327 15489 #define VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME "VK_EXT_custom_border_color" ··· 13347 15509 13348 15510 13349 15511 15512 + // VK_GOOGLE_user_type is a preprocessor guard. Do not pass it to API calls. 13350 15513 #define VK_GOOGLE_user_type 1 13351 15514 #define VK_GOOGLE_USER_TYPE_SPEC_VERSION 1 13352 15515 #define VK_GOOGLE_USER_TYPE_EXTENSION_NAME "VK_GOOGLE_user_type" 13353 15516 13354 15517 15518 + // VK_NV_present_barrier is a preprocessor guard. Do not pass it to API calls. 15519 + #define VK_NV_present_barrier 1 15520 + #define VK_NV_PRESENT_BARRIER_SPEC_VERSION 1 15521 + #define VK_NV_PRESENT_BARRIER_EXTENSION_NAME "VK_NV_present_barrier" 15522 + typedef struct VkPhysicalDevicePresentBarrierFeaturesNV { 15523 + VkStructureType sType; 15524 + void* pNext; 15525 + VkBool32 presentBarrier; 15526 + } VkPhysicalDevicePresentBarrierFeaturesNV; 15527 + 15528 + typedef struct VkSurfaceCapabilitiesPresentBarrierNV { 15529 + VkStructureType sType; 15530 + void* pNext; 15531 + VkBool32 presentBarrierSupported; 15532 + } VkSurfaceCapabilitiesPresentBarrierNV; 15533 + 15534 + typedef struct VkSwapchainPresentBarrierCreateInfoNV { 15535 + VkStructureType sType; 15536 + void* pNext; 15537 + VkBool32 presentBarrierEnable; 15538 + } VkSwapchainPresentBarrierCreateInfoNV; 15539 + 15540 + 15541 + 15542 + // VK_EXT_private_data is a preprocessor guard. Do not pass it to API calls. 13355 15543 #define VK_EXT_private_data 1 13356 15544 typedef VkPrivateDataSlot VkPrivateDataSlotEXT; 13357 15545 ··· 13398 15586 #endif 13399 15587 13400 15588 15589 + // VK_EXT_pipeline_creation_cache_control is a preprocessor guard. Do not pass it to API calls. 13401 15590 #define VK_EXT_pipeline_creation_cache_control 1 13402 15591 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION 3 13403 15592 #define VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME "VK_EXT_pipeline_creation_cache_control" ··· 13405 15594 13406 15595 13407 15596 15597 + // VK_NV_device_diagnostics_config is a preprocessor guard. Do not pass it to API calls. 13408 15598 #define VK_NV_device_diagnostics_config 1 13409 15599 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION 2 13410 15600 #define VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME "VK_NV_device_diagnostics_config" ··· 13431 15621 13432 15622 13433 15623 15624 + // VK_QCOM_render_pass_store_ops is a preprocessor guard. Do not pass it to API calls. 13434 15625 #define VK_QCOM_render_pass_store_ops 1 13435 15626 #define VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION 2 13436 15627 #define VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME "VK_QCOM_render_pass_store_ops" 13437 15628 13438 15629 15630 + // VK_NV_cuda_kernel_launch is a preprocessor guard. Do not pass it to API calls. 15631 + #define VK_NV_cuda_kernel_launch 1 15632 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaModuleNV) 15633 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkCudaFunctionNV) 15634 + #define VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION 2 15635 + #define VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME "VK_NV_cuda_kernel_launch" 15636 + typedef struct VkCudaModuleCreateInfoNV { 15637 + VkStructureType sType; 15638 + const void* pNext; 15639 + size_t dataSize; 15640 + const void* pData; 15641 + } VkCudaModuleCreateInfoNV; 15642 + 15643 + typedef struct VkCudaFunctionCreateInfoNV { 15644 + VkStructureType sType; 15645 + const void* pNext; 15646 + VkCudaModuleNV module; 15647 + const char* pName; 15648 + } VkCudaFunctionCreateInfoNV; 15649 + 15650 + typedef struct VkCudaLaunchInfoNV { 15651 + VkStructureType sType; 15652 + const void* pNext; 15653 + VkCudaFunctionNV function; 15654 + uint32_t gridDimX; 15655 + uint32_t gridDimY; 15656 + uint32_t gridDimZ; 15657 + uint32_t blockDimX; 15658 + uint32_t blockDimY; 15659 + uint32_t blockDimZ; 15660 + uint32_t sharedMemBytes; 15661 + size_t paramCount; 15662 + const void* const * pParams; 15663 + size_t extraCount; 15664 + const void* const * pExtras; 15665 + } VkCudaLaunchInfoNV; 15666 + 15667 + typedef struct VkPhysicalDeviceCudaKernelLaunchFeaturesNV { 15668 + VkStructureType sType; 15669 + void* pNext; 15670 + VkBool32 cudaKernelLaunchFeatures; 15671 + } VkPhysicalDeviceCudaKernelLaunchFeaturesNV; 15672 + 15673 + typedef struct VkPhysicalDeviceCudaKernelLaunchPropertiesNV { 15674 + VkStructureType sType; 15675 + void* pNext; 15676 + uint32_t computeCapabilityMinor; 15677 + uint32_t computeCapabilityMajor; 15678 + } VkPhysicalDeviceCudaKernelLaunchPropertiesNV; 15679 + 15680 + typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaModuleNV)(VkDevice device, const VkCudaModuleCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaModuleNV* pModule); 15681 + typedef VkResult (VKAPI_PTR *PFN_vkGetCudaModuleCacheNV)(VkDevice device, VkCudaModuleNV module, size_t* pCacheSize, void* pCacheData); 15682 + typedef VkResult (VKAPI_PTR *PFN_vkCreateCudaFunctionNV)(VkDevice device, const VkCudaFunctionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCudaFunctionNV* pFunction); 15683 + typedef void (VKAPI_PTR *PFN_vkDestroyCudaModuleNV)(VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks* pAllocator); 15684 + typedef void (VKAPI_PTR *PFN_vkDestroyCudaFunctionNV)(VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks* pAllocator); 15685 + typedef void (VKAPI_PTR *PFN_vkCmdCudaLaunchKernelNV)(VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV* pLaunchInfo); 15686 + 15687 + #ifndef VK_NO_PROTOTYPES 15688 + VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaModuleNV( 15689 + VkDevice device, 15690 + const VkCudaModuleCreateInfoNV* pCreateInfo, 15691 + const VkAllocationCallbacks* pAllocator, 15692 + VkCudaModuleNV* pModule); 15693 + 15694 + VKAPI_ATTR VkResult VKAPI_CALL vkGetCudaModuleCacheNV( 15695 + VkDevice device, 15696 + VkCudaModuleNV module, 15697 + size_t* pCacheSize, 15698 + void* pCacheData); 15699 + 15700 + VKAPI_ATTR VkResult VKAPI_CALL vkCreateCudaFunctionNV( 15701 + VkDevice device, 15702 + const VkCudaFunctionCreateInfoNV* pCreateInfo, 15703 + const VkAllocationCallbacks* pAllocator, 15704 + VkCudaFunctionNV* pFunction); 15705 + 15706 + VKAPI_ATTR void VKAPI_CALL vkDestroyCudaModuleNV( 15707 + VkDevice device, 15708 + VkCudaModuleNV module, 15709 + const VkAllocationCallbacks* pAllocator); 15710 + 15711 + VKAPI_ATTR void VKAPI_CALL vkDestroyCudaFunctionNV( 15712 + VkDevice device, 15713 + VkCudaFunctionNV function, 15714 + const VkAllocationCallbacks* pAllocator); 15715 + 15716 + VKAPI_ATTR void VKAPI_CALL vkCmdCudaLaunchKernelNV( 15717 + VkCommandBuffer commandBuffer, 15718 + const VkCudaLaunchInfoNV* pLaunchInfo); 15719 + #endif 15720 + 15721 + 15722 + // VK_NV_low_latency is a preprocessor guard. Do not pass it to API calls. 15723 + #define VK_NV_low_latency 1 15724 + #define VK_NV_LOW_LATENCY_SPEC_VERSION 1 15725 + #define VK_NV_LOW_LATENCY_EXTENSION_NAME "VK_NV_low_latency" 15726 + typedef struct VkQueryLowLatencySupportNV { 15727 + VkStructureType sType; 15728 + const void* pNext; 15729 + void* pQueriedLowLatencyData; 15730 + } VkQueryLowLatencySupportNV; 15731 + 15732 + 15733 + 15734 + // VK_EXT_descriptor_buffer is a preprocessor guard. Do not pass it to API calls. 15735 + #define VK_EXT_descriptor_buffer 1 15736 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) 15737 + #define VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION 1 15738 + #define VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME "VK_EXT_descriptor_buffer" 15739 + typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT { 15740 + VkStructureType sType; 15741 + void* pNext; 15742 + VkBool32 combinedImageSamplerDescriptorSingleArray; 15743 + VkBool32 bufferlessPushDescriptors; 15744 + VkBool32 allowSamplerImageViewPostSubmitCreation; 15745 + VkDeviceSize descriptorBufferOffsetAlignment; 15746 + uint32_t maxDescriptorBufferBindings; 15747 + uint32_t maxResourceDescriptorBufferBindings; 15748 + uint32_t maxSamplerDescriptorBufferBindings; 15749 + uint32_t maxEmbeddedImmutableSamplerBindings; 15750 + uint32_t maxEmbeddedImmutableSamplers; 15751 + size_t bufferCaptureReplayDescriptorDataSize; 15752 + size_t imageCaptureReplayDescriptorDataSize; 15753 + size_t imageViewCaptureReplayDescriptorDataSize; 15754 + size_t samplerCaptureReplayDescriptorDataSize; 15755 + size_t accelerationStructureCaptureReplayDescriptorDataSize; 15756 + size_t samplerDescriptorSize; 15757 + size_t combinedImageSamplerDescriptorSize; 15758 + size_t sampledImageDescriptorSize; 15759 + size_t storageImageDescriptorSize; 15760 + size_t uniformTexelBufferDescriptorSize; 15761 + size_t robustUniformTexelBufferDescriptorSize; 15762 + size_t storageTexelBufferDescriptorSize; 15763 + size_t robustStorageTexelBufferDescriptorSize; 15764 + size_t uniformBufferDescriptorSize; 15765 + size_t robustUniformBufferDescriptorSize; 15766 + size_t storageBufferDescriptorSize; 15767 + size_t robustStorageBufferDescriptorSize; 15768 + size_t inputAttachmentDescriptorSize; 15769 + size_t accelerationStructureDescriptorSize; 15770 + VkDeviceSize maxSamplerDescriptorBufferRange; 15771 + VkDeviceSize maxResourceDescriptorBufferRange; 15772 + VkDeviceSize samplerDescriptorBufferAddressSpaceSize; 15773 + VkDeviceSize resourceDescriptorBufferAddressSpaceSize; 15774 + VkDeviceSize descriptorBufferAddressSpaceSize; 15775 + } VkPhysicalDeviceDescriptorBufferPropertiesEXT; 15776 + 15777 + typedef struct VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT { 15778 + VkStructureType sType; 15779 + void* pNext; 15780 + size_t combinedImageSamplerDensityMapDescriptorSize; 15781 + } VkPhysicalDeviceDescriptorBufferDensityMapPropertiesEXT; 15782 + 15783 + typedef struct VkPhysicalDeviceDescriptorBufferFeaturesEXT { 15784 + VkStructureType sType; 15785 + void* pNext; 15786 + VkBool32 descriptorBuffer; 15787 + VkBool32 descriptorBufferCaptureReplay; 15788 + VkBool32 descriptorBufferImageLayoutIgnored; 15789 + VkBool32 descriptorBufferPushDescriptors; 15790 + } VkPhysicalDeviceDescriptorBufferFeaturesEXT; 15791 + 15792 + typedef struct VkDescriptorAddressInfoEXT { 15793 + VkStructureType sType; 15794 + void* pNext; 15795 + VkDeviceAddress address; 15796 + VkDeviceSize range; 15797 + VkFormat format; 15798 + } VkDescriptorAddressInfoEXT; 15799 + 15800 + typedef struct VkDescriptorBufferBindingInfoEXT { 15801 + VkStructureType sType; 15802 + void* pNext; 15803 + VkDeviceAddress address; 15804 + VkBufferUsageFlags usage; 15805 + } VkDescriptorBufferBindingInfoEXT; 15806 + 15807 + typedef struct VkDescriptorBufferBindingPushDescriptorBufferHandleEXT { 15808 + VkStructureType sType; 15809 + void* pNext; 15810 + VkBuffer buffer; 15811 + } VkDescriptorBufferBindingPushDescriptorBufferHandleEXT; 15812 + 15813 + typedef union VkDescriptorDataEXT { 15814 + const VkSampler* pSampler; 15815 + const VkDescriptorImageInfo* pCombinedImageSampler; 15816 + const VkDescriptorImageInfo* pInputAttachmentImage; 15817 + const VkDescriptorImageInfo* pSampledImage; 15818 + const VkDescriptorImageInfo* pStorageImage; 15819 + const VkDescriptorAddressInfoEXT* pUniformTexelBuffer; 15820 + const VkDescriptorAddressInfoEXT* pStorageTexelBuffer; 15821 + const VkDescriptorAddressInfoEXT* pUniformBuffer; 15822 + const VkDescriptorAddressInfoEXT* pStorageBuffer; 15823 + VkDeviceAddress accelerationStructure; 15824 + } VkDescriptorDataEXT; 15825 + 15826 + typedef struct VkDescriptorGetInfoEXT { 15827 + VkStructureType sType; 15828 + const void* pNext; 15829 + VkDescriptorType type; 15830 + VkDescriptorDataEXT data; 15831 + } VkDescriptorGetInfoEXT; 15832 + 15833 + typedef struct VkBufferCaptureDescriptorDataInfoEXT { 15834 + VkStructureType sType; 15835 + const void* pNext; 15836 + VkBuffer buffer; 15837 + } VkBufferCaptureDescriptorDataInfoEXT; 15838 + 15839 + typedef struct VkImageCaptureDescriptorDataInfoEXT { 15840 + VkStructureType sType; 15841 + const void* pNext; 15842 + VkImage image; 15843 + } VkImageCaptureDescriptorDataInfoEXT; 15844 + 15845 + typedef struct VkImageViewCaptureDescriptorDataInfoEXT { 15846 + VkStructureType sType; 15847 + const void* pNext; 15848 + VkImageView imageView; 15849 + } VkImageViewCaptureDescriptorDataInfoEXT; 15850 + 15851 + typedef struct VkSamplerCaptureDescriptorDataInfoEXT { 15852 + VkStructureType sType; 15853 + const void* pNext; 15854 + VkSampler sampler; 15855 + } VkSamplerCaptureDescriptorDataInfoEXT; 15856 + 15857 + typedef struct VkOpaqueCaptureDescriptorDataCreateInfoEXT { 15858 + VkStructureType sType; 15859 + const void* pNext; 15860 + const void* opaqueCaptureDescriptorData; 15861 + } VkOpaqueCaptureDescriptorDataCreateInfoEXT; 15862 + 15863 + typedef struct VkAccelerationStructureCaptureDescriptorDataInfoEXT { 15864 + VkStructureType sType; 15865 + const void* pNext; 15866 + VkAccelerationStructureKHR accelerationStructure; 15867 + VkAccelerationStructureNV accelerationStructureNV; 15868 + } VkAccelerationStructureCaptureDescriptorDataInfoEXT; 15869 + 15870 + typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutSizeEXT)(VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes); 15871 + typedef void (VKAPI_PTR *PFN_vkGetDescriptorSetLayoutBindingOffsetEXT)(VkDevice device, VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset); 15872 + typedef void (VKAPI_PTR *PFN_vkGetDescriptorEXT)(VkDevice device, const VkDescriptorGetInfoEXT* pDescriptorInfo, size_t dataSize, void* pDescriptor); 15873 + typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBuffersEXT)(VkCommandBuffer commandBuffer, uint32_t bufferCount, const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 15874 + typedef void (VKAPI_PTR *PFN_vkCmdSetDescriptorBufferOffsetsEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const uint32_t* pBufferIndices, const VkDeviceSize* pOffsets); 15875 + typedef void (VKAPI_PTR *PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set); 15876 + typedef VkResult (VKAPI_PTR *PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT* pInfo, void* pData); 15877 + typedef VkResult (VKAPI_PTR *PFN_vkGetImageOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageCaptureDescriptorDataInfoEXT* pInfo, void* pData); 15878 + typedef VkResult (VKAPI_PTR *PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, void* pData); 15879 + typedef VkResult (VKAPI_PTR *PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, void* pData); 15880 + typedef VkResult (VKAPI_PTR *PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT)(VkDevice device, const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, void* pData); 15881 + 15882 + #ifndef VK_NO_PROTOTYPES 15883 + VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutSizeEXT( 15884 + VkDevice device, 15885 + VkDescriptorSetLayout layout, 15886 + VkDeviceSize* pLayoutSizeInBytes); 15887 + 15888 + VKAPI_ATTR void VKAPI_CALL vkGetDescriptorSetLayoutBindingOffsetEXT( 15889 + VkDevice device, 15890 + VkDescriptorSetLayout layout, 15891 + uint32_t binding, 15892 + VkDeviceSize* pOffset); 15893 + 15894 + VKAPI_ATTR void VKAPI_CALL vkGetDescriptorEXT( 15895 + VkDevice device, 15896 + const VkDescriptorGetInfoEXT* pDescriptorInfo, 15897 + size_t dataSize, 15898 + void* pDescriptor); 15899 + 15900 + VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBuffersEXT( 15901 + VkCommandBuffer commandBuffer, 15902 + uint32_t bufferCount, 15903 + const VkDescriptorBufferBindingInfoEXT* pBindingInfos); 15904 + 15905 + VKAPI_ATTR void VKAPI_CALL vkCmdSetDescriptorBufferOffsetsEXT( 15906 + VkCommandBuffer commandBuffer, 15907 + VkPipelineBindPoint pipelineBindPoint, 15908 + VkPipelineLayout layout, 15909 + uint32_t firstSet, 15910 + uint32_t setCount, 15911 + const uint32_t* pBufferIndices, 15912 + const VkDeviceSize* pOffsets); 15913 + 15914 + VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorBufferEmbeddedSamplersEXT( 15915 + VkCommandBuffer commandBuffer, 15916 + VkPipelineBindPoint pipelineBindPoint, 15917 + VkPipelineLayout layout, 15918 + uint32_t set); 15919 + 15920 + VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferOpaqueCaptureDescriptorDataEXT( 15921 + VkDevice device, 15922 + const VkBufferCaptureDescriptorDataInfoEXT* pInfo, 15923 + void* pData); 15924 + 15925 + VKAPI_ATTR VkResult VKAPI_CALL vkGetImageOpaqueCaptureDescriptorDataEXT( 15926 + VkDevice device, 15927 + const VkImageCaptureDescriptorDataInfoEXT* pInfo, 15928 + void* pData); 15929 + 15930 + VKAPI_ATTR VkResult VKAPI_CALL vkGetImageViewOpaqueCaptureDescriptorDataEXT( 15931 + VkDevice device, 15932 + const VkImageViewCaptureDescriptorDataInfoEXT* pInfo, 15933 + void* pData); 15934 + 15935 + VKAPI_ATTR VkResult VKAPI_CALL vkGetSamplerOpaqueCaptureDescriptorDataEXT( 15936 + VkDevice device, 15937 + const VkSamplerCaptureDescriptorDataInfoEXT* pInfo, 15938 + void* pData); 15939 + 15940 + VKAPI_ATTR VkResult VKAPI_CALL vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( 15941 + VkDevice device, 15942 + const VkAccelerationStructureCaptureDescriptorDataInfoEXT* pInfo, 15943 + void* pData); 15944 + #endif 15945 + 15946 + 15947 + // VK_EXT_graphics_pipeline_library is a preprocessor guard. Do not pass it to API calls. 13439 15948 #define VK_EXT_graphics_pipeline_library 1 13440 15949 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION 1 13441 15950 #define VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME "VK_EXT_graphics_pipeline_library" ··· 13463 15972 13464 15973 typedef struct VkGraphicsPipelineLibraryCreateInfoEXT { 13465 15974 VkStructureType sType; 13466 - void* pNext; 15975 + const void* pNext; 13467 15976 VkGraphicsPipelineLibraryFlagsEXT flags; 13468 15977 } VkGraphicsPipelineLibraryCreateInfoEXT; 13469 15978 13470 15979 13471 15980 15981 + // VK_AMD_shader_early_and_late_fragment_tests is a preprocessor guard. Do not pass it to API calls. 13472 15982 #define VK_AMD_shader_early_and_late_fragment_tests 1 13473 15983 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION 1 13474 15984 #define VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME "VK_AMD_shader_early_and_late_fragment_tests" ··· 13480 15990 13481 15991 13482 15992 15993 + // VK_NV_fragment_shading_rate_enums is a preprocessor guard. Do not pass it to API calls. 13483 15994 #define VK_NV_fragment_shading_rate_enums 1 13484 15995 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION 1 13485 15996 #define VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME "VK_NV_fragment_shading_rate_enums" ··· 13537 16048 #endif 13538 16049 13539 16050 16051 + // VK_NV_ray_tracing_motion_blur is a preprocessor guard. Do not pass it to API calls. 13540 16052 #define VK_NV_ray_tracing_motion_blur 1 13541 16053 #define VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION 1 13542 16054 #define VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME "VK_NV_ray_tracing_motion_blur" ··· 13627 16139 13628 16140 13629 16141 16142 + // VK_EXT_ycbcr_2plane_444_formats is a preprocessor guard. Do not pass it to API calls. 13630 16143 #define VK_EXT_ycbcr_2plane_444_formats 1 13631 16144 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION 1 13632 16145 #define VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME "VK_EXT_ycbcr_2plane_444_formats" ··· 13638 16151 13639 16152 13640 16153 16154 + // VK_EXT_fragment_density_map2 is a preprocessor guard. Do not pass it to API calls. 13641 16155 #define VK_EXT_fragment_density_map2 1 13642 16156 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION 1 13643 16157 #define VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME "VK_EXT_fragment_density_map2" ··· 13658 16172 13659 16173 13660 16174 16175 + // VK_QCOM_rotated_copy_commands is a preprocessor guard. Do not pass it to API calls. 13661 16176 #define VK_QCOM_rotated_copy_commands 1 13662 - #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 1 16177 + #define VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION 2 13663 16178 #define VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME "VK_QCOM_rotated_copy_commands" 13664 16179 typedef struct VkCopyCommandTransformInfoQCOM { 13665 16180 VkStructureType sType; ··· 13669 16184 13670 16185 13671 16186 16187 + // VK_EXT_image_robustness is a preprocessor guard. Do not pass it to API calls. 13672 16188 #define VK_EXT_image_robustness 1 13673 16189 #define VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION 1 13674 16190 #define VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME "VK_EXT_image_robustness" ··· 13676 16192 13677 16193 13678 16194 16195 + // VK_EXT_image_compression_control is a preprocessor guard. Do not pass it to API calls. 13679 16196 #define VK_EXT_image_compression_control 1 13680 16197 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION 1 13681 16198 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME "VK_EXT_image_compression_control" ··· 13732 16249 VkImageCompressionFixedRateFlagsEXT* pFixedRateFlags; 13733 16250 } VkImageCompressionControlEXT; 13734 16251 13735 - typedef struct VkSubresourceLayout2EXT { 13736 - VkStructureType sType; 13737 - void* pNext; 13738 - VkSubresourceLayout subresourceLayout; 13739 - } VkSubresourceLayout2EXT; 13740 - 13741 - typedef struct VkImageSubresource2EXT { 13742 - VkStructureType sType; 13743 - void* pNext; 13744 - VkImageSubresource imageSubresource; 13745 - } VkImageSubresource2EXT; 13746 - 13747 16252 typedef struct VkImageCompressionPropertiesEXT { 13748 16253 VkStructureType sType; 13749 16254 void* pNext; ··· 13751 16256 VkImageCompressionFixedRateFlagsEXT imageCompressionFixedRateFlags; 13752 16257 } VkImageCompressionPropertiesEXT; 13753 16258 13754 - typedef void (VKAPI_PTR *PFN_vkGetImageSubresourceLayout2EXT)(VkDevice device, VkImage image, const VkImageSubresource2EXT* pSubresource, VkSubresourceLayout2EXT* pLayout); 13755 16259 13756 - #ifndef VK_NO_PROTOTYPES 13757 - VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout2EXT( 13758 - VkDevice device, 13759 - VkImage image, 13760 - const VkImageSubresource2EXT* pSubresource, 13761 - VkSubresourceLayout2EXT* pLayout); 13762 - #endif 13763 16260 13764 - 16261 + // VK_EXT_attachment_feedback_loop_layout is a preprocessor guard. Do not pass it to API calls. 13765 16262 #define VK_EXT_attachment_feedback_loop_layout 1 13766 16263 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION 2 13767 16264 #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_layout" ··· 13773 16270 13774 16271 13775 16272 16273 + // VK_EXT_4444_formats is a preprocessor guard. Do not pass it to API calls. 13776 16274 #define VK_EXT_4444_formats 1 13777 16275 #define VK_EXT_4444_FORMATS_SPEC_VERSION 1 13778 16276 #define VK_EXT_4444_FORMATS_EXTENSION_NAME "VK_EXT_4444_formats" ··· 13785 16283 13786 16284 13787 16285 16286 + // VK_EXT_device_fault is a preprocessor guard. Do not pass it to API calls. 16287 + #define VK_EXT_device_fault 1 16288 + #define VK_EXT_DEVICE_FAULT_SPEC_VERSION 2 16289 + #define VK_EXT_DEVICE_FAULT_EXTENSION_NAME "VK_EXT_device_fault" 16290 + 16291 + typedef enum VkDeviceFaultAddressTypeEXT { 16292 + VK_DEVICE_FAULT_ADDRESS_TYPE_NONE_EXT = 0, 16293 + VK_DEVICE_FAULT_ADDRESS_TYPE_READ_INVALID_EXT = 1, 16294 + VK_DEVICE_FAULT_ADDRESS_TYPE_WRITE_INVALID_EXT = 2, 16295 + VK_DEVICE_FAULT_ADDRESS_TYPE_EXECUTE_INVALID_EXT = 3, 16296 + VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_UNKNOWN_EXT = 4, 16297 + VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_INVALID_EXT = 5, 16298 + VK_DEVICE_FAULT_ADDRESS_TYPE_INSTRUCTION_POINTER_FAULT_EXT = 6, 16299 + VK_DEVICE_FAULT_ADDRESS_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16300 + } VkDeviceFaultAddressTypeEXT; 16301 + 16302 + typedef enum VkDeviceFaultVendorBinaryHeaderVersionEXT { 16303 + VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_ONE_EXT = 1, 16304 + VK_DEVICE_FAULT_VENDOR_BINARY_HEADER_VERSION_MAX_ENUM_EXT = 0x7FFFFFFF 16305 + } VkDeviceFaultVendorBinaryHeaderVersionEXT; 16306 + typedef struct VkPhysicalDeviceFaultFeaturesEXT { 16307 + VkStructureType sType; 16308 + void* pNext; 16309 + VkBool32 deviceFault; 16310 + VkBool32 deviceFaultVendorBinary; 16311 + } VkPhysicalDeviceFaultFeaturesEXT; 16312 + 16313 + typedef struct VkDeviceFaultCountsEXT { 16314 + VkStructureType sType; 16315 + void* pNext; 16316 + uint32_t addressInfoCount; 16317 + uint32_t vendorInfoCount; 16318 + VkDeviceSize vendorBinarySize; 16319 + } VkDeviceFaultCountsEXT; 16320 + 16321 + typedef struct VkDeviceFaultAddressInfoEXT { 16322 + VkDeviceFaultAddressTypeEXT addressType; 16323 + VkDeviceAddress reportedAddress; 16324 + VkDeviceSize addressPrecision; 16325 + } VkDeviceFaultAddressInfoEXT; 16326 + 16327 + typedef struct VkDeviceFaultVendorInfoEXT { 16328 + char description[VK_MAX_DESCRIPTION_SIZE]; 16329 + uint64_t vendorFaultCode; 16330 + uint64_t vendorFaultData; 16331 + } VkDeviceFaultVendorInfoEXT; 16332 + 16333 + typedef struct VkDeviceFaultInfoEXT { 16334 + VkStructureType sType; 16335 + void* pNext; 16336 + char description[VK_MAX_DESCRIPTION_SIZE]; 16337 + VkDeviceFaultAddressInfoEXT* pAddressInfos; 16338 + VkDeviceFaultVendorInfoEXT* pVendorInfos; 16339 + void* pVendorBinaryData; 16340 + } VkDeviceFaultInfoEXT; 16341 + 16342 + typedef struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT { 16343 + uint32_t headerSize; 16344 + VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion; 16345 + uint32_t vendorID; 16346 + uint32_t deviceID; 16347 + uint32_t driverVersion; 16348 + uint8_t pipelineCacheUUID[VK_UUID_SIZE]; 16349 + uint32_t applicationNameOffset; 16350 + uint32_t applicationVersion; 16351 + uint32_t engineNameOffset; 16352 + uint32_t engineVersion; 16353 + uint32_t apiVersion; 16354 + } VkDeviceFaultVendorBinaryHeaderVersionOneEXT; 16355 + 16356 + typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceFaultInfoEXT)(VkDevice device, VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo); 16357 + 16358 + #ifndef VK_NO_PROTOTYPES 16359 + VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceFaultInfoEXT( 16360 + VkDevice device, 16361 + VkDeviceFaultCountsEXT* pFaultCounts, 16362 + VkDeviceFaultInfoEXT* pFaultInfo); 16363 + #endif 16364 + 16365 + 16366 + // VK_ARM_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 13788 16367 #define VK_ARM_rasterization_order_attachment_access 1 13789 16368 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 13790 16369 #define VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_ARM_rasterization_order_attachment_access" ··· 13800 16379 13801 16380 13802 16381 16382 + // VK_EXT_rgba10x6_formats is a preprocessor guard. Do not pass it to API calls. 13803 16383 #define VK_EXT_rgba10x6_formats 1 13804 16384 #define VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION 1 13805 16385 #define VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME "VK_EXT_rgba10x6_formats" ··· 13811 16391 13812 16392 13813 16393 13814 - #define VK_NV_acquire_winrt_display 1 13815 - #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1 13816 - #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display" 13817 - typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 13818 - typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay); 13819 - 13820 - #ifndef VK_NO_PROTOTYPES 13821 - VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV( 13822 - VkPhysicalDevice physicalDevice, 13823 - VkDisplayKHR display); 13824 - 13825 - VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV( 13826 - VkPhysicalDevice physicalDevice, 13827 - uint32_t deviceRelativeId, 13828 - VkDisplayKHR* pDisplay); 13829 - #endif 13830 - 13831 - 16394 + // VK_VALVE_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 13832 16395 #define VK_VALVE_mutable_descriptor_type 1 13833 16396 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 13834 16397 #define VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_VALVE_mutable_descriptor_type" 13835 - typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE { 16398 + typedef struct VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT { 13836 16399 VkStructureType sType; 13837 16400 void* pNext; 13838 16401 VkBool32 mutableDescriptorType; 13839 - } VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; 16402 + } VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT; 16403 + 16404 + typedef VkPhysicalDeviceMutableDescriptorTypeFeaturesEXT VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE; 13840 16405 13841 - typedef struct VkMutableDescriptorTypeListVALVE { 16406 + typedef struct VkMutableDescriptorTypeListEXT { 13842 16407 uint32_t descriptorTypeCount; 13843 16408 const VkDescriptorType* pDescriptorTypes; 13844 - } VkMutableDescriptorTypeListVALVE; 16409 + } VkMutableDescriptorTypeListEXT; 13845 16410 13846 - typedef struct VkMutableDescriptorTypeCreateInfoVALVE { 13847 - VkStructureType sType; 13848 - const void* pNext; 13849 - uint32_t mutableDescriptorTypeListCount; 13850 - const VkMutableDescriptorTypeListVALVE* pMutableDescriptorTypeLists; 13851 - } VkMutableDescriptorTypeCreateInfoVALVE; 16411 + typedef VkMutableDescriptorTypeListEXT VkMutableDescriptorTypeListVALVE; 13852 16412 16413 + typedef struct VkMutableDescriptorTypeCreateInfoEXT { 16414 + VkStructureType sType; 16415 + const void* pNext; 16416 + uint32_t mutableDescriptorTypeListCount; 16417 + const VkMutableDescriptorTypeListEXT* pMutableDescriptorTypeLists; 16418 + } VkMutableDescriptorTypeCreateInfoEXT; 16419 + 16420 + typedef VkMutableDescriptorTypeCreateInfoEXT VkMutableDescriptorTypeCreateInfoVALVE; 13853 16421 13854 16422 16423 + 16424 + // VK_EXT_vertex_input_dynamic_state is a preprocessor guard. Do not pass it to API calls. 13855 16425 #define VK_EXT_vertex_input_dynamic_state 1 13856 16426 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION 2 13857 16427 #define VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_vertex_input_dynamic_state" ··· 13891 16461 #endif 13892 16462 13893 16463 16464 + // VK_EXT_physical_device_drm is a preprocessor guard. Do not pass it to API calls. 13894 16465 #define VK_EXT_physical_device_drm 1 13895 16466 #define VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION 1 13896 16467 #define VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME "VK_EXT_physical_device_drm" ··· 13907 16478 13908 16479 13909 16480 16481 + // VK_EXT_device_address_binding_report is a preprocessor guard. Do not pass it to API calls. 16482 + #define VK_EXT_device_address_binding_report 1 16483 + #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION 1 16484 + #define VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME "VK_EXT_device_address_binding_report" 16485 + 16486 + typedef enum VkDeviceAddressBindingTypeEXT { 16487 + VK_DEVICE_ADDRESS_BINDING_TYPE_BIND_EXT = 0, 16488 + VK_DEVICE_ADDRESS_BINDING_TYPE_UNBIND_EXT = 1, 16489 + VK_DEVICE_ADDRESS_BINDING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16490 + } VkDeviceAddressBindingTypeEXT; 16491 + 16492 + typedef enum VkDeviceAddressBindingFlagBitsEXT { 16493 + VK_DEVICE_ADDRESS_BINDING_INTERNAL_OBJECT_BIT_EXT = 0x00000001, 16494 + VK_DEVICE_ADDRESS_BINDING_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16495 + } VkDeviceAddressBindingFlagBitsEXT; 16496 + typedef VkFlags VkDeviceAddressBindingFlagsEXT; 16497 + typedef struct VkPhysicalDeviceAddressBindingReportFeaturesEXT { 16498 + VkStructureType sType; 16499 + void* pNext; 16500 + VkBool32 reportAddressBinding; 16501 + } VkPhysicalDeviceAddressBindingReportFeaturesEXT; 16502 + 16503 + typedef struct VkDeviceAddressBindingCallbackDataEXT { 16504 + VkStructureType sType; 16505 + void* pNext; 16506 + VkDeviceAddressBindingFlagsEXT flags; 16507 + VkDeviceAddress baseAddress; 16508 + VkDeviceSize size; 16509 + VkDeviceAddressBindingTypeEXT bindingType; 16510 + } VkDeviceAddressBindingCallbackDataEXT; 16511 + 16512 + 16513 + 16514 + // VK_EXT_depth_clip_control is a preprocessor guard. Do not pass it to API calls. 13910 16515 #define VK_EXT_depth_clip_control 1 13911 16516 #define VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION 1 13912 16517 #define VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME "VK_EXT_depth_clip_control" ··· 13924 16529 13925 16530 13926 16531 16532 + // VK_EXT_primitive_topology_list_restart is a preprocessor guard. Do not pass it to API calls. 13927 16533 #define VK_EXT_primitive_topology_list_restart 1 13928 16534 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION 1 13929 16535 #define VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME "VK_EXT_primitive_topology_list_restart" ··· 13936 16542 13937 16543 13938 16544 16545 + // VK_HUAWEI_subpass_shading is a preprocessor guard. Do not pass it to API calls. 13939 16546 #define VK_HUAWEI_subpass_shading 1 13940 - #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2 16547 + #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 3 13941 16548 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading" 13942 16549 typedef struct VkSubpassShadingPipelineCreateInfoHUAWEI { 13943 16550 VkStructureType sType; ··· 13972 16579 #endif 13973 16580 13974 16581 16582 + // VK_HUAWEI_invocation_mask is a preprocessor guard. Do not pass it to API calls. 13975 16583 #define VK_HUAWEI_invocation_mask 1 13976 16584 #define VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION 1 13977 16585 #define VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME "VK_HUAWEI_invocation_mask" ··· 13991 16599 #endif 13992 16600 13993 16601 16602 + // VK_NV_external_memory_rdma is a preprocessor guard. Do not pass it to API calls. 13994 16603 #define VK_NV_external_memory_rdma 1 13995 16604 typedef void* VkRemoteAddressNV; 13996 16605 #define VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION 1 ··· 14018 16627 #endif 14019 16628 14020 16629 16630 + // VK_EXT_pipeline_properties is a preprocessor guard. Do not pass it to API calls. 14021 16631 #define VK_EXT_pipeline_properties 1 14022 16632 #define VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION 1 14023 16633 #define VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME "VK_EXT_pipeline_properties" ··· 14045 16655 #endif 14046 16656 14047 16657 16658 + // VK_EXT_frame_boundary is a preprocessor guard. Do not pass it to API calls. 16659 + #define VK_EXT_frame_boundary 1 16660 + #define VK_EXT_FRAME_BOUNDARY_SPEC_VERSION 1 16661 + #define VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME "VK_EXT_frame_boundary" 16662 + 16663 + typedef enum VkFrameBoundaryFlagBitsEXT { 16664 + VK_FRAME_BOUNDARY_FRAME_END_BIT_EXT = 0x00000001, 16665 + VK_FRAME_BOUNDARY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16666 + } VkFrameBoundaryFlagBitsEXT; 16667 + typedef VkFlags VkFrameBoundaryFlagsEXT; 16668 + typedef struct VkPhysicalDeviceFrameBoundaryFeaturesEXT { 16669 + VkStructureType sType; 16670 + void* pNext; 16671 + VkBool32 frameBoundary; 16672 + } VkPhysicalDeviceFrameBoundaryFeaturesEXT; 16673 + 16674 + typedef struct VkFrameBoundaryEXT { 16675 + VkStructureType sType; 16676 + const void* pNext; 16677 + VkFrameBoundaryFlagsEXT flags; 16678 + uint64_t frameID; 16679 + uint32_t imageCount; 16680 + const VkImage* pImages; 16681 + uint32_t bufferCount; 16682 + const VkBuffer* pBuffers; 16683 + uint64_t tagName; 16684 + size_t tagSize; 16685 + const void* pTag; 16686 + } VkFrameBoundaryEXT; 16687 + 16688 + 16689 + 16690 + // VK_EXT_multisampled_render_to_single_sampled is a preprocessor guard. Do not pass it to API calls. 14048 16691 #define VK_EXT_multisampled_render_to_single_sampled 1 14049 16692 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION 1 14050 16693 #define VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME "VK_EXT_multisampled_render_to_single_sampled" ··· 14069 16712 14070 16713 14071 16714 16715 + // VK_EXT_extended_dynamic_state2 is a preprocessor guard. Do not pass it to API calls. 14072 16716 #define VK_EXT_extended_dynamic_state2 1 14073 16717 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION 1 14074 16718 #define VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME "VK_EXT_extended_dynamic_state2" ··· 14109 16753 #endif 14110 16754 14111 16755 16756 + // VK_EXT_color_write_enable is a preprocessor guard. Do not pass it to API calls. 14112 16757 #define VK_EXT_color_write_enable 1 14113 16758 #define VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION 1 14114 16759 #define VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME "VK_EXT_color_write_enable" ··· 14135 16780 #endif 14136 16781 14137 16782 16783 + // VK_EXT_primitives_generated_query is a preprocessor guard. Do not pass it to API calls. 14138 16784 #define VK_EXT_primitives_generated_query 1 14139 16785 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION 1 14140 16786 #define VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME "VK_EXT_primitives_generated_query" ··· 14148 16794 14149 16795 14150 16796 16797 + // VK_EXT_global_priority_query is a preprocessor guard. Do not pass it to API calls. 14151 16798 #define VK_EXT_global_priority_query 1 14152 16799 #define VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION 1 14153 16800 #define VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME "VK_EXT_global_priority_query" ··· 14158 16805 14159 16806 14160 16807 16808 + // VK_EXT_image_view_min_lod is a preprocessor guard. Do not pass it to API calls. 14161 16809 #define VK_EXT_image_view_min_lod 1 14162 16810 #define VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION 1 14163 16811 #define VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME "VK_EXT_image_view_min_lod" ··· 14175 16823 14176 16824 14177 16825 16826 + // VK_EXT_multi_draw is a preprocessor guard. Do not pass it to API calls. 14178 16827 #define VK_EXT_multi_draw 1 14179 16828 #define VK_EXT_MULTI_DRAW_SPEC_VERSION 1 14180 16829 #define VK_EXT_MULTI_DRAW_EXTENSION_NAME "VK_EXT_multi_draw" ··· 14224 16873 #endif 14225 16874 14226 16875 16876 + // VK_EXT_image_2d_view_of_3d is a preprocessor guard. Do not pass it to API calls. 14227 16877 #define VK_EXT_image_2d_view_of_3d 1 14228 16878 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION 1 14229 16879 #define VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_2d_view_of_3d" ··· 14236 16886 14237 16887 14238 16888 16889 + // VK_EXT_shader_tile_image is a preprocessor guard. Do not pass it to API calls. 16890 + #define VK_EXT_shader_tile_image 1 16891 + #define VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION 1 16892 + #define VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME "VK_EXT_shader_tile_image" 16893 + typedef struct VkPhysicalDeviceShaderTileImageFeaturesEXT { 16894 + VkStructureType sType; 16895 + void* pNext; 16896 + VkBool32 shaderTileImageColorReadAccess; 16897 + VkBool32 shaderTileImageDepthReadAccess; 16898 + VkBool32 shaderTileImageStencilReadAccess; 16899 + } VkPhysicalDeviceShaderTileImageFeaturesEXT; 16900 + 16901 + typedef struct VkPhysicalDeviceShaderTileImagePropertiesEXT { 16902 + VkStructureType sType; 16903 + void* pNext; 16904 + VkBool32 shaderTileImageCoherentReadAccelerated; 16905 + VkBool32 shaderTileImageReadSampleFromPixelRateInvocation; 16906 + VkBool32 shaderTileImageReadFromHelperInvocation; 16907 + } VkPhysicalDeviceShaderTileImagePropertiesEXT; 16908 + 16909 + 16910 + 16911 + // VK_EXT_opacity_micromap is a preprocessor guard. Do not pass it to API calls. 16912 + #define VK_EXT_opacity_micromap 1 16913 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkMicromapEXT) 16914 + #define VK_EXT_OPACITY_MICROMAP_SPEC_VERSION 2 16915 + #define VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME "VK_EXT_opacity_micromap" 16916 + 16917 + typedef enum VkMicromapTypeEXT { 16918 + VK_MICROMAP_TYPE_OPACITY_MICROMAP_EXT = 0, 16919 + #ifdef VK_ENABLE_BETA_EXTENSIONS 16920 + VK_MICROMAP_TYPE_DISPLACEMENT_MICROMAP_NV = 1000397000, 16921 + #endif 16922 + VK_MICROMAP_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 16923 + } VkMicromapTypeEXT; 16924 + 16925 + typedef enum VkBuildMicromapModeEXT { 16926 + VK_BUILD_MICROMAP_MODE_BUILD_EXT = 0, 16927 + VK_BUILD_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 16928 + } VkBuildMicromapModeEXT; 16929 + 16930 + typedef enum VkCopyMicromapModeEXT { 16931 + VK_COPY_MICROMAP_MODE_CLONE_EXT = 0, 16932 + VK_COPY_MICROMAP_MODE_SERIALIZE_EXT = 1, 16933 + VK_COPY_MICROMAP_MODE_DESERIALIZE_EXT = 2, 16934 + VK_COPY_MICROMAP_MODE_COMPACT_EXT = 3, 16935 + VK_COPY_MICROMAP_MODE_MAX_ENUM_EXT = 0x7FFFFFFF 16936 + } VkCopyMicromapModeEXT; 16937 + 16938 + typedef enum VkOpacityMicromapFormatEXT { 16939 + VK_OPACITY_MICROMAP_FORMAT_2_STATE_EXT = 1, 16940 + VK_OPACITY_MICROMAP_FORMAT_4_STATE_EXT = 2, 16941 + VK_OPACITY_MICROMAP_FORMAT_MAX_ENUM_EXT = 0x7FFFFFFF 16942 + } VkOpacityMicromapFormatEXT; 16943 + 16944 + typedef enum VkOpacityMicromapSpecialIndexEXT { 16945 + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_TRANSPARENT_EXT = -1, 16946 + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_OPAQUE_EXT = -2, 16947 + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_TRANSPARENT_EXT = -3, 16948 + VK_OPACITY_MICROMAP_SPECIAL_INDEX_FULLY_UNKNOWN_OPAQUE_EXT = -4, 16949 + VK_OPACITY_MICROMAP_SPECIAL_INDEX_MAX_ENUM_EXT = 0x7FFFFFFF 16950 + } VkOpacityMicromapSpecialIndexEXT; 16951 + 16952 + typedef enum VkAccelerationStructureCompatibilityKHR { 16953 + VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, 16954 + VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1, 16955 + VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF 16956 + } VkAccelerationStructureCompatibilityKHR; 16957 + 16958 + typedef enum VkAccelerationStructureBuildTypeKHR { 16959 + VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, 16960 + VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, 16961 + VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, 16962 + VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 16963 + } VkAccelerationStructureBuildTypeKHR; 16964 + 16965 + typedef enum VkBuildMicromapFlagBitsEXT { 16966 + VK_BUILD_MICROMAP_PREFER_FAST_TRACE_BIT_EXT = 0x00000001, 16967 + VK_BUILD_MICROMAP_PREFER_FAST_BUILD_BIT_EXT = 0x00000002, 16968 + VK_BUILD_MICROMAP_ALLOW_COMPACTION_BIT_EXT = 0x00000004, 16969 + VK_BUILD_MICROMAP_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16970 + } VkBuildMicromapFlagBitsEXT; 16971 + typedef VkFlags VkBuildMicromapFlagsEXT; 16972 + 16973 + typedef enum VkMicromapCreateFlagBitsEXT { 16974 + VK_MICROMAP_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT = 0x00000001, 16975 + VK_MICROMAP_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 16976 + } VkMicromapCreateFlagBitsEXT; 16977 + typedef VkFlags VkMicromapCreateFlagsEXT; 16978 + typedef struct VkMicromapUsageEXT { 16979 + uint32_t count; 16980 + uint32_t subdivisionLevel; 16981 + uint32_t format; 16982 + } VkMicromapUsageEXT; 16983 + 16984 + typedef union VkDeviceOrHostAddressKHR { 16985 + VkDeviceAddress deviceAddress; 16986 + void* hostAddress; 16987 + } VkDeviceOrHostAddressKHR; 16988 + 16989 + typedef struct VkMicromapBuildInfoEXT { 16990 + VkStructureType sType; 16991 + const void* pNext; 16992 + VkMicromapTypeEXT type; 16993 + VkBuildMicromapFlagsEXT flags; 16994 + VkBuildMicromapModeEXT mode; 16995 + VkMicromapEXT dstMicromap; 16996 + uint32_t usageCountsCount; 16997 + const VkMicromapUsageEXT* pUsageCounts; 16998 + const VkMicromapUsageEXT* const* ppUsageCounts; 16999 + VkDeviceOrHostAddressConstKHR data; 17000 + VkDeviceOrHostAddressKHR scratchData; 17001 + VkDeviceOrHostAddressConstKHR triangleArray; 17002 + VkDeviceSize triangleArrayStride; 17003 + } VkMicromapBuildInfoEXT; 17004 + 17005 + typedef struct VkMicromapCreateInfoEXT { 17006 + VkStructureType sType; 17007 + const void* pNext; 17008 + VkMicromapCreateFlagsEXT createFlags; 17009 + VkBuffer buffer; 17010 + VkDeviceSize offset; 17011 + VkDeviceSize size; 17012 + VkMicromapTypeEXT type; 17013 + VkDeviceAddress deviceAddress; 17014 + } VkMicromapCreateInfoEXT; 17015 + 17016 + typedef struct VkPhysicalDeviceOpacityMicromapFeaturesEXT { 17017 + VkStructureType sType; 17018 + void* pNext; 17019 + VkBool32 micromap; 17020 + VkBool32 micromapCaptureReplay; 17021 + VkBool32 micromapHostCommands; 17022 + } VkPhysicalDeviceOpacityMicromapFeaturesEXT; 17023 + 17024 + typedef struct VkPhysicalDeviceOpacityMicromapPropertiesEXT { 17025 + VkStructureType sType; 17026 + void* pNext; 17027 + uint32_t maxOpacity2StateSubdivisionLevel; 17028 + uint32_t maxOpacity4StateSubdivisionLevel; 17029 + } VkPhysicalDeviceOpacityMicromapPropertiesEXT; 17030 + 17031 + typedef struct VkMicromapVersionInfoEXT { 17032 + VkStructureType sType; 17033 + const void* pNext; 17034 + const uint8_t* pVersionData; 17035 + } VkMicromapVersionInfoEXT; 17036 + 17037 + typedef struct VkCopyMicromapToMemoryInfoEXT { 17038 + VkStructureType sType; 17039 + const void* pNext; 17040 + VkMicromapEXT src; 17041 + VkDeviceOrHostAddressKHR dst; 17042 + VkCopyMicromapModeEXT mode; 17043 + } VkCopyMicromapToMemoryInfoEXT; 17044 + 17045 + typedef struct VkCopyMemoryToMicromapInfoEXT { 17046 + VkStructureType sType; 17047 + const void* pNext; 17048 + VkDeviceOrHostAddressConstKHR src; 17049 + VkMicromapEXT dst; 17050 + VkCopyMicromapModeEXT mode; 17051 + } VkCopyMemoryToMicromapInfoEXT; 17052 + 17053 + typedef struct VkCopyMicromapInfoEXT { 17054 + VkStructureType sType; 17055 + const void* pNext; 17056 + VkMicromapEXT src; 17057 + VkMicromapEXT dst; 17058 + VkCopyMicromapModeEXT mode; 17059 + } VkCopyMicromapInfoEXT; 17060 + 17061 + typedef struct VkMicromapBuildSizesInfoEXT { 17062 + VkStructureType sType; 17063 + const void* pNext; 17064 + VkDeviceSize micromapSize; 17065 + VkDeviceSize buildScratchSize; 17066 + VkBool32 discardable; 17067 + } VkMicromapBuildSizesInfoEXT; 17068 + 17069 + typedef struct VkAccelerationStructureTrianglesOpacityMicromapEXT { 17070 + VkStructureType sType; 17071 + void* pNext; 17072 + VkIndexType indexType; 17073 + VkDeviceOrHostAddressConstKHR indexBuffer; 17074 + VkDeviceSize indexStride; 17075 + uint32_t baseTriangle; 17076 + uint32_t usageCountsCount; 17077 + const VkMicromapUsageEXT* pUsageCounts; 17078 + const VkMicromapUsageEXT* const* ppUsageCounts; 17079 + VkMicromapEXT micromap; 17080 + } VkAccelerationStructureTrianglesOpacityMicromapEXT; 17081 + 17082 + typedef struct VkMicromapTriangleEXT { 17083 + uint32_t dataOffset; 17084 + uint16_t subdivisionLevel; 17085 + uint16_t format; 17086 + } VkMicromapTriangleEXT; 17087 + 17088 + typedef VkResult (VKAPI_PTR *PFN_vkCreateMicromapEXT)(VkDevice device, const VkMicromapCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkMicromapEXT* pMicromap); 17089 + typedef void (VKAPI_PTR *PFN_vkDestroyMicromapEXT)(VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks* pAllocator); 17090 + typedef void (VKAPI_PTR *PFN_vkCmdBuildMicromapsEXT)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 17091 + typedef VkResult (VKAPI_PTR *PFN_vkBuildMicromapsEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const VkMicromapBuildInfoEXT* pInfos); 17092 + typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT* pInfo); 17093 + typedef VkResult (VKAPI_PTR *PFN_vkCopyMicromapToMemoryEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapToMemoryInfoEXT* pInfo); 17094 + typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToMicromapEXT)(VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMemoryToMicromapInfoEXT* pInfo); 17095 + typedef VkResult (VKAPI_PTR *PFN_vkWriteMicromapsPropertiesEXT)(VkDevice device, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride); 17096 + typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT* pInfo); 17097 + typedef void (VKAPI_PTR *PFN_vkCmdCopyMicromapToMemoryEXT)(VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT* pInfo); 17098 + typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToMicromapEXT)(VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT* pInfo); 17099 + typedef void (VKAPI_PTR *PFN_vkCmdWriteMicromapsPropertiesEXT)(VkCommandBuffer commandBuffer, uint32_t micromapCount, const VkMicromapEXT* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery); 17100 + typedef void (VKAPI_PTR *PFN_vkGetDeviceMicromapCompatibilityEXT)(VkDevice device, const VkMicromapVersionInfoEXT* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility); 17101 + typedef void (VKAPI_PTR *PFN_vkGetMicromapBuildSizesEXT)(VkDevice device, VkAccelerationStructureBuildTypeKHR buildType, const VkMicromapBuildInfoEXT* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo); 17102 + 17103 + #ifndef VK_NO_PROTOTYPES 17104 + VKAPI_ATTR VkResult VKAPI_CALL vkCreateMicromapEXT( 17105 + VkDevice device, 17106 + const VkMicromapCreateInfoEXT* pCreateInfo, 17107 + const VkAllocationCallbacks* pAllocator, 17108 + VkMicromapEXT* pMicromap); 17109 + 17110 + VKAPI_ATTR void VKAPI_CALL vkDestroyMicromapEXT( 17111 + VkDevice device, 17112 + VkMicromapEXT micromap, 17113 + const VkAllocationCallbacks* pAllocator); 17114 + 17115 + VKAPI_ATTR void VKAPI_CALL vkCmdBuildMicromapsEXT( 17116 + VkCommandBuffer commandBuffer, 17117 + uint32_t infoCount, 17118 + const VkMicromapBuildInfoEXT* pInfos); 17119 + 17120 + VKAPI_ATTR VkResult VKAPI_CALL vkBuildMicromapsEXT( 17121 + VkDevice device, 17122 + VkDeferredOperationKHR deferredOperation, 17123 + uint32_t infoCount, 17124 + const VkMicromapBuildInfoEXT* pInfos); 17125 + 17126 + VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapEXT( 17127 + VkDevice device, 17128 + VkDeferredOperationKHR deferredOperation, 17129 + const VkCopyMicromapInfoEXT* pInfo); 17130 + 17131 + VKAPI_ATTR VkResult VKAPI_CALL vkCopyMicromapToMemoryEXT( 17132 + VkDevice device, 17133 + VkDeferredOperationKHR deferredOperation, 17134 + const VkCopyMicromapToMemoryInfoEXT* pInfo); 17135 + 17136 + VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToMicromapEXT( 17137 + VkDevice device, 17138 + VkDeferredOperationKHR deferredOperation, 17139 + const VkCopyMemoryToMicromapInfoEXT* pInfo); 17140 + 17141 + VKAPI_ATTR VkResult VKAPI_CALL vkWriteMicromapsPropertiesEXT( 17142 + VkDevice device, 17143 + uint32_t micromapCount, 17144 + const VkMicromapEXT* pMicromaps, 17145 + VkQueryType queryType, 17146 + size_t dataSize, 17147 + void* pData, 17148 + size_t stride); 17149 + 17150 + VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapEXT( 17151 + VkCommandBuffer commandBuffer, 17152 + const VkCopyMicromapInfoEXT* pInfo); 17153 + 17154 + VKAPI_ATTR void VKAPI_CALL vkCmdCopyMicromapToMemoryEXT( 17155 + VkCommandBuffer commandBuffer, 17156 + const VkCopyMicromapToMemoryInfoEXT* pInfo); 17157 + 17158 + VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToMicromapEXT( 17159 + VkCommandBuffer commandBuffer, 17160 + const VkCopyMemoryToMicromapInfoEXT* pInfo); 17161 + 17162 + VKAPI_ATTR void VKAPI_CALL vkCmdWriteMicromapsPropertiesEXT( 17163 + VkCommandBuffer commandBuffer, 17164 + uint32_t micromapCount, 17165 + const VkMicromapEXT* pMicromaps, 17166 + VkQueryType queryType, 17167 + VkQueryPool queryPool, 17168 + uint32_t firstQuery); 17169 + 17170 + VKAPI_ATTR void VKAPI_CALL vkGetDeviceMicromapCompatibilityEXT( 17171 + VkDevice device, 17172 + const VkMicromapVersionInfoEXT* pVersionInfo, 17173 + VkAccelerationStructureCompatibilityKHR* pCompatibility); 17174 + 17175 + VKAPI_ATTR void VKAPI_CALL vkGetMicromapBuildSizesEXT( 17176 + VkDevice device, 17177 + VkAccelerationStructureBuildTypeKHR buildType, 17178 + const VkMicromapBuildInfoEXT* pBuildInfo, 17179 + VkMicromapBuildSizesInfoEXT* pSizeInfo); 17180 + #endif 17181 + 17182 + 17183 + // VK_EXT_load_store_op_none is a preprocessor guard. Do not pass it to API calls. 14239 17184 #define VK_EXT_load_store_op_none 1 14240 17185 #define VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION 1 14241 17186 #define VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME "VK_EXT_load_store_op_none" 14242 17187 14243 17188 17189 + // VK_HUAWEI_cluster_culling_shader is a preprocessor guard. Do not pass it to API calls. 17190 + #define VK_HUAWEI_cluster_culling_shader 1 17191 + #define VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION 3 17192 + #define VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME "VK_HUAWEI_cluster_culling_shader" 17193 + typedef struct VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI { 17194 + VkStructureType sType; 17195 + void* pNext; 17196 + VkBool32 clustercullingShader; 17197 + VkBool32 multiviewClusterCullingShader; 17198 + } VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI; 17199 + 17200 + typedef struct VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI { 17201 + VkStructureType sType; 17202 + void* pNext; 17203 + uint32_t maxWorkGroupCount[3]; 17204 + uint32_t maxWorkGroupSize[3]; 17205 + uint32_t maxOutputClusterCount; 17206 + VkDeviceSize indirectBufferOffsetAlignment; 17207 + } VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI; 17208 + 17209 + typedef struct VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI { 17210 + VkStructureType sType; 17211 + void* pNext; 17212 + VkBool32 clusterShadingRate; 17213 + } VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI; 17214 + 17215 + typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterHUAWEI)(VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ); 17216 + typedef void (VKAPI_PTR *PFN_vkCmdDrawClusterIndirectHUAWEI)(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset); 17217 + 17218 + #ifndef VK_NO_PROTOTYPES 17219 + VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterHUAWEI( 17220 + VkCommandBuffer commandBuffer, 17221 + uint32_t groupCountX, 17222 + uint32_t groupCountY, 17223 + uint32_t groupCountZ); 17224 + 17225 + VKAPI_ATTR void VKAPI_CALL vkCmdDrawClusterIndirectHUAWEI( 17226 + VkCommandBuffer commandBuffer, 17227 + VkBuffer buffer, 17228 + VkDeviceSize offset); 17229 + #endif 17230 + 17231 + 17232 + // VK_EXT_border_color_swizzle is a preprocessor guard. Do not pass it to API calls. 14244 17233 #define VK_EXT_border_color_swizzle 1 14245 17234 #define VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION 1 14246 17235 #define VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME "VK_EXT_border_color_swizzle" ··· 14260 17249 14261 17250 14262 17251 17252 + // VK_EXT_pageable_device_local_memory is a preprocessor guard. Do not pass it to API calls. 14263 17253 #define VK_EXT_pageable_device_local_memory 1 14264 17254 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION 1 14265 17255 #define VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME "VK_EXT_pageable_device_local_memory" ··· 14279 17269 #endif 14280 17270 14281 17271 17272 + // VK_ARM_shader_core_properties is a preprocessor guard. Do not pass it to API calls. 17273 + #define VK_ARM_shader_core_properties 1 17274 + #define VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION 1 17275 + #define VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME "VK_ARM_shader_core_properties" 17276 + typedef struct VkPhysicalDeviceShaderCorePropertiesARM { 17277 + VkStructureType sType; 17278 + void* pNext; 17279 + uint32_t pixelRate; 17280 + uint32_t texelRate; 17281 + uint32_t fmaRate; 17282 + } VkPhysicalDeviceShaderCorePropertiesARM; 17283 + 17284 + 17285 + 17286 + // VK_ARM_scheduling_controls is a preprocessor guard. Do not pass it to API calls. 17287 + #define VK_ARM_scheduling_controls 1 17288 + #define VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION 1 17289 + #define VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME "VK_ARM_scheduling_controls" 17290 + typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagsARM; 17291 + 17292 + // Flag bits for VkPhysicalDeviceSchedulingControlsFlagBitsARM 17293 + typedef VkFlags64 VkPhysicalDeviceSchedulingControlsFlagBitsARM; 17294 + static const VkPhysicalDeviceSchedulingControlsFlagBitsARM VK_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_SHADER_CORE_COUNT_ARM = 0x00000001ULL; 17295 + 17296 + typedef struct VkDeviceQueueShaderCoreControlCreateInfoARM { 17297 + VkStructureType sType; 17298 + void* pNext; 17299 + uint32_t shaderCoreCount; 17300 + } VkDeviceQueueShaderCoreControlCreateInfoARM; 17301 + 17302 + typedef struct VkPhysicalDeviceSchedulingControlsFeaturesARM { 17303 + VkStructureType sType; 17304 + void* pNext; 17305 + VkBool32 schedulingControls; 17306 + } VkPhysicalDeviceSchedulingControlsFeaturesARM; 17307 + 17308 + typedef struct VkPhysicalDeviceSchedulingControlsPropertiesARM { 17309 + VkStructureType sType; 17310 + void* pNext; 17311 + VkPhysicalDeviceSchedulingControlsFlagsARM schedulingControlsFlags; 17312 + } VkPhysicalDeviceSchedulingControlsPropertiesARM; 17313 + 17314 + 17315 + 17316 + // VK_EXT_image_sliced_view_of_3d is a preprocessor guard. Do not pass it to API calls. 17317 + #define VK_EXT_image_sliced_view_of_3d 1 17318 + #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION 1 17319 + #define VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME "VK_EXT_image_sliced_view_of_3d" 17320 + #define VK_REMAINING_3D_SLICES_EXT (~0U) 17321 + typedef struct VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT { 17322 + VkStructureType sType; 17323 + void* pNext; 17324 + VkBool32 imageSlicedViewOf3D; 17325 + } VkPhysicalDeviceImageSlicedViewOf3DFeaturesEXT; 17326 + 17327 + typedef struct VkImageViewSlicedCreateInfoEXT { 17328 + VkStructureType sType; 17329 + const void* pNext; 17330 + uint32_t sliceOffset; 17331 + uint32_t sliceCount; 17332 + } VkImageViewSlicedCreateInfoEXT; 17333 + 17334 + 17335 + 17336 + // VK_VALVE_descriptor_set_host_mapping is a preprocessor guard. Do not pass it to API calls. 14282 17337 #define VK_VALVE_descriptor_set_host_mapping 1 14283 17338 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION 1 14284 17339 #define VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME "VK_VALVE_descriptor_set_host_mapping" ··· 14318 17373 #endif 14319 17374 14320 17375 17376 + // VK_EXT_depth_clamp_zero_one is a preprocessor guard. Do not pass it to API calls. 14321 17377 #define VK_EXT_depth_clamp_zero_one 1 14322 17378 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION 1 14323 17379 #define VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME "VK_EXT_depth_clamp_zero_one" ··· 14329 17385 14330 17386 14331 17387 17388 + // VK_EXT_non_seamless_cube_map is a preprocessor guard. Do not pass it to API calls. 14332 17389 #define VK_EXT_non_seamless_cube_map 1 14333 17390 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION 1 14334 17391 #define VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME "VK_EXT_non_seamless_cube_map" ··· 14340 17397 14341 17398 14342 17399 17400 + // VK_ARM_render_pass_striped is a preprocessor guard. Do not pass it to API calls. 17401 + #define VK_ARM_render_pass_striped 1 17402 + #define VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION 1 17403 + #define VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME "VK_ARM_render_pass_striped" 17404 + typedef struct VkPhysicalDeviceRenderPassStripedFeaturesARM { 17405 + VkStructureType sType; 17406 + void* pNext; 17407 + VkBool32 renderPassStriped; 17408 + } VkPhysicalDeviceRenderPassStripedFeaturesARM; 17409 + 17410 + typedef struct VkPhysicalDeviceRenderPassStripedPropertiesARM { 17411 + VkStructureType sType; 17412 + void* pNext; 17413 + VkExtent2D renderPassStripeGranularity; 17414 + uint32_t maxRenderPassStripes; 17415 + } VkPhysicalDeviceRenderPassStripedPropertiesARM; 17416 + 17417 + typedef struct VkRenderPassStripeInfoARM { 17418 + VkStructureType sType; 17419 + const void* pNext; 17420 + VkRect2D stripeArea; 17421 + } VkRenderPassStripeInfoARM; 17422 + 17423 + typedef struct VkRenderPassStripeBeginInfoARM { 17424 + VkStructureType sType; 17425 + const void* pNext; 17426 + uint32_t stripeInfoCount; 17427 + const VkRenderPassStripeInfoARM* pStripeInfos; 17428 + } VkRenderPassStripeBeginInfoARM; 17429 + 17430 + typedef struct VkRenderPassStripeSubmitInfoARM { 17431 + VkStructureType sType; 17432 + const void* pNext; 17433 + uint32_t stripeSemaphoreInfoCount; 17434 + const VkSemaphoreSubmitInfo* pStripeSemaphoreInfos; 17435 + } VkRenderPassStripeSubmitInfoARM; 17436 + 17437 + 17438 + 17439 + // VK_QCOM_fragment_density_map_offset is a preprocessor guard. Do not pass it to API calls. 14343 17440 #define VK_QCOM_fragment_density_map_offset 1 14344 17441 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION 1 14345 17442 #define VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME "VK_QCOM_fragment_density_map_offset" ··· 14364 17461 14365 17462 14366 17463 17464 + // VK_NV_copy_memory_indirect is a preprocessor guard. Do not pass it to API calls. 17465 + #define VK_NV_copy_memory_indirect 1 17466 + #define VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION 1 17467 + #define VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME "VK_NV_copy_memory_indirect" 17468 + typedef struct VkCopyMemoryIndirectCommandNV { 17469 + VkDeviceAddress srcAddress; 17470 + VkDeviceAddress dstAddress; 17471 + VkDeviceSize size; 17472 + } VkCopyMemoryIndirectCommandNV; 17473 + 17474 + typedef struct VkCopyMemoryToImageIndirectCommandNV { 17475 + VkDeviceAddress srcAddress; 17476 + uint32_t bufferRowLength; 17477 + uint32_t bufferImageHeight; 17478 + VkImageSubresourceLayers imageSubresource; 17479 + VkOffset3D imageOffset; 17480 + VkExtent3D imageExtent; 17481 + } VkCopyMemoryToImageIndirectCommandNV; 17482 + 17483 + typedef struct VkPhysicalDeviceCopyMemoryIndirectFeaturesNV { 17484 + VkStructureType sType; 17485 + void* pNext; 17486 + VkBool32 indirectCopy; 17487 + } VkPhysicalDeviceCopyMemoryIndirectFeaturesNV; 17488 + 17489 + typedef struct VkPhysicalDeviceCopyMemoryIndirectPropertiesNV { 17490 + VkStructureType sType; 17491 + void* pNext; 17492 + VkQueueFlags supportedQueues; 17493 + } VkPhysicalDeviceCopyMemoryIndirectPropertiesNV; 17494 + 17495 + typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride); 17496 + typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToImageIndirectNV)(VkCommandBuffer commandBuffer, VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const VkImageSubresourceLayers* pImageSubresources); 17497 + 17498 + #ifndef VK_NO_PROTOTYPES 17499 + VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryIndirectNV( 17500 + VkCommandBuffer commandBuffer, 17501 + VkDeviceAddress copyBufferAddress, 17502 + uint32_t copyCount, 17503 + uint32_t stride); 17504 + 17505 + VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToImageIndirectNV( 17506 + VkCommandBuffer commandBuffer, 17507 + VkDeviceAddress copyBufferAddress, 17508 + uint32_t copyCount, 17509 + uint32_t stride, 17510 + VkImage dstImage, 17511 + VkImageLayout dstImageLayout, 17512 + const VkImageSubresourceLayers* pImageSubresources); 17513 + #endif 17514 + 17515 + 17516 + // VK_NV_memory_decompression is a preprocessor guard. Do not pass it to API calls. 17517 + #define VK_NV_memory_decompression 1 17518 + #define VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION 1 17519 + #define VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME "VK_NV_memory_decompression" 17520 + 17521 + // Flag bits for VkMemoryDecompressionMethodFlagBitsNV 17522 + typedef VkFlags64 VkMemoryDecompressionMethodFlagBitsNV; 17523 + static const VkMemoryDecompressionMethodFlagBitsNV VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV = 0x00000001ULL; 17524 + 17525 + typedef VkFlags64 VkMemoryDecompressionMethodFlagsNV; 17526 + typedef struct VkDecompressMemoryRegionNV { 17527 + VkDeviceAddress srcAddress; 17528 + VkDeviceAddress dstAddress; 17529 + VkDeviceSize compressedSize; 17530 + VkDeviceSize decompressedSize; 17531 + VkMemoryDecompressionMethodFlagsNV decompressionMethod; 17532 + } VkDecompressMemoryRegionNV; 17533 + 17534 + typedef struct VkPhysicalDeviceMemoryDecompressionFeaturesNV { 17535 + VkStructureType sType; 17536 + void* pNext; 17537 + VkBool32 memoryDecompression; 17538 + } VkPhysicalDeviceMemoryDecompressionFeaturesNV; 17539 + 17540 + typedef struct VkPhysicalDeviceMemoryDecompressionPropertiesNV { 17541 + VkStructureType sType; 17542 + void* pNext; 17543 + VkMemoryDecompressionMethodFlagsNV decompressionMethods; 17544 + uint64_t maxDecompressionIndirectCount; 17545 + } VkPhysicalDeviceMemoryDecompressionPropertiesNV; 17546 + 17547 + typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryNV)(VkCommandBuffer commandBuffer, uint32_t decompressRegionCount, const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 17548 + typedef void (VKAPI_PTR *PFN_vkCmdDecompressMemoryIndirectCountNV)(VkCommandBuffer commandBuffer, VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride); 17549 + 17550 + #ifndef VK_NO_PROTOTYPES 17551 + VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryNV( 17552 + VkCommandBuffer commandBuffer, 17553 + uint32_t decompressRegionCount, 17554 + const VkDecompressMemoryRegionNV* pDecompressMemoryRegions); 17555 + 17556 + VKAPI_ATTR void VKAPI_CALL vkCmdDecompressMemoryIndirectCountNV( 17557 + VkCommandBuffer commandBuffer, 17558 + VkDeviceAddress indirectCommandsAddress, 17559 + VkDeviceAddress indirectCommandsCountAddress, 17560 + uint32_t stride); 17561 + #endif 17562 + 17563 + 17564 + // VK_NV_device_generated_commands_compute is a preprocessor guard. Do not pass it to API calls. 17565 + #define VK_NV_device_generated_commands_compute 1 17566 + #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION 2 17567 + #define VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME "VK_NV_device_generated_commands_compute" 17568 + typedef struct VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV { 17569 + VkStructureType sType; 17570 + void* pNext; 17571 + VkBool32 deviceGeneratedCompute; 17572 + VkBool32 deviceGeneratedComputePipelines; 17573 + VkBool32 deviceGeneratedComputeCaptureReplay; 17574 + } VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV; 17575 + 17576 + typedef struct VkComputePipelineIndirectBufferInfoNV { 17577 + VkStructureType sType; 17578 + const void* pNext; 17579 + VkDeviceAddress deviceAddress; 17580 + VkDeviceSize size; 17581 + VkDeviceAddress pipelineDeviceAddressCaptureReplay; 17582 + } VkComputePipelineIndirectBufferInfoNV; 17583 + 17584 + typedef struct VkPipelineIndirectDeviceAddressInfoNV { 17585 + VkStructureType sType; 17586 + const void* pNext; 17587 + VkPipelineBindPoint pipelineBindPoint; 17588 + VkPipeline pipeline; 17589 + } VkPipelineIndirectDeviceAddressInfoNV; 17590 + 17591 + typedef struct VkBindPipelineIndirectCommandNV { 17592 + VkDeviceAddress pipelineAddress; 17593 + } VkBindPipelineIndirectCommandNV; 17594 + 17595 + typedef void (VKAPI_PTR *PFN_vkGetPipelineIndirectMemoryRequirementsNV)(VkDevice device, const VkComputePipelineCreateInfo* pCreateInfo, VkMemoryRequirements2* pMemoryRequirements); 17596 + typedef void (VKAPI_PTR *PFN_vkCmdUpdatePipelineIndirectBufferNV)(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline); 17597 + typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetPipelineIndirectDeviceAddressNV)(VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 17598 + 17599 + #ifndef VK_NO_PROTOTYPES 17600 + VKAPI_ATTR void VKAPI_CALL vkGetPipelineIndirectMemoryRequirementsNV( 17601 + VkDevice device, 17602 + const VkComputePipelineCreateInfo* pCreateInfo, 17603 + VkMemoryRequirements2* pMemoryRequirements); 17604 + 17605 + VKAPI_ATTR void VKAPI_CALL vkCmdUpdatePipelineIndirectBufferNV( 17606 + VkCommandBuffer commandBuffer, 17607 + VkPipelineBindPoint pipelineBindPoint, 17608 + VkPipeline pipeline); 17609 + 17610 + VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetPipelineIndirectDeviceAddressNV( 17611 + VkDevice device, 17612 + const VkPipelineIndirectDeviceAddressInfoNV* pInfo); 17613 + #endif 17614 + 17615 + 17616 + // VK_NV_linear_color_attachment is a preprocessor guard. Do not pass it to API calls. 14367 17617 #define VK_NV_linear_color_attachment 1 14368 17618 #define VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION 1 14369 17619 #define VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME "VK_NV_linear_color_attachment" ··· 14375 17625 14376 17626 14377 17627 17628 + // VK_GOOGLE_surfaceless_query is a preprocessor guard. Do not pass it to API calls. 14378 17629 #define VK_GOOGLE_surfaceless_query 1 14379 - #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 1 17630 + #define VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION 2 14380 17631 #define VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME "VK_GOOGLE_surfaceless_query" 14381 17632 14382 17633 17634 + // VK_EXT_image_compression_control_swapchain is a preprocessor guard. Do not pass it to API calls. 14383 17635 #define VK_EXT_image_compression_control_swapchain 1 14384 17636 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION 1 14385 17637 #define VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME "VK_EXT_image_compression_control_swapchain" ··· 14391 17643 14392 17644 14393 17645 17646 + // VK_QCOM_image_processing is a preprocessor guard. Do not pass it to API calls. 14394 17647 #define VK_QCOM_image_processing 1 14395 17648 #define VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION 1 14396 17649 #define VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME "VK_QCOM_image_processing" ··· 14421 17674 14422 17675 14423 17676 17677 + // VK_EXT_nested_command_buffer is a preprocessor guard. Do not pass it to API calls. 17678 + #define VK_EXT_nested_command_buffer 1 17679 + #define VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION 1 17680 + #define VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME "VK_EXT_nested_command_buffer" 17681 + typedef struct VkPhysicalDeviceNestedCommandBufferFeaturesEXT { 17682 + VkStructureType sType; 17683 + void* pNext; 17684 + VkBool32 nestedCommandBuffer; 17685 + VkBool32 nestedCommandBufferRendering; 17686 + VkBool32 nestedCommandBufferSimultaneousUse; 17687 + } VkPhysicalDeviceNestedCommandBufferFeaturesEXT; 17688 + 17689 + typedef struct VkPhysicalDeviceNestedCommandBufferPropertiesEXT { 17690 + VkStructureType sType; 17691 + void* pNext; 17692 + uint32_t maxCommandBufferNestingLevel; 17693 + } VkPhysicalDeviceNestedCommandBufferPropertiesEXT; 17694 + 17695 + 17696 + 17697 + // VK_EXT_external_memory_acquire_unmodified is a preprocessor guard. Do not pass it to API calls. 17698 + #define VK_EXT_external_memory_acquire_unmodified 1 17699 + #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION 1 17700 + #define VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME "VK_EXT_external_memory_acquire_unmodified" 17701 + typedef struct VkExternalMemoryAcquireUnmodifiedEXT { 17702 + VkStructureType sType; 17703 + const void* pNext; 17704 + VkBool32 acquireUnmodifiedMemory; 17705 + } VkExternalMemoryAcquireUnmodifiedEXT; 17706 + 17707 + 17708 + 17709 + // VK_EXT_extended_dynamic_state3 is a preprocessor guard. Do not pass it to API calls. 17710 + #define VK_EXT_extended_dynamic_state3 1 17711 + #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION 2 17712 + #define VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME "VK_EXT_extended_dynamic_state3" 17713 + typedef struct VkPhysicalDeviceExtendedDynamicState3FeaturesEXT { 17714 + VkStructureType sType; 17715 + void* pNext; 17716 + VkBool32 extendedDynamicState3TessellationDomainOrigin; 17717 + VkBool32 extendedDynamicState3DepthClampEnable; 17718 + VkBool32 extendedDynamicState3PolygonMode; 17719 + VkBool32 extendedDynamicState3RasterizationSamples; 17720 + VkBool32 extendedDynamicState3SampleMask; 17721 + VkBool32 extendedDynamicState3AlphaToCoverageEnable; 17722 + VkBool32 extendedDynamicState3AlphaToOneEnable; 17723 + VkBool32 extendedDynamicState3LogicOpEnable; 17724 + VkBool32 extendedDynamicState3ColorBlendEnable; 17725 + VkBool32 extendedDynamicState3ColorBlendEquation; 17726 + VkBool32 extendedDynamicState3ColorWriteMask; 17727 + VkBool32 extendedDynamicState3RasterizationStream; 17728 + VkBool32 extendedDynamicState3ConservativeRasterizationMode; 17729 + VkBool32 extendedDynamicState3ExtraPrimitiveOverestimationSize; 17730 + VkBool32 extendedDynamicState3DepthClipEnable; 17731 + VkBool32 extendedDynamicState3SampleLocationsEnable; 17732 + VkBool32 extendedDynamicState3ColorBlendAdvanced; 17733 + VkBool32 extendedDynamicState3ProvokingVertexMode; 17734 + VkBool32 extendedDynamicState3LineRasterizationMode; 17735 + VkBool32 extendedDynamicState3LineStippleEnable; 17736 + VkBool32 extendedDynamicState3DepthClipNegativeOneToOne; 17737 + VkBool32 extendedDynamicState3ViewportWScalingEnable; 17738 + VkBool32 extendedDynamicState3ViewportSwizzle; 17739 + VkBool32 extendedDynamicState3CoverageToColorEnable; 17740 + VkBool32 extendedDynamicState3CoverageToColorLocation; 17741 + VkBool32 extendedDynamicState3CoverageModulationMode; 17742 + VkBool32 extendedDynamicState3CoverageModulationTableEnable; 17743 + VkBool32 extendedDynamicState3CoverageModulationTable; 17744 + VkBool32 extendedDynamicState3CoverageReductionMode; 17745 + VkBool32 extendedDynamicState3RepresentativeFragmentTestEnable; 17746 + VkBool32 extendedDynamicState3ShadingRateImageEnable; 17747 + } VkPhysicalDeviceExtendedDynamicState3FeaturesEXT; 17748 + 17749 + typedef struct VkPhysicalDeviceExtendedDynamicState3PropertiesEXT { 17750 + VkStructureType sType; 17751 + void* pNext; 17752 + VkBool32 dynamicPrimitiveTopologyUnrestricted; 17753 + } VkPhysicalDeviceExtendedDynamicState3PropertiesEXT; 17754 + 17755 + typedef struct VkColorBlendEquationEXT { 17756 + VkBlendFactor srcColorBlendFactor; 17757 + VkBlendFactor dstColorBlendFactor; 17758 + VkBlendOp colorBlendOp; 17759 + VkBlendFactor srcAlphaBlendFactor; 17760 + VkBlendFactor dstAlphaBlendFactor; 17761 + VkBlendOp alphaBlendOp; 17762 + } VkColorBlendEquationEXT; 17763 + 17764 + typedef struct VkColorBlendAdvancedEXT { 17765 + VkBlendOp advancedBlendOp; 17766 + VkBool32 srcPremultiplied; 17767 + VkBool32 dstPremultiplied; 17768 + VkBlendOverlapEXT blendOverlap; 17769 + VkBool32 clampResults; 17770 + } VkColorBlendAdvancedEXT; 17771 + 17772 + typedef void (VKAPI_PTR *PFN_vkCmdSetTessellationDomainOriginEXT)(VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin); 17773 + typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClampEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClampEnable); 17774 + typedef void (VKAPI_PTR *PFN_vkCmdSetPolygonModeEXT)(VkCommandBuffer commandBuffer, VkPolygonMode polygonMode); 17775 + typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationSamplesEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples); 17776 + typedef void (VKAPI_PTR *PFN_vkCmdSetSampleMaskEXT)(VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask* pSampleMask); 17777 + typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToCoverageEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable); 17778 + typedef void (VKAPI_PTR *PFN_vkCmdSetAlphaToOneEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable); 17779 + typedef void (VKAPI_PTR *PFN_vkCmdSetLogicOpEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 logicOpEnable); 17780 + typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEnableEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkBool32* pColorBlendEnables); 17781 + typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendEquationEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendEquationEXT* pColorBlendEquations); 17782 + typedef void (VKAPI_PTR *PFN_vkCmdSetColorWriteMaskEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorComponentFlags* pColorWriteMasks); 17783 + typedef void (VKAPI_PTR *PFN_vkCmdSetRasterizationStreamEXT)(VkCommandBuffer commandBuffer, uint32_t rasterizationStream); 17784 + typedef void (VKAPI_PTR *PFN_vkCmdSetConservativeRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkConservativeRasterizationModeEXT conservativeRasterizationMode); 17785 + typedef void (VKAPI_PTR *PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT)(VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize); 17786 + typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 depthClipEnable); 17787 + typedef void (VKAPI_PTR *PFN_vkCmdSetSampleLocationsEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable); 17788 + typedef void (VKAPI_PTR *PFN_vkCmdSetColorBlendAdvancedEXT)(VkCommandBuffer commandBuffer, uint32_t firstAttachment, uint32_t attachmentCount, const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 17789 + typedef void (VKAPI_PTR *PFN_vkCmdSetProvokingVertexModeEXT)(VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode); 17790 + typedef void (VKAPI_PTR *PFN_vkCmdSetLineRasterizationModeEXT)(VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode); 17791 + typedef void (VKAPI_PTR *PFN_vkCmdSetLineStippleEnableEXT)(VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable); 17792 + typedef void (VKAPI_PTR *PFN_vkCmdSetDepthClipNegativeOneToOneEXT)(VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne); 17793 + typedef void (VKAPI_PTR *PFN_vkCmdSetViewportWScalingEnableNV)(VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable); 17794 + typedef void (VKAPI_PTR *PFN_vkCmdSetViewportSwizzleNV)(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewportSwizzleNV* pViewportSwizzles); 17795 + typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable); 17796 + typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageToColorLocationNV)(VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation); 17797 + typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationModeNV)(VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode); 17798 + typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableEnableNV)(VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable); 17799 + typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageModulationTableNV)(VkCommandBuffer commandBuffer, uint32_t coverageModulationTableCount, const float* pCoverageModulationTable); 17800 + typedef void (VKAPI_PTR *PFN_vkCmdSetShadingRateImageEnableNV)(VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable); 17801 + typedef void (VKAPI_PTR *PFN_vkCmdSetRepresentativeFragmentTestEnableNV)(VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable); 17802 + typedef void (VKAPI_PTR *PFN_vkCmdSetCoverageReductionModeNV)(VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode); 17803 + 17804 + #ifndef VK_NO_PROTOTYPES 17805 + VKAPI_ATTR void VKAPI_CALL vkCmdSetTessellationDomainOriginEXT( 17806 + VkCommandBuffer commandBuffer, 17807 + VkTessellationDomainOrigin domainOrigin); 17808 + 17809 + VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClampEnableEXT( 17810 + VkCommandBuffer commandBuffer, 17811 + VkBool32 depthClampEnable); 17812 + 17813 + VKAPI_ATTR void VKAPI_CALL vkCmdSetPolygonModeEXT( 17814 + VkCommandBuffer commandBuffer, 17815 + VkPolygonMode polygonMode); 17816 + 17817 + VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationSamplesEXT( 17818 + VkCommandBuffer commandBuffer, 17819 + VkSampleCountFlagBits rasterizationSamples); 17820 + 17821 + VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleMaskEXT( 17822 + VkCommandBuffer commandBuffer, 17823 + VkSampleCountFlagBits samples, 17824 + const VkSampleMask* pSampleMask); 17825 + 17826 + VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToCoverageEnableEXT( 17827 + VkCommandBuffer commandBuffer, 17828 + VkBool32 alphaToCoverageEnable); 17829 + 17830 + VKAPI_ATTR void VKAPI_CALL vkCmdSetAlphaToOneEnableEXT( 17831 + VkCommandBuffer commandBuffer, 17832 + VkBool32 alphaToOneEnable); 17833 + 17834 + VKAPI_ATTR void VKAPI_CALL vkCmdSetLogicOpEnableEXT( 17835 + VkCommandBuffer commandBuffer, 17836 + VkBool32 logicOpEnable); 17837 + 17838 + VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEnableEXT( 17839 + VkCommandBuffer commandBuffer, 17840 + uint32_t firstAttachment, 17841 + uint32_t attachmentCount, 17842 + const VkBool32* pColorBlendEnables); 17843 + 17844 + VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendEquationEXT( 17845 + VkCommandBuffer commandBuffer, 17846 + uint32_t firstAttachment, 17847 + uint32_t attachmentCount, 17848 + const VkColorBlendEquationEXT* pColorBlendEquations); 17849 + 17850 + VKAPI_ATTR void VKAPI_CALL vkCmdSetColorWriteMaskEXT( 17851 + VkCommandBuffer commandBuffer, 17852 + uint32_t firstAttachment, 17853 + uint32_t attachmentCount, 17854 + const VkColorComponentFlags* pColorWriteMasks); 17855 + 17856 + VKAPI_ATTR void VKAPI_CALL vkCmdSetRasterizationStreamEXT( 17857 + VkCommandBuffer commandBuffer, 17858 + uint32_t rasterizationStream); 17859 + 17860 + VKAPI_ATTR void VKAPI_CALL vkCmdSetConservativeRasterizationModeEXT( 17861 + VkCommandBuffer commandBuffer, 17862 + VkConservativeRasterizationModeEXT conservativeRasterizationMode); 17863 + 17864 + VKAPI_ATTR void VKAPI_CALL vkCmdSetExtraPrimitiveOverestimationSizeEXT( 17865 + VkCommandBuffer commandBuffer, 17866 + float extraPrimitiveOverestimationSize); 17867 + 17868 + VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipEnableEXT( 17869 + VkCommandBuffer commandBuffer, 17870 + VkBool32 depthClipEnable); 17871 + 17872 + VKAPI_ATTR void VKAPI_CALL vkCmdSetSampleLocationsEnableEXT( 17873 + VkCommandBuffer commandBuffer, 17874 + VkBool32 sampleLocationsEnable); 17875 + 17876 + VKAPI_ATTR void VKAPI_CALL vkCmdSetColorBlendAdvancedEXT( 17877 + VkCommandBuffer commandBuffer, 17878 + uint32_t firstAttachment, 17879 + uint32_t attachmentCount, 17880 + const VkColorBlendAdvancedEXT* pColorBlendAdvanced); 17881 + 17882 + VKAPI_ATTR void VKAPI_CALL vkCmdSetProvokingVertexModeEXT( 17883 + VkCommandBuffer commandBuffer, 17884 + VkProvokingVertexModeEXT provokingVertexMode); 17885 + 17886 + VKAPI_ATTR void VKAPI_CALL vkCmdSetLineRasterizationModeEXT( 17887 + VkCommandBuffer commandBuffer, 17888 + VkLineRasterizationModeEXT lineRasterizationMode); 17889 + 17890 + VKAPI_ATTR void VKAPI_CALL vkCmdSetLineStippleEnableEXT( 17891 + VkCommandBuffer commandBuffer, 17892 + VkBool32 stippledLineEnable); 17893 + 17894 + VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthClipNegativeOneToOneEXT( 17895 + VkCommandBuffer commandBuffer, 17896 + VkBool32 negativeOneToOne); 17897 + 17898 + VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportWScalingEnableNV( 17899 + VkCommandBuffer commandBuffer, 17900 + VkBool32 viewportWScalingEnable); 17901 + 17902 + VKAPI_ATTR void VKAPI_CALL vkCmdSetViewportSwizzleNV( 17903 + VkCommandBuffer commandBuffer, 17904 + uint32_t firstViewport, 17905 + uint32_t viewportCount, 17906 + const VkViewportSwizzleNV* pViewportSwizzles); 17907 + 17908 + VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorEnableNV( 17909 + VkCommandBuffer commandBuffer, 17910 + VkBool32 coverageToColorEnable); 17911 + 17912 + VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageToColorLocationNV( 17913 + VkCommandBuffer commandBuffer, 17914 + uint32_t coverageToColorLocation); 17915 + 17916 + VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationModeNV( 17917 + VkCommandBuffer commandBuffer, 17918 + VkCoverageModulationModeNV coverageModulationMode); 17919 + 17920 + VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableEnableNV( 17921 + VkCommandBuffer commandBuffer, 17922 + VkBool32 coverageModulationTableEnable); 17923 + 17924 + VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageModulationTableNV( 17925 + VkCommandBuffer commandBuffer, 17926 + uint32_t coverageModulationTableCount, 17927 + const float* pCoverageModulationTable); 17928 + 17929 + VKAPI_ATTR void VKAPI_CALL vkCmdSetShadingRateImageEnableNV( 17930 + VkCommandBuffer commandBuffer, 17931 + VkBool32 shadingRateImageEnable); 17932 + 17933 + VKAPI_ATTR void VKAPI_CALL vkCmdSetRepresentativeFragmentTestEnableNV( 17934 + VkCommandBuffer commandBuffer, 17935 + VkBool32 representativeFragmentTestEnable); 17936 + 17937 + VKAPI_ATTR void VKAPI_CALL vkCmdSetCoverageReductionModeNV( 17938 + VkCommandBuffer commandBuffer, 17939 + VkCoverageReductionModeNV coverageReductionMode); 17940 + #endif 17941 + 17942 + 17943 + // VK_EXT_subpass_merge_feedback is a preprocessor guard. Do not pass it to API calls. 14424 17944 #define VK_EXT_subpass_merge_feedback 1 14425 17945 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION 2 14426 17946 #define VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME "VK_EXT_subpass_merge_feedback" ··· 14478 17998 14479 17999 14480 18000 18001 + // VK_LUNARG_direct_driver_loading is a preprocessor guard. Do not pass it to API calls. 18002 + #define VK_LUNARG_direct_driver_loading 1 18003 + #define VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION 1 18004 + #define VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME "VK_LUNARG_direct_driver_loading" 18005 + 18006 + typedef enum VkDirectDriverLoadingModeLUNARG { 18007 + VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = 0, 18008 + VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = 1, 18009 + VK_DIRECT_DRIVER_LOADING_MODE_MAX_ENUM_LUNARG = 0x7FFFFFFF 18010 + } VkDirectDriverLoadingModeLUNARG; 18011 + typedef VkFlags VkDirectDriverLoadingFlagsLUNARG; 18012 + typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vkGetInstanceProcAddrLUNARG)( 18013 + VkInstance instance, const char* pName); 18014 + 18015 + typedef struct VkDirectDriverLoadingInfoLUNARG { 18016 + VkStructureType sType; 18017 + void* pNext; 18018 + VkDirectDriverLoadingFlagsLUNARG flags; 18019 + PFN_vkGetInstanceProcAddrLUNARG pfnGetInstanceProcAddr; 18020 + } VkDirectDriverLoadingInfoLUNARG; 18021 + 18022 + typedef struct VkDirectDriverLoadingListLUNARG { 18023 + VkStructureType sType; 18024 + const void* pNext; 18025 + VkDirectDriverLoadingModeLUNARG mode; 18026 + uint32_t driverCount; 18027 + const VkDirectDriverLoadingInfoLUNARG* pDrivers; 18028 + } VkDirectDriverLoadingListLUNARG; 18029 + 18030 + 18031 + 18032 + // VK_EXT_shader_module_identifier is a preprocessor guard. Do not pass it to API calls. 14481 18033 #define VK_EXT_shader_module_identifier 1 14482 18034 #define VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT 32U 14483 18035 #define VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION 1 ··· 14524 18076 #endif 14525 18077 14526 18078 18079 + // VK_EXT_rasterization_order_attachment_access is a preprocessor guard. Do not pass it to API calls. 14527 18080 #define VK_EXT_rasterization_order_attachment_access 1 14528 18081 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION 1 14529 18082 #define VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME "VK_EXT_rasterization_order_attachment_access" 14530 18083 14531 18084 18085 + // VK_NV_optical_flow is a preprocessor guard. Do not pass it to API calls. 18086 + #define VK_NV_optical_flow 1 18087 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkOpticalFlowSessionNV) 18088 + #define VK_NV_OPTICAL_FLOW_SPEC_VERSION 1 18089 + #define VK_NV_OPTICAL_FLOW_EXTENSION_NAME "VK_NV_optical_flow" 18090 + 18091 + typedef enum VkOpticalFlowPerformanceLevelNV { 18092 + VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_UNKNOWN_NV = 0, 18093 + VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_SLOW_NV = 1, 18094 + VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MEDIUM_NV = 2, 18095 + VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_FAST_NV = 3, 18096 + VK_OPTICAL_FLOW_PERFORMANCE_LEVEL_MAX_ENUM_NV = 0x7FFFFFFF 18097 + } VkOpticalFlowPerformanceLevelNV; 18098 + 18099 + typedef enum VkOpticalFlowSessionBindingPointNV { 18100 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_UNKNOWN_NV = 0, 18101 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_INPUT_NV = 1, 18102 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_REFERENCE_NV = 2, 18103 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_HINT_NV = 3, 18104 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_FLOW_VECTOR_NV = 4, 18105 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_FLOW_VECTOR_NV = 5, 18106 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_COST_NV = 6, 18107 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_BACKWARD_COST_NV = 7, 18108 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_GLOBAL_FLOW_NV = 8, 18109 + VK_OPTICAL_FLOW_SESSION_BINDING_POINT_MAX_ENUM_NV = 0x7FFFFFFF 18110 + } VkOpticalFlowSessionBindingPointNV; 18111 + 18112 + typedef enum VkOpticalFlowGridSizeFlagBitsNV { 18113 + VK_OPTICAL_FLOW_GRID_SIZE_UNKNOWN_NV = 0, 18114 + VK_OPTICAL_FLOW_GRID_SIZE_1X1_BIT_NV = 0x00000001, 18115 + VK_OPTICAL_FLOW_GRID_SIZE_2X2_BIT_NV = 0x00000002, 18116 + VK_OPTICAL_FLOW_GRID_SIZE_4X4_BIT_NV = 0x00000004, 18117 + VK_OPTICAL_FLOW_GRID_SIZE_8X8_BIT_NV = 0x00000008, 18118 + VK_OPTICAL_FLOW_GRID_SIZE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18119 + } VkOpticalFlowGridSizeFlagBitsNV; 18120 + typedef VkFlags VkOpticalFlowGridSizeFlagsNV; 18121 + 18122 + typedef enum VkOpticalFlowUsageFlagBitsNV { 18123 + VK_OPTICAL_FLOW_USAGE_UNKNOWN_NV = 0, 18124 + VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV = 0x00000001, 18125 + VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV = 0x00000002, 18126 + VK_OPTICAL_FLOW_USAGE_HINT_BIT_NV = 0x00000004, 18127 + VK_OPTICAL_FLOW_USAGE_COST_BIT_NV = 0x00000008, 18128 + VK_OPTICAL_FLOW_USAGE_GLOBAL_FLOW_BIT_NV = 0x00000010, 18129 + VK_OPTICAL_FLOW_USAGE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18130 + } VkOpticalFlowUsageFlagBitsNV; 18131 + typedef VkFlags VkOpticalFlowUsageFlagsNV; 18132 + 18133 + typedef enum VkOpticalFlowSessionCreateFlagBitsNV { 18134 + VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV = 0x00000001, 18135 + VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV = 0x00000002, 18136 + VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV = 0x00000004, 18137 + VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV = 0x00000008, 18138 + VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV = 0x00000010, 18139 + VK_OPTICAL_FLOW_SESSION_CREATE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18140 + } VkOpticalFlowSessionCreateFlagBitsNV; 18141 + typedef VkFlags VkOpticalFlowSessionCreateFlagsNV; 18142 + 18143 + typedef enum VkOpticalFlowExecuteFlagBitsNV { 18144 + VK_OPTICAL_FLOW_EXECUTE_DISABLE_TEMPORAL_HINTS_BIT_NV = 0x00000001, 18145 + VK_OPTICAL_FLOW_EXECUTE_FLAG_BITS_MAX_ENUM_NV = 0x7FFFFFFF 18146 + } VkOpticalFlowExecuteFlagBitsNV; 18147 + typedef VkFlags VkOpticalFlowExecuteFlagsNV; 18148 + typedef struct VkPhysicalDeviceOpticalFlowFeaturesNV { 18149 + VkStructureType sType; 18150 + void* pNext; 18151 + VkBool32 opticalFlow; 18152 + } VkPhysicalDeviceOpticalFlowFeaturesNV; 18153 + 18154 + typedef struct VkPhysicalDeviceOpticalFlowPropertiesNV { 18155 + VkStructureType sType; 18156 + void* pNext; 18157 + VkOpticalFlowGridSizeFlagsNV supportedOutputGridSizes; 18158 + VkOpticalFlowGridSizeFlagsNV supportedHintGridSizes; 18159 + VkBool32 hintSupported; 18160 + VkBool32 costSupported; 18161 + VkBool32 bidirectionalFlowSupported; 18162 + VkBool32 globalFlowSupported; 18163 + uint32_t minWidth; 18164 + uint32_t minHeight; 18165 + uint32_t maxWidth; 18166 + uint32_t maxHeight; 18167 + uint32_t maxNumRegionsOfInterest; 18168 + } VkPhysicalDeviceOpticalFlowPropertiesNV; 18169 + 18170 + typedef struct VkOpticalFlowImageFormatInfoNV { 18171 + VkStructureType sType; 18172 + const void* pNext; 18173 + VkOpticalFlowUsageFlagsNV usage; 18174 + } VkOpticalFlowImageFormatInfoNV; 18175 + 18176 + typedef struct VkOpticalFlowImageFormatPropertiesNV { 18177 + VkStructureType sType; 18178 + const void* pNext; 18179 + VkFormat format; 18180 + } VkOpticalFlowImageFormatPropertiesNV; 18181 + 18182 + typedef struct VkOpticalFlowSessionCreateInfoNV { 18183 + VkStructureType sType; 18184 + void* pNext; 18185 + uint32_t width; 18186 + uint32_t height; 18187 + VkFormat imageFormat; 18188 + VkFormat flowVectorFormat; 18189 + VkFormat costFormat; 18190 + VkOpticalFlowGridSizeFlagsNV outputGridSize; 18191 + VkOpticalFlowGridSizeFlagsNV hintGridSize; 18192 + VkOpticalFlowPerformanceLevelNV performanceLevel; 18193 + VkOpticalFlowSessionCreateFlagsNV flags; 18194 + } VkOpticalFlowSessionCreateInfoNV; 18195 + 18196 + typedef struct VkOpticalFlowSessionCreatePrivateDataInfoNV { 18197 + VkStructureType sType; 18198 + void* pNext; 18199 + uint32_t id; 18200 + uint32_t size; 18201 + const void* pPrivateData; 18202 + } VkOpticalFlowSessionCreatePrivateDataInfoNV; 18203 + 18204 + typedef struct VkOpticalFlowExecuteInfoNV { 18205 + VkStructureType sType; 18206 + void* pNext; 18207 + VkOpticalFlowExecuteFlagsNV flags; 18208 + uint32_t regionCount; 18209 + const VkRect2D* pRegions; 18210 + } VkOpticalFlowExecuteInfoNV; 18211 + 18212 + typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV)(VkPhysicalDevice physicalDevice, const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, uint32_t* pFormatCount, VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 18213 + typedef VkResult (VKAPI_PTR *PFN_vkCreateOpticalFlowSessionNV)(VkDevice device, const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkOpticalFlowSessionNV* pSession); 18214 + typedef void (VKAPI_PTR *PFN_vkDestroyOpticalFlowSessionNV)(VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks* pAllocator); 18215 + typedef VkResult (VKAPI_PTR *PFN_vkBindOpticalFlowSessionImageNV)(VkDevice device, VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout); 18216 + typedef void (VKAPI_PTR *PFN_vkCmdOpticalFlowExecuteNV)(VkCommandBuffer commandBuffer, VkOpticalFlowSessionNV session, const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 18217 + 18218 + #ifndef VK_NO_PROTOTYPES 18219 + VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceOpticalFlowImageFormatsNV( 18220 + VkPhysicalDevice physicalDevice, 18221 + const VkOpticalFlowImageFormatInfoNV* pOpticalFlowImageFormatInfo, 18222 + uint32_t* pFormatCount, 18223 + VkOpticalFlowImageFormatPropertiesNV* pImageFormatProperties); 18224 + 18225 + VKAPI_ATTR VkResult VKAPI_CALL vkCreateOpticalFlowSessionNV( 18226 + VkDevice device, 18227 + const VkOpticalFlowSessionCreateInfoNV* pCreateInfo, 18228 + const VkAllocationCallbacks* pAllocator, 18229 + VkOpticalFlowSessionNV* pSession); 18230 + 18231 + VKAPI_ATTR void VKAPI_CALL vkDestroyOpticalFlowSessionNV( 18232 + VkDevice device, 18233 + VkOpticalFlowSessionNV session, 18234 + const VkAllocationCallbacks* pAllocator); 18235 + 18236 + VKAPI_ATTR VkResult VKAPI_CALL vkBindOpticalFlowSessionImageNV( 18237 + VkDevice device, 18238 + VkOpticalFlowSessionNV session, 18239 + VkOpticalFlowSessionBindingPointNV bindingPoint, 18240 + VkImageView view, 18241 + VkImageLayout layout); 18242 + 18243 + VKAPI_ATTR void VKAPI_CALL vkCmdOpticalFlowExecuteNV( 18244 + VkCommandBuffer commandBuffer, 18245 + VkOpticalFlowSessionNV session, 18246 + const VkOpticalFlowExecuteInfoNV* pExecuteInfo); 18247 + #endif 18248 + 18249 + 18250 + // VK_EXT_legacy_dithering is a preprocessor guard. Do not pass it to API calls. 14532 18251 #define VK_EXT_legacy_dithering 1 14533 18252 #define VK_EXT_LEGACY_DITHERING_SPEC_VERSION 1 14534 18253 #define VK_EXT_LEGACY_DITHERING_EXTENSION_NAME "VK_EXT_legacy_dithering" ··· 14540 18259 14541 18260 14542 18261 18262 + // VK_EXT_pipeline_protected_access is a preprocessor guard. Do not pass it to API calls. 18263 + #define VK_EXT_pipeline_protected_access 1 18264 + #define VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION 1 18265 + #define VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME "VK_EXT_pipeline_protected_access" 18266 + typedef struct VkPhysicalDevicePipelineProtectedAccessFeaturesEXT { 18267 + VkStructureType sType; 18268 + void* pNext; 18269 + VkBool32 pipelineProtectedAccess; 18270 + } VkPhysicalDevicePipelineProtectedAccessFeaturesEXT; 18271 + 18272 + 18273 + 18274 + // VK_EXT_shader_object is a preprocessor guard. Do not pass it to API calls. 18275 + #define VK_EXT_shader_object 1 18276 + VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkShaderEXT) 18277 + #define VK_EXT_SHADER_OBJECT_SPEC_VERSION 1 18278 + #define VK_EXT_SHADER_OBJECT_EXTENSION_NAME "VK_EXT_shader_object" 18279 + 18280 + typedef enum VkShaderCodeTypeEXT { 18281 + VK_SHADER_CODE_TYPE_BINARY_EXT = 0, 18282 + VK_SHADER_CODE_TYPE_SPIRV_EXT = 1, 18283 + VK_SHADER_CODE_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 18284 + } VkShaderCodeTypeEXT; 18285 + 18286 + typedef enum VkShaderCreateFlagBitsEXT { 18287 + VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001, 18288 + VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002, 18289 + VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004, 18290 + VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008, 18291 + VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010, 18292 + VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020, 18293 + VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040, 18294 + VK_SHADER_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF 18295 + } VkShaderCreateFlagBitsEXT; 18296 + typedef VkFlags VkShaderCreateFlagsEXT; 18297 + typedef struct VkPhysicalDeviceShaderObjectFeaturesEXT { 18298 + VkStructureType sType; 18299 + void* pNext; 18300 + VkBool32 shaderObject; 18301 + } VkPhysicalDeviceShaderObjectFeaturesEXT; 18302 + 18303 + typedef struct VkPhysicalDeviceShaderObjectPropertiesEXT { 18304 + VkStructureType sType; 18305 + void* pNext; 18306 + uint8_t shaderBinaryUUID[VK_UUID_SIZE]; 18307 + uint32_t shaderBinaryVersion; 18308 + } VkPhysicalDeviceShaderObjectPropertiesEXT; 18309 + 18310 + typedef struct VkShaderCreateInfoEXT { 18311 + VkStructureType sType; 18312 + const void* pNext; 18313 + VkShaderCreateFlagsEXT flags; 18314 + VkShaderStageFlagBits stage; 18315 + VkShaderStageFlags nextStage; 18316 + VkShaderCodeTypeEXT codeType; 18317 + size_t codeSize; 18318 + const void* pCode; 18319 + const char* pName; 18320 + uint32_t setLayoutCount; 18321 + const VkDescriptorSetLayout* pSetLayouts; 18322 + uint32_t pushConstantRangeCount; 18323 + const VkPushConstantRange* pPushConstantRanges; 18324 + const VkSpecializationInfo* pSpecializationInfo; 18325 + } VkShaderCreateInfoEXT; 18326 + 18327 + typedef VkPipelineShaderStageRequiredSubgroupSizeCreateInfo VkShaderRequiredSubgroupSizeCreateInfoEXT; 18328 + 18329 + typedef VkResult (VKAPI_PTR *PFN_vkCreateShadersEXT)(VkDevice device, uint32_t createInfoCount, const VkShaderCreateInfoEXT* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkShaderEXT* pShaders); 18330 + typedef void (VKAPI_PTR *PFN_vkDestroyShaderEXT)(VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks* pAllocator); 18331 + typedef VkResult (VKAPI_PTR *PFN_vkGetShaderBinaryDataEXT)(VkDevice device, VkShaderEXT shader, size_t* pDataSize, void* pData); 18332 + typedef void (VKAPI_PTR *PFN_vkCmdBindShadersEXT)(VkCommandBuffer commandBuffer, uint32_t stageCount, const VkShaderStageFlagBits* pStages, const VkShaderEXT* pShaders); 18333 + 18334 + #ifndef VK_NO_PROTOTYPES 18335 + VKAPI_ATTR VkResult VKAPI_CALL vkCreateShadersEXT( 18336 + VkDevice device, 18337 + uint32_t createInfoCount, 18338 + const VkShaderCreateInfoEXT* pCreateInfos, 18339 + const VkAllocationCallbacks* pAllocator, 18340 + VkShaderEXT* pShaders); 18341 + 18342 + VKAPI_ATTR void VKAPI_CALL vkDestroyShaderEXT( 18343 + VkDevice device, 18344 + VkShaderEXT shader, 18345 + const VkAllocationCallbacks* pAllocator); 18346 + 18347 + VKAPI_ATTR VkResult VKAPI_CALL vkGetShaderBinaryDataEXT( 18348 + VkDevice device, 18349 + VkShaderEXT shader, 18350 + size_t* pDataSize, 18351 + void* pData); 18352 + 18353 + VKAPI_ATTR void VKAPI_CALL vkCmdBindShadersEXT( 18354 + VkCommandBuffer commandBuffer, 18355 + uint32_t stageCount, 18356 + const VkShaderStageFlagBits* pStages, 18357 + const VkShaderEXT* pShaders); 18358 + #endif 18359 + 18360 + 18361 + // VK_QCOM_tile_properties is a preprocessor guard. Do not pass it to API calls. 14543 18362 #define VK_QCOM_tile_properties 1 14544 18363 #define VK_QCOM_TILE_PROPERTIES_SPEC_VERSION 1 14545 18364 #define VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME "VK_QCOM_tile_properties" ··· 14574 18393 #endif 14575 18394 14576 18395 18396 + // VK_SEC_amigo_profiling is a preprocessor guard. Do not pass it to API calls. 14577 18397 #define VK_SEC_amigo_profiling 1 14578 18398 #define VK_SEC_AMIGO_PROFILING_SPEC_VERSION 1 14579 18399 #define VK_SEC_AMIGO_PROFILING_EXTENSION_NAME "VK_SEC_amigo_profiling" ··· 14592 18412 14593 18413 14594 18414 18415 + // VK_QCOM_multiview_per_view_viewports is a preprocessor guard. Do not pass it to API calls. 18416 + #define VK_QCOM_multiview_per_view_viewports 1 18417 + #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION 1 18418 + #define VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME "VK_QCOM_multiview_per_view_viewports" 18419 + typedef struct VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM { 18420 + VkStructureType sType; 18421 + void* pNext; 18422 + VkBool32 multiviewPerViewViewports; 18423 + } VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM; 18424 + 18425 + 18426 + 18427 + // VK_NV_ray_tracing_invocation_reorder is a preprocessor guard. Do not pass it to API calls. 18428 + #define VK_NV_ray_tracing_invocation_reorder 1 18429 + #define VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION 1 18430 + #define VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME "VK_NV_ray_tracing_invocation_reorder" 18431 + 18432 + typedef enum VkRayTracingInvocationReorderModeNV { 18433 + VK_RAY_TRACING_INVOCATION_REORDER_MODE_NONE_NV = 0, 18434 + VK_RAY_TRACING_INVOCATION_REORDER_MODE_REORDER_NV = 1, 18435 + VK_RAY_TRACING_INVOCATION_REORDER_MODE_MAX_ENUM_NV = 0x7FFFFFFF 18436 + } VkRayTracingInvocationReorderModeNV; 18437 + typedef struct VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV { 18438 + VkStructureType sType; 18439 + void* pNext; 18440 + VkRayTracingInvocationReorderModeNV rayTracingInvocationReorderReorderingHint; 18441 + } VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV; 18442 + 18443 + typedef struct VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV { 18444 + VkStructureType sType; 18445 + void* pNext; 18446 + VkBool32 rayTracingInvocationReorder; 18447 + } VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV; 18448 + 18449 + 18450 + 18451 + // VK_NV_extended_sparse_address_space is a preprocessor guard. Do not pass it to API calls. 18452 + #define VK_NV_extended_sparse_address_space 1 18453 + #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION 1 18454 + #define VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME "VK_NV_extended_sparse_address_space" 18455 + typedef struct VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV { 18456 + VkStructureType sType; 18457 + void* pNext; 18458 + VkBool32 extendedSparseAddressSpace; 18459 + } VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV; 18460 + 18461 + typedef struct VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV { 18462 + VkStructureType sType; 18463 + void* pNext; 18464 + VkDeviceSize extendedSparseAddressSpaceSize; 18465 + VkImageUsageFlags extendedSparseImageUsageFlags; 18466 + VkBufferUsageFlags extendedSparseBufferUsageFlags; 18467 + } VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV; 18468 + 18469 + 18470 + 18471 + // VK_EXT_mutable_descriptor_type is a preprocessor guard. Do not pass it to API calls. 18472 + #define VK_EXT_mutable_descriptor_type 1 18473 + #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION 1 18474 + #define VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME "VK_EXT_mutable_descriptor_type" 18475 + 18476 + 18477 + // VK_EXT_layer_settings is a preprocessor guard. Do not pass it to API calls. 18478 + #define VK_EXT_layer_settings 1 18479 + #define VK_EXT_LAYER_SETTINGS_SPEC_VERSION 2 18480 + #define VK_EXT_LAYER_SETTINGS_EXTENSION_NAME "VK_EXT_layer_settings" 18481 + 18482 + typedef enum VkLayerSettingTypeEXT { 18483 + VK_LAYER_SETTING_TYPE_BOOL32_EXT = 0, 18484 + VK_LAYER_SETTING_TYPE_INT32_EXT = 1, 18485 + VK_LAYER_SETTING_TYPE_INT64_EXT = 2, 18486 + VK_LAYER_SETTING_TYPE_UINT32_EXT = 3, 18487 + VK_LAYER_SETTING_TYPE_UINT64_EXT = 4, 18488 + VK_LAYER_SETTING_TYPE_FLOAT32_EXT = 5, 18489 + VK_LAYER_SETTING_TYPE_FLOAT64_EXT = 6, 18490 + VK_LAYER_SETTING_TYPE_STRING_EXT = 7, 18491 + VK_LAYER_SETTING_TYPE_MAX_ENUM_EXT = 0x7FFFFFFF 18492 + } VkLayerSettingTypeEXT; 18493 + typedef struct VkLayerSettingEXT { 18494 + const char* pLayerName; 18495 + const char* pSettingName; 18496 + VkLayerSettingTypeEXT type; 18497 + uint32_t valueCount; 18498 + const void* pValues; 18499 + } VkLayerSettingEXT; 18500 + 18501 + typedef struct VkLayerSettingsCreateInfoEXT { 18502 + VkStructureType sType; 18503 + const void* pNext; 18504 + uint32_t settingCount; 18505 + const VkLayerSettingEXT* pSettings; 18506 + } VkLayerSettingsCreateInfoEXT; 18507 + 18508 + 18509 + 18510 + // VK_ARM_shader_core_builtins is a preprocessor guard. Do not pass it to API calls. 18511 + #define VK_ARM_shader_core_builtins 1 18512 + #define VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION 2 18513 + #define VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME "VK_ARM_shader_core_builtins" 18514 + typedef struct VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM { 18515 + VkStructureType sType; 18516 + void* pNext; 18517 + VkBool32 shaderCoreBuiltins; 18518 + } VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM; 18519 + 18520 + typedef struct VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM { 18521 + VkStructureType sType; 18522 + void* pNext; 18523 + uint64_t shaderCoreMask; 18524 + uint32_t shaderCoreCount; 18525 + uint32_t shaderWarpsPerCore; 18526 + } VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM; 18527 + 18528 + 18529 + 18530 + // VK_EXT_pipeline_library_group_handles is a preprocessor guard. Do not pass it to API calls. 18531 + #define VK_EXT_pipeline_library_group_handles 1 18532 + #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION 1 18533 + #define VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME "VK_EXT_pipeline_library_group_handles" 18534 + typedef struct VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT { 18535 + VkStructureType sType; 18536 + void* pNext; 18537 + VkBool32 pipelineLibraryGroupHandles; 18538 + } VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT; 18539 + 18540 + 18541 + 18542 + // VK_EXT_dynamic_rendering_unused_attachments is a preprocessor guard. Do not pass it to API calls. 18543 + #define VK_EXT_dynamic_rendering_unused_attachments 1 18544 + #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION 1 18545 + #define VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME "VK_EXT_dynamic_rendering_unused_attachments" 18546 + typedef struct VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT { 18547 + VkStructureType sType; 18548 + void* pNext; 18549 + VkBool32 dynamicRenderingUnusedAttachments; 18550 + } VkPhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT; 18551 + 18552 + 18553 + 18554 + // VK_NV_low_latency2 is a preprocessor guard. Do not pass it to API calls. 18555 + #define VK_NV_low_latency2 1 18556 + #define VK_NV_LOW_LATENCY_2_SPEC_VERSION 2 18557 + #define VK_NV_LOW_LATENCY_2_EXTENSION_NAME "VK_NV_low_latency2" 18558 + 18559 + typedef enum VkLatencyMarkerNV { 18560 + VK_LATENCY_MARKER_SIMULATION_START_NV = 0, 18561 + VK_LATENCY_MARKER_SIMULATION_END_NV = 1, 18562 + VK_LATENCY_MARKER_RENDERSUBMIT_START_NV = 2, 18563 + VK_LATENCY_MARKER_RENDERSUBMIT_END_NV = 3, 18564 + VK_LATENCY_MARKER_PRESENT_START_NV = 4, 18565 + VK_LATENCY_MARKER_PRESENT_END_NV = 5, 18566 + VK_LATENCY_MARKER_INPUT_SAMPLE_NV = 6, 18567 + VK_LATENCY_MARKER_TRIGGER_FLASH_NV = 7, 18568 + VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_START_NV = 8, 18569 + VK_LATENCY_MARKER_OUT_OF_BAND_RENDERSUBMIT_END_NV = 9, 18570 + VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_START_NV = 10, 18571 + VK_LATENCY_MARKER_OUT_OF_BAND_PRESENT_END_NV = 11, 18572 + VK_LATENCY_MARKER_MAX_ENUM_NV = 0x7FFFFFFF 18573 + } VkLatencyMarkerNV; 18574 + 18575 + typedef enum VkOutOfBandQueueTypeNV { 18576 + VK_OUT_OF_BAND_QUEUE_TYPE_RENDER_NV = 0, 18577 + VK_OUT_OF_BAND_QUEUE_TYPE_PRESENT_NV = 1, 18578 + VK_OUT_OF_BAND_QUEUE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF 18579 + } VkOutOfBandQueueTypeNV; 18580 + typedef struct VkLatencySleepModeInfoNV { 18581 + VkStructureType sType; 18582 + const void* pNext; 18583 + VkBool32 lowLatencyMode; 18584 + VkBool32 lowLatencyBoost; 18585 + uint32_t minimumIntervalUs; 18586 + } VkLatencySleepModeInfoNV; 18587 + 18588 + typedef struct VkLatencySleepInfoNV { 18589 + VkStructureType sType; 18590 + const void* pNext; 18591 + VkSemaphore signalSemaphore; 18592 + uint64_t value; 18593 + } VkLatencySleepInfoNV; 18594 + 18595 + typedef struct VkSetLatencyMarkerInfoNV { 18596 + VkStructureType sType; 18597 + const void* pNext; 18598 + uint64_t presentID; 18599 + VkLatencyMarkerNV marker; 18600 + } VkSetLatencyMarkerInfoNV; 18601 + 18602 + typedef struct VkLatencyTimingsFrameReportNV { 18603 + VkStructureType sType; 18604 + const void* pNext; 18605 + uint64_t presentID; 18606 + uint64_t inputSampleTimeUs; 18607 + uint64_t simStartTimeUs; 18608 + uint64_t simEndTimeUs; 18609 + uint64_t renderSubmitStartTimeUs; 18610 + uint64_t renderSubmitEndTimeUs; 18611 + uint64_t presentStartTimeUs; 18612 + uint64_t presentEndTimeUs; 18613 + uint64_t driverStartTimeUs; 18614 + uint64_t driverEndTimeUs; 18615 + uint64_t osRenderQueueStartTimeUs; 18616 + uint64_t osRenderQueueEndTimeUs; 18617 + uint64_t gpuRenderStartTimeUs; 18618 + uint64_t gpuRenderEndTimeUs; 18619 + } VkLatencyTimingsFrameReportNV; 18620 + 18621 + typedef struct VkGetLatencyMarkerInfoNV { 18622 + VkStructureType sType; 18623 + const void* pNext; 18624 + uint32_t timingCount; 18625 + VkLatencyTimingsFrameReportNV* pTimings; 18626 + } VkGetLatencyMarkerInfoNV; 18627 + 18628 + typedef struct VkLatencySubmissionPresentIdNV { 18629 + VkStructureType sType; 18630 + const void* pNext; 18631 + uint64_t presentID; 18632 + } VkLatencySubmissionPresentIdNV; 18633 + 18634 + typedef struct VkSwapchainLatencyCreateInfoNV { 18635 + VkStructureType sType; 18636 + const void* pNext; 18637 + VkBool32 latencyModeEnable; 18638 + } VkSwapchainLatencyCreateInfoNV; 18639 + 18640 + typedef struct VkOutOfBandQueueTypeInfoNV { 18641 + VkStructureType sType; 18642 + const void* pNext; 18643 + VkOutOfBandQueueTypeNV queueType; 18644 + } VkOutOfBandQueueTypeInfoNV; 18645 + 18646 + typedef struct VkLatencySurfaceCapabilitiesNV { 18647 + VkStructureType sType; 18648 + const void* pNext; 18649 + uint32_t presentModeCount; 18650 + VkPresentModeKHR* pPresentModes; 18651 + } VkLatencySurfaceCapabilitiesNV; 18652 + 18653 + typedef VkResult (VKAPI_PTR *PFN_vkSetLatencySleepModeNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV* pSleepModeInfo); 18654 + typedef VkResult (VKAPI_PTR *PFN_vkLatencySleepNV)(VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV* pSleepInfo); 18655 + typedef void (VKAPI_PTR *PFN_vkSetLatencyMarkerNV)(VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18656 + typedef void (VKAPI_PTR *PFN_vkGetLatencyTimingsNV)(VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18657 + typedef void (VKAPI_PTR *PFN_vkQueueNotifyOutOfBandNV)(VkQueue queue, const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 18658 + 18659 + #ifndef VK_NO_PROTOTYPES 18660 + VKAPI_ATTR VkResult VKAPI_CALL vkSetLatencySleepModeNV( 18661 + VkDevice device, 18662 + VkSwapchainKHR swapchain, 18663 + const VkLatencySleepModeInfoNV* pSleepModeInfo); 18664 + 18665 + VKAPI_ATTR VkResult VKAPI_CALL vkLatencySleepNV( 18666 + VkDevice device, 18667 + VkSwapchainKHR swapchain, 18668 + const VkLatencySleepInfoNV* pSleepInfo); 18669 + 18670 + VKAPI_ATTR void VKAPI_CALL vkSetLatencyMarkerNV( 18671 + VkDevice device, 18672 + VkSwapchainKHR swapchain, 18673 + const VkSetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18674 + 18675 + VKAPI_ATTR void VKAPI_CALL vkGetLatencyTimingsNV( 18676 + VkDevice device, 18677 + VkSwapchainKHR swapchain, 18678 + VkGetLatencyMarkerInfoNV* pLatencyMarkerInfo); 18679 + 18680 + VKAPI_ATTR void VKAPI_CALL vkQueueNotifyOutOfBandNV( 18681 + VkQueue queue, 18682 + const VkOutOfBandQueueTypeInfoNV* pQueueTypeInfo); 18683 + #endif 18684 + 18685 + 18686 + // VK_QCOM_multiview_per_view_render_areas is a preprocessor guard. Do not pass it to API calls. 18687 + #define VK_QCOM_multiview_per_view_render_areas 1 18688 + #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION 1 18689 + #define VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME "VK_QCOM_multiview_per_view_render_areas" 18690 + typedef struct VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM { 18691 + VkStructureType sType; 18692 + void* pNext; 18693 + VkBool32 multiviewPerViewRenderAreas; 18694 + } VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM; 18695 + 18696 + typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM { 18697 + VkStructureType sType; 18698 + const void* pNext; 18699 + uint32_t perViewRenderAreaCount; 18700 + const VkRect2D* pPerViewRenderAreas; 18701 + } VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM; 18702 + 18703 + 18704 + 18705 + // VK_NV_per_stage_descriptor_set is a preprocessor guard. Do not pass it to API calls. 18706 + #define VK_NV_per_stage_descriptor_set 1 18707 + #define VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION 1 18708 + #define VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME "VK_NV_per_stage_descriptor_set" 18709 + typedef struct VkPhysicalDevicePerStageDescriptorSetFeaturesNV { 18710 + VkStructureType sType; 18711 + void* pNext; 18712 + VkBool32 perStageDescriptorSet; 18713 + VkBool32 dynamicPipelineLayout; 18714 + } VkPhysicalDevicePerStageDescriptorSetFeaturesNV; 18715 + 18716 + 18717 + 18718 + // VK_QCOM_image_processing2 is a preprocessor guard. Do not pass it to API calls. 18719 + #define VK_QCOM_image_processing2 1 18720 + #define VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION 1 18721 + #define VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME "VK_QCOM_image_processing2" 18722 + 18723 + typedef enum VkBlockMatchWindowCompareModeQCOM { 18724 + VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MIN_QCOM = 0, 18725 + VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_QCOM = 1, 18726 + VK_BLOCK_MATCH_WINDOW_COMPARE_MODE_MAX_ENUM_QCOM = 0x7FFFFFFF 18727 + } VkBlockMatchWindowCompareModeQCOM; 18728 + typedef struct VkPhysicalDeviceImageProcessing2FeaturesQCOM { 18729 + VkStructureType sType; 18730 + void* pNext; 18731 + VkBool32 textureBlockMatch2; 18732 + } VkPhysicalDeviceImageProcessing2FeaturesQCOM; 18733 + 18734 + typedef struct VkPhysicalDeviceImageProcessing2PropertiesQCOM { 18735 + VkStructureType sType; 18736 + void* pNext; 18737 + VkExtent2D maxBlockMatchWindow; 18738 + } VkPhysicalDeviceImageProcessing2PropertiesQCOM; 18739 + 18740 + typedef struct VkSamplerBlockMatchWindowCreateInfoQCOM { 18741 + VkStructureType sType; 18742 + const void* pNext; 18743 + VkExtent2D windowExtent; 18744 + VkBlockMatchWindowCompareModeQCOM windowCompareMode; 18745 + } VkSamplerBlockMatchWindowCreateInfoQCOM; 18746 + 18747 + 18748 + 18749 + // VK_QCOM_filter_cubic_weights is a preprocessor guard. Do not pass it to API calls. 18750 + #define VK_QCOM_filter_cubic_weights 1 18751 + #define VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION 1 18752 + #define VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME "VK_QCOM_filter_cubic_weights" 18753 + 18754 + typedef enum VkCubicFilterWeightsQCOM { 18755 + VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM = 0, 18756 + VK_CUBIC_FILTER_WEIGHTS_ZERO_TANGENT_CARDINAL_QCOM = 1, 18757 + VK_CUBIC_FILTER_WEIGHTS_B_SPLINE_QCOM = 2, 18758 + VK_CUBIC_FILTER_WEIGHTS_MITCHELL_NETRAVALI_QCOM = 3, 18759 + VK_CUBIC_FILTER_WEIGHTS_MAX_ENUM_QCOM = 0x7FFFFFFF 18760 + } VkCubicFilterWeightsQCOM; 18761 + typedef struct VkPhysicalDeviceCubicWeightsFeaturesQCOM { 18762 + VkStructureType sType; 18763 + void* pNext; 18764 + VkBool32 selectableCubicWeights; 18765 + } VkPhysicalDeviceCubicWeightsFeaturesQCOM; 18766 + 18767 + typedef struct VkSamplerCubicWeightsCreateInfoQCOM { 18768 + VkStructureType sType; 18769 + const void* pNext; 18770 + VkCubicFilterWeightsQCOM cubicWeights; 18771 + } VkSamplerCubicWeightsCreateInfoQCOM; 18772 + 18773 + typedef struct VkBlitImageCubicWeightsInfoQCOM { 18774 + VkStructureType sType; 18775 + const void* pNext; 18776 + VkCubicFilterWeightsQCOM cubicWeights; 18777 + } VkBlitImageCubicWeightsInfoQCOM; 18778 + 18779 + 18780 + 18781 + // VK_QCOM_ycbcr_degamma is a preprocessor guard. Do not pass it to API calls. 18782 + #define VK_QCOM_ycbcr_degamma 1 18783 + #define VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION 1 18784 + #define VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME "VK_QCOM_ycbcr_degamma" 18785 + typedef struct VkPhysicalDeviceYcbcrDegammaFeaturesQCOM { 18786 + VkStructureType sType; 18787 + void* pNext; 18788 + VkBool32 ycbcrDegamma; 18789 + } VkPhysicalDeviceYcbcrDegammaFeaturesQCOM; 18790 + 18791 + typedef struct VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM { 18792 + VkStructureType sType; 18793 + void* pNext; 18794 + VkBool32 enableYDegamma; 18795 + VkBool32 enableCbCrDegamma; 18796 + } VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM; 18797 + 18798 + 18799 + 18800 + // VK_QCOM_filter_cubic_clamp is a preprocessor guard. Do not pass it to API calls. 18801 + #define VK_QCOM_filter_cubic_clamp 1 18802 + #define VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION 1 18803 + #define VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME "VK_QCOM_filter_cubic_clamp" 18804 + typedef struct VkPhysicalDeviceCubicClampFeaturesQCOM { 18805 + VkStructureType sType; 18806 + void* pNext; 18807 + VkBool32 cubicRangeClamp; 18808 + } VkPhysicalDeviceCubicClampFeaturesQCOM; 18809 + 18810 + 18811 + 18812 + // VK_EXT_attachment_feedback_loop_dynamic_state is a preprocessor guard. Do not pass it to API calls. 18813 + #define VK_EXT_attachment_feedback_loop_dynamic_state 1 18814 + #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION 1 18815 + #define VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME "VK_EXT_attachment_feedback_loop_dynamic_state" 18816 + typedef struct VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT { 18817 + VkStructureType sType; 18818 + void* pNext; 18819 + VkBool32 attachmentFeedbackLoopDynamicState; 18820 + } VkPhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT; 18821 + 18822 + typedef void (VKAPI_PTR *PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT)(VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask); 18823 + 18824 + #ifndef VK_NO_PROTOTYPES 18825 + VKAPI_ATTR void VKAPI_CALL vkCmdSetAttachmentFeedbackLoopEnableEXT( 18826 + VkCommandBuffer commandBuffer, 18827 + VkImageAspectFlags aspectMask); 18828 + #endif 18829 + 18830 + 18831 + // VK_MSFT_layered_driver is a preprocessor guard. Do not pass it to API calls. 18832 + #define VK_MSFT_layered_driver 1 18833 + #define VK_MSFT_LAYERED_DRIVER_SPEC_VERSION 1 18834 + #define VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME "VK_MSFT_layered_driver" 18835 + 18836 + typedef enum VkLayeredDriverUnderlyingApiMSFT { 18837 + VK_LAYERED_DRIVER_UNDERLYING_API_NONE_MSFT = 0, 18838 + VK_LAYERED_DRIVER_UNDERLYING_API_D3D12_MSFT = 1, 18839 + VK_LAYERED_DRIVER_UNDERLYING_API_MAX_ENUM_MSFT = 0x7FFFFFFF 18840 + } VkLayeredDriverUnderlyingApiMSFT; 18841 + typedef struct VkPhysicalDeviceLayeredDriverPropertiesMSFT { 18842 + VkStructureType sType; 18843 + void* pNext; 18844 + VkLayeredDriverUnderlyingApiMSFT underlyingAPI; 18845 + } VkPhysicalDeviceLayeredDriverPropertiesMSFT; 18846 + 18847 + 18848 + 18849 + // VK_NV_descriptor_pool_overallocation is a preprocessor guard. Do not pass it to API calls. 18850 + #define VK_NV_descriptor_pool_overallocation 1 18851 + #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION 1 18852 + #define VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME "VK_NV_descriptor_pool_overallocation" 18853 + typedef struct VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV { 18854 + VkStructureType sType; 18855 + void* pNext; 18856 + VkBool32 descriptorPoolOverallocation; 18857 + } VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV; 18858 + 18859 + 18860 + 18861 + // VK_KHR_acceleration_structure is a preprocessor guard. Do not pass it to API calls. 14595 18862 #define VK_KHR_acceleration_structure 1 14596 - VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR) 14597 18863 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13 14598 18864 #define VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME "VK_KHR_acceleration_structure" 14599 18865 ··· 14603 18869 VK_BUILD_ACCELERATION_STRUCTURE_MODE_MAX_ENUM_KHR = 0x7FFFFFFF 14604 18870 } VkBuildAccelerationStructureModeKHR; 14605 18871 14606 - typedef enum VkAccelerationStructureBuildTypeKHR { 14607 - VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0, 14608 - VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1, 14609 - VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2, 14610 - VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF 14611 - } VkAccelerationStructureBuildTypeKHR; 14612 - 14613 - typedef enum VkAccelerationStructureCompatibilityKHR { 14614 - VK_ACCELERATION_STRUCTURE_COMPATIBILITY_COMPATIBLE_KHR = 0, 14615 - VK_ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR = 1, 14616 - VK_ACCELERATION_STRUCTURE_COMPATIBILITY_MAX_ENUM_KHR = 0x7FFFFFFF 14617 - } VkAccelerationStructureCompatibilityKHR; 14618 - 14619 18872 typedef enum VkAccelerationStructureCreateFlagBitsKHR { 14620 18873 VK_ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR = 0x00000001, 18874 + VK_ACCELERATION_STRUCTURE_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT = 0x00000008, 14621 18875 VK_ACCELERATION_STRUCTURE_CREATE_MOTION_BIT_NV = 0x00000004, 14622 18876 VK_ACCELERATION_STRUCTURE_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF 14623 18877 } VkAccelerationStructureCreateFlagBitsKHR; 14624 18878 typedef VkFlags VkAccelerationStructureCreateFlagsKHR; 14625 - typedef union VkDeviceOrHostAddressKHR { 14626 - VkDeviceAddress deviceAddress; 14627 - void* hostAddress; 14628 - } VkDeviceOrHostAddressKHR; 14629 - 14630 18879 typedef struct VkAccelerationStructureBuildRangeInfoKHR { 14631 18880 uint32_t primitiveCount; 14632 18881 uint32_t primitiveOffset; ··· 14885 19134 #endif 14886 19135 14887 19136 19137 + // VK_KHR_ray_tracing_pipeline is a preprocessor guard. Do not pass it to API calls. 14888 19138 #define VK_KHR_ray_tracing_pipeline 1 14889 19139 #define VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION 1 14890 19140 #define VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME "VK_KHR_ray_tracing_pipeline" ··· 15021 19271 #endif 15022 19272 15023 19273 19274 + // VK_KHR_ray_query is a preprocessor guard. Do not pass it to API calls. 15024 19275 #define VK_KHR_ray_query 1 15025 19276 #define VK_KHR_RAY_QUERY_SPEC_VERSION 1 15026 19277 #define VK_KHR_RAY_QUERY_EXTENSION_NAME "VK_KHR_ray_query" ··· 15032 19283 15033 19284 15034 19285 19286 + // VK_EXT_mesh_shader is a preprocessor guard. Do not pass it to API calls. 15035 19287 #define VK_EXT_mesh_shader 1 15036 19288 #define VK_EXT_MESH_SHADER_SPEC_VERSION 1 15037 19289 #define VK_EXT_MESH_SHADER_EXTENSION_NAME "VK_EXT_mesh_shader"
+2 -1
src/video/khronos/vulkan/vulkan_directfb.h
··· 2 2 #define VULKAN_DIRECTFB_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_EXT_directfb_surface is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_EXT_directfb_surface 1 23 24 #define VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION 1 24 25 #define VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME "VK_EXT_directfb_surface"
+5 -1
src/video/khronos/vulkan/vulkan_fuchsia.h
··· 2 2 #define VULKAN_FUCHSIA_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_FUCHSIA_imagepipe_surface is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_FUCHSIA_imagepipe_surface 1 23 24 #define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1 24 25 #define VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME "VK_FUCHSIA_imagepipe_surface" ··· 41 42 #endif 42 43 43 44 45 + // VK_FUCHSIA_external_memory is a preprocessor guard. Do not pass it to API calls. 44 46 #define VK_FUCHSIA_external_memory 1 45 47 #define VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION 1 46 48 #define VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME "VK_FUCHSIA_external_memory" ··· 81 83 #endif 82 84 83 85 86 + // VK_FUCHSIA_external_semaphore is a preprocessor guard. Do not pass it to API calls. 84 87 #define VK_FUCHSIA_external_semaphore 1 85 88 #define VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION 1 86 89 #define VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_FUCHSIA_external_semaphore" ··· 115 118 #endif 116 119 117 120 121 + // VK_FUCHSIA_buffer_collection is a preprocessor guard. Do not pass it to API calls. 118 122 #define VK_FUCHSIA_buffer_collection 1 119 123 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA) 120 124 #define VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION 2
+3 -1
src/video/khronos/vulkan/vulkan_ggp.h
··· 2 2 #define VULKAN_GGP_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_GGP_stream_descriptor_surface is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_GGP_stream_descriptor_surface 1 23 24 #define VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION 1 24 25 #define VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME "VK_GGP_stream_descriptor_surface" ··· 41 42 #endif 42 43 43 44 45 + // VK_GGP_frame_token is a preprocessor guard. Do not pass it to API calls. 44 46 #define VK_GGP_frame_token 1 45 47 #define VK_GGP_FRAME_TOKEN_SPEC_VERSION 1 46 48 #define VK_GGP_FRAME_TOKEN_EXTENSION_NAME "VK_GGP_frame_token"
+2 -1
src/video/khronos/vulkan/vulkan_ios.h
··· 2 2 #define VULKAN_IOS_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_MVK_ios_surface is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_MVK_ios_surface 1 23 24 #define VK_MVK_IOS_SURFACE_SPEC_VERSION 3 24 25 #define VK_MVK_IOS_SURFACE_EXTENSION_NAME "VK_MVK_ios_surface"
+2 -1
src/video/khronos/vulkan/vulkan_macos.h
··· 2 2 #define VULKAN_MACOS_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_MVK_macos_surface is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_MVK_macos_surface 1 23 24 #define VK_MVK_MACOS_SURFACE_SPEC_VERSION 3 24 25 #define VK_MVK_MACOS_SURFACE_EXTENSION_NAME "VK_MVK_macos_surface"
+12 -18
src/video/khronos/vulkan/vulkan_metal.h
··· 2 2 #define VULKAN_METAL_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_EXT_metal_surface is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_EXT_metal_surface 1 23 24 #ifdef __OBJC__ 24 25 @class CAMetalLayer; ··· 26 27 typedef void CAMetalLayer; 27 28 #endif 28 29 29 - #define SDL_UNSAFE_UNRETAINED 30 - #if defined(__OBJC__) && defined(__has_feature) 31 - #if __has_feature(objc_arc) 32 - #undef SDL_UNSAFE_UNRETAINED 33 - #define SDL_UNSAFE_UNRETAINED __unsafe_unretained 34 - #endif 35 - #endif 36 - 37 30 #define VK_EXT_METAL_SURFACE_SPEC_VERSION 1 38 31 #define VK_EXT_METAL_SURFACE_EXTENSION_NAME "VK_EXT_metal_surface" 39 32 typedef VkFlags VkMetalSurfaceCreateFlagsEXT; ··· 41 34 VkStructureType sType; 42 35 const void* pNext; 43 36 VkMetalSurfaceCreateFlagsEXT flags; 44 - const CAMetalLayer SDL_UNSAFE_UNRETAINED *pLayer; 37 + const CAMetalLayer* pLayer; 45 38 } VkMetalSurfaceCreateInfoEXT; 46 39 47 40 typedef VkResult (VKAPI_PTR *PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); ··· 55 48 #endif 56 49 57 50 51 + // VK_EXT_metal_objects is a preprocessor guard. Do not pass it to API calls. 58 52 #define VK_EXT_metal_objects 1 59 53 #ifdef __OBJC__ 60 54 @protocol MTLDevice; ··· 119 113 typedef struct VkExportMetalDeviceInfoEXT { 120 114 VkStructureType sType; 121 115 const void* pNext; 122 - MTLDevice_id SDL_UNSAFE_UNRETAINED mtlDevice; 116 + MTLDevice_id mtlDevice; 123 117 } VkExportMetalDeviceInfoEXT; 124 118 125 119 typedef struct VkExportMetalCommandQueueInfoEXT { 126 120 VkStructureType sType; 127 121 const void* pNext; 128 122 VkQueue queue; 129 - MTLCommandQueue_id SDL_UNSAFE_UNRETAINED mtlCommandQueue; 123 + MTLCommandQueue_id mtlCommandQueue; 130 124 } VkExportMetalCommandQueueInfoEXT; 131 125 132 126 typedef struct VkExportMetalBufferInfoEXT { 133 127 VkStructureType sType; 134 128 const void* pNext; 135 129 VkDeviceMemory memory; 136 - MTLBuffer_id SDL_UNSAFE_UNRETAINED mtlBuffer; 130 + MTLBuffer_id mtlBuffer; 137 131 } VkExportMetalBufferInfoEXT; 138 132 139 133 typedef struct VkImportMetalBufferInfoEXT { 140 134 VkStructureType sType; 141 135 const void* pNext; 142 - MTLBuffer_id SDL_UNSAFE_UNRETAINED mtlBuffer; 136 + MTLBuffer_id mtlBuffer; 143 137 } VkImportMetalBufferInfoEXT; 144 138 145 139 typedef struct VkExportMetalTextureInfoEXT { ··· 149 143 VkImageView imageView; 150 144 VkBufferView bufferView; 151 145 VkImageAspectFlagBits plane; 152 - MTLTexture_id SDL_UNSAFE_UNRETAINED mtlTexture; 146 + MTLTexture_id mtlTexture; 153 147 } VkExportMetalTextureInfoEXT; 154 148 155 149 typedef struct VkImportMetalTextureInfoEXT { 156 150 VkStructureType sType; 157 151 const void* pNext; 158 152 VkImageAspectFlagBits plane; 159 - MTLTexture_id SDL_UNSAFE_UNRETAINED mtlTexture; 153 + MTLTexture_id mtlTexture; 160 154 } VkImportMetalTextureInfoEXT; 161 155 162 156 typedef struct VkExportMetalIOSurfaceInfoEXT { ··· 177 171 const void* pNext; 178 172 VkSemaphore semaphore; 179 173 VkEvent event; 180 - MTLSharedEvent_id SDL_UNSAFE_UNRETAINED mtlSharedEvent; 174 + MTLSharedEvent_id mtlSharedEvent; 181 175 } VkExportMetalSharedEventInfoEXT; 182 176 183 177 typedef struct VkImportMetalSharedEventInfoEXT { 184 178 VkStructureType sType; 185 179 const void* pNext; 186 - MTLSharedEvent_id SDL_UNSAFE_UNRETAINED mtlSharedEvent; 180 + MTLSharedEvent_id mtlSharedEvent; 187 181 } VkImportMetalSharedEventInfoEXT; 188 182 189 183 typedef void (VKAPI_PTR *PFN_vkExportMetalObjectsEXT)(VkDevice device, VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
+55 -1
src/video/khronos/vulkan/vulkan_screen.h
··· 2 2 #define VULKAN_SCREEN_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_QNX_screen_surface is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_QNX_screen_surface 1 23 24 #define VK_QNX_SCREEN_SURFACE_SPEC_VERSION 1 24 25 #define VK_QNX_SCREEN_SURFACE_EXTENSION_NAME "VK_QNX_screen_surface" ··· 45 46 VkPhysicalDevice physicalDevice, 46 47 uint32_t queueFamilyIndex, 47 48 struct _screen_window* window); 49 + #endif 50 + 51 + 52 + // VK_QNX_external_memory_screen_buffer is a preprocessor guard. Do not pass it to API calls. 53 + #define VK_QNX_external_memory_screen_buffer 1 54 + #define VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION 1 55 + #define VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME "VK_QNX_external_memory_screen_buffer" 56 + typedef struct VkScreenBufferPropertiesQNX { 57 + VkStructureType sType; 58 + void* pNext; 59 + VkDeviceSize allocationSize; 60 + uint32_t memoryTypeBits; 61 + } VkScreenBufferPropertiesQNX; 62 + 63 + typedef struct VkScreenBufferFormatPropertiesQNX { 64 + VkStructureType sType; 65 + void* pNext; 66 + VkFormat format; 67 + uint64_t externalFormat; 68 + uint64_t screenUsage; 69 + VkFormatFeatureFlags formatFeatures; 70 + VkComponentMapping samplerYcbcrConversionComponents; 71 + VkSamplerYcbcrModelConversion suggestedYcbcrModel; 72 + VkSamplerYcbcrRange suggestedYcbcrRange; 73 + VkChromaLocation suggestedXChromaOffset; 74 + VkChromaLocation suggestedYChromaOffset; 75 + } VkScreenBufferFormatPropertiesQNX; 76 + 77 + typedef struct VkImportScreenBufferInfoQNX { 78 + VkStructureType sType; 79 + const void* pNext; 80 + struct _screen_buffer* buffer; 81 + } VkImportScreenBufferInfoQNX; 82 + 83 + typedef struct VkExternalFormatQNX { 84 + VkStructureType sType; 85 + void* pNext; 86 + uint64_t externalFormat; 87 + } VkExternalFormatQNX; 88 + 89 + typedef struct VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX { 90 + VkStructureType sType; 91 + void* pNext; 92 + VkBool32 screenBufferImport; 93 + } VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX; 94 + 95 + typedef VkResult (VKAPI_PTR *PFN_vkGetScreenBufferPropertiesQNX)(VkDevice device, const struct _screen_buffer* buffer, VkScreenBufferPropertiesQNX* pProperties); 96 + 97 + #ifndef VK_NO_PROTOTYPES 98 + VKAPI_ATTR VkResult VKAPI_CALL vkGetScreenBufferPropertiesQNX( 99 + VkDevice device, 100 + const struct _screen_buffer* buffer, 101 + VkScreenBufferPropertiesQNX* pProperties); 48 102 #endif 49 103 50 104 #ifdef __cplusplus
+2 -1
src/video/khronos/vulkan/vulkan_vi.h
··· 2 2 #define VULKAN_VI_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_NN_vi_surface is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_NN_vi_surface 1 23 24 #define VK_NN_VI_SURFACE_SPEC_VERSION 1 24 25 #define VK_NN_VI_SURFACE_EXTENSION_NAME "VK_NN_vi_surface"
+2 -1
src/video/khronos/vulkan/vulkan_wayland.h
··· 2 2 #define VULKAN_WAYLAND_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_KHR_wayland_surface is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_KHR_wayland_surface 1 23 24 #define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6 24 25 #define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"
+28 -1
src/video/khronos/vulkan/vulkan_win32.h
··· 2 2 #define VULKAN_WIN32_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_KHR_win32_surface is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_KHR_win32_surface 1 23 24 #define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6 24 25 #define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface" ··· 47 48 #endif 48 49 49 50 51 + // VK_KHR_external_memory_win32 is a preprocessor guard. Do not pass it to API calls. 50 52 #define VK_KHR_external_memory_win32 1 51 53 #define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 52 54 #define VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHR_external_memory_win32" ··· 96 98 #endif 97 99 98 100 101 + // VK_KHR_win32_keyed_mutex is a preprocessor guard. Do not pass it to API calls. 99 102 #define VK_KHR_win32_keyed_mutex 1 100 103 #define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1 101 104 #define VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_KHR_win32_keyed_mutex" ··· 113 116 114 117 115 118 119 + // VK_KHR_external_semaphore_win32 is a preprocessor guard. Do not pass it to API calls. 116 120 #define VK_KHR_external_semaphore_win32 1 117 121 #define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1 118 122 #define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME "VK_KHR_external_semaphore_win32" ··· 165 169 #endif 166 170 167 171 172 + // VK_KHR_external_fence_win32 is a preprocessor guard. Do not pass it to API calls. 168 173 #define VK_KHR_external_fence_win32 1 169 174 #define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1 170 175 #define VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME "VK_KHR_external_fence_win32" ··· 208 213 #endif 209 214 210 215 216 + // VK_NV_external_memory_win32 is a preprocessor guard. Do not pass it to API calls. 211 217 #define VK_NV_external_memory_win32 1 212 218 #define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1 213 219 #define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32" ··· 236 242 #endif 237 243 238 244 245 + // VK_NV_win32_keyed_mutex is a preprocessor guard. Do not pass it to API calls. 239 246 #define VK_NV_win32_keyed_mutex 1 240 247 #define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 2 241 248 #define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex" ··· 253 260 254 261 255 262 263 + // VK_EXT_full_screen_exclusive is a preprocessor guard. Do not pass it to API calls. 256 264 #define VK_EXT_full_screen_exclusive 1 257 265 #define VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION 4 258 266 #define VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME "VK_EXT_full_screen_exclusive" ··· 306 314 VkDevice device, 307 315 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, 308 316 VkDeviceGroupPresentModeFlagsKHR* pModes); 317 + #endif 318 + 319 + 320 + // VK_NV_acquire_winrt_display is a preprocessor guard. Do not pass it to API calls. 321 + #define VK_NV_acquire_winrt_display 1 322 + #define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1 323 + #define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display" 324 + typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display); 325 + typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay); 326 + 327 + #ifndef VK_NO_PROTOTYPES 328 + VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV( 329 + VkPhysicalDevice physicalDevice, 330 + VkDisplayKHR display); 331 + 332 + VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV( 333 + VkPhysicalDevice physicalDevice, 334 + uint32_t deviceRelativeId, 335 + VkDisplayKHR* pDisplay); 309 336 #endif 310 337 311 338 #ifdef __cplusplus
+2 -1
src/video/khronos/vulkan/vulkan_xcb.h
··· 2 2 #define VULKAN_XCB_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_KHR_xcb_surface is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_KHR_xcb_surface 1 23 24 #define VK_KHR_XCB_SURFACE_SPEC_VERSION 6 24 25 #define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface"
+2 -1
src/video/khronos/vulkan/vulkan_xlib.h
··· 2 2 #define VULKAN_XLIB_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_KHR_xlib_surface is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_KHR_xlib_surface 1 23 24 #define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6 24 25 #define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface"
+2 -1
src/video/khronos/vulkan/vulkan_xlib_xrandr.h
··· 2 2 #define VULKAN_XLIB_XRANDR_H_ 1 3 3 4 4 /* 5 - ** Copyright 2015-2022 The Khronos Group Inc. 5 + ** Copyright 2015-2024 The Khronos Group Inc. 6 6 ** 7 7 ** SPDX-License-Identifier: Apache-2.0 8 8 */ ··· 19 19 20 20 21 21 22 + // VK_EXT_acquire_xlib_display is a preprocessor guard. Do not pass it to API calls. 22 23 #define VK_EXT_acquire_xlib_display 1 23 24 #define VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION 1 24 25 #define VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_xlib_display"