mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 15:48:51 +00:00
+49
-2
@@ -16,6 +16,11 @@ file_and_urls = [
|
|||||||
("vulkan_macos.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_macos.h', False),
|
("vulkan_macos.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_macos.h', False),
|
||||||
("vulkan_ios.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_ios.h', False),
|
("vulkan_ios.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_ios.h', False),
|
||||||
("vulkan_wayland.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_wayland.h', False),
|
("vulkan_wayland.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vulkan/vulkan_wayland.h', False),
|
||||||
|
# Vulkan Video
|
||||||
|
("vulkan_video_codec_h264std.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std.h', False),
|
||||||
|
("vulkan_video_codec_h265std.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std.h', False),
|
||||||
|
("vulkan_video_codec_h264std_decode.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h264std_decode.h', False),
|
||||||
|
("vulkan_video_codec_h265std_decode.h", 'https://raw.githubusercontent.com/KhronosGroup/Vulkan-Headers/main/include/vk_video/vulkan_video_codec_h265std_decode.h', False),
|
||||||
]
|
]
|
||||||
|
|
||||||
for file, url, _ in file_and_urls:
|
for file, url, _ in file_and_urls:
|
||||||
@@ -37,11 +42,15 @@ def no_vk(t):
|
|||||||
t = t.replace('PFN_', 'Proc')
|
t = t.replace('PFN_', 'Proc')
|
||||||
t = t.replace('PFN_', 'Proc')
|
t = t.replace('PFN_', 'Proc')
|
||||||
t = t.replace('VK_', '')
|
t = t.replace('VK_', '')
|
||||||
|
# Vulkan Video
|
||||||
|
t = t.replace('STD_', '')
|
||||||
|
t = t.replace('Std', '')
|
||||||
return t
|
return t
|
||||||
|
|
||||||
OPAQUE_STRUCTS = """
|
OPAQUE_STRUCTS = """
|
||||||
wl_surface :: struct {} // Opaque struct defined by Wayland
|
wl_surface :: struct {} // Opaque struct defined by Wayland
|
||||||
wl_display :: struct {} // Opaque struct defined by Wayland
|
wl_display :: struct {} // Opaque struct defined by Wayland
|
||||||
|
IOSurfaceRef :: struct {} // Opaque struct defined by Apple’s CoreGraphics framework
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def convert_type(t, prev_name, curr_name):
|
def convert_type(t, prev_name, curr_name):
|
||||||
@@ -56,6 +65,7 @@ def convert_type(t, prev_name, curr_name):
|
|||||||
'int64_t': 'i64',
|
'int64_t': 'i64',
|
||||||
'int': 'c.int',
|
'int': 'c.int',
|
||||||
'uint8_t': 'u8',
|
'uint8_t': 'u8',
|
||||||
|
'int8_t': 'i8',
|
||||||
"uint16_t": 'u16',
|
"uint16_t": 'u16',
|
||||||
"char": "byte",
|
"char": "byte",
|
||||||
"void": "void",
|
"void": "void",
|
||||||
@@ -70,6 +80,7 @@ def convert_type(t, prev_name, curr_name):
|
|||||||
"const void* const *": "[^]rawptr",
|
"const void* const *": "[^]rawptr",
|
||||||
"const AccelerationStructureGeometryKHR* const*": "^[^]AccelerationStructureGeometryKHR",
|
"const AccelerationStructureGeometryKHR* const*": "^[^]AccelerationStructureGeometryKHR",
|
||||||
"const AccelerationStructureBuildRangeInfoKHR* const*": "^[^]AccelerationStructureBuildRangeInfoKHR",
|
"const AccelerationStructureBuildRangeInfoKHR* const*": "^[^]AccelerationStructureBuildRangeInfoKHR",
|
||||||
|
"const MicromapUsageEXT* const*": "^[^]MicromapUsageEXT",
|
||||||
"struct BaseOutStructure": "BaseOutStructure",
|
"struct BaseOutStructure": "BaseOutStructure",
|
||||||
"struct BaseInStructure": "BaseInStructure",
|
"struct BaseInStructure": "BaseInStructure",
|
||||||
"struct wl_display": "wl_display",
|
"struct wl_display": "wl_display",
|
||||||
@@ -261,6 +272,12 @@ def parse_constants(f):
|
|||||||
for name, value in allowed_data:
|
for name, value in allowed_data:
|
||||||
f.write("{}{} :: {}\n".format(name, "".rjust(max_len-len(name)), value))
|
f.write("{}{} :: {}\n".format(name, "".rjust(max_len-len(name)), value))
|
||||||
|
|
||||||
|
f.write("\n// Vulkan Video Constants\n")
|
||||||
|
vulkan_video_data = re.findall(r"#define STD_(\w+)\s*(.*?)U?\n", src, re.S)
|
||||||
|
max_len = max(len(name) for name, value in vulkan_video_data)
|
||||||
|
for name, value in vulkan_video_data:
|
||||||
|
f.write("{}{} :: {}\n".format(name, "".rjust(max_len-len(name)), value))
|
||||||
|
|
||||||
f.write("\n// Vendor Constants\n")
|
f.write("\n// Vendor Constants\n")
|
||||||
fixes = '|'.join(ext_suffixes)
|
fixes = '|'.join(ext_suffixes)
|
||||||
inner = r"((?:(?:" + fixes + r")\w+)|(?:\w+" + fixes + r"))"
|
inner = r"((?:(?:" + fixes + r")\w+)|(?:\w+" + fixes + r"))"
|
||||||
@@ -284,6 +301,7 @@ def parse_enums(f):
|
|||||||
f.write("// Enums\n")
|
f.write("// Enums\n")
|
||||||
|
|
||||||
data = re.findall(r"typedef enum Vk(\w+) {(.+?)} \w+;", src, re.S)
|
data = re.findall(r"typedef enum Vk(\w+) {(.+?)} \w+;", src, re.S)
|
||||||
|
data += re.findall(r"typedef enum Std(\w+) {(.+?)} \w+;", src, re.S)
|
||||||
|
|
||||||
data.sort(key=lambda x: x[0])
|
data.sort(key=lambda x: x[0])
|
||||||
|
|
||||||
@@ -384,7 +402,16 @@ def parse_enums(f):
|
|||||||
used_flags.append('.'+flags[i])
|
used_flags.append('.'+flags[i])
|
||||||
else:
|
else:
|
||||||
used_flags.append('{}({})'.format(enum_name, i))
|
used_flags.append('{}({})'.format(enum_name, i))
|
||||||
s = "{enum_name}s_{n} :: {enum_name}s{{".format(enum_name=enum_name, n=n)
|
# Make sure the 's' is after Flags and not the extension name.
|
||||||
|
ext_suffix = ''
|
||||||
|
for suffix in ext_suffixes:
|
||||||
|
if not enum_name.endswith(suffix):
|
||||||
|
continue
|
||||||
|
|
||||||
|
ext_suffix = suffix
|
||||||
|
enum_name = remove_suffix(enum_name, ext_suffix)
|
||||||
|
break
|
||||||
|
s = "{enum_name}s{ext_suffix}_{n} :: {enum_name}s{ext_suffix}{{".format(enum_name=enum_name, ext_suffix=ext_suffix, n=n)
|
||||||
s += ', '.join(used_flags)
|
s += ', '.join(used_flags)
|
||||||
s += "}\n"
|
s += "}\n"
|
||||||
f.write(s)
|
f.write(s)
|
||||||
@@ -406,6 +433,7 @@ def parse_enums(f):
|
|||||||
|
|
||||||
def parse_structs(f):
|
def parse_structs(f):
|
||||||
data = re.findall(r"typedef (struct|union) Vk(\w+?) {(.+?)} \w+?;", src, re.S)
|
data = re.findall(r"typedef (struct|union) Vk(\w+?) {(.+?)} \w+?;", src, re.S)
|
||||||
|
data += re.findall(r"typedef (struct|union) Std(\w+?) {(.+?)} \w+?;", src, re.S)
|
||||||
|
|
||||||
for _type, name, fields in data:
|
for _type, name, fields in data:
|
||||||
fields = re.findall(r"\s+(.+?)\s+([_a-zA-Z0-9[\]]+);", fields)
|
fields = re.findall(r"\s+(.+?)\s+([_a-zA-Z0-9[\]]+);", fields)
|
||||||
@@ -417,6 +445,18 @@ def parse_structs(f):
|
|||||||
prev_name = ""
|
prev_name = ""
|
||||||
ffields = []
|
ffields = []
|
||||||
for type_, fname in fields:
|
for type_, fname in fields:
|
||||||
|
|
||||||
|
# If the typename has a colon in it, then it is a C bit field.
|
||||||
|
if ":" in type_:
|
||||||
|
bit_field = type_.split(' ')
|
||||||
|
# Get rid of empty spaces
|
||||||
|
bit_field = list(filter(bool, bit_field))
|
||||||
|
# [type, typename, :]
|
||||||
|
assert len(bit_field) == 3, "Failed to parse the bit field!"
|
||||||
|
bit_field_type = do_type(bit_field[0], prev_name, fname)
|
||||||
|
f.write("\tbit_field: {},{}\n".format(bit_field_type, comment or ""))
|
||||||
|
break
|
||||||
|
|
||||||
if '[' in fname:
|
if '[' in fname:
|
||||||
fname, type_ = parse_array(fname, type_)
|
fname, type_ = parse_array(fname, type_)
|
||||||
comment = None
|
comment = None
|
||||||
@@ -430,7 +470,7 @@ def parse_structs(f):
|
|||||||
ffields.append(tuple([n, t, comment]))
|
ffields.append(tuple([n, t, comment]))
|
||||||
prev_name = fname
|
prev_name = fname
|
||||||
|
|
||||||
max_len = max(len(n) for n, _, _ in ffields)
|
max_len = max([len(n) for n, _, _ in ffields], default=0)
|
||||||
|
|
||||||
for n, t, comment in ffields:
|
for n, t, comment in ffields:
|
||||||
k = max_len-len(n)+len(t)
|
k = max_len-len(n)+len(t)
|
||||||
@@ -670,6 +710,7 @@ FALSE :: 0
|
|||||||
QUEUE_FAMILY_IGNORED :: ~u32(0)
|
QUEUE_FAMILY_IGNORED :: ~u32(0)
|
||||||
SUBPASS_EXTERNAL :: ~u32(0)
|
SUBPASS_EXTERNAL :: ~u32(0)
|
||||||
MAX_PHYSICAL_DEVICE_NAME_SIZE :: 256
|
MAX_PHYSICAL_DEVICE_NAME_SIZE :: 256
|
||||||
|
MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT :: 32
|
||||||
UUID_SIZE :: 16
|
UUID_SIZE :: 16
|
||||||
MAX_MEMORY_TYPES :: 32
|
MAX_MEMORY_TYPES :: 32
|
||||||
MAX_MEMORY_HEAPS :: 16
|
MAX_MEMORY_HEAPS :: 16
|
||||||
@@ -726,6 +767,12 @@ when ODIN_OS == .Windows {
|
|||||||
|
|
||||||
CAMetalLayer :: struct {}
|
CAMetalLayer :: struct {}
|
||||||
|
|
||||||
|
MTLBuffer_id :: rawptr
|
||||||
|
MTLTexture_id :: rawptr
|
||||||
|
MTLSharedEvent_id :: rawptr
|
||||||
|
MTLDevice_id :: rawptr
|
||||||
|
MTLCommandQueue_id :: rawptr
|
||||||
|
|
||||||
/********************************/
|
/********************************/
|
||||||
""")
|
""")
|
||||||
f.write("\n")
|
f.write("\n")
|
||||||
|
|||||||
Vendored
+22
-9
@@ -2,9 +2,9 @@
|
|||||||
// File: vk_icd.h
|
// File: vk_icd.h
|
||||||
//
|
//
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015-2016 The Khronos Group Inc.
|
* Copyright (c) 2015-2023 LunarG, Inc.
|
||||||
* Copyright (c) 2015-2016 Valve Corporation
|
* Copyright (c) 2015-2023 The Khronos Group Inc.
|
||||||
* Copyright (c) 2015-2016 LunarG, Inc.
|
* Copyright (c) 2015-2023 Valve Corporation
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -19,9 +19,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
#pragma once
|
||||||
#ifndef VKICD_H
|
|
||||||
#define VKICD_H
|
|
||||||
|
|
||||||
#include "vulkan.h"
|
#include "vulkan.h"
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
@@ -42,7 +40,17 @@
|
|||||||
// call for any API version > 1.0. Otherwise, the loader will
|
// call for any API version > 1.0. Otherwise, the loader will
|
||||||
// manually determine if it can support the expected version.
|
// manually determine if it can support the expected version.
|
||||||
// Version 6 - Add support for vk_icdEnumerateAdapterPhysicalDevices.
|
// Version 6 - Add support for vk_icdEnumerateAdapterPhysicalDevices.
|
||||||
#define CURRENT_LOADER_ICD_INTERFACE_VERSION 6
|
// Version 7 - If an ICD supports any of the following functions, they must be
|
||||||
|
// queryable with vk_icdGetInstanceProcAddr:
|
||||||
|
// vk_icdNegotiateLoaderICDInterfaceVersion
|
||||||
|
// vk_icdGetPhysicalDeviceProcAddr
|
||||||
|
// vk_icdEnumerateAdapterPhysicalDevices (Windows only)
|
||||||
|
// In addition, these functions no longer need to be exported directly.
|
||||||
|
// This version allows drivers provided through the extension
|
||||||
|
// VK_LUNARG_direct_driver_loading be able to support the entire
|
||||||
|
// Driver-Loader interface.
|
||||||
|
|
||||||
|
#define CURRENT_LOADER_ICD_INTERFACE_VERSION 7
|
||||||
#define MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION 0
|
#define MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION 0
|
||||||
#define MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION 4
|
#define MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION 4
|
||||||
|
|
||||||
@@ -70,7 +78,7 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vk_icdNegotiateLoaderICDInterfaceVersion(uint32_t* pVersion);
|
VKAPI_ATTR VkResult VKAPI_CALL vk_icdNegotiateLoaderICDInterfaceVersion(uint32_t* pVersion);
|
||||||
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetInstanceProcAddr(VkInstance instance, const char* pName);
|
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetInstanceProcAddr(VkInstance instance, const char* pName);
|
||||||
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetPhysicalDeviceProcAddr(VkInstance isntance, const char* pName);
|
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetPhysicalDeviceProcAddr(VkInstance instance, const char* pName);
|
||||||
#if defined(VK_USE_PLATFORM_WIN32_KHR)
|
#if defined(VK_USE_PLATFORM_WIN32_KHR)
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vk_icdEnumerateAdapterPhysicalDevices(VkInstance instance, LUID adapterLUID,
|
VKAPI_ATTR VkResult VKAPI_CALL vk_icdEnumerateAdapterPhysicalDevices(VkInstance instance, LUID adapterLUID,
|
||||||
uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
|
uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
|
||||||
@@ -123,6 +131,7 @@ typedef enum {
|
|||||||
VK_ICD_WSI_PLATFORM_VI,
|
VK_ICD_WSI_PLATFORM_VI,
|
||||||
VK_ICD_WSI_PLATFORM_GGP,
|
VK_ICD_WSI_PLATFORM_GGP,
|
||||||
VK_ICD_WSI_PLATFORM_SCREEN,
|
VK_ICD_WSI_PLATFORM_SCREEN,
|
||||||
|
VK_ICD_WSI_PLATFORM_FUCHSIA,
|
||||||
} VkIcdWsiPlatform;
|
} VkIcdWsiPlatform;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@@ -242,4 +251,8 @@ typedef struct {
|
|||||||
} VkIcdSurfaceScreen;
|
} VkIcdSurfaceScreen;
|
||||||
#endif // VK_USE_PLATFORM_SCREEN_QNX
|
#endif // VK_USE_PLATFORM_SCREEN_QNX
|
||||||
|
|
||||||
#endif // VKICD_H
|
#ifdef VK_USE_PLATFORM_FUCHSIA
|
||||||
|
typedef struct {
|
||||||
|
VkIcdSurfaceBase base;
|
||||||
|
} VkIcdSurfaceImagePipe;
|
||||||
|
#endif // VK_USE_PLATFORM_FUCHSIA
|
||||||
|
|||||||
Vendored
+5
-12
@@ -2,9 +2,9 @@
|
|||||||
// File: vk_layer.h
|
// File: vk_layer.h
|
||||||
//
|
//
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015-2017 The Khronos Group Inc.
|
* Copyright (c) 2015-2023 LunarG, Inc.
|
||||||
* Copyright (c) 2015-2017 Valve Corporation
|
* Copyright (c) 2015-2023 The Khronos Group Inc.
|
||||||
* Copyright (c) 2015-2017 LunarG, Inc.
|
* Copyright (c) 2015-2023 Valve Corporation
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -19,21 +19,14 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
/* Need to define dispatch table
|
/* Need to define dispatch table
|
||||||
* Core struct can then have ptr to dispatch table at the top
|
* Core struct can then have ptr to dispatch table at the top
|
||||||
* Along with object ptrs for current and next OBJ
|
* Along with object ptrs for current and next OBJ
|
||||||
*/
|
*/
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include "vulkan.h"
|
#include "vulkan_core.h"
|
||||||
#if defined(__GNUC__) && __GNUC__ >= 4
|
|
||||||
#define VK_LAYER_EXPORT __attribute__((visibility("default")))
|
|
||||||
#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
|
|
||||||
#define VK_LAYER_EXPORT __attribute__((visibility("default")))
|
|
||||||
#else
|
|
||||||
#define VK_LAYER_EXPORT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MAX_NUM_UNKNOWN_EXTS 250
|
#define MAX_NUM_UNKNOWN_EXTS 250
|
||||||
|
|
||||||
|
|||||||
Vendored
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
// File: vk_platform.h
|
// File: vk_platform.h
|
||||||
//
|
//
|
||||||
/*
|
/*
|
||||||
** Copyright 2014-2022 The Khronos Group Inc.
|
** Copyright 2014-2023 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|||||||
Vendored
+3021
-241
File diff suppressed because it is too large
Load Diff
Vendored
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
#define VULKAN_IOS_H_ 1
|
#define VULKAN_IOS_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright 2015-2022 The Khronos Group Inc.
|
** Copyright 2015-2023 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|||||||
Vendored
+1
-1
@@ -2,7 +2,7 @@
|
|||||||
#define VULKAN_MACOS_H_ 1
|
#define VULKAN_MACOS_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright 2015-2022 The Khronos Group Inc.
|
** Copyright 2015-2023 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|||||||
Vendored
+141
-2
@@ -2,7 +2,7 @@
|
|||||||
#define VULKAN_METAL_H_ 1
|
#define VULKAN_METAL_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright 2015-2022 The Khronos Group Inc.
|
** Copyright 2015-2023 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -20,7 +20,6 @@ extern "C" {
|
|||||||
|
|
||||||
|
|
||||||
#define VK_EXT_metal_surface 1
|
#define VK_EXT_metal_surface 1
|
||||||
|
|
||||||
#ifdef __OBJC__
|
#ifdef __OBJC__
|
||||||
@class CAMetalLayer;
|
@class CAMetalLayer;
|
||||||
#else
|
#else
|
||||||
@@ -47,6 +46,146 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateMetalSurfaceEXT(
|
|||||||
VkSurfaceKHR* pSurface);
|
VkSurfaceKHR* pSurface);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_EXT_metal_objects 1
|
||||||
|
#ifdef __OBJC__
|
||||||
|
@protocol MTLDevice;
|
||||||
|
typedef id<MTLDevice> MTLDevice_id;
|
||||||
|
#else
|
||||||
|
typedef void* MTLDevice_id;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __OBJC__
|
||||||
|
@protocol MTLCommandQueue;
|
||||||
|
typedef id<MTLCommandQueue> MTLCommandQueue_id;
|
||||||
|
#else
|
||||||
|
typedef void* MTLCommandQueue_id;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __OBJC__
|
||||||
|
@protocol MTLBuffer;
|
||||||
|
typedef id<MTLBuffer> MTLBuffer_id;
|
||||||
|
#else
|
||||||
|
typedef void* MTLBuffer_id;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __OBJC__
|
||||||
|
@protocol MTLTexture;
|
||||||
|
typedef id<MTLTexture> MTLTexture_id;
|
||||||
|
#else
|
||||||
|
typedef void* MTLTexture_id;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef struct __IOSurface* IOSurfaceRef;
|
||||||
|
#ifdef __OBJC__
|
||||||
|
@protocol MTLSharedEvent;
|
||||||
|
typedef id<MTLSharedEvent> MTLSharedEvent_id;
|
||||||
|
#else
|
||||||
|
typedef void* MTLSharedEvent_id;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define VK_EXT_METAL_OBJECTS_SPEC_VERSION 1
|
||||||
|
#define VK_EXT_METAL_OBJECTS_EXTENSION_NAME "VK_EXT_metal_objects"
|
||||||
|
|
||||||
|
typedef enum VkExportMetalObjectTypeFlagBitsEXT {
|
||||||
|
VK_EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT = 0x00000001,
|
||||||
|
VK_EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT = 0x00000002,
|
||||||
|
VK_EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT = 0x00000004,
|
||||||
|
VK_EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT = 0x00000008,
|
||||||
|
VK_EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT = 0x00000010,
|
||||||
|
VK_EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT = 0x00000020,
|
||||||
|
VK_EXPORT_METAL_OBJECT_TYPE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
|
||||||
|
} VkExportMetalObjectTypeFlagBitsEXT;
|
||||||
|
typedef VkFlags VkExportMetalObjectTypeFlagsEXT;
|
||||||
|
typedef struct VkExportMetalObjectCreateInfoEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkExportMetalObjectTypeFlagBitsEXT exportObjectType;
|
||||||
|
} VkExportMetalObjectCreateInfoEXT;
|
||||||
|
|
||||||
|
typedef struct VkExportMetalObjectsInfoEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
} VkExportMetalObjectsInfoEXT;
|
||||||
|
|
||||||
|
typedef struct VkExportMetalDeviceInfoEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
MTLDevice_id mtlDevice;
|
||||||
|
} VkExportMetalDeviceInfoEXT;
|
||||||
|
|
||||||
|
typedef struct VkExportMetalCommandQueueInfoEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkQueue queue;
|
||||||
|
MTLCommandQueue_id mtlCommandQueue;
|
||||||
|
} VkExportMetalCommandQueueInfoEXT;
|
||||||
|
|
||||||
|
typedef struct VkExportMetalBufferInfoEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkDeviceMemory memory;
|
||||||
|
MTLBuffer_id mtlBuffer;
|
||||||
|
} VkExportMetalBufferInfoEXT;
|
||||||
|
|
||||||
|
typedef struct VkImportMetalBufferInfoEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
MTLBuffer_id mtlBuffer;
|
||||||
|
} VkImportMetalBufferInfoEXT;
|
||||||
|
|
||||||
|
typedef struct VkExportMetalTextureInfoEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkImage image;
|
||||||
|
VkImageView imageView;
|
||||||
|
VkBufferView bufferView;
|
||||||
|
VkImageAspectFlagBits plane;
|
||||||
|
MTLTexture_id mtlTexture;
|
||||||
|
} VkExportMetalTextureInfoEXT;
|
||||||
|
|
||||||
|
typedef struct VkImportMetalTextureInfoEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkImageAspectFlagBits plane;
|
||||||
|
MTLTexture_id mtlTexture;
|
||||||
|
} VkImportMetalTextureInfoEXT;
|
||||||
|
|
||||||
|
typedef struct VkExportMetalIOSurfaceInfoEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkImage image;
|
||||||
|
IOSurfaceRef ioSurface;
|
||||||
|
} VkExportMetalIOSurfaceInfoEXT;
|
||||||
|
|
||||||
|
typedef struct VkImportMetalIOSurfaceInfoEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
IOSurfaceRef ioSurface;
|
||||||
|
} VkImportMetalIOSurfaceInfoEXT;
|
||||||
|
|
||||||
|
typedef struct VkExportMetalSharedEventInfoEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkSemaphore semaphore;
|
||||||
|
VkEvent event;
|
||||||
|
MTLSharedEvent_id mtlSharedEvent;
|
||||||
|
} VkExportMetalSharedEventInfoEXT;
|
||||||
|
|
||||||
|
typedef struct VkImportMetalSharedEventInfoEXT {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
MTLSharedEvent_id mtlSharedEvent;
|
||||||
|
} VkImportMetalSharedEventInfoEXT;
|
||||||
|
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkExportMetalObjectsEXT)(VkDevice device, VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
|
||||||
|
|
||||||
|
#ifndef VK_NO_PROTOTYPES
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkExportMetalObjectsEXT(
|
||||||
|
VkDevice device,
|
||||||
|
VkExportMetalObjectsInfoEXT* pMetalObjectsInfo);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
+310
@@ -0,0 +1,310 @@
|
|||||||
|
#ifndef VULKAN_VIDEO_CODEC_H264STD_H_
|
||||||
|
#define VULKAN_VIDEO_CODEC_H264STD_H_ 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Copyright 2015-2023 The Khronos Group Inc.
|
||||||
|
**
|
||||||
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
** This header is generated from the Khronos Vulkan XML API Registry.
|
||||||
|
**
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define vulkan_video_codec_h264std 1
|
||||||
|
#include <stdint.h>
|
||||||
|
#define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32
|
||||||
|
#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6
|
||||||
|
#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16
|
||||||
|
#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS 6
|
||||||
|
#define STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS 64
|
||||||
|
#define STD_VIDEO_H264_MAX_NUM_LIST_REF 32
|
||||||
|
#define STD_VIDEO_H264_MAX_CHROMA_PLANES 2
|
||||||
|
|
||||||
|
typedef enum StdVideoH264ChromaFormatIdc {
|
||||||
|
STD_VIDEO_H264_CHROMA_FORMAT_IDC_MONOCHROME = 0,
|
||||||
|
STD_VIDEO_H264_CHROMA_FORMAT_IDC_420 = 1,
|
||||||
|
STD_VIDEO_H264_CHROMA_FORMAT_IDC_422 = 2,
|
||||||
|
STD_VIDEO_H264_CHROMA_FORMAT_IDC_444 = 3,
|
||||||
|
STD_VIDEO_H264_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H264_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH264ChromaFormatIdc;
|
||||||
|
|
||||||
|
typedef enum StdVideoH264ProfileIdc {
|
||||||
|
STD_VIDEO_H264_PROFILE_IDC_BASELINE = 66,
|
||||||
|
STD_VIDEO_H264_PROFILE_IDC_MAIN = 77,
|
||||||
|
STD_VIDEO_H264_PROFILE_IDC_HIGH = 100,
|
||||||
|
STD_VIDEO_H264_PROFILE_IDC_HIGH_444_PREDICTIVE = 244,
|
||||||
|
STD_VIDEO_H264_PROFILE_IDC_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H264_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH264ProfileIdc;
|
||||||
|
|
||||||
|
typedef enum StdVideoH264LevelIdc {
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_1_0 = 0,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_1_1 = 1,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_1_2 = 2,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_1_3 = 3,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_2_0 = 4,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_2_1 = 5,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_2_2 = 6,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_3_0 = 7,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_3_1 = 8,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_3_2 = 9,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_4_0 = 10,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_4_1 = 11,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_4_2 = 12,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_5_0 = 13,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_5_1 = 14,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_5_2 = 15,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_6_0 = 16,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_6_1 = 17,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_6_2 = 18,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H264_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH264LevelIdc;
|
||||||
|
|
||||||
|
typedef enum StdVideoH264PocType {
|
||||||
|
STD_VIDEO_H264_POC_TYPE_0 = 0,
|
||||||
|
STD_VIDEO_H264_POC_TYPE_1 = 1,
|
||||||
|
STD_VIDEO_H264_POC_TYPE_2 = 2,
|
||||||
|
STD_VIDEO_H264_POC_TYPE_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H264_POC_TYPE_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH264PocType;
|
||||||
|
|
||||||
|
typedef enum StdVideoH264AspectRatioIdc {
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_UNSPECIFIED = 0,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_SQUARE = 1,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_12_11 = 2,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_10_11 = 3,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_16_11 = 4,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_40_33 = 5,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_24_11 = 6,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_20_11 = 7,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_32_11 = 8,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_80_33 = 9,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_18_11 = 10,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_15_11 = 11,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_64_33 = 12,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_160_99 = 13,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_4_3 = 14,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_3_2 = 15,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_2_1 = 16,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_EXTENDED_SAR = 255,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H264_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH264AspectRatioIdc;
|
||||||
|
|
||||||
|
typedef enum StdVideoH264WeightedBipredIdc {
|
||||||
|
STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_DEFAULT = 0,
|
||||||
|
STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_EXPLICIT = 1,
|
||||||
|
STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_IMPLICIT = 2,
|
||||||
|
STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H264_WEIGHTED_BIPRED_IDC_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH264WeightedBipredIdc;
|
||||||
|
|
||||||
|
typedef enum StdVideoH264ModificationOfPicNumsIdc {
|
||||||
|
STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_SUBTRACT = 0,
|
||||||
|
STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_SHORT_TERM_ADD = 1,
|
||||||
|
STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_LONG_TERM = 2,
|
||||||
|
STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_END = 3,
|
||||||
|
STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H264_MODIFICATION_OF_PIC_NUMS_IDC_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH264ModificationOfPicNumsIdc;
|
||||||
|
|
||||||
|
typedef enum StdVideoH264MemMgmtControlOp {
|
||||||
|
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_END = 0,
|
||||||
|
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_SHORT_TERM = 1,
|
||||||
|
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_LONG_TERM = 2,
|
||||||
|
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_LONG_TERM = 3,
|
||||||
|
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_SET_MAX_LONG_TERM_INDEX = 4,
|
||||||
|
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_UNMARK_ALL = 5,
|
||||||
|
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MARK_CURRENT_AS_LONG_TERM = 6,
|
||||||
|
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H264_MEM_MGMT_CONTROL_OP_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH264MemMgmtControlOp;
|
||||||
|
|
||||||
|
typedef enum StdVideoH264CabacInitIdc {
|
||||||
|
STD_VIDEO_H264_CABAC_INIT_IDC_0 = 0,
|
||||||
|
STD_VIDEO_H264_CABAC_INIT_IDC_1 = 1,
|
||||||
|
STD_VIDEO_H264_CABAC_INIT_IDC_2 = 2,
|
||||||
|
STD_VIDEO_H264_CABAC_INIT_IDC_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H264_CABAC_INIT_IDC_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH264CabacInitIdc;
|
||||||
|
|
||||||
|
typedef enum StdVideoH264DisableDeblockingFilterIdc {
|
||||||
|
STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_DISABLED = 0,
|
||||||
|
STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_ENABLED = 1,
|
||||||
|
STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_PARTIAL = 2,
|
||||||
|
STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H264_DISABLE_DEBLOCKING_FILTER_IDC_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH264DisableDeblockingFilterIdc;
|
||||||
|
|
||||||
|
typedef enum StdVideoH264SliceType {
|
||||||
|
STD_VIDEO_H264_SLICE_TYPE_P = 0,
|
||||||
|
STD_VIDEO_H264_SLICE_TYPE_B = 1,
|
||||||
|
STD_VIDEO_H264_SLICE_TYPE_I = 2,
|
||||||
|
STD_VIDEO_H264_SLICE_TYPE_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H264_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH264SliceType;
|
||||||
|
|
||||||
|
typedef enum StdVideoH264PictureType {
|
||||||
|
STD_VIDEO_H264_PICTURE_TYPE_P = 0,
|
||||||
|
STD_VIDEO_H264_PICTURE_TYPE_B = 1,
|
||||||
|
STD_VIDEO_H264_PICTURE_TYPE_I = 2,
|
||||||
|
STD_VIDEO_H264_PICTURE_TYPE_IDR = 5,
|
||||||
|
STD_VIDEO_H264_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H264_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH264PictureType;
|
||||||
|
|
||||||
|
typedef enum StdVideoH264NonVclNaluType {
|
||||||
|
STD_VIDEO_H264_NON_VCL_NALU_TYPE_SPS = 0,
|
||||||
|
STD_VIDEO_H264_NON_VCL_NALU_TYPE_PPS = 1,
|
||||||
|
STD_VIDEO_H264_NON_VCL_NALU_TYPE_AUD = 2,
|
||||||
|
STD_VIDEO_H264_NON_VCL_NALU_TYPE_PREFIX = 3,
|
||||||
|
STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_SEQUENCE = 4,
|
||||||
|
STD_VIDEO_H264_NON_VCL_NALU_TYPE_END_OF_STREAM = 5,
|
||||||
|
STD_VIDEO_H264_NON_VCL_NALU_TYPE_PRECODED = 6,
|
||||||
|
STD_VIDEO_H264_NON_VCL_NALU_TYPE_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H264_NON_VCL_NALU_TYPE_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH264NonVclNaluType;
|
||||||
|
typedef struct StdVideoH264SpsVuiFlags {
|
||||||
|
uint32_t aspect_ratio_info_present_flag : 1;
|
||||||
|
uint32_t overscan_info_present_flag : 1;
|
||||||
|
uint32_t overscan_appropriate_flag : 1;
|
||||||
|
uint32_t video_signal_type_present_flag : 1;
|
||||||
|
uint32_t video_full_range_flag : 1;
|
||||||
|
uint32_t color_description_present_flag : 1;
|
||||||
|
uint32_t chroma_loc_info_present_flag : 1;
|
||||||
|
uint32_t timing_info_present_flag : 1;
|
||||||
|
uint32_t fixed_frame_rate_flag : 1;
|
||||||
|
uint32_t bitstream_restriction_flag : 1;
|
||||||
|
uint32_t nal_hrd_parameters_present_flag : 1;
|
||||||
|
uint32_t vcl_hrd_parameters_present_flag : 1;
|
||||||
|
} StdVideoH264SpsVuiFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoH264HrdParameters {
|
||||||
|
uint8_t cpb_cnt_minus1;
|
||||||
|
uint8_t bit_rate_scale;
|
||||||
|
uint8_t cpb_size_scale;
|
||||||
|
uint8_t reserved1;
|
||||||
|
uint32_t bit_rate_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
|
||||||
|
uint32_t cpb_size_value_minus1[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
|
||||||
|
uint8_t cbr_flag[STD_VIDEO_H264_CPB_CNT_LIST_SIZE];
|
||||||
|
uint32_t initial_cpb_removal_delay_length_minus1;
|
||||||
|
uint32_t cpb_removal_delay_length_minus1;
|
||||||
|
uint32_t dpb_output_delay_length_minus1;
|
||||||
|
uint32_t time_offset_length;
|
||||||
|
} StdVideoH264HrdParameters;
|
||||||
|
|
||||||
|
typedef struct StdVideoH264SequenceParameterSetVui {
|
||||||
|
StdVideoH264SpsVuiFlags flags;
|
||||||
|
StdVideoH264AspectRatioIdc aspect_ratio_idc;
|
||||||
|
uint16_t sar_width;
|
||||||
|
uint16_t sar_height;
|
||||||
|
uint8_t video_format;
|
||||||
|
uint8_t colour_primaries;
|
||||||
|
uint8_t transfer_characteristics;
|
||||||
|
uint8_t matrix_coefficients;
|
||||||
|
uint32_t num_units_in_tick;
|
||||||
|
uint32_t time_scale;
|
||||||
|
uint8_t max_num_reorder_frames;
|
||||||
|
uint8_t max_dec_frame_buffering;
|
||||||
|
uint8_t chroma_sample_loc_type_top_field;
|
||||||
|
uint8_t chroma_sample_loc_type_bottom_field;
|
||||||
|
uint32_t reserved1;
|
||||||
|
const StdVideoH264HrdParameters* pHrdParameters;
|
||||||
|
} StdVideoH264SequenceParameterSetVui;
|
||||||
|
|
||||||
|
typedef struct StdVideoH264SpsFlags {
|
||||||
|
uint32_t constraint_set0_flag : 1;
|
||||||
|
uint32_t constraint_set1_flag : 1;
|
||||||
|
uint32_t constraint_set2_flag : 1;
|
||||||
|
uint32_t constraint_set3_flag : 1;
|
||||||
|
uint32_t constraint_set4_flag : 1;
|
||||||
|
uint32_t constraint_set5_flag : 1;
|
||||||
|
uint32_t direct_8x8_inference_flag : 1;
|
||||||
|
uint32_t mb_adaptive_frame_field_flag : 1;
|
||||||
|
uint32_t frame_mbs_only_flag : 1;
|
||||||
|
uint32_t delta_pic_order_always_zero_flag : 1;
|
||||||
|
uint32_t separate_colour_plane_flag : 1;
|
||||||
|
uint32_t gaps_in_frame_num_value_allowed_flag : 1;
|
||||||
|
uint32_t qpprime_y_zero_transform_bypass_flag : 1;
|
||||||
|
uint32_t frame_cropping_flag : 1;
|
||||||
|
uint32_t seq_scaling_matrix_present_flag : 1;
|
||||||
|
uint32_t vui_parameters_present_flag : 1;
|
||||||
|
} StdVideoH264SpsFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoH264ScalingLists {
|
||||||
|
uint16_t scaling_list_present_mask;
|
||||||
|
uint16_t use_default_scaling_matrix_mask;
|
||||||
|
uint8_t ScalingList4x4[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS];
|
||||||
|
uint8_t ScalingList8x8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS];
|
||||||
|
} StdVideoH264ScalingLists;
|
||||||
|
|
||||||
|
typedef struct StdVideoH264SequenceParameterSet {
|
||||||
|
StdVideoH264SpsFlags flags;
|
||||||
|
StdVideoH264ProfileIdc profile_idc;
|
||||||
|
StdVideoH264LevelIdc level_idc;
|
||||||
|
StdVideoH264ChromaFormatIdc chroma_format_idc;
|
||||||
|
uint8_t seq_parameter_set_id;
|
||||||
|
uint8_t bit_depth_luma_minus8;
|
||||||
|
uint8_t bit_depth_chroma_minus8;
|
||||||
|
uint8_t log2_max_frame_num_minus4;
|
||||||
|
StdVideoH264PocType pic_order_cnt_type;
|
||||||
|
int32_t offset_for_non_ref_pic;
|
||||||
|
int32_t offset_for_top_to_bottom_field;
|
||||||
|
uint8_t log2_max_pic_order_cnt_lsb_minus4;
|
||||||
|
uint8_t num_ref_frames_in_pic_order_cnt_cycle;
|
||||||
|
uint8_t max_num_ref_frames;
|
||||||
|
uint8_t reserved1;
|
||||||
|
uint32_t pic_width_in_mbs_minus1;
|
||||||
|
uint32_t pic_height_in_map_units_minus1;
|
||||||
|
uint32_t frame_crop_left_offset;
|
||||||
|
uint32_t frame_crop_right_offset;
|
||||||
|
uint32_t frame_crop_top_offset;
|
||||||
|
uint32_t frame_crop_bottom_offset;
|
||||||
|
uint32_t reserved2;
|
||||||
|
const int32_t* pOffsetForRefFrame;
|
||||||
|
const StdVideoH264ScalingLists* pScalingLists;
|
||||||
|
const StdVideoH264SequenceParameterSetVui* pSequenceParameterSetVui;
|
||||||
|
} StdVideoH264SequenceParameterSet;
|
||||||
|
|
||||||
|
typedef struct StdVideoH264PpsFlags {
|
||||||
|
uint32_t transform_8x8_mode_flag : 1;
|
||||||
|
uint32_t redundant_pic_cnt_present_flag : 1;
|
||||||
|
uint32_t constrained_intra_pred_flag : 1;
|
||||||
|
uint32_t deblocking_filter_control_present_flag : 1;
|
||||||
|
uint32_t weighted_pred_flag : 1;
|
||||||
|
uint32_t bottom_field_pic_order_in_frame_present_flag : 1;
|
||||||
|
uint32_t entropy_coding_mode_flag : 1;
|
||||||
|
uint32_t pic_scaling_matrix_present_flag : 1;
|
||||||
|
} StdVideoH264PpsFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoH264PictureParameterSet {
|
||||||
|
StdVideoH264PpsFlags flags;
|
||||||
|
uint8_t seq_parameter_set_id;
|
||||||
|
uint8_t pic_parameter_set_id;
|
||||||
|
uint8_t num_ref_idx_l0_default_active_minus1;
|
||||||
|
uint8_t num_ref_idx_l1_default_active_minus1;
|
||||||
|
StdVideoH264WeightedBipredIdc weighted_bipred_idc;
|
||||||
|
int8_t pic_init_qp_minus26;
|
||||||
|
int8_t pic_init_qs_minus26;
|
||||||
|
int8_t chroma_qp_index_offset;
|
||||||
|
int8_t second_chroma_qp_index_offset;
|
||||||
|
const StdVideoH264ScalingLists* pScalingLists;
|
||||||
|
} StdVideoH264PictureParameterSet;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
#ifndef VULKAN_VIDEO_CODEC_H264STD_DECODE_H_
|
||||||
|
#define VULKAN_VIDEO_CODEC_H264STD_DECODE_H_ 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Copyright 2015-2023 The Khronos Group Inc.
|
||||||
|
**
|
||||||
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
** This header is generated from the Khronos Vulkan XML API Registry.
|
||||||
|
**
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define vulkan_video_codec_h264std_decode 1
|
||||||
|
|
||||||
|
#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
|
||||||
|
|
||||||
|
#define STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE 2
|
||||||
|
#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_API_VERSION_1_0_0
|
||||||
|
#define VK_STD_VULKAN_VIDEO_CODEC_H264_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h264_decode"
|
||||||
|
|
||||||
|
typedef enum StdVideoDecodeH264FieldOrderCount {
|
||||||
|
STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_TOP = 0,
|
||||||
|
STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_BOTTOM = 1,
|
||||||
|
STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoDecodeH264FieldOrderCount;
|
||||||
|
typedef struct StdVideoDecodeH264PictureInfoFlags {
|
||||||
|
uint32_t field_pic_flag : 1;
|
||||||
|
uint32_t is_intra : 1;
|
||||||
|
uint32_t IdrPicFlag : 1;
|
||||||
|
uint32_t bottom_field_flag : 1;
|
||||||
|
uint32_t is_reference : 1;
|
||||||
|
uint32_t complementary_field_pair : 1;
|
||||||
|
} StdVideoDecodeH264PictureInfoFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoDecodeH264PictureInfo {
|
||||||
|
StdVideoDecodeH264PictureInfoFlags flags;
|
||||||
|
uint8_t seq_parameter_set_id;
|
||||||
|
uint8_t pic_parameter_set_id;
|
||||||
|
uint8_t reserved1;
|
||||||
|
uint8_t reserved2;
|
||||||
|
uint16_t frame_num;
|
||||||
|
uint16_t idr_pic_id;
|
||||||
|
int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
|
||||||
|
} StdVideoDecodeH264PictureInfo;
|
||||||
|
|
||||||
|
typedef struct StdVideoDecodeH264ReferenceInfoFlags {
|
||||||
|
uint32_t top_field_flag : 1;
|
||||||
|
uint32_t bottom_field_flag : 1;
|
||||||
|
uint32_t used_for_long_term_reference : 1;
|
||||||
|
uint32_t is_non_existing : 1;
|
||||||
|
} StdVideoDecodeH264ReferenceInfoFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoDecodeH264ReferenceInfo {
|
||||||
|
StdVideoDecodeH264ReferenceInfoFlags flags;
|
||||||
|
uint16_t FrameNum;
|
||||||
|
uint16_t reserved;
|
||||||
|
int32_t PicOrderCnt[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE];
|
||||||
|
} StdVideoDecodeH264ReferenceInfo;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
+443
@@ -0,0 +1,443 @@
|
|||||||
|
#ifndef VULKAN_VIDEO_CODEC_H265STD_H_
|
||||||
|
#define VULKAN_VIDEO_CODEC_H265STD_H_ 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Copyright 2015-2023 The Khronos Group Inc.
|
||||||
|
**
|
||||||
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
** This header is generated from the Khronos Vulkan XML API Registry.
|
||||||
|
**
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define vulkan_video_codec_h265std 1
|
||||||
|
#define STD_VIDEO_H265_SUBLAYERS_LIST_SIZE 7
|
||||||
|
#define STD_VIDEO_H265_CPB_CNT_LIST_SIZE 32
|
||||||
|
#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS 6
|
||||||
|
#define STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS 16
|
||||||
|
#define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS 6
|
||||||
|
#define STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS 64
|
||||||
|
#define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS 6
|
||||||
|
#define STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS 64
|
||||||
|
#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS 2
|
||||||
|
#define STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS 64
|
||||||
|
#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE 3
|
||||||
|
#define STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE 128
|
||||||
|
#define STD_VIDEO_H265_MAX_DPB_SIZE 16
|
||||||
|
#define STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS 32
|
||||||
|
#define STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE 6
|
||||||
|
#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE 19
|
||||||
|
#define STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE 21
|
||||||
|
#define STD_VIDEO_H265_MAX_NUM_LIST_REF 15
|
||||||
|
#define STD_VIDEO_H265_MAX_CHROMA_PLANES 2
|
||||||
|
#define STD_VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS 64
|
||||||
|
#define STD_VIDEO_H265_MAX_LONG_TERM_PICS 16
|
||||||
|
#define STD_VIDEO_H265_MAX_DELTA_POC 48
|
||||||
|
|
||||||
|
typedef enum StdVideoH265ChromaFormatIdc {
|
||||||
|
STD_VIDEO_H265_CHROMA_FORMAT_IDC_MONOCHROME = 0,
|
||||||
|
STD_VIDEO_H265_CHROMA_FORMAT_IDC_420 = 1,
|
||||||
|
STD_VIDEO_H265_CHROMA_FORMAT_IDC_422 = 2,
|
||||||
|
STD_VIDEO_H265_CHROMA_FORMAT_IDC_444 = 3,
|
||||||
|
STD_VIDEO_H265_CHROMA_FORMAT_IDC_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H265_CHROMA_FORMAT_IDC_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH265ChromaFormatIdc;
|
||||||
|
|
||||||
|
typedef enum StdVideoH265ProfileIdc {
|
||||||
|
STD_VIDEO_H265_PROFILE_IDC_MAIN = 1,
|
||||||
|
STD_VIDEO_H265_PROFILE_IDC_MAIN_10 = 2,
|
||||||
|
STD_VIDEO_H265_PROFILE_IDC_MAIN_STILL_PICTURE = 3,
|
||||||
|
STD_VIDEO_H265_PROFILE_IDC_FORMAT_RANGE_EXTENSIONS = 4,
|
||||||
|
STD_VIDEO_H265_PROFILE_IDC_SCC_EXTENSIONS = 9,
|
||||||
|
STD_VIDEO_H265_PROFILE_IDC_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H265_PROFILE_IDC_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH265ProfileIdc;
|
||||||
|
|
||||||
|
typedef enum StdVideoH265LevelIdc {
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_1_0 = 0,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_2_0 = 1,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_2_1 = 2,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_3_0 = 3,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_3_1 = 4,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_4_0 = 5,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_4_1 = 6,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_5_0 = 7,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_5_1 = 8,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_5_2 = 9,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_6_0 = 10,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_6_1 = 11,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_6_2 = 12,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H265_LEVEL_IDC_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH265LevelIdc;
|
||||||
|
|
||||||
|
typedef enum StdVideoH265SliceType {
|
||||||
|
STD_VIDEO_H265_SLICE_TYPE_B = 0,
|
||||||
|
STD_VIDEO_H265_SLICE_TYPE_P = 1,
|
||||||
|
STD_VIDEO_H265_SLICE_TYPE_I = 2,
|
||||||
|
STD_VIDEO_H265_SLICE_TYPE_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H265_SLICE_TYPE_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH265SliceType;
|
||||||
|
|
||||||
|
typedef enum StdVideoH265PictureType {
|
||||||
|
STD_VIDEO_H265_PICTURE_TYPE_P = 0,
|
||||||
|
STD_VIDEO_H265_PICTURE_TYPE_B = 1,
|
||||||
|
STD_VIDEO_H265_PICTURE_TYPE_I = 2,
|
||||||
|
STD_VIDEO_H265_PICTURE_TYPE_IDR = 3,
|
||||||
|
STD_VIDEO_H265_PICTURE_TYPE_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H265_PICTURE_TYPE_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH265PictureType;
|
||||||
|
|
||||||
|
typedef enum StdVideoH265AspectRatioIdc {
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_UNSPECIFIED = 0,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_SQUARE = 1,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_12_11 = 2,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_10_11 = 3,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_16_11 = 4,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_40_33 = 5,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_24_11 = 6,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_20_11 = 7,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_32_11 = 8,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_80_33 = 9,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_18_11 = 10,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_15_11 = 11,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_64_33 = 12,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_160_99 = 13,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_4_3 = 14,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_3_2 = 15,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_2_1 = 16,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_EXTENDED_SAR = 255,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_INVALID = 0x7FFFFFFF,
|
||||||
|
STD_VIDEO_H265_ASPECT_RATIO_IDC_MAX_ENUM = 0x7FFFFFFF
|
||||||
|
} StdVideoH265AspectRatioIdc;
|
||||||
|
typedef struct StdVideoH265DecPicBufMgr {
|
||||||
|
uint32_t max_latency_increase_plus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
|
||||||
|
uint8_t max_dec_pic_buffering_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
|
||||||
|
uint8_t max_num_reorder_pics[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
|
||||||
|
} StdVideoH265DecPicBufMgr;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265SubLayerHrdParameters {
|
||||||
|
uint32_t bit_rate_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
|
||||||
|
uint32_t cpb_size_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
|
||||||
|
uint32_t cpb_size_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
|
||||||
|
uint32_t bit_rate_du_value_minus1[STD_VIDEO_H265_CPB_CNT_LIST_SIZE];
|
||||||
|
uint32_t cbr_flag;
|
||||||
|
} StdVideoH265SubLayerHrdParameters;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265HrdFlags {
|
||||||
|
uint32_t nal_hrd_parameters_present_flag : 1;
|
||||||
|
uint32_t vcl_hrd_parameters_present_flag : 1;
|
||||||
|
uint32_t sub_pic_hrd_params_present_flag : 1;
|
||||||
|
uint32_t sub_pic_cpb_params_in_pic_timing_sei_flag : 1;
|
||||||
|
uint32_t fixed_pic_rate_general_flag : 8;
|
||||||
|
uint32_t fixed_pic_rate_within_cvs_flag : 8;
|
||||||
|
uint32_t low_delay_hrd_flag : 8;
|
||||||
|
} StdVideoH265HrdFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265HrdParameters {
|
||||||
|
StdVideoH265HrdFlags flags;
|
||||||
|
uint8_t tick_divisor_minus2;
|
||||||
|
uint8_t du_cpb_removal_delay_increment_length_minus1;
|
||||||
|
uint8_t dpb_output_delay_du_length_minus1;
|
||||||
|
uint8_t bit_rate_scale;
|
||||||
|
uint8_t cpb_size_scale;
|
||||||
|
uint8_t cpb_size_du_scale;
|
||||||
|
uint8_t initial_cpb_removal_delay_length_minus1;
|
||||||
|
uint8_t au_cpb_removal_delay_length_minus1;
|
||||||
|
uint8_t dpb_output_delay_length_minus1;
|
||||||
|
uint8_t cpb_cnt_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
|
||||||
|
uint16_t elemental_duration_in_tc_minus1[STD_VIDEO_H265_SUBLAYERS_LIST_SIZE];
|
||||||
|
uint16_t reserved[3];
|
||||||
|
const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersNal;
|
||||||
|
const StdVideoH265SubLayerHrdParameters* pSubLayerHrdParametersVcl;
|
||||||
|
} StdVideoH265HrdParameters;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265VpsFlags {
|
||||||
|
uint32_t vps_temporal_id_nesting_flag : 1;
|
||||||
|
uint32_t vps_sub_layer_ordering_info_present_flag : 1;
|
||||||
|
uint32_t vps_timing_info_present_flag : 1;
|
||||||
|
uint32_t vps_poc_proportional_to_timing_flag : 1;
|
||||||
|
} StdVideoH265VpsFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265ProfileTierLevelFlags {
|
||||||
|
uint32_t general_tier_flag : 1;
|
||||||
|
uint32_t general_progressive_source_flag : 1;
|
||||||
|
uint32_t general_interlaced_source_flag : 1;
|
||||||
|
uint32_t general_non_packed_constraint_flag : 1;
|
||||||
|
uint32_t general_frame_only_constraint_flag : 1;
|
||||||
|
} StdVideoH265ProfileTierLevelFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265ProfileTierLevel {
|
||||||
|
StdVideoH265ProfileTierLevelFlags flags;
|
||||||
|
StdVideoH265ProfileIdc general_profile_idc;
|
||||||
|
StdVideoH265LevelIdc general_level_idc;
|
||||||
|
} StdVideoH265ProfileTierLevel;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265VideoParameterSet {
|
||||||
|
StdVideoH265VpsFlags flags;
|
||||||
|
uint8_t vps_video_parameter_set_id;
|
||||||
|
uint8_t vps_max_sub_layers_minus1;
|
||||||
|
uint8_t reserved1;
|
||||||
|
uint8_t reserved2;
|
||||||
|
uint32_t vps_num_units_in_tick;
|
||||||
|
uint32_t vps_time_scale;
|
||||||
|
uint32_t vps_num_ticks_poc_diff_one_minus1;
|
||||||
|
uint32_t reserved3;
|
||||||
|
const StdVideoH265DecPicBufMgr* pDecPicBufMgr;
|
||||||
|
const StdVideoH265HrdParameters* pHrdParameters;
|
||||||
|
const StdVideoH265ProfileTierLevel* pProfileTierLevel;
|
||||||
|
} StdVideoH265VideoParameterSet;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265ScalingLists {
|
||||||
|
uint8_t ScalingList4x4[STD_VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS];
|
||||||
|
uint8_t ScalingList8x8[STD_VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS];
|
||||||
|
uint8_t ScalingList16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS];
|
||||||
|
uint8_t ScalingList32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS][STD_VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS];
|
||||||
|
uint8_t ScalingListDCCoef16x16[STD_VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS];
|
||||||
|
uint8_t ScalingListDCCoef32x32[STD_VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS];
|
||||||
|
} StdVideoH265ScalingLists;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265SpsVuiFlags {
|
||||||
|
uint32_t aspect_ratio_info_present_flag : 1;
|
||||||
|
uint32_t overscan_info_present_flag : 1;
|
||||||
|
uint32_t overscan_appropriate_flag : 1;
|
||||||
|
uint32_t video_signal_type_present_flag : 1;
|
||||||
|
uint32_t video_full_range_flag : 1;
|
||||||
|
uint32_t colour_description_present_flag : 1;
|
||||||
|
uint32_t chroma_loc_info_present_flag : 1;
|
||||||
|
uint32_t neutral_chroma_indication_flag : 1;
|
||||||
|
uint32_t field_seq_flag : 1;
|
||||||
|
uint32_t frame_field_info_present_flag : 1;
|
||||||
|
uint32_t default_display_window_flag : 1;
|
||||||
|
uint32_t vui_timing_info_present_flag : 1;
|
||||||
|
uint32_t vui_poc_proportional_to_timing_flag : 1;
|
||||||
|
uint32_t vui_hrd_parameters_present_flag : 1;
|
||||||
|
uint32_t bitstream_restriction_flag : 1;
|
||||||
|
uint32_t tiles_fixed_structure_flag : 1;
|
||||||
|
uint32_t motion_vectors_over_pic_boundaries_flag : 1;
|
||||||
|
uint32_t restricted_ref_pic_lists_flag : 1;
|
||||||
|
} StdVideoH265SpsVuiFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265SequenceParameterSetVui {
|
||||||
|
StdVideoH265SpsVuiFlags flags;
|
||||||
|
StdVideoH265AspectRatioIdc aspect_ratio_idc;
|
||||||
|
uint16_t sar_width;
|
||||||
|
uint16_t sar_height;
|
||||||
|
uint8_t video_format;
|
||||||
|
uint8_t colour_primaries;
|
||||||
|
uint8_t transfer_characteristics;
|
||||||
|
uint8_t matrix_coeffs;
|
||||||
|
uint8_t chroma_sample_loc_type_top_field;
|
||||||
|
uint8_t chroma_sample_loc_type_bottom_field;
|
||||||
|
uint8_t reserved1;
|
||||||
|
uint8_t reserved2;
|
||||||
|
uint16_t def_disp_win_left_offset;
|
||||||
|
uint16_t def_disp_win_right_offset;
|
||||||
|
uint16_t def_disp_win_top_offset;
|
||||||
|
uint16_t def_disp_win_bottom_offset;
|
||||||
|
uint32_t vui_num_units_in_tick;
|
||||||
|
uint32_t vui_time_scale;
|
||||||
|
uint32_t vui_num_ticks_poc_diff_one_minus1;
|
||||||
|
uint16_t min_spatial_segmentation_idc;
|
||||||
|
uint16_t reserved3;
|
||||||
|
uint8_t max_bytes_per_pic_denom;
|
||||||
|
uint8_t max_bits_per_min_cu_denom;
|
||||||
|
uint8_t log2_max_mv_length_horizontal;
|
||||||
|
uint8_t log2_max_mv_length_vertical;
|
||||||
|
const StdVideoH265HrdParameters* pHrdParameters;
|
||||||
|
} StdVideoH265SequenceParameterSetVui;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265PredictorPaletteEntries {
|
||||||
|
uint16_t PredictorPaletteEntries[STD_VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE][STD_VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE];
|
||||||
|
} StdVideoH265PredictorPaletteEntries;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265SpsFlags {
|
||||||
|
uint32_t sps_temporal_id_nesting_flag : 1;
|
||||||
|
uint32_t separate_colour_plane_flag : 1;
|
||||||
|
uint32_t conformance_window_flag : 1;
|
||||||
|
uint32_t sps_sub_layer_ordering_info_present_flag : 1;
|
||||||
|
uint32_t scaling_list_enabled_flag : 1;
|
||||||
|
uint32_t sps_scaling_list_data_present_flag : 1;
|
||||||
|
uint32_t amp_enabled_flag : 1;
|
||||||
|
uint32_t sample_adaptive_offset_enabled_flag : 1;
|
||||||
|
uint32_t pcm_enabled_flag : 1;
|
||||||
|
uint32_t pcm_loop_filter_disabled_flag : 1;
|
||||||
|
uint32_t long_term_ref_pics_present_flag : 1;
|
||||||
|
uint32_t sps_temporal_mvp_enabled_flag : 1;
|
||||||
|
uint32_t strong_intra_smoothing_enabled_flag : 1;
|
||||||
|
uint32_t vui_parameters_present_flag : 1;
|
||||||
|
uint32_t sps_extension_present_flag : 1;
|
||||||
|
uint32_t sps_range_extension_flag : 1;
|
||||||
|
uint32_t transform_skip_rotation_enabled_flag : 1;
|
||||||
|
uint32_t transform_skip_context_enabled_flag : 1;
|
||||||
|
uint32_t implicit_rdpcm_enabled_flag : 1;
|
||||||
|
uint32_t explicit_rdpcm_enabled_flag : 1;
|
||||||
|
uint32_t extended_precision_processing_flag : 1;
|
||||||
|
uint32_t intra_smoothing_disabled_flag : 1;
|
||||||
|
uint32_t high_precision_offsets_enabled_flag : 1;
|
||||||
|
uint32_t persistent_rice_adaptation_enabled_flag : 1;
|
||||||
|
uint32_t cabac_bypass_alignment_enabled_flag : 1;
|
||||||
|
uint32_t sps_scc_extension_flag : 1;
|
||||||
|
uint32_t sps_curr_pic_ref_enabled_flag : 1;
|
||||||
|
uint32_t palette_mode_enabled_flag : 1;
|
||||||
|
uint32_t sps_palette_predictor_initializers_present_flag : 1;
|
||||||
|
uint32_t intra_boundary_filtering_disabled_flag : 1;
|
||||||
|
} StdVideoH265SpsFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265ShortTermRefPicSetFlags {
|
||||||
|
uint32_t inter_ref_pic_set_prediction_flag : 1;
|
||||||
|
uint32_t delta_rps_sign : 1;
|
||||||
|
} StdVideoH265ShortTermRefPicSetFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265ShortTermRefPicSet {
|
||||||
|
StdVideoH265ShortTermRefPicSetFlags flags;
|
||||||
|
uint32_t delta_idx_minus1;
|
||||||
|
uint16_t use_delta_flag;
|
||||||
|
uint16_t abs_delta_rps_minus1;
|
||||||
|
uint16_t used_by_curr_pic_flag;
|
||||||
|
uint16_t used_by_curr_pic_s0_flag;
|
||||||
|
uint16_t used_by_curr_pic_s1_flag;
|
||||||
|
uint16_t reserved1;
|
||||||
|
uint8_t reserved2;
|
||||||
|
uint8_t reserved3;
|
||||||
|
uint8_t num_negative_pics;
|
||||||
|
uint8_t num_positive_pics;
|
||||||
|
uint16_t delta_poc_s0_minus1[STD_VIDEO_H265_MAX_DPB_SIZE];
|
||||||
|
uint16_t delta_poc_s1_minus1[STD_VIDEO_H265_MAX_DPB_SIZE];
|
||||||
|
} StdVideoH265ShortTermRefPicSet;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265LongTermRefPicsSps {
|
||||||
|
uint32_t used_by_curr_pic_lt_sps_flag;
|
||||||
|
uint32_t lt_ref_pic_poc_lsb_sps[STD_VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS];
|
||||||
|
} StdVideoH265LongTermRefPicsSps;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265SequenceParameterSet {
|
||||||
|
StdVideoH265SpsFlags flags;
|
||||||
|
StdVideoH265ChromaFormatIdc chroma_format_idc;
|
||||||
|
uint32_t pic_width_in_luma_samples;
|
||||||
|
uint32_t pic_height_in_luma_samples;
|
||||||
|
uint8_t sps_video_parameter_set_id;
|
||||||
|
uint8_t sps_max_sub_layers_minus1;
|
||||||
|
uint8_t sps_seq_parameter_set_id;
|
||||||
|
uint8_t bit_depth_luma_minus8;
|
||||||
|
uint8_t bit_depth_chroma_minus8;
|
||||||
|
uint8_t log2_max_pic_order_cnt_lsb_minus4;
|
||||||
|
uint8_t log2_min_luma_coding_block_size_minus3;
|
||||||
|
uint8_t log2_diff_max_min_luma_coding_block_size;
|
||||||
|
uint8_t log2_min_luma_transform_block_size_minus2;
|
||||||
|
uint8_t log2_diff_max_min_luma_transform_block_size;
|
||||||
|
uint8_t max_transform_hierarchy_depth_inter;
|
||||||
|
uint8_t max_transform_hierarchy_depth_intra;
|
||||||
|
uint8_t num_short_term_ref_pic_sets;
|
||||||
|
uint8_t num_long_term_ref_pics_sps;
|
||||||
|
uint8_t pcm_sample_bit_depth_luma_minus1;
|
||||||
|
uint8_t pcm_sample_bit_depth_chroma_minus1;
|
||||||
|
uint8_t log2_min_pcm_luma_coding_block_size_minus3;
|
||||||
|
uint8_t log2_diff_max_min_pcm_luma_coding_block_size;
|
||||||
|
uint8_t reserved1;
|
||||||
|
uint8_t reserved2;
|
||||||
|
uint8_t palette_max_size;
|
||||||
|
uint8_t delta_palette_max_predictor_size;
|
||||||
|
uint8_t motion_vector_resolution_control_idc;
|
||||||
|
uint8_t sps_num_palette_predictor_initializers_minus1;
|
||||||
|
uint32_t conf_win_left_offset;
|
||||||
|
uint32_t conf_win_right_offset;
|
||||||
|
uint32_t conf_win_top_offset;
|
||||||
|
uint32_t conf_win_bottom_offset;
|
||||||
|
const StdVideoH265ProfileTierLevel* pProfileTierLevel;
|
||||||
|
const StdVideoH265DecPicBufMgr* pDecPicBufMgr;
|
||||||
|
const StdVideoH265ScalingLists* pScalingLists;
|
||||||
|
const StdVideoH265ShortTermRefPicSet* pShortTermRefPicSet;
|
||||||
|
const StdVideoH265LongTermRefPicsSps* pLongTermRefPicsSps;
|
||||||
|
const StdVideoH265SequenceParameterSetVui* pSequenceParameterSetVui;
|
||||||
|
const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries;
|
||||||
|
} StdVideoH265SequenceParameterSet;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265PpsFlags {
|
||||||
|
uint32_t dependent_slice_segments_enabled_flag : 1;
|
||||||
|
uint32_t output_flag_present_flag : 1;
|
||||||
|
uint32_t sign_data_hiding_enabled_flag : 1;
|
||||||
|
uint32_t cabac_init_present_flag : 1;
|
||||||
|
uint32_t constrained_intra_pred_flag : 1;
|
||||||
|
uint32_t transform_skip_enabled_flag : 1;
|
||||||
|
uint32_t cu_qp_delta_enabled_flag : 1;
|
||||||
|
uint32_t pps_slice_chroma_qp_offsets_present_flag : 1;
|
||||||
|
uint32_t weighted_pred_flag : 1;
|
||||||
|
uint32_t weighted_bipred_flag : 1;
|
||||||
|
uint32_t transquant_bypass_enabled_flag : 1;
|
||||||
|
uint32_t tiles_enabled_flag : 1;
|
||||||
|
uint32_t entropy_coding_sync_enabled_flag : 1;
|
||||||
|
uint32_t uniform_spacing_flag : 1;
|
||||||
|
uint32_t loop_filter_across_tiles_enabled_flag : 1;
|
||||||
|
uint32_t pps_loop_filter_across_slices_enabled_flag : 1;
|
||||||
|
uint32_t deblocking_filter_control_present_flag : 1;
|
||||||
|
uint32_t deblocking_filter_override_enabled_flag : 1;
|
||||||
|
uint32_t pps_deblocking_filter_disabled_flag : 1;
|
||||||
|
uint32_t pps_scaling_list_data_present_flag : 1;
|
||||||
|
uint32_t lists_modification_present_flag : 1;
|
||||||
|
uint32_t slice_segment_header_extension_present_flag : 1;
|
||||||
|
uint32_t pps_extension_present_flag : 1;
|
||||||
|
uint32_t cross_component_prediction_enabled_flag : 1;
|
||||||
|
uint32_t chroma_qp_offset_list_enabled_flag : 1;
|
||||||
|
uint32_t pps_curr_pic_ref_enabled_flag : 1;
|
||||||
|
uint32_t residual_adaptive_colour_transform_enabled_flag : 1;
|
||||||
|
uint32_t pps_slice_act_qp_offsets_present_flag : 1;
|
||||||
|
uint32_t pps_palette_predictor_initializers_present_flag : 1;
|
||||||
|
uint32_t monochrome_palette_flag : 1;
|
||||||
|
uint32_t pps_range_extension_flag : 1;
|
||||||
|
} StdVideoH265PpsFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoH265PictureParameterSet {
|
||||||
|
StdVideoH265PpsFlags flags;
|
||||||
|
uint8_t pps_pic_parameter_set_id;
|
||||||
|
uint8_t pps_seq_parameter_set_id;
|
||||||
|
uint8_t sps_video_parameter_set_id;
|
||||||
|
uint8_t num_extra_slice_header_bits;
|
||||||
|
uint8_t num_ref_idx_l0_default_active_minus1;
|
||||||
|
uint8_t num_ref_idx_l1_default_active_minus1;
|
||||||
|
int8_t init_qp_minus26;
|
||||||
|
uint8_t diff_cu_qp_delta_depth;
|
||||||
|
int8_t pps_cb_qp_offset;
|
||||||
|
int8_t pps_cr_qp_offset;
|
||||||
|
int8_t pps_beta_offset_div2;
|
||||||
|
int8_t pps_tc_offset_div2;
|
||||||
|
uint8_t log2_parallel_merge_level_minus2;
|
||||||
|
uint8_t log2_max_transform_skip_block_size_minus2;
|
||||||
|
uint8_t diff_cu_chroma_qp_offset_depth;
|
||||||
|
uint8_t chroma_qp_offset_list_len_minus1;
|
||||||
|
int8_t cb_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
|
||||||
|
int8_t cr_qp_offset_list[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE];
|
||||||
|
uint8_t log2_sao_offset_scale_luma;
|
||||||
|
uint8_t log2_sao_offset_scale_chroma;
|
||||||
|
int8_t pps_act_y_qp_offset_plus5;
|
||||||
|
int8_t pps_act_cb_qp_offset_plus5;
|
||||||
|
int8_t pps_act_cr_qp_offset_plus3;
|
||||||
|
uint8_t pps_num_palette_predictor_initializers;
|
||||||
|
uint8_t luma_bit_depth_entry_minus8;
|
||||||
|
uint8_t chroma_bit_depth_entry_minus8;
|
||||||
|
uint8_t num_tile_columns_minus1;
|
||||||
|
uint8_t num_tile_rows_minus1;
|
||||||
|
uint8_t reserved1;
|
||||||
|
uint8_t reserved2;
|
||||||
|
uint16_t column_width_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE];
|
||||||
|
uint16_t row_height_minus1[STD_VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE];
|
||||||
|
uint32_t reserved3;
|
||||||
|
const StdVideoH265ScalingLists* pScalingLists;
|
||||||
|
const StdVideoH265PredictorPaletteEntries* pPredictorPaletteEntries;
|
||||||
|
} StdVideoH265PictureParameterSet;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
#ifndef VULKAN_VIDEO_CODEC_H265STD_DECODE_H_
|
||||||
|
#define VULKAN_VIDEO_CODEC_H265STD_DECODE_H_ 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Copyright 2015-2023 The Khronos Group Inc.
|
||||||
|
**
|
||||||
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
** This header is generated from the Khronos Vulkan XML API Registry.
|
||||||
|
**
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define vulkan_video_codec_h265std_decode 1
|
||||||
|
|
||||||
|
#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0 VK_MAKE_VIDEO_STD_VERSION(1, 0, 0)
|
||||||
|
|
||||||
|
#define STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE 8
|
||||||
|
#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_API_VERSION_1_0_0
|
||||||
|
#define VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_h265_decode"
|
||||||
|
typedef struct StdVideoDecodeH265PictureInfoFlags {
|
||||||
|
uint32_t IrapPicFlag : 1;
|
||||||
|
uint32_t IdrPicFlag : 1;
|
||||||
|
uint32_t IsReference : 1;
|
||||||
|
uint32_t short_term_ref_pic_set_sps_flag : 1;
|
||||||
|
} StdVideoDecodeH265PictureInfoFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoDecodeH265PictureInfo {
|
||||||
|
StdVideoDecodeH265PictureInfoFlags flags;
|
||||||
|
uint8_t sps_video_parameter_set_id;
|
||||||
|
uint8_t pps_seq_parameter_set_id;
|
||||||
|
uint8_t pps_pic_parameter_set_id;
|
||||||
|
uint8_t NumDeltaPocsOfRefRpsIdx;
|
||||||
|
int32_t PicOrderCntVal;
|
||||||
|
uint16_t NumBitsForSTRefPicSetInSlice;
|
||||||
|
uint16_t reserved;
|
||||||
|
uint8_t RefPicSetStCurrBefore[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
|
||||||
|
uint8_t RefPicSetStCurrAfter[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
|
||||||
|
uint8_t RefPicSetLtCurr[STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE];
|
||||||
|
} StdVideoDecodeH265PictureInfo;
|
||||||
|
|
||||||
|
typedef struct StdVideoDecodeH265ReferenceInfoFlags {
|
||||||
|
uint32_t used_for_long_term_reference : 1;
|
||||||
|
uint32_t unused_for_reference : 1;
|
||||||
|
} StdVideoDecodeH265ReferenceInfoFlags;
|
||||||
|
|
||||||
|
typedef struct StdVideoDecodeH265ReferenceInfo {
|
||||||
|
StdVideoDecodeH265ReferenceInfoFlags flags;
|
||||||
|
int32_t PicOrderCntVal;
|
||||||
|
} StdVideoDecodeH265ReferenceInfo;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
Vendored
+19
-1
@@ -2,7 +2,7 @@
|
|||||||
#define VULKAN_WIN32_H_ 1
|
#define VULKAN_WIN32_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright 2015-2022 The Khronos Group Inc.
|
** Copyright 2015-2023 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -308,6 +308,24 @@ VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModes2EXT(
|
|||||||
VkDeviceGroupPresentModeFlagsKHR* pModes);
|
VkDeviceGroupPresentModeFlagsKHR* pModes);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_NV_acquire_winrt_display 1
|
||||||
|
#define VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION 1
|
||||||
|
#define VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME "VK_NV_acquire_winrt_display"
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkAcquireWinrtDisplayNV)(VkPhysicalDevice physicalDevice, VkDisplayKHR display);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkGetWinrtDisplayNV)(VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR* pDisplay);
|
||||||
|
|
||||||
|
#ifndef VK_NO_PROTOTYPES
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireWinrtDisplayNV(
|
||||||
|
VkPhysicalDevice physicalDevice,
|
||||||
|
VkDisplayKHR display);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetWinrtDisplayNV(
|
||||||
|
VkPhysicalDevice physicalDevice,
|
||||||
|
uint32_t deviceRelativeId,
|
||||||
|
VkDisplayKHR* pDisplay);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Vendored
+177
-9
@@ -37,6 +37,7 @@ FALSE :: 0
|
|||||||
QUEUE_FAMILY_IGNORED :: ~u32(0)
|
QUEUE_FAMILY_IGNORED :: ~u32(0)
|
||||||
SUBPASS_EXTERNAL :: ~u32(0)
|
SUBPASS_EXTERNAL :: ~u32(0)
|
||||||
MAX_PHYSICAL_DEVICE_NAME_SIZE :: 256
|
MAX_PHYSICAL_DEVICE_NAME_SIZE :: 256
|
||||||
|
MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT :: 32
|
||||||
UUID_SIZE :: 16
|
UUID_SIZE :: 16
|
||||||
MAX_MEMORY_TYPES :: 32
|
MAX_MEMORY_TYPES :: 32
|
||||||
MAX_MEMORY_HEAPS :: 16
|
MAX_MEMORY_HEAPS :: 16
|
||||||
@@ -50,10 +51,43 @@ MAX_GLOBAL_PRIORITY_SIZE_EXT :: 16
|
|||||||
QUEUE_FAMILY_EXTERNAL :: MAX_QUEUE_FAMILY_EXTERNAL
|
QUEUE_FAMILY_EXTERNAL :: MAX_QUEUE_FAMILY_EXTERNAL
|
||||||
|
|
||||||
// General Constants
|
// General Constants
|
||||||
HEADER_VERSION :: 211
|
HEADER_VERSION :: 250
|
||||||
MAX_DRIVER_NAME_SIZE :: 256
|
MAX_DRIVER_NAME_SIZE :: 256
|
||||||
MAX_DRIVER_INFO_SIZE :: 256
|
MAX_DRIVER_INFO_SIZE :: 256
|
||||||
|
|
||||||
|
// Vulkan Video Constants
|
||||||
|
VIDEO_H264_CPB_CNT_LIST_SIZE :: 32
|
||||||
|
VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS :: 6
|
||||||
|
VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS :: 16
|
||||||
|
VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS :: 6
|
||||||
|
VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS :: 64
|
||||||
|
VIDEO_H264_MAX_NUM_LIST_REF :: 32
|
||||||
|
VIDEO_H264_MAX_CHROMA_PLANES :: 2
|
||||||
|
VIDEO_H265_SUBLAYERS_LIST_SIZE :: 7
|
||||||
|
VIDEO_H265_CPB_CNT_LIST_SIZE :: 32
|
||||||
|
VIDEO_H265_SCALING_LIST_4X4_NUM_LISTS :: 6
|
||||||
|
VIDEO_H265_SCALING_LIST_4X4_NUM_ELEMENTS :: 16
|
||||||
|
VIDEO_H265_SCALING_LIST_8X8_NUM_LISTS :: 6
|
||||||
|
VIDEO_H265_SCALING_LIST_8X8_NUM_ELEMENTS :: 64
|
||||||
|
VIDEO_H265_SCALING_LIST_16X16_NUM_LISTS :: 6
|
||||||
|
VIDEO_H265_SCALING_LIST_16X16_NUM_ELEMENTS :: 64
|
||||||
|
VIDEO_H265_SCALING_LIST_32X32_NUM_LISTS :: 2
|
||||||
|
VIDEO_H265_SCALING_LIST_32X32_NUM_ELEMENTS :: 64
|
||||||
|
VIDEO_H265_PREDICTOR_PALETTE_COMPONENTS_LIST_SIZE :: 3
|
||||||
|
VIDEO_H265_PREDICTOR_PALETTE_COMP_ENTRIES_LIST_SIZE :: 128
|
||||||
|
VIDEO_H265_MAX_DPB_SIZE :: 16
|
||||||
|
VIDEO_H265_MAX_LONG_TERM_REF_PICS_SPS :: 32
|
||||||
|
VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE :: 6
|
||||||
|
VIDEO_H265_CHROMA_QP_OFFSET_TILE_COLS_LIST_SIZE :: 19
|
||||||
|
VIDEO_H265_CHROMA_QP_OFFSET_TILE_ROWS_LIST_SIZE :: 21
|
||||||
|
VIDEO_H265_MAX_NUM_LIST_REF :: 15
|
||||||
|
VIDEO_H265_MAX_CHROMA_PLANES :: 2
|
||||||
|
VIDEO_H265_MAX_SHORT_TERM_REF_PIC_SETS :: 64
|
||||||
|
VIDEO_H265_MAX_LONG_TERM_PICS :: 16
|
||||||
|
VIDEO_H265_MAX_DELTA_POC :: 48
|
||||||
|
VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE :: 2
|
||||||
|
VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE :: 8
|
||||||
|
|
||||||
// Vendor Constants
|
// Vendor Constants
|
||||||
KHR_surface :: 1
|
KHR_surface :: 1
|
||||||
KHR_SURFACE_SPEC_VERSION :: 25
|
KHR_SURFACE_SPEC_VERSION :: 25
|
||||||
@@ -70,6 +104,15 @@ KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME :: "VK_KHR_display_swapc
|
|||||||
KHR_sampler_mirror_clamp_to_edge :: 1
|
KHR_sampler_mirror_clamp_to_edge :: 1
|
||||||
KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION :: 3
|
KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION :: 3
|
||||||
KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME :: "VK_KHR_sampler_mirror_clamp_to_edge"
|
KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME :: "VK_KHR_sampler_mirror_clamp_to_edge"
|
||||||
|
KHR_video_queue :: 1
|
||||||
|
KHR_VIDEO_QUEUE_SPEC_VERSION :: 8
|
||||||
|
KHR_VIDEO_QUEUE_EXTENSION_NAME :: "VK_KHR_video_queue"
|
||||||
|
KHR_video_decode_queue :: 1
|
||||||
|
KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION :: 7
|
||||||
|
KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME :: "VK_KHR_video_decode_queue"
|
||||||
|
KHR_video_decode_h264 :: 1
|
||||||
|
KHR_VIDEO_DECODE_H264_SPEC_VERSION :: 8
|
||||||
|
KHR_VIDEO_DECODE_H264_EXTENSION_NAME :: "VK_KHR_video_decode_h264"
|
||||||
KHR_dynamic_rendering :: 1
|
KHR_dynamic_rendering :: 1
|
||||||
KHR_DYNAMIC_RENDERING_SPEC_VERSION :: 1
|
KHR_DYNAMIC_RENDERING_SPEC_VERSION :: 1
|
||||||
KHR_DYNAMIC_RENDERING_EXTENSION_NAME :: "VK_KHR_dynamic_rendering"
|
KHR_DYNAMIC_RENDERING_EXTENSION_NAME :: "VK_KHR_dynamic_rendering"
|
||||||
@@ -205,6 +248,9 @@ KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME :: "VK_KHR_shader_atomic
|
|||||||
KHR_shader_clock :: 1
|
KHR_shader_clock :: 1
|
||||||
KHR_SHADER_CLOCK_SPEC_VERSION :: 1
|
KHR_SHADER_CLOCK_SPEC_VERSION :: 1
|
||||||
KHR_SHADER_CLOCK_EXTENSION_NAME :: "VK_KHR_shader_clock"
|
KHR_SHADER_CLOCK_EXTENSION_NAME :: "VK_KHR_shader_clock"
|
||||||
|
KHR_video_decode_h265 :: 1
|
||||||
|
KHR_VIDEO_DECODE_H265_SPEC_VERSION :: 7
|
||||||
|
KHR_VIDEO_DECODE_H265_EXTENSION_NAME :: "VK_KHR_video_decode_h265"
|
||||||
KHR_global_priority :: 1
|
KHR_global_priority :: 1
|
||||||
MAX_GLOBAL_PRIORITY_SIZE_KHR :: 16
|
MAX_GLOBAL_PRIORITY_SIZE_KHR :: 16
|
||||||
KHR_GLOBAL_PRIORITY_SPEC_VERSION :: 1
|
KHR_GLOBAL_PRIORITY_SPEC_VERSION :: 1
|
||||||
@@ -259,6 +305,9 @@ KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME :: "VK_KHR_deferred_host
|
|||||||
KHR_pipeline_executable_properties :: 1
|
KHR_pipeline_executable_properties :: 1
|
||||||
KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION :: 1
|
KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION :: 1
|
||||||
KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME :: "VK_KHR_pipeline_executable_properties"
|
KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME :: "VK_KHR_pipeline_executable_properties"
|
||||||
|
KHR_map_memory2 :: 1
|
||||||
|
KHR_MAP_MEMORY_2_SPEC_VERSION :: 1
|
||||||
|
KHR_MAP_MEMORY_2_EXTENSION_NAME :: "VK_KHR_map_memory2"
|
||||||
KHR_shader_integer_dot_product :: 1
|
KHR_shader_integer_dot_product :: 1
|
||||||
KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION :: 1
|
KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION :: 1
|
||||||
KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME :: "VK_KHR_shader_integer_dot_product"
|
KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME :: "VK_KHR_shader_integer_dot_product"
|
||||||
@@ -274,6 +323,9 @@ KHR_PRESENT_ID_EXTENSION_NAME :: "VK_KHR_present_id"
|
|||||||
KHR_synchronization2 :: 1
|
KHR_synchronization2 :: 1
|
||||||
KHR_SYNCHRONIZATION_2_SPEC_VERSION :: 1
|
KHR_SYNCHRONIZATION_2_SPEC_VERSION :: 1
|
||||||
KHR_SYNCHRONIZATION_2_EXTENSION_NAME :: "VK_KHR_synchronization2"
|
KHR_SYNCHRONIZATION_2_EXTENSION_NAME :: "VK_KHR_synchronization2"
|
||||||
|
KHR_fragment_shader_barycentric :: 1
|
||||||
|
KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION :: 1
|
||||||
|
KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME :: "VK_KHR_fragment_shader_barycentric"
|
||||||
KHR_shader_subgroup_uniform_control_flow :: 1
|
KHR_shader_subgroup_uniform_control_flow :: 1
|
||||||
KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION :: 1
|
KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION :: 1
|
||||||
KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME :: "VK_KHR_shader_subgroup_uniform_control_flow"
|
KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME :: "VK_KHR_shader_subgroup_uniform_control_flow"
|
||||||
@@ -287,14 +339,20 @@ KHR_copy_commands2 :: 1
|
|||||||
KHR_COPY_COMMANDS_2_SPEC_VERSION :: 1
|
KHR_COPY_COMMANDS_2_SPEC_VERSION :: 1
|
||||||
KHR_COPY_COMMANDS_2_EXTENSION_NAME :: "VK_KHR_copy_commands2"
|
KHR_COPY_COMMANDS_2_EXTENSION_NAME :: "VK_KHR_copy_commands2"
|
||||||
KHR_format_feature_flags2 :: 1
|
KHR_format_feature_flags2 :: 1
|
||||||
KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION :: 1
|
KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION :: 2
|
||||||
KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME :: "VK_KHR_format_feature_flags2"
|
KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME :: "VK_KHR_format_feature_flags2"
|
||||||
|
KHR_ray_tracing_maintenance1 :: 1
|
||||||
|
KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION :: 1
|
||||||
|
KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME :: "VK_KHR_ray_tracing_maintenance1"
|
||||||
KHR_portability_enumeration :: 1
|
KHR_portability_enumeration :: 1
|
||||||
KHR_PORTABILITY_ENUMERATION_SPEC_VERSION :: 1
|
KHR_PORTABILITY_ENUMERATION_SPEC_VERSION :: 1
|
||||||
KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME :: "VK_KHR_portability_enumeration"
|
KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME :: "VK_KHR_portability_enumeration"
|
||||||
KHR_maintenance4 :: 1
|
KHR_maintenance4 :: 1
|
||||||
KHR_MAINTENANCE_4_SPEC_VERSION :: 2
|
KHR_MAINTENANCE_4_SPEC_VERSION :: 2
|
||||||
KHR_MAINTENANCE_4_EXTENSION_NAME :: "VK_KHR_maintenance4"
|
KHR_MAINTENANCE_4_EXTENSION_NAME :: "VK_KHR_maintenance4"
|
||||||
|
KHR_ray_tracing_position_fetch :: 1
|
||||||
|
KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION :: 1
|
||||||
|
KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME :: "VK_KHR_ray_tracing_position_fetch"
|
||||||
EXT_debug_report :: 1
|
EXT_debug_report :: 1
|
||||||
EXT_DEBUG_REPORT_SPEC_VERSION :: 10
|
EXT_DEBUG_REPORT_SPEC_VERSION :: 10
|
||||||
EXT_DEBUG_REPORT_EXTENSION_NAME :: "VK_EXT_debug_report"
|
EXT_DEBUG_REPORT_EXTENSION_NAME :: "VK_EXT_debug_report"
|
||||||
@@ -376,6 +434,9 @@ EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME :: "VK_EXT_texture_compr
|
|||||||
EXT_astc_decode_mode :: 1
|
EXT_astc_decode_mode :: 1
|
||||||
EXT_ASTC_DECODE_MODE_SPEC_VERSION :: 1
|
EXT_ASTC_DECODE_MODE_SPEC_VERSION :: 1
|
||||||
EXT_ASTC_DECODE_MODE_EXTENSION_NAME :: "VK_EXT_astc_decode_mode"
|
EXT_ASTC_DECODE_MODE_EXTENSION_NAME :: "VK_EXT_astc_decode_mode"
|
||||||
|
EXT_pipeline_robustness :: 1
|
||||||
|
EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION :: 1
|
||||||
|
EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME :: "VK_EXT_pipeline_robustness"
|
||||||
EXT_conditional_rendering :: 1
|
EXT_conditional_rendering :: 1
|
||||||
EXT_CONDITIONAL_RENDERING_SPEC_VERSION :: 2
|
EXT_CONDITIONAL_RENDERING_SPEC_VERSION :: 2
|
||||||
EXT_CONDITIONAL_RENDERING_EXTENSION_NAME :: "VK_EXT_conditional_rendering"
|
EXT_CONDITIONAL_RENDERING_EXTENSION_NAME :: "VK_EXT_conditional_rendering"
|
||||||
@@ -412,7 +473,7 @@ NV_viewport_swizzle :: 1
|
|||||||
NV_VIEWPORT_SWIZZLE_SPEC_VERSION :: 1
|
NV_VIEWPORT_SWIZZLE_SPEC_VERSION :: 1
|
||||||
NV_VIEWPORT_SWIZZLE_EXTENSION_NAME :: "VK_NV_viewport_swizzle"
|
NV_VIEWPORT_SWIZZLE_EXTENSION_NAME :: "VK_NV_viewport_swizzle"
|
||||||
EXT_discard_rectangles :: 1
|
EXT_discard_rectangles :: 1
|
||||||
EXT_DISCARD_RECTANGLES_SPEC_VERSION :: 1
|
EXT_DISCARD_RECTANGLES_SPEC_VERSION :: 2
|
||||||
EXT_DISCARD_RECTANGLES_EXTENSION_NAME :: "VK_EXT_discard_rectangles"
|
EXT_DISCARD_RECTANGLES_EXTENSION_NAME :: "VK_EXT_discard_rectangles"
|
||||||
EXT_conservative_rasterization :: 1
|
EXT_conservative_rasterization :: 1
|
||||||
EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION :: 1
|
EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION :: 1
|
||||||
@@ -542,7 +603,7 @@ NV_shader_image_footprint :: 1
|
|||||||
NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION :: 2
|
NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION :: 2
|
||||||
NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME :: "VK_NV_shader_image_footprint"
|
NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME :: "VK_NV_shader_image_footprint"
|
||||||
NV_scissor_exclusive :: 1
|
NV_scissor_exclusive :: 1
|
||||||
NV_SCISSOR_EXCLUSIVE_SPEC_VERSION :: 1
|
NV_SCISSOR_EXCLUSIVE_SPEC_VERSION :: 2
|
||||||
NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME :: "VK_NV_scissor_exclusive"
|
NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME :: "VK_NV_scissor_exclusive"
|
||||||
NV_device_diagnostic_checkpoints :: 1
|
NV_device_diagnostic_checkpoints :: 1
|
||||||
NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION :: 2
|
NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION :: 2
|
||||||
@@ -636,6 +697,12 @@ EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME :: "VK_EXT_extended_dyna
|
|||||||
EXT_shader_atomic_float2 :: 1
|
EXT_shader_atomic_float2 :: 1
|
||||||
EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION :: 1
|
EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION :: 1
|
||||||
EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME :: "VK_EXT_shader_atomic_float2"
|
EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME :: "VK_EXT_shader_atomic_float2"
|
||||||
|
EXT_surface_maintenance1 :: 1
|
||||||
|
EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION :: 1
|
||||||
|
EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME :: "VK_EXT_surface_maintenance1"
|
||||||
|
EXT_swapchain_maintenance1 :: 1
|
||||||
|
EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION :: 1
|
||||||
|
EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME :: "VK_EXT_swapchain_maintenance1"
|
||||||
EXT_shader_demote_to_helper_invocation :: 1
|
EXT_shader_demote_to_helper_invocation :: 1
|
||||||
EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION :: 1
|
EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION :: 1
|
||||||
EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME :: "VK_EXT_shader_demote_to_helper_invocation"
|
EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME :: "VK_EXT_shader_demote_to_helper_invocation"
|
||||||
@@ -663,6 +730,9 @@ EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME :: "VK_EXT_custom_border
|
|||||||
GOOGLE_user_type :: 1
|
GOOGLE_user_type :: 1
|
||||||
GOOGLE_USER_TYPE_SPEC_VERSION :: 1
|
GOOGLE_USER_TYPE_SPEC_VERSION :: 1
|
||||||
GOOGLE_USER_TYPE_EXTENSION_NAME :: "VK_GOOGLE_user_type"
|
GOOGLE_USER_TYPE_EXTENSION_NAME :: "VK_GOOGLE_user_type"
|
||||||
|
NV_present_barrier :: 1
|
||||||
|
NV_PRESENT_BARRIER_SPEC_VERSION :: 1
|
||||||
|
NV_PRESENT_BARRIER_EXTENSION_NAME :: "VK_NV_present_barrier"
|
||||||
EXT_private_data :: 1
|
EXT_private_data :: 1
|
||||||
EXT_PRIVATE_DATA_SPEC_VERSION :: 1
|
EXT_PRIVATE_DATA_SPEC_VERSION :: 1
|
||||||
EXT_PRIVATE_DATA_EXTENSION_NAME :: "VK_EXT_private_data"
|
EXT_PRIVATE_DATA_EXTENSION_NAME :: "VK_EXT_private_data"
|
||||||
@@ -670,11 +740,20 @@ EXT_pipeline_creation_cache_control :: 1
|
|||||||
EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION :: 3
|
EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION :: 3
|
||||||
EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME :: "VK_EXT_pipeline_creation_cache_control"
|
EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME :: "VK_EXT_pipeline_creation_cache_control"
|
||||||
NV_device_diagnostics_config :: 1
|
NV_device_diagnostics_config :: 1
|
||||||
NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION :: 1
|
NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION :: 2
|
||||||
NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME :: "VK_NV_device_diagnostics_config"
|
NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME :: "VK_NV_device_diagnostics_config"
|
||||||
|
NV_low_latency :: 1
|
||||||
|
NV_LOW_LATENCY_SPEC_VERSION :: 1
|
||||||
|
NV_LOW_LATENCY_EXTENSION_NAME :: "VK_NV_low_latency"
|
||||||
|
EXT_descriptor_buffer :: 1
|
||||||
|
EXT_DESCRIPTOR_BUFFER_SPEC_VERSION :: 1
|
||||||
|
EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME :: "VK_EXT_descriptor_buffer"
|
||||||
EXT_graphics_pipeline_library :: 1
|
EXT_graphics_pipeline_library :: 1
|
||||||
EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION :: 1
|
EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION :: 1
|
||||||
EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME :: "VK_EXT_graphics_pipeline_library"
|
EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME :: "VK_EXT_graphics_pipeline_library"
|
||||||
|
AMD_shader_early_and_late_fragment_tests :: 1
|
||||||
|
AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION :: 1
|
||||||
|
AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME :: "VK_AMD_shader_early_and_late_fragment_tests"
|
||||||
NV_fragment_shading_rate_enums :: 1
|
NV_fragment_shading_rate_enums :: 1
|
||||||
NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION :: 1
|
NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION :: 1
|
||||||
NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME :: "VK_NV_fragment_shading_rate_enums"
|
NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME :: "VK_NV_fragment_shading_rate_enums"
|
||||||
@@ -690,21 +769,30 @@ EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME :: "VK_EXT_fragment_dens
|
|||||||
EXT_image_robustness :: 1
|
EXT_image_robustness :: 1
|
||||||
EXT_IMAGE_ROBUSTNESS_SPEC_VERSION :: 1
|
EXT_IMAGE_ROBUSTNESS_SPEC_VERSION :: 1
|
||||||
EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME :: "VK_EXT_image_robustness"
|
EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME :: "VK_EXT_image_robustness"
|
||||||
|
EXT_image_compression_control :: 1
|
||||||
|
EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION :: 1
|
||||||
|
EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME :: "VK_EXT_image_compression_control"
|
||||||
|
EXT_attachment_feedback_loop_layout :: 1
|
||||||
|
EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION :: 2
|
||||||
|
EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME :: "VK_EXT_attachment_feedback_loop_layout"
|
||||||
EXT_4444_formats :: 1
|
EXT_4444_formats :: 1
|
||||||
EXT_4444_FORMATS_SPEC_VERSION :: 1
|
EXT_4444_FORMATS_SPEC_VERSION :: 1
|
||||||
EXT_4444_FORMATS_EXTENSION_NAME :: "VK_EXT_4444_formats"
|
EXT_4444_FORMATS_EXTENSION_NAME :: "VK_EXT_4444_formats"
|
||||||
|
EXT_device_fault :: 1
|
||||||
|
EXT_DEVICE_FAULT_SPEC_VERSION :: 2
|
||||||
|
EXT_DEVICE_FAULT_EXTENSION_NAME :: "VK_EXT_device_fault"
|
||||||
EXT_rgba10x6_formats :: 1
|
EXT_rgba10x6_formats :: 1
|
||||||
EXT_RGBA10X6_FORMATS_SPEC_VERSION :: 1
|
EXT_RGBA10X6_FORMATS_SPEC_VERSION :: 1
|
||||||
EXT_RGBA10X6_FORMATS_EXTENSION_NAME :: "VK_EXT_rgba10x6_formats"
|
EXT_RGBA10X6_FORMATS_EXTENSION_NAME :: "VK_EXT_rgba10x6_formats"
|
||||||
NV_acquire_winrt_display :: 1
|
|
||||||
NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION :: 1
|
|
||||||
NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME :: "VK_NV_acquire_winrt_display"
|
|
||||||
EXT_vertex_input_dynamic_state :: 1
|
EXT_vertex_input_dynamic_state :: 1
|
||||||
EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION :: 2
|
EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION :: 2
|
||||||
EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME :: "VK_EXT_vertex_input_dynamic_state"
|
EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME :: "VK_EXT_vertex_input_dynamic_state"
|
||||||
EXT_physical_device_drm :: 1
|
EXT_physical_device_drm :: 1
|
||||||
EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION :: 1
|
EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION :: 1
|
||||||
EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME :: "VK_EXT_physical_device_drm"
|
EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME :: "VK_EXT_physical_device_drm"
|
||||||
|
EXT_device_address_binding_report :: 1
|
||||||
|
EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION :: 1
|
||||||
|
EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME :: "VK_EXT_device_address_binding_report"
|
||||||
EXT_depth_clip_control :: 1
|
EXT_depth_clip_control :: 1
|
||||||
EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION :: 1
|
EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION :: 1
|
||||||
EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME :: "VK_EXT_depth_clip_control"
|
EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME :: "VK_EXT_depth_clip_control"
|
||||||
@@ -714,6 +802,12 @@ EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME :: "VK_EXT_primitive_top
|
|||||||
NV_external_memory_rdma :: 1
|
NV_external_memory_rdma :: 1
|
||||||
NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION :: 1
|
NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION :: 1
|
||||||
NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME :: "VK_NV_external_memory_rdma"
|
NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME :: "VK_NV_external_memory_rdma"
|
||||||
|
EXT_pipeline_properties :: 1
|
||||||
|
EXT_PIPELINE_PROPERTIES_SPEC_VERSION :: 1
|
||||||
|
EXT_PIPELINE_PROPERTIES_EXTENSION_NAME :: "VK_EXT_pipeline_properties"
|
||||||
|
EXT_multisampled_render_to_single_sampled :: 1
|
||||||
|
EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION :: 1
|
||||||
|
EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME :: "VK_EXT_multisampled_render_to_single_sampled"
|
||||||
EXT_extended_dynamic_state2 :: 1
|
EXT_extended_dynamic_state2 :: 1
|
||||||
EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION :: 1
|
EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION :: 1
|
||||||
EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME :: "VK_EXT_extended_dynamic_state2"
|
EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME :: "VK_EXT_extended_dynamic_state2"
|
||||||
@@ -735,6 +829,12 @@ EXT_MULTI_DRAW_EXTENSION_NAME :: "VK_EXT_multi_draw"
|
|||||||
EXT_image_2d_view_of_3d :: 1
|
EXT_image_2d_view_of_3d :: 1
|
||||||
EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION :: 1
|
EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION :: 1
|
||||||
EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME :: "VK_EXT_image_2d_view_of_3d"
|
EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME :: "VK_EXT_image_2d_view_of_3d"
|
||||||
|
EXT_shader_tile_image :: 1
|
||||||
|
EXT_SHADER_TILE_IMAGE_SPEC_VERSION :: 1
|
||||||
|
EXT_SHADER_TILE_IMAGE_EXTENSION_NAME :: "VK_EXT_shader_tile_image"
|
||||||
|
EXT_opacity_micromap :: 1
|
||||||
|
EXT_OPACITY_MICROMAP_SPEC_VERSION :: 2
|
||||||
|
EXT_OPACITY_MICROMAP_EXTENSION_NAME :: "VK_EXT_opacity_micromap"
|
||||||
EXT_load_store_op_none :: 1
|
EXT_load_store_op_none :: 1
|
||||||
EXT_LOAD_STORE_OP_NONE_SPEC_VERSION :: 1
|
EXT_LOAD_STORE_OP_NONE_SPEC_VERSION :: 1
|
||||||
EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME :: "VK_EXT_load_store_op_none"
|
EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME :: "VK_EXT_load_store_op_none"
|
||||||
@@ -744,12 +844,66 @@ EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME :: "VK_EXT_border_color_
|
|||||||
EXT_pageable_device_local_memory :: 1
|
EXT_pageable_device_local_memory :: 1
|
||||||
EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION :: 1
|
EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION :: 1
|
||||||
EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME :: "VK_EXT_pageable_device_local_memory"
|
EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME :: "VK_EXT_pageable_device_local_memory"
|
||||||
|
EXT_image_sliced_view_of_3d :: 1
|
||||||
|
EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION :: 1
|
||||||
|
EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME :: "VK_EXT_image_sliced_view_of_3d"
|
||||||
|
EXT_depth_clamp_zero_one :: 1
|
||||||
|
EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION :: 1
|
||||||
|
EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME :: "VK_EXT_depth_clamp_zero_one"
|
||||||
|
EXT_non_seamless_cube_map :: 1
|
||||||
|
EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION :: 1
|
||||||
|
EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME :: "VK_EXT_non_seamless_cube_map"
|
||||||
|
NV_copy_memory_indirect :: 1
|
||||||
|
NV_COPY_MEMORY_INDIRECT_SPEC_VERSION :: 1
|
||||||
|
NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME :: "VK_NV_copy_memory_indirect"
|
||||||
|
NV_memory_decompression :: 1
|
||||||
|
NV_MEMORY_DECOMPRESSION_SPEC_VERSION :: 1
|
||||||
|
NV_MEMORY_DECOMPRESSION_EXTENSION_NAME :: "VK_NV_memory_decompression"
|
||||||
NV_linear_color_attachment :: 1
|
NV_linear_color_attachment :: 1
|
||||||
NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION :: 1
|
NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION :: 1
|
||||||
NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME :: "VK_NV_linear_color_attachment"
|
NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME :: "VK_NV_linear_color_attachment"
|
||||||
GOOGLE_surfaceless_query :: 1
|
GOOGLE_surfaceless_query :: 1
|
||||||
GOOGLE_SURFACELESS_QUERY_SPEC_VERSION :: 1
|
GOOGLE_SURFACELESS_QUERY_SPEC_VERSION :: 2
|
||||||
GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME :: "VK_GOOGLE_surfaceless_query"
|
GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME :: "VK_GOOGLE_surfaceless_query"
|
||||||
|
EXT_image_compression_control_swapchain :: 1
|
||||||
|
EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION :: 1
|
||||||
|
EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME :: "VK_EXT_image_compression_control_swapchain"
|
||||||
|
EXT_extended_dynamic_state3 :: 1
|
||||||
|
EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION :: 2
|
||||||
|
EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME :: "VK_EXT_extended_dynamic_state3"
|
||||||
|
EXT_subpass_merge_feedback :: 1
|
||||||
|
EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION :: 2
|
||||||
|
EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME :: "VK_EXT_subpass_merge_feedback"
|
||||||
|
EXT_shader_module_identifier :: 1
|
||||||
|
EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION :: 1
|
||||||
|
EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME :: "VK_EXT_shader_module_identifier"
|
||||||
|
EXT_rasterization_order_attachment_access :: 1
|
||||||
|
EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION :: 1
|
||||||
|
EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME :: "VK_EXT_rasterization_order_attachment_access"
|
||||||
|
NV_optical_flow :: 1
|
||||||
|
NV_OPTICAL_FLOW_SPEC_VERSION :: 1
|
||||||
|
NV_OPTICAL_FLOW_EXTENSION_NAME :: "VK_NV_optical_flow"
|
||||||
|
EXT_legacy_dithering :: 1
|
||||||
|
EXT_LEGACY_DITHERING_SPEC_VERSION :: 1
|
||||||
|
EXT_LEGACY_DITHERING_EXTENSION_NAME :: "VK_EXT_legacy_dithering"
|
||||||
|
EXT_pipeline_protected_access :: 1
|
||||||
|
EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION :: 1
|
||||||
|
EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME :: "VK_EXT_pipeline_protected_access"
|
||||||
|
EXT_shader_object :: 1
|
||||||
|
EXT_SHADER_OBJECT_SPEC_VERSION :: 1
|
||||||
|
EXT_SHADER_OBJECT_EXTENSION_NAME :: "VK_EXT_shader_object"
|
||||||
|
NV_ray_tracing_invocation_reorder :: 1
|
||||||
|
NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION :: 1
|
||||||
|
NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME :: "VK_NV_ray_tracing_invocation_reorder"
|
||||||
|
EXT_mutable_descriptor_type :: 1
|
||||||
|
EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION :: 1
|
||||||
|
EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME :: "VK_EXT_mutable_descriptor_type"
|
||||||
|
EXT_pipeline_library_group_handles :: 1
|
||||||
|
EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION :: 1
|
||||||
|
EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME :: "VK_EXT_pipeline_library_group_handles"
|
||||||
|
EXT_attachment_feedback_loop_dynamic_state :: 1
|
||||||
|
EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION :: 1
|
||||||
|
EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME :: "VK_EXT_attachment_feedback_loop_dynamic_state"
|
||||||
KHR_acceleration_structure :: 1
|
KHR_acceleration_structure :: 1
|
||||||
KHR_ACCELERATION_STRUCTURE_SPEC_VERSION :: 13
|
KHR_ACCELERATION_STRUCTURE_SPEC_VERSION :: 13
|
||||||
KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME :: "VK_KHR_acceleration_structure"
|
KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME :: "VK_KHR_acceleration_structure"
|
||||||
@@ -759,6 +913,9 @@ KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME :: "VK_KHR_ray_tracing_p
|
|||||||
KHR_ray_query :: 1
|
KHR_ray_query :: 1
|
||||||
KHR_RAY_QUERY_SPEC_VERSION :: 1
|
KHR_RAY_QUERY_SPEC_VERSION :: 1
|
||||||
KHR_RAY_QUERY_EXTENSION_NAME :: "VK_KHR_ray_query"
|
KHR_RAY_QUERY_EXTENSION_NAME :: "VK_KHR_ray_query"
|
||||||
|
EXT_mesh_shader :: 1
|
||||||
|
EXT_MESH_SHADER_SPEC_VERSION :: 1
|
||||||
|
EXT_MESH_SHADER_EXTENSION_NAME :: "VK_EXT_mesh_shader"
|
||||||
KHR_win32_surface :: 1
|
KHR_win32_surface :: 1
|
||||||
KHR_WIN32_SURFACE_SPEC_VERSION :: 6
|
KHR_WIN32_SURFACE_SPEC_VERSION :: 6
|
||||||
KHR_WIN32_SURFACE_EXTENSION_NAME :: "VK_KHR_win32_surface"
|
KHR_WIN32_SURFACE_EXTENSION_NAME :: "VK_KHR_win32_surface"
|
||||||
@@ -783,9 +940,15 @@ NV_WIN32_KEYED_MUTEX_EXTENSION_NAME :: "VK_NV_win32_keyed_mu
|
|||||||
EXT_full_screen_exclusive :: 1
|
EXT_full_screen_exclusive :: 1
|
||||||
EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION :: 4
|
EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION :: 4
|
||||||
EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME :: "VK_EXT_full_screen_exclusive"
|
EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME :: "VK_EXT_full_screen_exclusive"
|
||||||
|
NV_acquire_winrt_display :: 1
|
||||||
|
NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION :: 1
|
||||||
|
NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME :: "VK_NV_acquire_winrt_display"
|
||||||
EXT_metal_surface :: 1
|
EXT_metal_surface :: 1
|
||||||
EXT_METAL_SURFACE_SPEC_VERSION :: 1
|
EXT_METAL_SURFACE_SPEC_VERSION :: 1
|
||||||
EXT_METAL_SURFACE_EXTENSION_NAME :: "VK_EXT_metal_surface"
|
EXT_METAL_SURFACE_EXTENSION_NAME :: "VK_EXT_metal_surface"
|
||||||
|
EXT_metal_objects :: 1
|
||||||
|
EXT_METAL_OBJECTS_SPEC_VERSION :: 1
|
||||||
|
EXT_METAL_OBJECTS_EXTENSION_NAME :: "VK_EXT_metal_objects"
|
||||||
KHR_wayland_surface :: 1
|
KHR_wayland_surface :: 1
|
||||||
KHR_WAYLAND_SURFACE_SPEC_VERSION :: 6
|
KHR_WAYLAND_SURFACE_SPEC_VERSION :: 6
|
||||||
KHR_WAYLAND_SURFACE_EXTENSION_NAME :: "VK_KHR_wayland_surface"
|
KHR_WAYLAND_SURFACE_EXTENSION_NAME :: "VK_KHR_wayland_surface"
|
||||||
@@ -823,6 +986,8 @@ SurfaceKHR :: distinct NonDispatchableHandle
|
|||||||
SwapchainKHR :: distinct NonDispatchableHandle
|
SwapchainKHR :: distinct NonDispatchableHandle
|
||||||
DisplayKHR :: distinct NonDispatchableHandle
|
DisplayKHR :: distinct NonDispatchableHandle
|
||||||
DisplayModeKHR :: distinct NonDispatchableHandle
|
DisplayModeKHR :: distinct NonDispatchableHandle
|
||||||
|
VideoSessionKHR :: distinct NonDispatchableHandle
|
||||||
|
VideoSessionParametersKHR :: distinct NonDispatchableHandle
|
||||||
DeferredOperationKHR :: distinct NonDispatchableHandle
|
DeferredOperationKHR :: distinct NonDispatchableHandle
|
||||||
DebugReportCallbackEXT :: distinct NonDispatchableHandle
|
DebugReportCallbackEXT :: distinct NonDispatchableHandle
|
||||||
CuModuleNVX :: distinct NonDispatchableHandle
|
CuModuleNVX :: distinct NonDispatchableHandle
|
||||||
@@ -833,5 +998,8 @@ AccelerationStructureNV :: distinct NonDispatchableHandle
|
|||||||
PerformanceConfigurationINTEL :: distinct NonDispatchableHandle
|
PerformanceConfigurationINTEL :: distinct NonDispatchableHandle
|
||||||
IndirectCommandsLayoutNV :: distinct NonDispatchableHandle
|
IndirectCommandsLayoutNV :: distinct NonDispatchableHandle
|
||||||
AccelerationStructureKHR :: distinct NonDispatchableHandle
|
AccelerationStructureKHR :: distinct NonDispatchableHandle
|
||||||
|
MicromapEXT :: distinct NonDispatchableHandle
|
||||||
|
OpticalFlowSessionNV :: distinct NonDispatchableHandle
|
||||||
|
ShaderEXT :: distinct NonDispatchableHandle
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Vendored
+700
-52
File diff suppressed because it is too large
Load Diff
Vendored
+716
File diff suppressed because it is too large
Load Diff
Vendored
+1801
-14
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user