Skip to content

Commit 5a5c9a6

Browse files
committed
Update for Vulkan-Docs 1.3.277
1 parent ea45703 commit 5a5c9a6

16 files changed

+2169
-69
lines changed

include/vk_video/vulkan_video_codec_av1std.h

Lines changed: 392 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_
2+
#define VULKAN_VIDEO_CODEC_AV1STD_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_av1std_decode is a preprocessor guard. Do not pass it to API calls.
23+
#define vulkan_video_codec_av1std_decode 1
24+
#include "vulkan_video_codec_av1std.h"
25+
26+
#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
27+
28+
#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0
29+
#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_av1_decode"
30+
typedef struct StdVideoDecodeAV1PictureInfoFlags {
31+
uint32_t error_resilient_mode : 1;
32+
uint32_t disable_cdf_update : 1;
33+
uint32_t use_superres : 1;
34+
uint32_t render_and_frame_size_different : 1;
35+
uint32_t allow_screen_content_tools : 1;
36+
uint32_t is_filter_switchable : 1;
37+
uint32_t force_integer_mv : 1;
38+
uint32_t frame_size_override_flag : 1;
39+
uint32_t buffer_removal_time_present_flag : 1;
40+
uint32_t allow_intrabc : 1;
41+
uint32_t frame_refs_short_signaling : 1;
42+
uint32_t allow_high_precision_mv : 1;
43+
uint32_t is_motion_mode_switchable : 1;
44+
uint32_t use_ref_frame_mvs : 1;
45+
uint32_t disable_frame_end_update_cdf : 1;
46+
uint32_t allow_warped_motion : 1;
47+
uint32_t reduced_tx_set : 1;
48+
uint32_t reference_select : 1;
49+
uint32_t skip_mode_present : 1;
50+
uint32_t delta_q_present : 1;
51+
uint32_t delta_lf_present : 1;
52+
uint32_t delta_lf_multi : 1;
53+
uint32_t segmentation_enabled : 1;
54+
uint32_t segmentation_update_map : 1;
55+
uint32_t segmentation_temporal_update : 1;
56+
uint32_t segmentation_update_data : 1;
57+
uint32_t UsesLr : 1;
58+
uint32_t usesChromaLr : 1;
59+
uint32_t apply_grain : 1;
60+
uint32_t reserved : 3;
61+
} StdVideoDecodeAV1PictureInfoFlags;
62+
63+
typedef struct StdVideoDecodeAV1PictureInfo {
64+
StdVideoDecodeAV1PictureInfoFlags flags;
65+
StdVideoAV1FrameType frame_type;
66+
uint32_t current_frame_id;
67+
uint8_t OrderHint;
68+
uint8_t primary_ref_frame;
69+
uint8_t refresh_frame_flags;
70+
uint8_t reserved1;
71+
StdVideoAV1InterpolationFilter interpolation_filter;
72+
StdVideoAV1TxMode TxMode;
73+
uint8_t delta_q_res;
74+
uint8_t delta_lf_res;
75+
uint8_t SkipModeFrame[STD_VIDEO_AV1_SKIP_MODE_FRAMES];
76+
uint8_t coded_denom;
77+
uint8_t reserved2[3];
78+
uint8_t OrderHints[STD_VIDEO_AV1_NUM_REF_FRAMES];
79+
uint32_t expectedFrameId[STD_VIDEO_AV1_NUM_REF_FRAMES];
80+
const StdVideoAV1TileInfo* pTileInfo;
81+
const StdVideoAV1Quantization* pQuantization;
82+
const StdVideoAV1Segmentation* pSegmentation;
83+
const StdVideoAV1LoopFilter* pLoopFilter;
84+
const StdVideoAV1CDEF* pCDEF;
85+
const StdVideoAV1LoopRestoration* pLoopRestoration;
86+
const StdVideoAV1GlobalMotion* pGlobalMotion;
87+
const StdVideoAV1FilmGrain* pFilmGrain;
88+
} StdVideoDecodeAV1PictureInfo;
89+
90+
typedef struct StdVideoDecodeAV1ReferenceInfoFlags {
91+
uint32_t disable_frame_end_update_cdf : 1;
92+
uint32_t segmentation_enabled : 1;
93+
uint32_t reserved : 30;
94+
} StdVideoDecodeAV1ReferenceInfoFlags;
95+
96+
typedef struct StdVideoDecodeAV1ReferenceInfo {
97+
StdVideoDecodeAV1ReferenceInfoFlags flags;
98+
uint8_t frame_type;
99+
uint8_t RefFrameSignBias;
100+
uint8_t OrderHint;
101+
uint8_t SavedOrderHints[STD_VIDEO_AV1_NUM_REF_FRAMES];
102+
} StdVideoDecodeAV1ReferenceInfo;
103+
104+
105+
#ifdef __cplusplus
106+
}
107+
#endif
108+
109+
#endif

