[Vulkan] Add Vulkan-Headers and VMA submodules
This commit is contained in:
parent
9b1fdac986
commit
0590346084
|
@ -82,3 +82,9 @@
|
||||||
[submodule "third_party/FidelityFX-FSR"]
|
[submodule "third_party/FidelityFX-FSR"]
|
||||||
path = third_party/FidelityFX-FSR
|
path = third_party/FidelityFX-FSR
|
||||||
url = https://github.com/GPUOpen-Effects/FidelityFX-FSR.git
|
url = https://github.com/GPUOpen-Effects/FidelityFX-FSR.git
|
||||||
|
[submodule "third_party/Vulkan-Headers"]
|
||||||
|
path = third_party/Vulkan-Headers
|
||||||
|
url = https://github.com/KhronosGroup/Vulkan-Headers.git
|
||||||
|
[submodule "third_party/VulkanMemoryAllocator"]
|
||||||
|
path = third_party/VulkanMemoryAllocator
|
||||||
|
url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
|
||||||
|
|
|
@ -13,6 +13,7 @@ project("xenia-gpu-null")
|
||||||
"xenia-ui-vulkan",
|
"xenia-ui-vulkan",
|
||||||
"xxhash",
|
"xxhash",
|
||||||
})
|
})
|
||||||
defines({
|
includedirs({
|
||||||
|
project_root.."/third_party/Vulkan-Headers/include",
|
||||||
})
|
})
|
||||||
local_platform_files()
|
local_platform_files()
|
||||||
|
|
|
@ -15,7 +15,8 @@ project("xenia-gpu-vulkan")
|
||||||
"xenia-ui-vulkan",
|
"xenia-ui-vulkan",
|
||||||
"xxhash",
|
"xxhash",
|
||||||
})
|
})
|
||||||
defines({
|
includedirs({
|
||||||
|
project_root.."/third_party/Vulkan-Headers/include",
|
||||||
})
|
})
|
||||||
local_platform_files()
|
local_platform_files()
|
||||||
files({
|
files({
|
||||||
|
@ -58,7 +59,8 @@ project("xenia-gpu-vulkan-trace-viewer")
|
||||||
"spirv-tools",
|
"spirv-tools",
|
||||||
"xxhash",
|
"xxhash",
|
||||||
})
|
})
|
||||||
defines({
|
includedirs({
|
||||||
|
project_root.."/third_party/Vulkan-Headers/include",
|
||||||
})
|
})
|
||||||
files({
|
files({
|
||||||
"vulkan_trace_viewer_main.cc",
|
"vulkan_trace_viewer_main.cc",
|
||||||
|
@ -124,7 +126,8 @@ project("xenia-gpu-vulkan-trace-dump")
|
||||||
"spirv-tools",
|
"spirv-tools",
|
||||||
"xxhash",
|
"xxhash",
|
||||||
})
|
})
|
||||||
defines({
|
includedirs({
|
||||||
|
project_root.."/third_party/Vulkan-Headers/include",
|
||||||
})
|
})
|
||||||
files({
|
files({
|
||||||
"vulkan_trace_dump_main.cc",
|
"vulkan_trace_dump_main.cc",
|
||||||
|
|
|
@ -30,6 +30,9 @@ project("xenia-hid-demo")
|
||||||
"xenia-ui",
|
"xenia-ui",
|
||||||
"xenia-ui-vulkan",
|
"xenia-ui-vulkan",
|
||||||
})
|
})
|
||||||
|
includedirs({
|
||||||
|
project_root.."/third_party/Vulkan-Headers/include",
|
||||||
|
})
|
||||||
files({
|
files({
|
||||||
"hid_demo.cc",
|
"hid_demo.cc",
|
||||||
"../ui/windowed_app_main_"..platform_suffix..".cc",
|
"../ui/windowed_app_main_"..platform_suffix..".cc",
|
||||||
|
|
|
@ -12,10 +12,8 @@ project("xenia-ui-vulkan")
|
||||||
"xenia-ui",
|
"xenia-ui",
|
||||||
"xenia-ui-spirv",
|
"xenia-ui-spirv",
|
||||||
})
|
})
|
||||||
defines({
|
|
||||||
})
|
|
||||||
includedirs({
|
includedirs({
|
||||||
project_root.."/third_party/vulkan/",
|
project_root.."/third_party/Vulkan-Headers/include",
|
||||||
})
|
})
|
||||||
local_platform_files()
|
local_platform_files()
|
||||||
local_platform_files("functions")
|
local_platform_files("functions")
|
||||||
|
@ -37,10 +35,8 @@ project("xenia-ui-window-vulkan-demo")
|
||||||
"xenia-ui-spirv",
|
"xenia-ui-spirv",
|
||||||
"xenia-ui-vulkan",
|
"xenia-ui-vulkan",
|
||||||
})
|
})
|
||||||
defines({
|
|
||||||
})
|
|
||||||
includedirs({
|
includedirs({
|
||||||
project_root.."/third_party/vulkan/",
|
project_root.."/third_party/Vulkan-Headers/include",
|
||||||
})
|
})
|
||||||
files({
|
files({
|
||||||
"../window_demo.cc",
|
"../window_demo.cc",
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
#ifndef VMA_NOT_NULL
|
#ifndef VMA_NOT_NULL
|
||||||
#define VMA_NOT_NULL
|
#define VMA_NOT_NULL
|
||||||
#endif
|
#endif
|
||||||
#include "third_party/vulkan/vk_mem_alloc.h"
|
#include "third_party/VulkanMemoryAllocator/include/vk_mem_alloc.h"
|
||||||
|
|
||||||
namespace xe {
|
namespace xe {
|
||||||
namespace ui {
|
namespace ui {
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
#ifndef VK_NO_PROTOTYPES
|
#ifndef VK_NO_PROTOTYPES
|
||||||
#define VK_NO_PROTOTYPES 1
|
#define VK_NO_PROTOTYPES 1
|
||||||
#endif
|
#endif
|
||||||
#include "third_party/vulkan/vulkan.h"
|
#include "third_party/Vulkan-Headers/include/vulkan/vulkan.h"
|
||||||
|
|
||||||
#define XELOGVK XELOGI
|
#define XELOGVK XELOGI
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit b32da5329b50e3cb96229aaecba9ded032fe29cc
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit fd82bc7b6daa58ff3ac9f581a9399cd22a24285d
|
File diff suppressed because it is too large
Load Diff
|
@ -1,84 +0,0 @@
|
||||||
//
|
|
||||||
// File: vk_platform.h
|
|
||||||
//
|
|
||||||
/*
|
|
||||||
** Copyright 2014-2021 The Khronos Group Inc.
|
|
||||||
**
|
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef VK_PLATFORM_H_
|
|
||||||
#define VK_PLATFORM_H_
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#endif // __cplusplus
|
|
||||||
|
|
||||||
/*
|
|
||||||
***************************************************************************************************
|
|
||||||
* Platform-specific directives and type declarations
|
|
||||||
***************************************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Platform-specific calling convention macros.
|
|
||||||
*
|
|
||||||
* Platforms should define these so that Vulkan clients call Vulkan commands
|
|
||||||
* with the same calling conventions that the Vulkan implementation expects.
|
|
||||||
*
|
|
||||||
* VKAPI_ATTR - Placed before the return type in function declarations.
|
|
||||||
* Useful for C++11 and GCC/Clang-style function attribute syntax.
|
|
||||||
* VKAPI_CALL - Placed after the return type in function declarations.
|
|
||||||
* Useful for MSVC-style calling convention syntax.
|
|
||||||
* VKAPI_PTR - Placed between the '(' and '*' in function pointer types.
|
|
||||||
*
|
|
||||||
* Function declaration: VKAPI_ATTR void VKAPI_CALL vkCommand(void);
|
|
||||||
* Function pointer type: typedef void (VKAPI_PTR *PFN_vkCommand)(void);
|
|
||||||
*/
|
|
||||||
#if defined(_WIN32)
|
|
||||||
// On Windows, Vulkan commands use the stdcall convention
|
|
||||||
#define VKAPI_ATTR
|
|
||||||
#define VKAPI_CALL __stdcall
|
|
||||||
#define VKAPI_PTR VKAPI_CALL
|
|
||||||
#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7
|
|
||||||
#error "Vulkan isn't supported for the 'armeabi' NDK ABI"
|
|
||||||
#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE)
|
|
||||||
// On Android 32-bit ARM targets, Vulkan functions use the "hardfloat"
|
|
||||||
// calling convention, i.e. float parameters are passed in registers. This
|
|
||||||
// is true even if the rest of the application passes floats on the stack,
|
|
||||||
// as it does by default when compiling for the armeabi-v7a NDK ABI.
|
|
||||||
#define VKAPI_ATTR __attribute__((pcs("aapcs-vfp")))
|
|
||||||
#define VKAPI_CALL
|
|
||||||
#define VKAPI_PTR VKAPI_ATTR
|
|
||||||
#else
|
|
||||||
// On other platforms, use the default calling convention
|
|
||||||
#define VKAPI_ATTR
|
|
||||||
#define VKAPI_CALL
|
|
||||||
#define VKAPI_PTR
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(VK_NO_STDDEF_H)
|
|
||||||
#include <stddef.h>
|
|
||||||
#endif // !defined(VK_NO_STDDEF_H)
|
|
||||||
|
|
||||||
#if !defined(VK_NO_STDINT_H)
|
|
||||||
#if defined(_MSC_VER) && (_MSC_VER < 1600)
|
|
||||||
typedef signed __int8 int8_t;
|
|
||||||
typedef unsigned __int8 uint8_t;
|
|
||||||
typedef signed __int16 int16_t;
|
|
||||||
typedef unsigned __int16 uint16_t;
|
|
||||||
typedef signed __int32 int32_t;
|
|
||||||
typedef unsigned __int32 uint32_t;
|
|
||||||
typedef signed __int64 int64_t;
|
|
||||||
typedef unsigned __int64 uint64_t;
|
|
||||||
#else
|
|
||||||
#include <stdint.h>
|
|
||||||
#endif
|
|
||||||
#endif // !defined(VK_NO_STDINT_H)
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} // extern "C"
|
|
||||||
#endif // __cplusplus
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,92 +0,0 @@
|
||||||
#ifndef VULKAN_H_
|
|
||||||
#define VULKAN_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 The Khronos Group Inc.
|
|
||||||
**
|
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "vk_platform.h"
|
|
||||||
#include "vulkan_core.h"
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_ANDROID_KHR
|
|
||||||
#include "vulkan_android.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_FUCHSIA
|
|
||||||
#include <zircon/types.h>
|
|
||||||
#include "vulkan_fuchsia.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_IOS_MVK
|
|
||||||
#include "vulkan_ios.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_MACOS_MVK
|
|
||||||
#include "vulkan_macos.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_METAL_EXT
|
|
||||||
#include "vulkan_metal.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_VI_NN
|
|
||||||
#include "vulkan_vi.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
|
|
||||||
#include <wayland-client.h>
|
|
||||||
#include "vulkan_wayland.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_WIN32_KHR
|
|
||||||
#include <windows.h>
|
|
||||||
#include "vulkan_win32.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_XCB_KHR
|
|
||||||
#include <xcb/xcb.h>
|
|
||||||
#include "vulkan_xcb.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_XLIB_KHR
|
|
||||||
#include <X11/Xlib.h>
|
|
||||||
#include "vulkan_xlib.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
|
|
||||||
#include <directfb.h>
|
|
||||||
#include "vulkan_directfb.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
|
|
||||||
#include <X11/Xlib.h>
|
|
||||||
#include <X11/extensions/Xrandr.h>
|
|
||||||
#include "vulkan_xlib_xrandr.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_GGP
|
|
||||||
#include <ggp_c/vulkan_types.h>
|
|
||||||
#include "vulkan_ggp.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_SCREEN_QNX
|
|
||||||
#include <screen/screen.h>
|
|
||||||
#include "vulkan_screen.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
|
||||||
#include "vulkan_beta.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // VULKAN_H_
|
|
|
@ -1,125 +0,0 @@
|
||||||
#ifndef VULKAN_ANDROID_H_
|
|
||||||
#define VULKAN_ANDROID_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_KHR_android_surface 1
|
|
||||||
struct ANativeWindow;
|
|
||||||
#define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6
|
|
||||||
#define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface"
|
|
||||||
typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;
|
|
||||||
typedef struct VkAndroidSurfaceCreateInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkAndroidSurfaceCreateFlagsKHR flags;
|
|
||||||
struct ANativeWindow* window;
|
|
||||||
} VkAndroidSurfaceCreateInfoKHR;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
|
|
||||||
VkInstance instance,
|
|
||||||
const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkSurfaceKHR* pSurface);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_ANDROID_external_memory_android_hardware_buffer 1
|
|
||||||
struct AHardwareBuffer;
|
|
||||||
#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 4
|
|
||||||
#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer"
|
|
||||||
typedef struct VkAndroidHardwareBufferUsageANDROID {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
uint64_t androidHardwareBufferUsage;
|
|
||||||
} VkAndroidHardwareBufferUsageANDROID;
|
|
||||||
|
|
||||||
typedef struct VkAndroidHardwareBufferPropertiesANDROID {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
VkDeviceSize allocationSize;
|
|
||||||
uint32_t memoryTypeBits;
|
|
||||||
} VkAndroidHardwareBufferPropertiesANDROID;
|
|
||||||
|
|
||||||
typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
VkFormat format;
|
|
||||||
uint64_t externalFormat;
|
|
||||||
VkFormatFeatureFlags formatFeatures;
|
|
||||||
VkComponentMapping samplerYcbcrConversionComponents;
|
|
||||||
VkSamplerYcbcrModelConversion suggestedYcbcrModel;
|
|
||||||
VkSamplerYcbcrRange suggestedYcbcrRange;
|
|
||||||
VkChromaLocation suggestedXChromaOffset;
|
|
||||||
VkChromaLocation suggestedYChromaOffset;
|
|
||||||
} VkAndroidHardwareBufferFormatPropertiesANDROID;
|
|
||||||
|
|
||||||
typedef struct VkImportAndroidHardwareBufferInfoANDROID {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
struct AHardwareBuffer* buffer;
|
|
||||||
} VkImportAndroidHardwareBufferInfoANDROID;
|
|
||||||
|
|
||||||
typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkDeviceMemory memory;
|
|
||||||
} VkMemoryGetAndroidHardwareBufferInfoANDROID;
|
|
||||||
|
|
||||||
typedef struct VkExternalFormatANDROID {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
uint64_t externalFormat;
|
|
||||||
} VkExternalFormatANDROID;
|
|
||||||
|
|
||||||
typedef struct VkAndroidHardwareBufferFormatProperties2ANDROID {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
VkFormat format;
|
|
||||||
uint64_t externalFormat;
|
|
||||||
VkFormatFeatureFlags2KHR formatFeatures;
|
|
||||||
VkComponentMapping samplerYcbcrConversionComponents;
|
|
||||||
VkSamplerYcbcrModelConversion suggestedYcbcrModel;
|
|
||||||
VkSamplerYcbcrRange suggestedYcbcrRange;
|
|
||||||
VkChromaLocation suggestedXChromaOffset;
|
|
||||||
VkChromaLocation suggestedYChromaOffset;
|
|
||||||
} VkAndroidHardwareBufferFormatProperties2ANDROID;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID(
|
|
||||||
VkDevice device,
|
|
||||||
const struct AHardwareBuffer* buffer,
|
|
||||||
VkAndroidHardwareBufferPropertiesANDROID* pProperties);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID(
|
|
||||||
VkDevice device,
|
|
||||||
const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
|
|
||||||
struct AHardwareBuffer** pBuffer);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,833 +0,0 @@
|
||||||
#ifndef VULKAN_BETA_H_
|
|
||||||
#define VULKAN_BETA_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_KHR_video_queue 1
|
|
||||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionKHR)
|
|
||||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkVideoSessionParametersKHR)
|
|
||||||
#define VK_KHR_VIDEO_QUEUE_SPEC_VERSION 2
|
|
||||||
#define VK_KHR_VIDEO_QUEUE_EXTENSION_NAME "VK_KHR_video_queue"
|
|
||||||
|
|
||||||
typedef enum VkQueryResultStatusKHR {
|
|
||||||
VK_QUERY_RESULT_STATUS_ERROR_KHR = -1,
|
|
||||||
VK_QUERY_RESULT_STATUS_NOT_READY_KHR = 0,
|
|
||||||
VK_QUERY_RESULT_STATUS_COMPLETE_KHR = 1,
|
|
||||||
VK_QUERY_RESULT_STATUS_MAX_ENUM_KHR = 0x7FFFFFFF
|
|
||||||
} VkQueryResultStatusKHR;
|
|
||||||
|
|
||||||
typedef enum VkVideoCodecOperationFlagBitsKHR {
|
|
||||||
VK_VIDEO_CODEC_OPERATION_INVALID_BIT_KHR = 0,
|
|
||||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
|
||||||
VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_EXT = 0x00010000,
|
|
||||||
#endif
|
|
||||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
|
||||||
VK_VIDEO_CODEC_OPERATION_ENCODE_H265_BIT_EXT = 0x00020000,
|
|
||||||
#endif
|
|
||||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
|
||||||
VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_EXT = 0x00000001,
|
|
||||||
#endif
|
|
||||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
|
||||||
VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_EXT = 0x00000002,
|
|
||||||
#endif
|
|
||||||
VK_VIDEO_CODEC_OPERATION_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
|
|
||||||
} VkVideoCodecOperationFlagBitsKHR;
|
|
||||||
typedef VkFlags VkVideoCodecOperationFlagsKHR;
|
|
||||||
|
|
||||||
typedef enum VkVideoChromaSubsamplingFlagBitsKHR {
|
|
||||||
VK_VIDEO_CHROMA_SUBSAMPLING_INVALID_BIT_KHR = 0,
|
|
||||||
VK_VIDEO_CHROMA_SUBSAMPLING_MONOCHROME_BIT_KHR = 0x00000001,
|
|
||||||
VK_VIDEO_CHROMA_SUBSAMPLING_420_BIT_KHR = 0x00000002,
|
|
||||||
VK_VIDEO_CHROMA_SUBSAMPLING_422_BIT_KHR = 0x00000004,
|
|
||||||
VK_VIDEO_CHROMA_SUBSAMPLING_444_BIT_KHR = 0x00000008,
|
|
||||||
VK_VIDEO_CHROMA_SUBSAMPLING_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
|
|
||||||
} VkVideoChromaSubsamplingFlagBitsKHR;
|
|
||||||
typedef VkFlags VkVideoChromaSubsamplingFlagsKHR;
|
|
||||||
|
|
||||||
typedef enum VkVideoComponentBitDepthFlagBitsKHR {
|
|
||||||
VK_VIDEO_COMPONENT_BIT_DEPTH_INVALID_KHR = 0,
|
|
||||||
VK_VIDEO_COMPONENT_BIT_DEPTH_8_BIT_KHR = 0x00000001,
|
|
||||||
VK_VIDEO_COMPONENT_BIT_DEPTH_10_BIT_KHR = 0x00000004,
|
|
||||||
VK_VIDEO_COMPONENT_BIT_DEPTH_12_BIT_KHR = 0x00000010,
|
|
||||||
VK_VIDEO_COMPONENT_BIT_DEPTH_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
|
|
||||||
} VkVideoComponentBitDepthFlagBitsKHR;
|
|
||||||
typedef VkFlags VkVideoComponentBitDepthFlagsKHR;
|
|
||||||
|
|
||||||
typedef enum VkVideoCapabilityFlagBitsKHR {
|
|
||||||
VK_VIDEO_CAPABILITY_PROTECTED_CONTENT_BIT_KHR = 0x00000001,
|
|
||||||
VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR = 0x00000002,
|
|
||||||
VK_VIDEO_CAPABILITY_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
|
|
||||||
} VkVideoCapabilityFlagBitsKHR;
|
|
||||||
typedef VkFlags VkVideoCapabilityFlagsKHR;
|
|
||||||
|
|
||||||
typedef enum VkVideoSessionCreateFlagBitsKHR {
|
|
||||||
VK_VIDEO_SESSION_CREATE_DEFAULT_KHR = 0,
|
|
||||||
VK_VIDEO_SESSION_CREATE_PROTECTED_CONTENT_BIT_KHR = 0x00000001,
|
|
||||||
VK_VIDEO_SESSION_CREATE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
|
|
||||||
} VkVideoSessionCreateFlagBitsKHR;
|
|
||||||
typedef VkFlags VkVideoSessionCreateFlagsKHR;
|
|
||||||
typedef VkFlags VkVideoBeginCodingFlagsKHR;
|
|
||||||
typedef VkFlags VkVideoEndCodingFlagsKHR;
|
|
||||||
|
|
||||||
typedef enum VkVideoCodingControlFlagBitsKHR {
|
|
||||||
VK_VIDEO_CODING_CONTROL_DEFAULT_KHR = 0,
|
|
||||||
VK_VIDEO_CODING_CONTROL_RESET_BIT_KHR = 0x00000001,
|
|
||||||
VK_VIDEO_CODING_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
|
|
||||||
} VkVideoCodingControlFlagBitsKHR;
|
|
||||||
typedef VkFlags VkVideoCodingControlFlagsKHR;
|
|
||||||
|
|
||||||
typedef enum VkVideoCodingQualityPresetFlagBitsKHR {
|
|
||||||
VK_VIDEO_CODING_QUALITY_PRESET_NORMAL_BIT_KHR = 0x00000001,
|
|
||||||
VK_VIDEO_CODING_QUALITY_PRESET_POWER_BIT_KHR = 0x00000002,
|
|
||||||
VK_VIDEO_CODING_QUALITY_PRESET_QUALITY_BIT_KHR = 0x00000004,
|
|
||||||
VK_VIDEO_CODING_QUALITY_PRESET_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
|
|
||||||
} VkVideoCodingQualityPresetFlagBitsKHR;
|
|
||||||
typedef VkFlags VkVideoCodingQualityPresetFlagsKHR;
|
|
||||||
typedef struct VkVideoQueueFamilyProperties2KHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
VkVideoCodecOperationFlagsKHR videoCodecOperations;
|
|
||||||
} VkVideoQueueFamilyProperties2KHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoProfileKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
VkVideoCodecOperationFlagBitsKHR videoCodecOperation;
|
|
||||||
VkVideoChromaSubsamplingFlagsKHR chromaSubsampling;
|
|
||||||
VkVideoComponentBitDepthFlagsKHR lumaBitDepth;
|
|
||||||
VkVideoComponentBitDepthFlagsKHR chromaBitDepth;
|
|
||||||
} VkVideoProfileKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoProfilesKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
uint32_t profileCount;
|
|
||||||
const VkVideoProfileKHR* pProfiles;
|
|
||||||
} VkVideoProfilesKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoCapabilitiesKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
VkVideoCapabilityFlagsKHR capabilityFlags;
|
|
||||||
VkDeviceSize minBitstreamBufferOffsetAlignment;
|
|
||||||
VkDeviceSize minBitstreamBufferSizeAlignment;
|
|
||||||
VkExtent2D videoPictureExtentGranularity;
|
|
||||||
VkExtent2D minExtent;
|
|
||||||
VkExtent2D maxExtent;
|
|
||||||
uint32_t maxReferencePicturesSlotsCount;
|
|
||||||
uint32_t maxReferencePicturesActiveCount;
|
|
||||||
} VkVideoCapabilitiesKHR;
|
|
||||||
|
|
||||||
typedef struct VkPhysicalDeviceVideoFormatInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
VkImageUsageFlags imageUsage;
|
|
||||||
const VkVideoProfilesKHR* pVideoProfiles;
|
|
||||||
} VkPhysicalDeviceVideoFormatInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoFormatPropertiesKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
VkFormat format;
|
|
||||||
} VkVideoFormatPropertiesKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoPictureResourceKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkOffset2D codedOffset;
|
|
||||||
VkExtent2D codedExtent;
|
|
||||||
uint32_t baseArrayLayer;
|
|
||||||
VkImageView imageViewBinding;
|
|
||||||
} VkVideoPictureResourceKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoReferenceSlotKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
int8_t slotIndex;
|
|
||||||
const VkVideoPictureResourceKHR* pPictureResource;
|
|
||||||
} VkVideoReferenceSlotKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoGetMemoryPropertiesKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t memoryBindIndex;
|
|
||||||
VkMemoryRequirements2* pMemoryRequirements;
|
|
||||||
} VkVideoGetMemoryPropertiesKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoBindMemoryKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t memoryBindIndex;
|
|
||||||
VkDeviceMemory memory;
|
|
||||||
VkDeviceSize memoryOffset;
|
|
||||||
VkDeviceSize memorySize;
|
|
||||||
} VkVideoBindMemoryKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoSessionCreateInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t queueFamilyIndex;
|
|
||||||
VkVideoSessionCreateFlagsKHR flags;
|
|
||||||
const VkVideoProfileKHR* pVideoProfile;
|
|
||||||
VkFormat pictureFormat;
|
|
||||||
VkExtent2D maxCodedExtent;
|
|
||||||
VkFormat referencePicturesFormat;
|
|
||||||
uint32_t maxReferencePicturesSlotsCount;
|
|
||||||
uint32_t maxReferencePicturesActiveCount;
|
|
||||||
} VkVideoSessionCreateInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoSessionParametersCreateInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkVideoSessionParametersKHR videoSessionParametersTemplate;
|
|
||||||
VkVideoSessionKHR videoSession;
|
|
||||||
} VkVideoSessionParametersCreateInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoSessionParametersUpdateInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t updateSequenceCount;
|
|
||||||
} VkVideoSessionParametersUpdateInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoBeginCodingInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkVideoBeginCodingFlagsKHR flags;
|
|
||||||
VkVideoCodingQualityPresetFlagsKHR codecQualityPreset;
|
|
||||||
VkVideoSessionKHR videoSession;
|
|
||||||
VkVideoSessionParametersKHR videoSessionParameters;
|
|
||||||
uint32_t referenceSlotCount;
|
|
||||||
const VkVideoReferenceSlotKHR* pReferenceSlots;
|
|
||||||
} VkVideoBeginCodingInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoEndCodingInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkVideoEndCodingFlagsKHR flags;
|
|
||||||
} VkVideoEndCodingInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoCodingControlInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkVideoCodingControlFlagsKHR flags;
|
|
||||||
} VkVideoCodingControlInfoKHR;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)(VkPhysicalDevice physicalDevice, const VkVideoProfileKHR* pVideoProfile, VkVideoCapabilitiesKHR* pCapabilities);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo, uint32_t* pVideoFormatPropertyCount, VkVideoFormatPropertiesKHR* pVideoFormatProperties);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionKHR)(VkDevice device, const VkVideoSessionCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionKHR* pVideoSession);
|
|
||||||
typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionKHR)(VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks* pAllocator);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetVideoSessionMemoryRequirementsKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t* pVideoSessionMemoryRequirementsCount, VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkBindVideoSessionMemoryKHR)(VkDevice device, VkVideoSessionKHR videoSession, uint32_t videoSessionBindMemoryCount, const VkVideoBindMemoryKHR* pVideoSessionBindMemories);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateVideoSessionParametersKHR)(VkDevice device, const VkVideoSessionParametersCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkVideoSessionParametersKHR* pVideoSessionParameters);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkUpdateVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);
|
|
||||||
typedef void (VKAPI_PTR *PFN_vkDestroyVideoSessionParametersKHR)(VkDevice device, VkVideoSessionParametersKHR videoSessionParameters, const VkAllocationCallbacks* pAllocator);
|
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdBeginVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR* pBeginInfo);
|
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdEndVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR* pEndCodingInfo);
|
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdControlVideoCodingKHR)(VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR* pCodingControlInfo);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoCapabilitiesKHR(
|
|
||||||
VkPhysicalDevice physicalDevice,
|
|
||||||
const VkVideoProfileKHR* pVideoProfile,
|
|
||||||
VkVideoCapabilitiesKHR* pCapabilities);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceVideoFormatPropertiesKHR(
|
|
||||||
VkPhysicalDevice physicalDevice,
|
|
||||||
const VkPhysicalDeviceVideoFormatInfoKHR* pVideoFormatInfo,
|
|
||||||
uint32_t* pVideoFormatPropertyCount,
|
|
||||||
VkVideoFormatPropertiesKHR* pVideoFormatProperties);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionKHR(
|
|
||||||
VkDevice device,
|
|
||||||
const VkVideoSessionCreateInfoKHR* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkVideoSessionKHR* pVideoSession);
|
|
||||||
|
|
||||||
VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionKHR(
|
|
||||||
VkDevice device,
|
|
||||||
VkVideoSessionKHR videoSession,
|
|
||||||
const VkAllocationCallbacks* pAllocator);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetVideoSessionMemoryRequirementsKHR(
|
|
||||||
VkDevice device,
|
|
||||||
VkVideoSessionKHR videoSession,
|
|
||||||
uint32_t* pVideoSessionMemoryRequirementsCount,
|
|
||||||
VkVideoGetMemoryPropertiesKHR* pVideoSessionMemoryRequirements);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkBindVideoSessionMemoryKHR(
|
|
||||||
VkDevice device,
|
|
||||||
VkVideoSessionKHR videoSession,
|
|
||||||
uint32_t videoSessionBindMemoryCount,
|
|
||||||
const VkVideoBindMemoryKHR* pVideoSessionBindMemories);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateVideoSessionParametersKHR(
|
|
||||||
VkDevice device,
|
|
||||||
const VkVideoSessionParametersCreateInfoKHR* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkVideoSessionParametersKHR* pVideoSessionParameters);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkUpdateVideoSessionParametersKHR(
|
|
||||||
VkDevice device,
|
|
||||||
VkVideoSessionParametersKHR videoSessionParameters,
|
|
||||||
const VkVideoSessionParametersUpdateInfoKHR* pUpdateInfo);
|
|
||||||
|
|
||||||
VKAPI_ATTR void VKAPI_CALL vkDestroyVideoSessionParametersKHR(
|
|
||||||
VkDevice device,
|
|
||||||
VkVideoSessionParametersKHR videoSessionParameters,
|
|
||||||
const VkAllocationCallbacks* pAllocator);
|
|
||||||
|
|
||||||
VKAPI_ATTR void VKAPI_CALL vkCmdBeginVideoCodingKHR(
|
|
||||||
VkCommandBuffer commandBuffer,
|
|
||||||
const VkVideoBeginCodingInfoKHR* pBeginInfo);
|
|
||||||
|
|
||||||
VKAPI_ATTR void VKAPI_CALL vkCmdEndVideoCodingKHR(
|
|
||||||
VkCommandBuffer commandBuffer,
|
|
||||||
const VkVideoEndCodingInfoKHR* pEndCodingInfo);
|
|
||||||
|
|
||||||
VKAPI_ATTR void VKAPI_CALL vkCmdControlVideoCodingKHR(
|
|
||||||
VkCommandBuffer commandBuffer,
|
|
||||||
const VkVideoCodingControlInfoKHR* pCodingControlInfo);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_KHR_video_decode_queue 1
|
|
||||||
#define VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION 2
|
|
||||||
#define VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME "VK_KHR_video_decode_queue"
|
|
||||||
|
|
||||||
typedef enum VkVideoDecodeFlagBitsKHR {
|
|
||||||
VK_VIDEO_DECODE_DEFAULT_KHR = 0,
|
|
||||||
VK_VIDEO_DECODE_RESERVED_0_BIT_KHR = 0x00000001,
|
|
||||||
VK_VIDEO_DECODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
|
|
||||||
} VkVideoDecodeFlagBitsKHR;
|
|
||||||
typedef VkFlags VkVideoDecodeFlagsKHR;
|
|
||||||
typedef struct VkVideoDecodeInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkVideoDecodeFlagsKHR flags;
|
|
||||||
VkOffset2D codedOffset;
|
|
||||||
VkExtent2D codedExtent;
|
|
||||||
VkBuffer srcBuffer;
|
|
||||||
VkDeviceSize srcBufferOffset;
|
|
||||||
VkDeviceSize srcBufferRange;
|
|
||||||
VkVideoPictureResourceKHR dstPictureResource;
|
|
||||||
const VkVideoReferenceSlotKHR* pSetupReferenceSlot;
|
|
||||||
uint32_t referenceSlotCount;
|
|
||||||
const VkVideoReferenceSlotKHR* pReferenceSlots;
|
|
||||||
} VkVideoDecodeInfoKHR;
|
|
||||||
|
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdDecodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR* pFrameInfo);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR void VKAPI_CALL vkCmdDecodeVideoKHR(
|
|
||||||
VkCommandBuffer commandBuffer,
|
|
||||||
const VkVideoDecodeInfoKHR* pFrameInfo);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_KHR_portability_subset 1
|
|
||||||
#define VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION 1
|
|
||||||
#define VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME "VK_KHR_portability_subset"
|
|
||||||
typedef struct VkPhysicalDevicePortabilitySubsetFeaturesKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
VkBool32 constantAlphaColorBlendFactors;
|
|
||||||
VkBool32 events;
|
|
||||||
VkBool32 imageViewFormatReinterpretation;
|
|
||||||
VkBool32 imageViewFormatSwizzle;
|
|
||||||
VkBool32 imageView2DOn3DImage;
|
|
||||||
VkBool32 multisampleArrayImage;
|
|
||||||
VkBool32 mutableComparisonSamplers;
|
|
||||||
VkBool32 pointPolygons;
|
|
||||||
VkBool32 samplerMipLodBias;
|
|
||||||
VkBool32 separateStencilMaskRef;
|
|
||||||
VkBool32 shaderSampleRateInterpolationFunctions;
|
|
||||||
VkBool32 tessellationIsolines;
|
|
||||||
VkBool32 tessellationPointMode;
|
|
||||||
VkBool32 triangleFans;
|
|
||||||
VkBool32 vertexAttributeAccessBeyondStride;
|
|
||||||
} VkPhysicalDevicePortabilitySubsetFeaturesKHR;
|
|
||||||
|
|
||||||
typedef struct VkPhysicalDevicePortabilitySubsetPropertiesKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
uint32_t minVertexInputBindingStrideAlignment;
|
|
||||||
} VkPhysicalDevicePortabilitySubsetPropertiesKHR;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_KHR_video_encode_queue 1
|
|
||||||
#define VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION 3
|
|
||||||
#define VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME "VK_KHR_video_encode_queue"
|
|
||||||
|
|
||||||
typedef enum VkVideoEncodeFlagBitsKHR {
|
|
||||||
VK_VIDEO_ENCODE_DEFAULT_KHR = 0,
|
|
||||||
VK_VIDEO_ENCODE_RESERVED_0_BIT_KHR = 0x00000001,
|
|
||||||
VK_VIDEO_ENCODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
|
|
||||||
} VkVideoEncodeFlagBitsKHR;
|
|
||||||
typedef VkFlags VkVideoEncodeFlagsKHR;
|
|
||||||
|
|
||||||
typedef enum VkVideoEncodeRateControlFlagBitsKHR {
|
|
||||||
VK_VIDEO_ENCODE_RATE_CONTROL_DEFAULT_KHR = 0,
|
|
||||||
VK_VIDEO_ENCODE_RATE_CONTROL_RESET_BIT_KHR = 0x00000001,
|
|
||||||
VK_VIDEO_ENCODE_RATE_CONTROL_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
|
|
||||||
} VkVideoEncodeRateControlFlagBitsKHR;
|
|
||||||
typedef VkFlags VkVideoEncodeRateControlFlagsKHR;
|
|
||||||
|
|
||||||
typedef enum VkVideoEncodeRateControlModeFlagBitsKHR {
|
|
||||||
VK_VIDEO_ENCODE_RATE_CONTROL_MODE_NONE_BIT_KHR = 0,
|
|
||||||
VK_VIDEO_ENCODE_RATE_CONTROL_MODE_CBR_BIT_KHR = 1,
|
|
||||||
VK_VIDEO_ENCODE_RATE_CONTROL_MODE_VBR_BIT_KHR = 2,
|
|
||||||
VK_VIDEO_ENCODE_RATE_CONTROL_MODE_FLAG_BITS_MAX_ENUM_KHR = 0x7FFFFFFF
|
|
||||||
} VkVideoEncodeRateControlModeFlagBitsKHR;
|
|
||||||
typedef VkFlags VkVideoEncodeRateControlModeFlagsKHR;
|
|
||||||
typedef struct VkVideoEncodeInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkVideoEncodeFlagsKHR flags;
|
|
||||||
uint32_t qualityLevel;
|
|
||||||
VkExtent2D codedExtent;
|
|
||||||
VkBuffer dstBitstreamBuffer;
|
|
||||||
VkDeviceSize dstBitstreamBufferOffset;
|
|
||||||
VkDeviceSize dstBitstreamBufferMaxRange;
|
|
||||||
VkVideoPictureResourceKHR srcPictureResource;
|
|
||||||
const VkVideoReferenceSlotKHR* pSetupReferenceSlot;
|
|
||||||
uint32_t referenceSlotCount;
|
|
||||||
const VkVideoReferenceSlotKHR* pReferenceSlots;
|
|
||||||
} VkVideoEncodeInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeRateControlInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkVideoEncodeRateControlFlagsKHR flags;
|
|
||||||
VkVideoEncodeRateControlModeFlagBitsKHR rateControlMode;
|
|
||||||
uint32_t averageBitrate;
|
|
||||||
uint16_t peakToAverageBitrateRatio;
|
|
||||||
uint16_t frameRateNumerator;
|
|
||||||
uint16_t frameRateDenominator;
|
|
||||||
uint32_t virtualBufferSizeInMs;
|
|
||||||
} VkVideoEncodeRateControlInfoKHR;
|
|
||||||
|
|
||||||
typedef void (VKAPI_PTR *PFN_vkCmdEncodeVideoKHR)(VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR* pEncodeInfo);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR void VKAPI_CALL vkCmdEncodeVideoKHR(
|
|
||||||
VkCommandBuffer commandBuffer,
|
|
||||||
const VkVideoEncodeInfoKHR* pEncodeInfo);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_EXT_video_encode_h264 1
|
|
||||||
#include "vk_video/vulkan_video_codec_h264std.h"
|
|
||||||
#include "vk_video/vulkan_video_codec_h264std_encode.h"
|
|
||||||
#define VK_EXT_VIDEO_ENCODE_H264_SPEC_VERSION 2
|
|
||||||
#define VK_EXT_VIDEO_ENCODE_H264_EXTENSION_NAME "VK_EXT_video_encode_h264"
|
|
||||||
|
|
||||||
typedef enum VkVideoEncodeH264CapabilityFlagBitsEXT {
|
|
||||||
VK_VIDEO_ENCODE_H264_CAPABILITY_CABAC_BIT_EXT = 0x00000001,
|
|
||||||
VK_VIDEO_ENCODE_H264_CAPABILITY_CAVLC_BIT_EXT = 0x00000002,
|
|
||||||
VK_VIDEO_ENCODE_H264_CAPABILITY_WEIGHTED_BI_PRED_IMPLICIT_BIT_EXT = 0x00000004,
|
|
||||||
VK_VIDEO_ENCODE_H264_CAPABILITY_TRANSFORM_8X8_BIT_EXT = 0x00000008,
|
|
||||||
VK_VIDEO_ENCODE_H264_CAPABILITY_CHROMA_QP_OFFSET_BIT_EXT = 0x00000010,
|
|
||||||
VK_VIDEO_ENCODE_H264_CAPABILITY_SECOND_CHROMA_QP_OFFSET_BIT_EXT = 0x00000020,
|
|
||||||
VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_DISABLED_BIT_EXT = 0x00000040,
|
|
||||||
VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_ENABLED_BIT_EXT = 0x00000080,
|
|
||||||
VK_VIDEO_ENCODE_H264_CAPABILITY_DEBLOCKING_FILTER_PARTIAL_BIT_EXT = 0x00000100,
|
|
||||||
VK_VIDEO_ENCODE_H264_CAPABILITY_MULTIPLE_SLICE_PER_FRAME_BIT_EXT = 0x00000200,
|
|
||||||
VK_VIDEO_ENCODE_H264_CAPABILITY_EVENLY_DISTRIBUTED_SLICE_SIZE_BIT_EXT = 0x00000400,
|
|
||||||
VK_VIDEO_ENCODE_H264_CAPABILITY_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
|
|
||||||
} VkVideoEncodeH264CapabilityFlagBitsEXT;
|
|
||||||
typedef VkFlags VkVideoEncodeH264CapabilityFlagsEXT;
|
|
||||||
|
|
||||||
typedef enum VkVideoEncodeH264InputModeFlagBitsEXT {
|
|
||||||
VK_VIDEO_ENCODE_H264_INPUT_MODE_FRAME_BIT_EXT = 0x00000001,
|
|
||||||
VK_VIDEO_ENCODE_H264_INPUT_MODE_SLICE_BIT_EXT = 0x00000002,
|
|
||||||
VK_VIDEO_ENCODE_H264_INPUT_MODE_NON_VCL_BIT_EXT = 0x00000004,
|
|
||||||
VK_VIDEO_ENCODE_H264_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
|
|
||||||
} VkVideoEncodeH264InputModeFlagBitsEXT;
|
|
||||||
typedef VkFlags VkVideoEncodeH264InputModeFlagsEXT;
|
|
||||||
|
|
||||||
typedef enum VkVideoEncodeH264OutputModeFlagBitsEXT {
|
|
||||||
VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FRAME_BIT_EXT = 0x00000001,
|
|
||||||
VK_VIDEO_ENCODE_H264_OUTPUT_MODE_SLICE_BIT_EXT = 0x00000002,
|
|
||||||
VK_VIDEO_ENCODE_H264_OUTPUT_MODE_NON_VCL_BIT_EXT = 0x00000004,
|
|
||||||
VK_VIDEO_ENCODE_H264_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
|
|
||||||
} VkVideoEncodeH264OutputModeFlagBitsEXT;
|
|
||||||
typedef VkFlags VkVideoEncodeH264OutputModeFlagsEXT;
|
|
||||||
|
|
||||||
typedef enum VkVideoEncodeH264CreateFlagBitsEXT {
|
|
||||||
VK_VIDEO_ENCODE_H264_CREATE_DEFAULT_EXT = 0,
|
|
||||||
VK_VIDEO_ENCODE_H264_CREATE_RESERVED_0_BIT_EXT = 0x00000001,
|
|
||||||
VK_VIDEO_ENCODE_H264_CREATE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
|
|
||||||
} VkVideoEncodeH264CreateFlagBitsEXT;
|
|
||||||
typedef VkFlags VkVideoEncodeH264CreateFlagsEXT;
|
|
||||||
typedef struct VkVideoEncodeH264CapabilitiesEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkVideoEncodeH264CapabilityFlagsEXT flags;
|
|
||||||
VkVideoEncodeH264InputModeFlagsEXT inputModeFlags;
|
|
||||||
VkVideoEncodeH264OutputModeFlagsEXT outputModeFlags;
|
|
||||||
VkExtent2D minPictureSizeInMbs;
|
|
||||||
VkExtent2D maxPictureSizeInMbs;
|
|
||||||
VkExtent2D inputImageDataAlignment;
|
|
||||||
uint8_t maxNumL0ReferenceForP;
|
|
||||||
uint8_t maxNumL0ReferenceForB;
|
|
||||||
uint8_t maxNumL1Reference;
|
|
||||||
uint8_t qualityLevelCount;
|
|
||||||
VkExtensionProperties stdExtensionVersion;
|
|
||||||
} VkVideoEncodeH264CapabilitiesEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH264SessionCreateInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkVideoEncodeH264CreateFlagsEXT flags;
|
|
||||||
VkExtent2D maxPictureSizeInMbs;
|
|
||||||
const VkExtensionProperties* pStdExtensionVersion;
|
|
||||||
} VkVideoEncodeH264SessionCreateInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH264SessionParametersAddInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t spsStdCount;
|
|
||||||
const StdVideoH264SequenceParameterSet* pSpsStd;
|
|
||||||
uint32_t ppsStdCount;
|
|
||||||
const StdVideoH264PictureParameterSet* pPpsStd;
|
|
||||||
} VkVideoEncodeH264SessionParametersAddInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH264SessionParametersCreateInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t maxSpsStdCount;
|
|
||||||
uint32_t maxPpsStdCount;
|
|
||||||
const VkVideoEncodeH264SessionParametersAddInfoEXT* pParametersAddInfo;
|
|
||||||
} VkVideoEncodeH264SessionParametersCreateInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH264DpbSlotInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
int8_t slotIndex;
|
|
||||||
const StdVideoEncodeH264PictureInfo* pStdPictureInfo;
|
|
||||||
} VkVideoEncodeH264DpbSlotInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH264NaluSliceEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
const StdVideoEncodeH264SliceHeader* pSliceHeaderStd;
|
|
||||||
uint32_t mbCount;
|
|
||||||
uint8_t refFinalList0EntryCount;
|
|
||||||
const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList0Entries;
|
|
||||||
uint8_t refFinalList1EntryCount;
|
|
||||||
const VkVideoEncodeH264DpbSlotInfoEXT* pRefFinalList1Entries;
|
|
||||||
uint32_t precedingNaluBytes;
|
|
||||||
uint8_t minQp;
|
|
||||||
uint8_t maxQp;
|
|
||||||
} VkVideoEncodeH264NaluSliceEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH264VclFrameInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint8_t refDefaultFinalList0EntryCount;
|
|
||||||
const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList0Entries;
|
|
||||||
uint8_t refDefaultFinalList1EntryCount;
|
|
||||||
const VkVideoEncodeH264DpbSlotInfoEXT* pRefDefaultFinalList1Entries;
|
|
||||||
uint32_t naluSliceEntryCount;
|
|
||||||
const VkVideoEncodeH264NaluSliceEXT* pNaluSliceEntries;
|
|
||||||
const VkVideoEncodeH264DpbSlotInfoEXT* pCurrentPictureInfo;
|
|
||||||
} VkVideoEncodeH264VclFrameInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH264EmitPictureParametersEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint8_t spsId;
|
|
||||||
VkBool32 emitSpsEnable;
|
|
||||||
uint32_t ppsIdEntryCount;
|
|
||||||
const uint8_t* ppsIdEntries;
|
|
||||||
} VkVideoEncodeH264EmitPictureParametersEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH264ProfileEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
StdVideoH264ProfileIdc stdProfileIdc;
|
|
||||||
} VkVideoEncodeH264ProfileEXT;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_EXT_video_encode_h265 1
|
|
||||||
#include "vk_video/vulkan_video_codec_h265std.h"
|
|
||||||
#include "vk_video/vulkan_video_codec_h265std_encode.h"
|
|
||||||
#define VK_EXT_VIDEO_ENCODE_H265_SPEC_VERSION 2
|
|
||||||
#define VK_EXT_VIDEO_ENCODE_H265_EXTENSION_NAME "VK_EXT_video_encode_h265"
|
|
||||||
typedef VkFlags VkVideoEncodeH265CapabilityFlagsEXT;
|
|
||||||
|
|
||||||
typedef enum VkVideoEncodeH265InputModeFlagBitsEXT {
|
|
||||||
VK_VIDEO_ENCODE_H265_INPUT_MODE_FRAME_BIT_EXT = 0x00000001,
|
|
||||||
VK_VIDEO_ENCODE_H265_INPUT_MODE_SLICE_BIT_EXT = 0x00000002,
|
|
||||||
VK_VIDEO_ENCODE_H265_INPUT_MODE_NON_VCL_BIT_EXT = 0x00000004,
|
|
||||||
VK_VIDEO_ENCODE_H265_INPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
|
|
||||||
} VkVideoEncodeH265InputModeFlagBitsEXT;
|
|
||||||
typedef VkFlags VkVideoEncodeH265InputModeFlagsEXT;
|
|
||||||
|
|
||||||
typedef enum VkVideoEncodeH265OutputModeFlagBitsEXT {
|
|
||||||
VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FRAME_BIT_EXT = 0x00000001,
|
|
||||||
VK_VIDEO_ENCODE_H265_OUTPUT_MODE_SLICE_BIT_EXT = 0x00000002,
|
|
||||||
VK_VIDEO_ENCODE_H265_OUTPUT_MODE_NON_VCL_BIT_EXT = 0x00000004,
|
|
||||||
VK_VIDEO_ENCODE_H265_OUTPUT_MODE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
|
|
||||||
} VkVideoEncodeH265OutputModeFlagBitsEXT;
|
|
||||||
typedef VkFlags VkVideoEncodeH265OutputModeFlagsEXT;
|
|
||||||
typedef VkFlags VkVideoEncodeH265CreateFlagsEXT;
|
|
||||||
|
|
||||||
typedef enum VkVideoEncodeH265CtbSizeFlagBitsEXT {
|
|
||||||
VK_VIDEO_ENCODE_H265_CTB_SIZE_8_BIT_EXT = 0x00000001,
|
|
||||||
VK_VIDEO_ENCODE_H265_CTB_SIZE_16_BIT_EXT = 0x00000002,
|
|
||||||
VK_VIDEO_ENCODE_H265_CTB_SIZE_32_BIT_EXT = 0x00000004,
|
|
||||||
VK_VIDEO_ENCODE_H265_CTB_SIZE_64_BIT_EXT = 0x00000008,
|
|
||||||
VK_VIDEO_ENCODE_H265_CTB_SIZE_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
|
|
||||||
} VkVideoEncodeH265CtbSizeFlagBitsEXT;
|
|
||||||
typedef VkFlags VkVideoEncodeH265CtbSizeFlagsEXT;
|
|
||||||
typedef struct VkVideoEncodeH265CapabilitiesEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkVideoEncodeH265CapabilityFlagsEXT flags;
|
|
||||||
VkVideoEncodeH265InputModeFlagsEXT inputModeFlags;
|
|
||||||
VkVideoEncodeH265OutputModeFlagsEXT outputModeFlags;
|
|
||||||
VkVideoEncodeH265CtbSizeFlagsEXT ctbSizes;
|
|
||||||
VkExtent2D inputImageDataAlignment;
|
|
||||||
uint8_t maxNumL0ReferenceForP;
|
|
||||||
uint8_t maxNumL0ReferenceForB;
|
|
||||||
uint8_t maxNumL1Reference;
|
|
||||||
uint8_t maxNumSubLayers;
|
|
||||||
uint8_t qualityLevelCount;
|
|
||||||
VkExtensionProperties stdExtensionVersion;
|
|
||||||
} VkVideoEncodeH265CapabilitiesEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH265SessionCreateInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkVideoEncodeH265CreateFlagsEXT flags;
|
|
||||||
const VkExtensionProperties* pStdExtensionVersion;
|
|
||||||
} VkVideoEncodeH265SessionCreateInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH265SessionParametersAddInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t vpsStdCount;
|
|
||||||
const StdVideoH265VideoParameterSet* pVpsStd;
|
|
||||||
uint32_t spsStdCount;
|
|
||||||
const StdVideoH265SequenceParameterSet* pSpsStd;
|
|
||||||
uint32_t ppsStdCount;
|
|
||||||
const StdVideoH265PictureParameterSet* pPpsStd;
|
|
||||||
} VkVideoEncodeH265SessionParametersAddInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH265SessionParametersCreateInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t maxVpsStdCount;
|
|
||||||
uint32_t maxSpsStdCount;
|
|
||||||
uint32_t maxPpsStdCount;
|
|
||||||
const VkVideoEncodeH265SessionParametersAddInfoEXT* pParametersAddInfo;
|
|
||||||
} VkVideoEncodeH265SessionParametersCreateInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH265DpbSlotInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
int8_t slotIndex;
|
|
||||||
const StdVideoEncodeH265ReferenceInfo* pStdReferenceInfo;
|
|
||||||
} VkVideoEncodeH265DpbSlotInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH265ReferenceListsEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint8_t referenceList0EntryCount;
|
|
||||||
const VkVideoEncodeH265DpbSlotInfoEXT* pReferenceList0Entries;
|
|
||||||
uint8_t referenceList1EntryCount;
|
|
||||||
const VkVideoEncodeH265DpbSlotInfoEXT* pReferenceList1Entries;
|
|
||||||
const StdVideoEncodeH265ReferenceModifications* pReferenceModifications;
|
|
||||||
} VkVideoEncodeH265ReferenceListsEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH265NaluSliceEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t ctbCount;
|
|
||||||
const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists;
|
|
||||||
const StdVideoEncodeH265SliceHeader* pSliceHeaderStd;
|
|
||||||
} VkVideoEncodeH265NaluSliceEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH265VclFrameInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
const VkVideoEncodeH265ReferenceListsEXT* pReferenceFinalLists;
|
|
||||||
uint32_t naluSliceEntryCount;
|
|
||||||
const VkVideoEncodeH265NaluSliceEXT* pNaluSliceEntries;
|
|
||||||
const StdVideoEncodeH265PictureInfo* pCurrentPictureInfo;
|
|
||||||
} VkVideoEncodeH265VclFrameInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH265EmitPictureParametersEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint8_t vpsId;
|
|
||||||
uint8_t spsId;
|
|
||||||
VkBool32 emitVpsEnable;
|
|
||||||
VkBool32 emitSpsEnable;
|
|
||||||
uint32_t ppsIdEntryCount;
|
|
||||||
const uint8_t* ppsIdEntries;
|
|
||||||
} VkVideoEncodeH265EmitPictureParametersEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoEncodeH265ProfileEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
StdVideoH265ProfileIdc stdProfileIdc;
|
|
||||||
} VkVideoEncodeH265ProfileEXT;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_EXT_video_decode_h264 1
|
|
||||||
#include "vk_video/vulkan_video_codec_h264std_decode.h"
|
|
||||||
#define VK_EXT_VIDEO_DECODE_H264_SPEC_VERSION 3
|
|
||||||
#define VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME "VK_EXT_video_decode_h264"
|
|
||||||
|
|
||||||
typedef enum VkVideoDecodeH264PictureLayoutFlagBitsEXT {
|
|
||||||
VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_PROGRESSIVE_EXT = 0,
|
|
||||||
VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_INTERLEAVED_LINES_BIT_EXT = 0x00000001,
|
|
||||||
VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_INTERLACED_SEPARATE_PLANES_BIT_EXT = 0x00000002,
|
|
||||||
VK_VIDEO_DECODE_H264_PICTURE_LAYOUT_FLAG_BITS_MAX_ENUM_EXT = 0x7FFFFFFF
|
|
||||||
} VkVideoDecodeH264PictureLayoutFlagBitsEXT;
|
|
||||||
typedef VkFlags VkVideoDecodeH264PictureLayoutFlagsEXT;
|
|
||||||
typedef VkFlags VkVideoDecodeH264CreateFlagsEXT;
|
|
||||||
typedef struct VkVideoDecodeH264ProfileEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
StdVideoH264ProfileIdc stdProfileIdc;
|
|
||||||
VkVideoDecodeH264PictureLayoutFlagsEXT pictureLayout;
|
|
||||||
} VkVideoDecodeH264ProfileEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoDecodeH264CapabilitiesEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
uint32_t maxLevel;
|
|
||||||
VkOffset2D fieldOffsetGranularity;
|
|
||||||
VkExtensionProperties stdExtensionVersion;
|
|
||||||
} VkVideoDecodeH264CapabilitiesEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoDecodeH264SessionCreateInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkVideoDecodeH264CreateFlagsEXT flags;
|
|
||||||
const VkExtensionProperties* pStdExtensionVersion;
|
|
||||||
} VkVideoDecodeH264SessionCreateInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoDecodeH264SessionParametersAddInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t spsStdCount;
|
|
||||||
const StdVideoH264SequenceParameterSet* pSpsStd;
|
|
||||||
uint32_t ppsStdCount;
|
|
||||||
const StdVideoH264PictureParameterSet* pPpsStd;
|
|
||||||
} VkVideoDecodeH264SessionParametersAddInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoDecodeH264SessionParametersCreateInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t maxSpsStdCount;
|
|
||||||
uint32_t maxPpsStdCount;
|
|
||||||
const VkVideoDecodeH264SessionParametersAddInfoEXT* pParametersAddInfo;
|
|
||||||
} VkVideoDecodeH264SessionParametersCreateInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoDecodeH264PictureInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
const StdVideoDecodeH264PictureInfo* pStdPictureInfo;
|
|
||||||
uint32_t slicesCount;
|
|
||||||
const uint32_t* pSlicesDataOffsets;
|
|
||||||
} VkVideoDecodeH264PictureInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoDecodeH264MvcEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
const StdVideoDecodeH264Mvc* pStdMvc;
|
|
||||||
} VkVideoDecodeH264MvcEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoDecodeH264DpbSlotInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
const StdVideoDecodeH264ReferenceInfo* pStdReferenceInfo;
|
|
||||||
} VkVideoDecodeH264DpbSlotInfoEXT;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_EXT_video_decode_h265 1
|
|
||||||
#include "vk_video/vulkan_video_codec_h265std_decode.h"
|
|
||||||
#define VK_EXT_VIDEO_DECODE_H265_SPEC_VERSION 1
|
|
||||||
#define VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME "VK_EXT_video_decode_h265"
|
|
||||||
typedef VkFlags VkVideoDecodeH265CreateFlagsEXT;
|
|
||||||
typedef struct VkVideoDecodeH265ProfileEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
StdVideoH265ProfileIdc stdProfileIdc;
|
|
||||||
} VkVideoDecodeH265ProfileEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoDecodeH265CapabilitiesEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
uint32_t maxLevel;
|
|
||||||
VkExtensionProperties stdExtensionVersion;
|
|
||||||
} VkVideoDecodeH265CapabilitiesEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoDecodeH265SessionCreateInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkVideoDecodeH265CreateFlagsEXT flags;
|
|
||||||
const VkExtensionProperties* pStdExtensionVersion;
|
|
||||||
} VkVideoDecodeH265SessionCreateInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoDecodeH265SessionParametersAddInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t spsStdCount;
|
|
||||||
const StdVideoH265SequenceParameterSet* pSpsStd;
|
|
||||||
uint32_t ppsStdCount;
|
|
||||||
const StdVideoH265PictureParameterSet* pPpsStd;
|
|
||||||
} VkVideoDecodeH265SessionParametersAddInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoDecodeH265SessionParametersCreateInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t maxSpsStdCount;
|
|
||||||
uint32_t maxPpsStdCount;
|
|
||||||
const VkVideoDecodeH265SessionParametersAddInfoEXT* pParametersAddInfo;
|
|
||||||
} VkVideoDecodeH265SessionParametersCreateInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoDecodeH265PictureInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
StdVideoDecodeH265PictureInfo* pStdPictureInfo;
|
|
||||||
uint32_t slicesCount;
|
|
||||||
const uint32_t* pSlicesDataOffsets;
|
|
||||||
} VkVideoDecodeH265PictureInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkVideoDecodeH265DpbSlotInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
const StdVideoDecodeH265ReferenceInfo* pStdReferenceInfo;
|
|
||||||
} VkVideoDecodeH265DpbSlotInfoEXT;
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,54 +0,0 @@
|
||||||
#ifndef VULKAN_DIRECTFB_H_
|
|
||||||
#define VULKAN_DIRECTFB_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_EXT_directfb_surface 1
|
|
||||||
#define VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION 1
|
|
||||||
#define VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME "VK_EXT_directfb_surface"
|
|
||||||
typedef VkFlags VkDirectFBSurfaceCreateFlagsEXT;
|
|
||||||
typedef struct VkDirectFBSurfaceCreateInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkDirectFBSurfaceCreateFlagsEXT flags;
|
|
||||||
IDirectFB* dfb;
|
|
||||||
IDirectFBSurface* surface;
|
|
||||||
} VkDirectFBSurfaceCreateInfoEXT;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateDirectFBSurfaceEXT)(VkInstance instance, const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
||||||
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, IDirectFB* dfb);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDirectFBSurfaceEXT(
|
|
||||||
VkInstance instance,
|
|
||||||
const VkDirectFBSurfaceCreateInfoEXT* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkSurfaceKHR* pSurface);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
|
|
||||||
VkPhysicalDevice physicalDevice,
|
|
||||||
uint32_t queueFamilyIndex,
|
|
||||||
IDirectFB* dfb);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,258 +0,0 @@
|
||||||
#ifndef VULKAN_FUCHSIA_H_
|
|
||||||
#define VULKAN_FUCHSIA_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_FUCHSIA_imagepipe_surface 1
|
|
||||||
#define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1
|
|
||||||
#define VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME "VK_FUCHSIA_imagepipe_surface"
|
|
||||||
typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA;
|
|
||||||
typedef struct VkImagePipeSurfaceCreateInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkImagePipeSurfaceCreateFlagsFUCHSIA flags;
|
|
||||||
zx_handle_t imagePipeHandle;
|
|
||||||
} VkImagePipeSurfaceCreateInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateImagePipeSurfaceFUCHSIA)(VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateImagePipeSurfaceFUCHSIA(
|
|
||||||
VkInstance instance,
|
|
||||||
const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkSurfaceKHR* pSurface);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_FUCHSIA_external_memory 1
|
|
||||||
#define VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION 1
|
|
||||||
#define VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME "VK_FUCHSIA_external_memory"
|
|
||||||
typedef struct VkImportMemoryZirconHandleInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkExternalMemoryHandleTypeFlagBits handleType;
|
|
||||||
zx_handle_t handle;
|
|
||||||
} VkImportMemoryZirconHandleInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkMemoryZirconHandlePropertiesFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
uint32_t memoryTypeBits;
|
|
||||||
} VkMemoryZirconHandlePropertiesFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkMemoryGetZirconHandleInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkDeviceMemory memory;
|
|
||||||
VkExternalMemoryHandleTypeFlagBits handleType;
|
|
||||||
} VkMemoryGetZirconHandleInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandleFUCHSIA)(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandleFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
|
|
||||||
zx_handle_t* pZirconHandle);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandlePropertiesFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
VkExternalMemoryHandleTypeFlagBits handleType,
|
|
||||||
zx_handle_t zirconHandle,
|
|
||||||
VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_FUCHSIA_external_semaphore 1
|
|
||||||
#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
|
|
||||||
#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_FUCHSIA_external_semaphore"
|
|
||||||
typedef struct VkImportSemaphoreZirconHandleInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkSemaphore semaphore;
|
|
||||||
VkSemaphoreImportFlags flags;
|
|
||||||
VkExternalSemaphoreHandleTypeFlagBits handleType;
|
|
||||||
zx_handle_t zirconHandle;
|
|
||||||
} VkImportSemaphoreZirconHandleInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkSemaphoreGetZirconHandleInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkSemaphore semaphore;
|
|
||||||
VkExternalSemaphoreHandleTypeFlagBits handleType;
|
|
||||||
} VkSemaphoreGetZirconHandleInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
|
|
||||||
zx_handle_t* pZirconHandle);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_FUCHSIA_buffer_collection 1
|
|
||||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA)
|
|
||||||
#define VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION 2
|
|
||||||
#define VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME "VK_FUCHSIA_buffer_collection"
|
|
||||||
typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA;
|
|
||||||
|
|
||||||
typedef enum VkImageConstraintsInfoFlagBitsFUCHSIA {
|
|
||||||
VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA = 0x00000001,
|
|
||||||
VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA = 0x00000002,
|
|
||||||
VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA = 0x00000004,
|
|
||||||
VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA = 0x00000008,
|
|
||||||
VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = 0x00000010,
|
|
||||||
VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIA = 0x7FFFFFFF
|
|
||||||
} VkImageConstraintsInfoFlagBitsFUCHSIA;
|
|
||||||
typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA;
|
|
||||||
typedef struct VkBufferCollectionCreateInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
zx_handle_t collectionToken;
|
|
||||||
} VkBufferCollectionCreateInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkImportMemoryBufferCollectionFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkBufferCollectionFUCHSIA collection;
|
|
||||||
uint32_t index;
|
|
||||||
} VkImportMemoryBufferCollectionFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkBufferCollectionImageCreateInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkBufferCollectionFUCHSIA collection;
|
|
||||||
uint32_t index;
|
|
||||||
} VkBufferCollectionImageCreateInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkBufferCollectionConstraintsInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t minBufferCount;
|
|
||||||
uint32_t maxBufferCount;
|
|
||||||
uint32_t minBufferCountForCamping;
|
|
||||||
uint32_t minBufferCountForDedicatedSlack;
|
|
||||||
uint32_t minBufferCountForSharedSlack;
|
|
||||||
} VkBufferCollectionConstraintsInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkBufferConstraintsInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkBufferCreateInfo createInfo;
|
|
||||||
VkFormatFeatureFlags requiredFormatFeatures;
|
|
||||||
VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
|
|
||||||
} VkBufferConstraintsInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkBufferCollectionBufferCreateInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkBufferCollectionFUCHSIA collection;
|
|
||||||
uint32_t index;
|
|
||||||
} VkBufferCollectionBufferCreateInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkSysmemColorSpaceFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t colorSpace;
|
|
||||||
} VkSysmemColorSpaceFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkBufferCollectionPropertiesFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
uint32_t memoryTypeBits;
|
|
||||||
uint32_t bufferCount;
|
|
||||||
uint32_t createInfoIndex;
|
|
||||||
uint64_t sysmemPixelFormat;
|
|
||||||
VkFormatFeatureFlags formatFeatures;
|
|
||||||
VkSysmemColorSpaceFUCHSIA sysmemColorSpaceIndex;
|
|
||||||
VkComponentMapping samplerYcbcrConversionComponents;
|
|
||||||
VkSamplerYcbcrModelConversion suggestedYcbcrModel;
|
|
||||||
VkSamplerYcbcrRange suggestedYcbcrRange;
|
|
||||||
VkChromaLocation suggestedXChromaOffset;
|
|
||||||
VkChromaLocation suggestedYChromaOffset;
|
|
||||||
} VkBufferCollectionPropertiesFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkImageFormatConstraintsInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkImageCreateInfo imageCreateInfo;
|
|
||||||
VkFormatFeatureFlags requiredFormatFeatures;
|
|
||||||
VkImageFormatConstraintsFlagsFUCHSIA flags;
|
|
||||||
uint64_t sysmemPixelFormat;
|
|
||||||
uint32_t colorSpaceCount;
|
|
||||||
const VkSysmemColorSpaceFUCHSIA* pColorSpaces;
|
|
||||||
} VkImageFormatConstraintsInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkImageConstraintsInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t formatConstraintsCount;
|
|
||||||
const VkImageFormatConstraintsInfoFUCHSIA* pFormatConstraints;
|
|
||||||
VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
|
|
||||||
VkImageConstraintsInfoFlagsFUCHSIA flags;
|
|
||||||
} VkImageConstraintsInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferCollectionFUCHSIA)(VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionImageConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
|
|
||||||
typedef void (VKAPI_PTR *PFN_vkDestroyBufferCollectionFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetBufferCollectionPropertiesFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferCollectionFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkBufferCollectionFUCHSIA* pCollection);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionImageConstraintsFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
VkBufferCollectionFUCHSIA collection,
|
|
||||||
const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionBufferConstraintsFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
VkBufferCollectionFUCHSIA collection,
|
|
||||||
const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
|
|
||||||
|
|
||||||
VKAPI_ATTR void VKAPI_CALL vkDestroyBufferCollectionFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
VkBufferCollectionFUCHSIA collection,
|
|
||||||
const VkAllocationCallbacks* pAllocator);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferCollectionPropertiesFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
VkBufferCollectionFUCHSIA collection,
|
|
||||||
VkBufferCollectionPropertiesFUCHSIA* pProperties);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,58 +0,0 @@
|
||||||
#ifndef VULKAN_GGP_H_
|
|
||||||
#define VULKAN_GGP_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_GGP_stream_descriptor_surface 1
|
|
||||||
#define VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION 1
|
|
||||||
#define VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME "VK_GGP_stream_descriptor_surface"
|
|
||||||
typedef VkFlags VkStreamDescriptorSurfaceCreateFlagsGGP;
|
|
||||||
typedef struct VkStreamDescriptorSurfaceCreateInfoGGP {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkStreamDescriptorSurfaceCreateFlagsGGP flags;
|
|
||||||
GgpStreamDescriptor streamDescriptor;
|
|
||||||
} VkStreamDescriptorSurfaceCreateInfoGGP;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateStreamDescriptorSurfaceGGP)(VkInstance instance, const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateStreamDescriptorSurfaceGGP(
|
|
||||||
VkInstance instance,
|
|
||||||
const VkStreamDescriptorSurfaceCreateInfoGGP* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkSurfaceKHR* pSurface);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_GGP_frame_token 1
|
|
||||||
#define VK_GGP_FRAME_TOKEN_SPEC_VERSION 1
|
|
||||||
#define VK_GGP_FRAME_TOKEN_EXTENSION_NAME "VK_GGP_frame_token"
|
|
||||||
typedef struct VkPresentFrameTokenGGP {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
GgpFrameToken frameToken;
|
|
||||||
} VkPresentFrameTokenGGP;
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,47 +0,0 @@
|
||||||
#ifndef VULKAN_IOS_H_
|
|
||||||
#define VULKAN_IOS_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_MVK_ios_surface 1
|
|
||||||
#define VK_MVK_IOS_SURFACE_SPEC_VERSION 3
|
|
||||||
#define VK_MVK_IOS_SURFACE_EXTENSION_NAME "VK_MVK_ios_surface"
|
|
||||||
typedef VkFlags VkIOSSurfaceCreateFlagsMVK;
|
|
||||||
typedef struct VkIOSSurfaceCreateInfoMVK {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkIOSSurfaceCreateFlagsMVK flags;
|
|
||||||
const void* pView;
|
|
||||||
} VkIOSSurfaceCreateInfoMVK;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateIOSSurfaceMVK)(VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateIOSSurfaceMVK(
|
|
||||||
VkInstance instance,
|
|
||||||
const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkSurfaceKHR* pSurface);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,47 +0,0 @@
|
||||||
#ifndef VULKAN_MACOS_H_
|
|
||||||
#define VULKAN_MACOS_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_MVK_macos_surface 1
|
|
||||||
#define VK_MVK_MACOS_SURFACE_SPEC_VERSION 3
|
|
||||||
#define VK_MVK_MACOS_SURFACE_EXTENSION_NAME "VK_MVK_macos_surface"
|
|
||||||
typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;
|
|
||||||
typedef struct VkMacOSSurfaceCreateInfoMVK {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkMacOSSurfaceCreateFlagsMVK flags;
|
|
||||||
const void* pView;
|
|
||||||
} VkMacOSSurfaceCreateInfoMVK;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateMacOSSurfaceMVK)(VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateMacOSSurfaceMVK(
|
|
||||||
VkInstance instance,
|
|
||||||
const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkSurfaceKHR* pSurface);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,54 +0,0 @@
|
||||||
#ifndef VULKAN_METAL_H_
|
|
||||||
#define VULKAN_METAL_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_EXT_metal_surface 1
|
|
||||||
|
|
||||||
#ifdef __OBJC__
|
|
||||||
@class CAMetalLayer;
|
|
||||||
#else
|
|
||||||
typedef void CAMetalLayer;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define VK_EXT_METAL_SURFACE_SPEC_VERSION 1
|
|
||||||
#define VK_EXT_METAL_SURFACE_EXTENSION_NAME "VK_EXT_metal_surface"
|
|
||||||
typedef VkFlags VkMetalSurfaceCreateFlagsEXT;
|
|
||||||
typedef struct VkMetalSurfaceCreateInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkMetalSurfaceCreateFlagsEXT flags;
|
|
||||||
const CAMetalLayer* pLayer;
|
|
||||||
} VkMetalSurfaceCreateInfoEXT;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateMetalSurfaceEXT(
|
|
||||||
VkInstance instance,
|
|
||||||
const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkSurfaceKHR* pSurface);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,54 +0,0 @@
|
||||||
#ifndef VULKAN_SCREEN_H_
|
|
||||||
#define VULKAN_SCREEN_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_QNX_screen_surface 1
|
|
||||||
#define VK_QNX_SCREEN_SURFACE_SPEC_VERSION 1
|
|
||||||
#define VK_QNX_SCREEN_SURFACE_EXTENSION_NAME "VK_QNX_screen_surface"
|
|
||||||
typedef VkFlags VkScreenSurfaceCreateFlagsQNX;
|
|
||||||
typedef struct VkScreenSurfaceCreateInfoQNX {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkScreenSurfaceCreateFlagsQNX flags;
|
|
||||||
struct _screen_context* context;
|
|
||||||
struct _screen_window* window;
|
|
||||||
} VkScreenSurfaceCreateInfoQNX;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateScreenSurfaceQNX)(VkInstance instance, const VkScreenSurfaceCreateInfoQNX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
||||||
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct _screen_window* window);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateScreenSurfaceQNX(
|
|
||||||
VkInstance instance,
|
|
||||||
const VkScreenSurfaceCreateInfoQNX* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkSurfaceKHR* pSurface);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceScreenPresentationSupportQNX(
|
|
||||||
VkPhysicalDevice physicalDevice,
|
|
||||||
uint32_t queueFamilyIndex,
|
|
||||||
struct _screen_window* window);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,47 +0,0 @@
|
||||||
#ifndef VULKAN_VI_H_
|
|
||||||
#define VULKAN_VI_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_NN_vi_surface 1
|
|
||||||
#define VK_NN_VI_SURFACE_SPEC_VERSION 1
|
|
||||||
#define VK_NN_VI_SURFACE_EXTENSION_NAME "VK_NN_vi_surface"
|
|
||||||
typedef VkFlags VkViSurfaceCreateFlagsNN;
|
|
||||||
typedef struct VkViSurfaceCreateInfoNN {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkViSurfaceCreateFlagsNN flags;
|
|
||||||
void* window;
|
|
||||||
} VkViSurfaceCreateInfoNN;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateViSurfaceNN)(VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateViSurfaceNN(
|
|
||||||
VkInstance instance,
|
|
||||||
const VkViSurfaceCreateInfoNN* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkSurfaceKHR* pSurface);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,54 +0,0 @@
|
||||||
#ifndef VULKAN_WAYLAND_H_
|
|
||||||
#define VULKAN_WAYLAND_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_KHR_wayland_surface 1
|
|
||||||
#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6
|
|
||||||
#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"
|
|
||||||
typedef VkFlags VkWaylandSurfaceCreateFlagsKHR;
|
|
||||||
typedef struct VkWaylandSurfaceCreateInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkWaylandSurfaceCreateFlagsKHR flags;
|
|
||||||
struct wl_display* display;
|
|
||||||
struct wl_surface* surface;
|
|
||||||
} VkWaylandSurfaceCreateInfoKHR;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateWaylandSurfaceKHR)(VkInstance instance, const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
||||||
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct wl_display* display);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(
|
|
||||||
VkInstance instance,
|
|
||||||
const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkSurfaceKHR* pSurface);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(
|
|
||||||
VkPhysicalDevice physicalDevice,
|
|
||||||
uint32_t queueFamilyIndex,
|
|
||||||
struct wl_display* display);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,315 +0,0 @@
|
||||||
#ifndef VULKAN_WIN32_H_
|
|
||||||
#define VULKAN_WIN32_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_KHR_win32_surface 1
|
|
||||||
#define VK_KHR_WIN32_SURFACE_SPEC_VERSION 6
|
|
||||||
#define VK_KHR_WIN32_SURFACE_EXTENSION_NAME "VK_KHR_win32_surface"
|
|
||||||
typedef VkFlags VkWin32SurfaceCreateFlagsKHR;
|
|
||||||
typedef struct VkWin32SurfaceCreateInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkWin32SurfaceCreateFlagsKHR flags;
|
|
||||||
HINSTANCE hinstance;
|
|
||||||
HWND hwnd;
|
|
||||||
} VkWin32SurfaceCreateInfoKHR;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateWin32SurfaceKHR)(VkInstance instance, const VkWin32SurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
||||||
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(
|
|
||||||
VkInstance instance,
|
|
||||||
const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkSurfaceKHR* pSurface);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(
|
|
||||||
VkPhysicalDevice physicalDevice,
|
|
||||||
uint32_t queueFamilyIndex);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_KHR_external_memory_win32 1
|
|
||||||
#define VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
|
|
||||||
#define VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_KHR_external_memory_win32"
|
|
||||||
typedef struct VkImportMemoryWin32HandleInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkExternalMemoryHandleTypeFlagBits handleType;
|
|
||||||
HANDLE handle;
|
|
||||||
LPCWSTR name;
|
|
||||||
} VkImportMemoryWin32HandleInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkExportMemoryWin32HandleInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
const SECURITY_ATTRIBUTES* pAttributes;
|
|
||||||
DWORD dwAccess;
|
|
||||||
LPCWSTR name;
|
|
||||||
} VkExportMemoryWin32HandleInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkMemoryWin32HandlePropertiesKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
uint32_t memoryTypeBits;
|
|
||||||
} VkMemoryWin32HandlePropertiesKHR;
|
|
||||||
|
|
||||||
typedef struct VkMemoryGetWin32HandleInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkDeviceMemory memory;
|
|
||||||
VkExternalMemoryHandleTypeFlagBits handleType;
|
|
||||||
} VkMemoryGetWin32HandleInfoKHR;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleKHR)(VkDevice device, const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandlePropertiesKHR)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, HANDLE handle, VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleKHR(
|
|
||||||
VkDevice device,
|
|
||||||
const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
|
|
||||||
HANDLE* pHandle);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandlePropertiesKHR(
|
|
||||||
VkDevice device,
|
|
||||||
VkExternalMemoryHandleTypeFlagBits handleType,
|
|
||||||
HANDLE handle,
|
|
||||||
VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_KHR_win32_keyed_mutex 1
|
|
||||||
#define VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION 1
|
|
||||||
#define VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_KHR_win32_keyed_mutex"
|
|
||||||
typedef struct VkWin32KeyedMutexAcquireReleaseInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t acquireCount;
|
|
||||||
const VkDeviceMemory* pAcquireSyncs;
|
|
||||||
const uint64_t* pAcquireKeys;
|
|
||||||
const uint32_t* pAcquireTimeouts;
|
|
||||||
uint32_t releaseCount;
|
|
||||||
const VkDeviceMemory* pReleaseSyncs;
|
|
||||||
const uint64_t* pReleaseKeys;
|
|
||||||
} VkWin32KeyedMutexAcquireReleaseInfoKHR;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_KHR_external_semaphore_win32 1
|
|
||||||
#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION 1
|
|
||||||
#define VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME "VK_KHR_external_semaphore_win32"
|
|
||||||
typedef struct VkImportSemaphoreWin32HandleInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkSemaphore semaphore;
|
|
||||||
VkSemaphoreImportFlags flags;
|
|
||||||
VkExternalSemaphoreHandleTypeFlagBits handleType;
|
|
||||||
HANDLE handle;
|
|
||||||
LPCWSTR name;
|
|
||||||
} VkImportSemaphoreWin32HandleInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkExportSemaphoreWin32HandleInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
const SECURITY_ATTRIBUTES* pAttributes;
|
|
||||||
DWORD dwAccess;
|
|
||||||
LPCWSTR name;
|
|
||||||
} VkExportSemaphoreWin32HandleInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkD3D12FenceSubmitInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t waitSemaphoreValuesCount;
|
|
||||||
const uint64_t* pWaitSemaphoreValues;
|
|
||||||
uint32_t signalSemaphoreValuesCount;
|
|
||||||
const uint64_t* pSignalSemaphoreValues;
|
|
||||||
} VkD3D12FenceSubmitInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkSemaphoreGetWin32HandleInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkSemaphore semaphore;
|
|
||||||
VkExternalSemaphoreHandleTypeFlagBits handleType;
|
|
||||||
} VkSemaphoreGetWin32HandleInfoKHR;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreWin32HandleKHR)(VkDevice device, const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreWin32HandleKHR)(VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreWin32HandleKHR(
|
|
||||||
VkDevice device,
|
|
||||||
const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreWin32HandleKHR(
|
|
||||||
VkDevice device,
|
|
||||||
const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
|
|
||||||
HANDLE* pHandle);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_KHR_external_fence_win32 1
|
|
||||||
#define VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION 1
|
|
||||||
#define VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME "VK_KHR_external_fence_win32"
|
|
||||||
typedef struct VkImportFenceWin32HandleInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkFence fence;
|
|
||||||
VkFenceImportFlags flags;
|
|
||||||
VkExternalFenceHandleTypeFlagBits handleType;
|
|
||||||
HANDLE handle;
|
|
||||||
LPCWSTR name;
|
|
||||||
} VkImportFenceWin32HandleInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkExportFenceWin32HandleInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
const SECURITY_ATTRIBUTES* pAttributes;
|
|
||||||
DWORD dwAccess;
|
|
||||||
LPCWSTR name;
|
|
||||||
} VkExportFenceWin32HandleInfoKHR;
|
|
||||||
|
|
||||||
typedef struct VkFenceGetWin32HandleInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkFence fence;
|
|
||||||
VkExternalFenceHandleTypeFlagBits handleType;
|
|
||||||
} VkFenceGetWin32HandleInfoKHR;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkImportFenceWin32HandleKHR)(VkDevice device, const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetFenceWin32HandleKHR)(VkDevice device, const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo, HANDLE* pHandle);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceWin32HandleKHR(
|
|
||||||
VkDevice device,
|
|
||||||
const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceWin32HandleKHR(
|
|
||||||
VkDevice device,
|
|
||||||
const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
|
|
||||||
HANDLE* pHandle);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_NV_external_memory_win32 1
|
|
||||||
#define VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION 1
|
|
||||||
#define VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME "VK_NV_external_memory_win32"
|
|
||||||
typedef struct VkImportMemoryWin32HandleInfoNV {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkExternalMemoryHandleTypeFlagsNV handleType;
|
|
||||||
HANDLE handle;
|
|
||||||
} VkImportMemoryWin32HandleInfoNV;
|
|
||||||
|
|
||||||
typedef struct VkExportMemoryWin32HandleInfoNV {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
const SECURITY_ATTRIBUTES* pAttributes;
|
|
||||||
DWORD dwAccess;
|
|
||||||
} VkExportMemoryWin32HandleInfoNV;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryWin32HandleNV)(VkDevice device, VkDeviceMemory memory, VkExternalMemoryHandleTypeFlagsNV handleType, HANDLE* pHandle);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryWin32HandleNV(
|
|
||||||
VkDevice device,
|
|
||||||
VkDeviceMemory memory,
|
|
||||||
VkExternalMemoryHandleTypeFlagsNV handleType,
|
|
||||||
HANDLE* pHandle);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_NV_win32_keyed_mutex 1
|
|
||||||
#define VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION 2
|
|
||||||
#define VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME "VK_NV_win32_keyed_mutex"
|
|
||||||
typedef struct VkWin32KeyedMutexAcquireReleaseInfoNV {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
uint32_t acquireCount;
|
|
||||||
const VkDeviceMemory* pAcquireSyncs;
|
|
||||||
const uint64_t* pAcquireKeys;
|
|
||||||
const uint32_t* pAcquireTimeoutMilliseconds;
|
|
||||||
uint32_t releaseCount;
|
|
||||||
const VkDeviceMemory* pReleaseSyncs;
|
|
||||||
const uint64_t* pReleaseKeys;
|
|
||||||
} VkWin32KeyedMutexAcquireReleaseInfoNV;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define VK_EXT_full_screen_exclusive 1
|
|
||||||
#define VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION 4
|
|
||||||
#define VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME "VK_EXT_full_screen_exclusive"
|
|
||||||
|
|
||||||
typedef enum VkFullScreenExclusiveEXT {
|
|
||||||
VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT = 0,
|
|
||||||
VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT = 1,
|
|
||||||
VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT = 2,
|
|
||||||
VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT = 3,
|
|
||||||
VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT = 0x7FFFFFFF
|
|
||||||
} VkFullScreenExclusiveEXT;
|
|
||||||
typedef struct VkSurfaceFullScreenExclusiveInfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
VkFullScreenExclusiveEXT fullScreenExclusive;
|
|
||||||
} VkSurfaceFullScreenExclusiveInfoEXT;
|
|
||||||
|
|
||||||
typedef struct VkSurfaceCapabilitiesFullScreenExclusiveEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
VkBool32 fullScreenExclusiveSupported;
|
|
||||||
} VkSurfaceCapabilitiesFullScreenExclusiveEXT;
|
|
||||||
|
|
||||||
typedef struct VkSurfaceFullScreenExclusiveWin32InfoEXT {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
HMONITOR hmonitor;
|
|
||||||
} VkSurfaceFullScreenExclusiveWin32InfoEXT;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)(VkPhysicalDevice physicalDevice, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, uint32_t* pPresentModeCount, VkPresentModeKHR* pPresentModes);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkAcquireFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkReleaseFullScreenExclusiveModeEXT)(VkDevice device, VkSwapchainKHR swapchain);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceGroupSurfacePresentModes2EXT)(VkDevice device, const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo, VkDeviceGroupPresentModeFlagsKHR* pModes);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModes2EXT(
|
|
||||||
VkPhysicalDevice physicalDevice,
|
|
||||||
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
|
|
||||||
uint32_t* pPresentModeCount,
|
|
||||||
VkPresentModeKHR* pPresentModes);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireFullScreenExclusiveModeEXT(
|
|
||||||
VkDevice device,
|
|
||||||
VkSwapchainKHR swapchain);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkReleaseFullScreenExclusiveModeEXT(
|
|
||||||
VkDevice device,
|
|
||||||
VkSwapchainKHR swapchain);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceGroupSurfacePresentModes2EXT(
|
|
||||||
VkDevice device,
|
|
||||||
const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
|
|
||||||
VkDeviceGroupPresentModeFlagsKHR* pModes);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,55 +0,0 @@
|
||||||
#ifndef VULKAN_XCB_H_
|
|
||||||
#define VULKAN_XCB_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_KHR_xcb_surface 1
|
|
||||||
#define VK_KHR_XCB_SURFACE_SPEC_VERSION 6
|
|
||||||
#define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface"
|
|
||||||
typedef VkFlags VkXcbSurfaceCreateFlagsKHR;
|
|
||||||
typedef struct VkXcbSurfaceCreateInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkXcbSurfaceCreateFlagsKHR flags;
|
|
||||||
xcb_connection_t* connection;
|
|
||||||
xcb_window_t window;
|
|
||||||
} VkXcbSurfaceCreateInfoKHR;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateXcbSurfaceKHR)(VkInstance instance, const VkXcbSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
||||||
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, xcb_connection_t* connection, xcb_visualid_t visual_id);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR(
|
|
||||||
VkInstance instance,
|
|
||||||
const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkSurfaceKHR* pSurface);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR(
|
|
||||||
VkPhysicalDevice physicalDevice,
|
|
||||||
uint32_t queueFamilyIndex,
|
|
||||||
xcb_connection_t* connection,
|
|
||||||
xcb_visualid_t visual_id);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,55 +0,0 @@
|
||||||
#ifndef VULKAN_XLIB_H_
|
|
||||||
#define VULKAN_XLIB_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_KHR_xlib_surface 1
|
|
||||||
#define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6
|
|
||||||
#define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface"
|
|
||||||
typedef VkFlags VkXlibSurfaceCreateFlagsKHR;
|
|
||||||
typedef struct VkXlibSurfaceCreateInfoKHR {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkXlibSurfaceCreateFlagsKHR flags;
|
|
||||||
Display* dpy;
|
|
||||||
Window window;
|
|
||||||
} VkXlibSurfaceCreateInfoKHR;
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateXlibSurfaceKHR)(VkInstance instance, const VkXlibSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
|
||||||
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display* dpy, VisualID visualID);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(
|
|
||||||
VkInstance instance,
|
|
||||||
const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkSurfaceKHR* pSurface);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR(
|
|
||||||
VkPhysicalDevice physicalDevice,
|
|
||||||
uint32_t queueFamilyIndex,
|
|
||||||
Display* dpy,
|
|
||||||
VisualID visualID);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,45 +0,0 @@
|
||||||
#ifndef VULKAN_XLIB_XRANDR_H_
|
|
||||||
#define VULKAN_XLIB_XRANDR_H_ 1
|
|
||||||
|
|
||||||
/*
|
|
||||||
** Copyright 2015-2021 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 VK_EXT_acquire_xlib_display 1
|
|
||||||
#define VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION 1
|
|
||||||
#define VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_xlib_display"
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkAcquireXlibDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetRandROutputDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, VkDisplayKHR* pDisplay);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireXlibDisplayEXT(
|
|
||||||
VkPhysicalDevice physicalDevice,
|
|
||||||
Display* dpy,
|
|
||||||
VkDisplayKHR display);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetRandROutputDisplayEXT(
|
|
||||||
VkPhysicalDevice physicalDevice,
|
|
||||||
Display* dpy,
|
|
||||||
RROutput rrOutput,
|
|
||||||
VkDisplayKHR* pDisplay);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
Loading…
Reference in New Issue