include/vulkan/vulkan.cppm

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2412,6 +2412,11 @@ export namespace VULKAN_HPP_NAMESPACE
24122412
using VULKAN_HPP_NAMESPACE::QCOMMultiviewPerViewRenderAreasExtensionName;
24132413
using VULKAN_HPP_NAMESPACE::QCOMMultiviewPerViewRenderAreasSpecVersion;
24142414

2415+
//=== VK_KHR_video_decode_av1 ===
2416+
using VULKAN_HPP_NAMESPACE::KHRVideoDecodeAv1ExtensionName;
2417+
using VULKAN_HPP_NAMESPACE::KHRVideoDecodeAv1SpecVersion;
2418+
using VULKAN_HPP_NAMESPACE::MaxVideoAv1ReferencesPerFrameKHR;
2419+
24152420
//=== VK_KHR_video_maintenance1 ===
24162421
using VULKAN_HPP_NAMESPACE::KHRVideoMaintenance1ExtensionName;
24172422
using VULKAN_HPP_NAMESPACE::KHRVideoMaintenance1SpecVersion;
@@ -4227,6 +4232,13 @@ export namespace VULKAN_HPP_NAMESPACE
42274232
using VULKAN_HPP_NAMESPACE::MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM;
42284233
using VULKAN_HPP_NAMESPACE::PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM;
42294234

4235+
//=== VK_KHR_video_decode_av1 ===
4236+
using VULKAN_HPP_NAMESPACE::VideoDecodeAV1CapabilitiesKHR;
4237+
using VULKAN_HPP_NAMESPACE::VideoDecodeAV1DpbSlotInfoKHR;
4238+
using VULKAN_HPP_NAMESPACE::VideoDecodeAV1PictureInfoKHR;
4239+
using VULKAN_HPP_NAMESPACE::VideoDecodeAV1ProfileInfoKHR;
4240+
using VULKAN_HPP_NAMESPACE::VideoDecodeAV1SessionParametersCreateInfoKHR;
4241+
42304242
//=== VK_KHR_video_maintenance1 ===
42314243
using VULKAN_HPP_NAMESPACE::PhysicalDeviceVideoMaintenance1FeaturesKHR;
42324244
using VULKAN_HPP_NAMESPACE::VideoInlineQueryInfoKHR;

include/vulkan/vulkan.hpp

Lines changed: 66 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
5656
# include <span>
5757
#endif
5858

59-
static_assert( VK_HEADER_VERSION == 276, "Wrong VK_HEADER_VERSION!" );
59+
static_assert( VK_HEADER_VERSION == 277, "Wrong VK_HEADER_VERSION!" );
6060

6161
// <tuple> includes <sys/sysmacros.h> through some other header
6262
// this results in major(x) being resolved to gnu_dev_major(x)
@@ -6852,6 +6852,9 @@ namespace VULKAN_HPP_NAMESPACE
68526852
//=== VK_EXT_shader_module_identifier ===
68536853
VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxShaderModuleIdentifierSizeEXT = VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT;
68546854

6855+
//=== VK_KHR_video_decode_av1 ===
6856+
VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxVideoAv1ReferencesPerFrameKHR = VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR;
6857+
68556858
//========================
68566859
//=== CONSTEXPR VALUEs ===
68576860
//========================
@@ -7969,8 +7972,10 @@ namespace VULKAN_HPP_NAMESPACE
79697972
VULKAN_HPP_CONSTEXPR_INLINE auto KHRBufferDeviceAddressSpecVersion = VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION;
79707973

79717974
//=== VK_EXT_line_rasterization ===
7975+
VULKAN_HPP_DEPRECATED( "The VK_EXT_line_rasterization extension has been promoted to VK_KHR_line_rasterization." )
79727976
VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationExtensionName = VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME;
7973-
VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationSpecVersion = VK_EXT_LINE_RASTERIZATION_SPEC_VERSION;
7977+
VULKAN_HPP_DEPRECATED( "The VK_EXT_line_rasterization extension has been promoted to VK_KHR_line_rasterization." )
7978+
VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationSpecVersion = VK_EXT_LINE_RASTERIZATION_SPEC_VERSION;
79747979

79757980
//=== VK_EXT_shader_atomic_float ===
79767981
VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloatExtensionName = VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME;
@@ -8584,6 +8589,10 @@ namespace VULKAN_HPP_NAMESPACE
85848589
VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasExtensionName = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME;
85858590
VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasSpecVersion = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION;
85868591

8592+
//=== VK_KHR_video_decode_av1 ===
8593+
VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeAv1ExtensionName = VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME;
8594+
VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeAv1SpecVersion = VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION;
8595+
85878596
//=== VK_KHR_video_maintenance1 ===
85888597
VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1ExtensionName = VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME;
85898598
VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1SpecVersion = VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION;
@@ -16029,6 +16038,61 @@ namespace VULKAN_HPP_NAMESPACE
1602916038
};
1603016039
};
1603116040

16041+
//=== VK_KHR_video_decode_av1 ===
16042+
template <>
16043+
struct StructExtends<VideoDecodeAV1ProfileInfoKHR, VideoProfileInfoKHR>
16044+
{
16045+
enum
16046+
{
16047+
value = true
16048+
};
16049+
};
16050+
16051+
template <>
16052+
struct StructExtends<VideoDecodeAV1ProfileInfoKHR, QueryPoolCreateInfo>
16053+
{
16054+
enum
16055+
{
16056+
value = true
16057+
};
16058+
};
16059+
16060+
template <>
16061+
struct StructExtends<VideoDecodeAV1CapabilitiesKHR, VideoCapabilitiesKHR>
16062+
{
16063+
enum
16064+
{
16065+
value = true
16066+
};
16067+
};
16068+
16069+
template <>
16070+
struct StructExtends<VideoDecodeAV1SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
16071+
{
16072+
enum
16073+
{
16074+
value = true
16075+
};
16076+
};
16077+
16078+
template <>
16079+
struct StructExtends<VideoDecodeAV1PictureInfoKHR, VideoDecodeInfoKHR>
16080+
{
16081+
enum
16082+
{
16083+
value = true
16084+
};
16085+
};
16086+
16087+
template <>
16088+
struct StructExtends<VideoDecodeAV1DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
16089+
{
16090+
enum
16091+
{
16092+
value = true
16093+
};
16094+
};
16095+
1603216096
//=== VK_KHR_video_maintenance1 ===
1603316097
template <>
1603416098
struct StructExtends<PhysicalDeviceVideoMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>

include/vulkan/vulkan_core.h

Lines changed: 55 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ extern "C" {
6969
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
7070

7171
// Version of this file
72-
#define VK_HEADER_VERSION 276
72+
#define VK_HEADER_VERSION 277
7373

7474
// Complete version of this file
7575
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 3, VK_HEADER_VERSION)
@@ -1061,6 +1061,11 @@ typedef enum VkStructureType {
10611061
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR = 1000506002,
10621062
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM = 1000510000,
10631063
VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = 1000510001,
1064+
VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR = 1000512000,
1065+
VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR = 1000512001,
1066+
VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR = 1000512003,
1067+
VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR = 1000512004,
1068+
VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR = 1000512005,
10641069
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR = 1000515000,
10651070
VK_STRUCTURE_TYPE_VIDEO_INLINE_QUERY_INFO_KHR = 1000515001,
10661071
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = 1000516000,
@@ -4938,6 +4943,8 @@ typedef enum VkSubgroupFeatureFlagBits {
49384943
VK_SUBGROUP_FEATURE_CLUSTERED_BIT = 0x00000040,
49394944
VK_SUBGROUP_FEATURE_QUAD_BIT = 0x00000080,
49404945
VK_SUBGROUP_FEATURE_PARTITIONED_BIT_NV = 0x00000100,
4946+
VK_SUBGROUP_FEATURE_ROTATE_BIT_KHR = 0x00000200,
4947+
VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = 0x00000400,
49414948
VK_SUBGROUP_FEATURE_FLAG_BITS_MAX_ENUM = 0x7FFFFFFF
49424949
} VkSubgroupFeatureFlagBits;
49434950
typedef VkFlags VkSubgroupFeatureFlags;
@@ -7977,6 +7984,7 @@ typedef enum VkVideoCodecOperationFlagBitsKHR {
79777984
VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_KHR = 0x00020000,
79787985
VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR = 0x00000001,
79797986
VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR = 0x00000002,
7987+
VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR = 0x00000004,
79807988
VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
79817989
} VkVideoCodecOperationFlagBitsKHR;
79827990
typedef VkFlags VkVideoCodecOperationFlagsKHR;
@@ -11046,7 +11054,7 @@ VKAPI_ATTR void VKAPI_CALL vkGetDeviceImageSparseMemoryRequirementsKHR(
1104611054

1104711055
// VK_KHR_shader_subgroup_rotate is a preprocessor guard. Do not pass it to API calls.
1104811056
#define VK_KHR_shader_subgroup_rotate 1
11049-
#define VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION 1
11057+
#define VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION 2
1105011058
#define VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME "VK_KHR_shader_subgroup_rotate"
1105111059
typedef struct VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR {
1105211060
VkStructureType sType;
@@ -11325,6 +11333,51 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR
1132511333
#endif
1132611334

1132711335

11336+
// VK_KHR_video_decode_av1 is a preprocessor guard. Do not pass it to API calls.
11337+
#define VK_KHR_video_decode_av1 1
11338+
#include "vk_video/vulkan_video_codec_av1std.h"
11339+
#include "vk_video/vulkan_video_codec_av1std_decode.h"
11340+
#define VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR 7U
11341+
#define VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION 1
11342+
#define VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME "VK_KHR_video_decode_av1"
11343+
typedef struct VkVideoDecodeAV1ProfileInfoKHR {
11344+
VkStructureType sType;
11345+
const void* pNext;
11346+
StdVideoAV1Profile stdProfile;
11347+
VkBool32 filmGrainSupport;
11348+
} VkVideoDecodeAV1ProfileInfoKHR;
11349+
11350+
typedef struct VkVideoDecodeAV1CapabilitiesKHR {
11351+
VkStructureType sType;
11352+
void* pNext;
11353+
StdVideoAV1Level maxLevel;
11354+
} VkVideoDecodeAV1CapabilitiesKHR;
11355+
11356+
typedef struct VkVideoDecodeAV1SessionParametersCreateInfoKHR {
11357+
VkStructureType sType;
11358+
const void* pNext;
11359+
const StdVideoAV1SequenceHeader* pStdSequenceHeader;
11360+
} VkVideoDecodeAV1SessionParametersCreateInfoKHR;
11361+
11362+
typedef struct VkVideoDecodeAV1PictureInfoKHR {
11363+
VkStructureType sType;
11364+
const void* pNext;
11365+
const StdVideoDecodeAV1PictureInfo* pStdPictureInfo;
11366+
int32_t referenceNameSlotIndices[VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR];
11367+
uint32_t frameHeaderOffset;
11368+
uint32_t tileCount;
11369+
const uint32_t* pTileOffsets;
11370+
const uint32_t* pTileSizes;
11371+
} VkVideoDecodeAV1PictureInfoKHR;
11372+
11373+
typedef struct VkVideoDecodeAV1DpbSlotInfoKHR {
11374+
VkStructureType sType;
11375+
const void* pNext;
11376+
const StdVideoDecodeAV1ReferenceInfo* pStdReferenceInfo;
11377+
} VkVideoDecodeAV1DpbSlotInfoKHR;
11378+
11379+
11380+
1132811381
// VK_KHR_video_maintenance1 is a preprocessor guard. Do not pass it to API calls.
1132911382
#define VK_KHR_video_maintenance1 1
1133011383
#define VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION 1

0 commit comments

Comments
 (0)