Commit 34c59c9b by Nicolas Capens Committed by Nicolas Capens

Update Vulkan headers to version 1.1.111

https://github.com/KhronosGroup/Vulkan-Headers revision 4d49d5ced52e1ba1fe5d403726ad8291c1266d97 tag v1.1.111 Bug: b/129792032 Change-Id: Ia4e581160c4612aca44971390b31c7a497b98cfc Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/32968 Presubmit-Ready: Nicolas Capens <nicolascapens@google.com> Tested-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarBen Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
parent d354537f
// //
// File: vk_platform.h // File: vk_platform.h
// //
/* /*
** Copyright (c) 2014-2017 The Khronos Group Inc. ** Copyright (c) 2014-2017 The Khronos Group Inc.
** **
** Licensed under the Apache License, Version 2.0 (the "License"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at ** You may obtain a copy of the License at
** **
** http://www.apache.org/licenses/LICENSE-2.0 ** http://www.apache.org/licenses/LICENSE-2.0
** **
** Unless required by applicable law or agreed to in writing, software ** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS, ** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and ** See the License for the specific language governing permissions and
** limitations under the License. ** limitations under the License.
*/ */
#ifndef VK_PLATFORM_H_ #ifndef VK_PLATFORM_H_
#define VK_PLATFORM_H_ #define VK_PLATFORM_H_
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C"
{ {
#endif // __cplusplus #endif // __cplusplus
/* /*
*************************************************************************************************** ***************************************************************************************************
* Platform-specific directives and type declarations * Platform-specific directives and type declarations
*************************************************************************************************** ***************************************************************************************************
*/ */
/* Platform-specific calling convention macros. /* Platform-specific calling convention macros.
* *
* Platforms should define these so that Vulkan clients call Vulkan commands * Platforms should define these so that Vulkan clients call Vulkan commands
* with the same calling conventions that the Vulkan implementation expects. * with the same calling conventions that the Vulkan implementation expects.
* *
* VKAPI_ATTR - Placed before the return type in function declarations. * VKAPI_ATTR - Placed before the return type in function declarations.
* Useful for C++11 and GCC/Clang-style function attribute syntax. * Useful for C++11 and GCC/Clang-style function attribute syntax.
* VKAPI_CALL - Placed after the return type in function declarations. * VKAPI_CALL - Placed after the return type in function declarations.
* Useful for MSVC-style calling convention syntax. * Useful for MSVC-style calling convention syntax.
* VKAPI_PTR - Placed between the '(' and '*' in function pointer types. * VKAPI_PTR - Placed between the '(' and '*' in function pointer types.
* *
* Function declaration: VKAPI_ATTR void VKAPI_CALL vkCommand(void); * Function declaration: VKAPI_ATTR void VKAPI_CALL vkCommand(void);
* Function pointer type: typedef void (VKAPI_PTR *PFN_vkCommand)(void); * Function pointer type: typedef void (VKAPI_PTR *PFN_vkCommand)(void);
*/ */
#if defined(_WIN32) #if defined(_WIN32)
// On Windows, Vulkan commands use the stdcall convention // On Windows, Vulkan commands use the stdcall convention
#define VKAPI_ATTR #define VKAPI_ATTR
#define VKAPI_CALL __stdcall #define VKAPI_CALL __stdcall
#define VKAPI_PTR VKAPI_CALL #define VKAPI_PTR VKAPI_CALL
#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7 #elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7
#error "Vulkan isn't supported for the 'armeabi' NDK ABI" #error "Vulkan isn't supported for the 'armeabi' NDK ABI"
#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE) #elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE)
// On Android 32-bit ARM targets, Vulkan functions use the "hardfloat" // On Android 32-bit ARM targets, Vulkan functions use the "hardfloat"
// calling convention, i.e. float parameters are passed in registers. This // 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, // 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. // as it does by default when compiling for the armeabi-v7a NDK ABI.
#define VKAPI_ATTR __attribute__((pcs("aapcs-vfp"))) #define VKAPI_ATTR __attribute__((pcs("aapcs-vfp")))
#define VKAPI_CALL #define VKAPI_CALL
#define VKAPI_PTR VKAPI_ATTR #define VKAPI_PTR VKAPI_ATTR
#else #else
// On other platforms, use the default calling convention // On other platforms, use the default calling convention
#define VKAPI_ATTR #define VKAPI_ATTR
#define VKAPI_CALL #define VKAPI_CALL
#define VKAPI_PTR #define VKAPI_PTR
#endif #endif
#include <stddef.h> #include <stddef.h>
#if !defined(VK_NO_STDINT_H) #if !defined(VK_NO_STDINT_H)
#if defined(_MSC_VER) && (_MSC_VER < 1600) #if defined(_MSC_VER) && (_MSC_VER < 1600)
typedef signed __int8 int8_t; typedef signed __int8 int8_t;
typedef unsigned __int8 uint8_t; typedef unsigned __int8 uint8_t;
typedef signed __int16 int16_t; typedef signed __int16 int16_t;
typedef unsigned __int16 uint16_t; typedef unsigned __int16 uint16_t;
typedef signed __int32 int32_t; typedef signed __int32 int32_t;
typedef unsigned __int32 uint32_t; typedef unsigned __int32 uint32_t;
typedef signed __int64 int64_t; typedef signed __int64 int64_t;
typedef unsigned __int64 uint64_t; typedef unsigned __int64 uint64_t;
#else #else
#include <stdint.h> #include <stdint.h>
#endif #endif
#endif // !defined(VK_NO_STDINT_H) #endif // !defined(VK_NO_STDINT_H)
#ifdef __cplusplus #ifdef __cplusplus
} // extern "C" } // extern "C"
#endif // __cplusplus #endif // __cplusplus
#endif #endif
// //
// File: vk_sdk_platform.h // File: vk_sdk_platform.h
// //
/* /*
* Copyright (c) 2015-2016 The Khronos Group Inc. * Copyright (c) 2015-2016 The Khronos Group Inc.
* Copyright (c) 2015-2016 Valve Corporation * Copyright (c) 2015-2016 Valve Corporation
* Copyright (c) 2015-2016 LunarG, Inc. * Copyright (c) 2015-2016 LunarG, Inc.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
#ifndef VK_SDK_PLATFORM_H #ifndef VK_SDK_PLATFORM_H
#define VK_SDK_PLATFORM_H #define VK_SDK_PLATFORM_H
#if defined(_WIN32) #if defined(_WIN32)
#define NOMINMAX #define NOMINMAX
#ifndef __cplusplus #ifndef __cplusplus
#undef inline #undef inline
#define inline __inline #define inline __inline
#endif // __cplusplus #endif // __cplusplus
#if (defined(_MSC_VER) && _MSC_VER < 1900 /*vs2015*/) #if (defined(_MSC_VER) && _MSC_VER < 1900 /*vs2015*/)
// C99: // C99:
// Microsoft didn't implement C99 in Visual Studio; but started adding it with // Microsoft didn't implement C99 in Visual Studio; but started adding it with
// VS2013. However, VS2013 still didn't have snprintf(). The following is a // VS2013. However, VS2013 still didn't have snprintf(). The following is a
// work-around (Note: The _CRT_SECURE_NO_WARNINGS macro must be set in the // work-around (Note: The _CRT_SECURE_NO_WARNINGS macro must be set in the
// "CMakeLists.txt" file). // "CMakeLists.txt" file).
// NOTE: This is fixed in Visual Studio 2015. // NOTE: This is fixed in Visual Studio 2015.
#define snprintf _snprintf #define snprintf _snprintf
#endif #endif
#define strdup _strdup #define strdup _strdup
#endif // _WIN32 #endif // _WIN32
// Check for noexcept support using clang, with fallback to Windows or GCC version numbers // Check for noexcept support using clang, with fallback to Windows or GCC version numbers
#ifndef NOEXCEPT #ifndef NOEXCEPT
#if defined(__clang__) #if defined(__clang__)
#if __has_feature(cxx_noexcept) #if __has_feature(cxx_noexcept)
#define HAS_NOEXCEPT #define HAS_NOEXCEPT
#endif #endif
#else #else
#if defined(__GXX_EXPERIMENTAL_CXX0X__) && __GNUC__ * 10 + __GNUC_MINOR__ >= 46 #if defined(__GXX_EXPERIMENTAL_CXX0X__) && __GNUC__ * 10 + __GNUC_MINOR__ >= 46
#define HAS_NOEXCEPT #define HAS_NOEXCEPT
#else #else
#if defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 190023026 && defined(_HAS_EXCEPTIONS) && _HAS_EXCEPTIONS #if defined(_MSC_FULL_VER) && _MSC_FULL_VER >= 190023026 && defined(_HAS_EXCEPTIONS) && _HAS_EXCEPTIONS
#define HAS_NOEXCEPT #define HAS_NOEXCEPT
#endif #endif
#endif #endif
#endif #endif
#ifdef HAS_NOEXCEPT #ifdef HAS_NOEXCEPT
#define NOEXCEPT noexcept #define NOEXCEPT noexcept
#else #else
#define NOEXCEPT #define NOEXCEPT
#endif #endif
#endif #endif
#endif // VK_SDK_PLATFORM_H #endif // VK_SDK_PLATFORM_H
#ifndef VULKAN_H_ #ifndef VULKAN_H_
#define VULKAN_H_ 1 #define VULKAN_H_ 1
/* /*
** Copyright (c) 2015-2018 The Khronos Group Inc. ** Copyright (c) 2015-2019 The Khronos Group Inc.
** **
** Licensed under the Apache License, Version 2.0 (the "License"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at ** You may obtain a copy of the License at
** **
** http://www.apache.org/licenses/LICENSE-2.0 ** http://www.apache.org/licenses/LICENSE-2.0
** **
** Unless required by applicable law or agreed to in writing, software ** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS, ** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and ** See the License for the specific language governing permissions and
** limitations under the License. ** limitations under the License.
*/ */
#include "vk_platform.h" #include "vk_platform.h"
#include "vulkan_core.h" #include "vulkan_core.h"
#ifdef VK_USE_PLATFORM_ANDROID_KHR #ifdef VK_USE_PLATFORM_ANDROID_KHR
#include "vulkan_android.h" #include "vulkan_android.h"
#endif #endif
#ifdef VK_USE_PLATFORM_FUCHSIA #ifdef VK_USE_PLATFORM_FUCHSIA
#include <zircon/types.h> #include <zircon/types.h>
#include "vulkan_fuchsia.h" #include "vulkan_fuchsia.h"
#endif #endif
#ifdef VK_USE_PLATFORM_IOS_MVK #ifdef VK_USE_PLATFORM_IOS_MVK
#include "vulkan_ios.h" #include "vulkan_ios.h"
#endif #endif
#ifdef VK_USE_PLATFORM_MACOS_MVK #ifdef VK_USE_PLATFORM_MACOS_MVK
#include "vulkan_macos.h" #include "vulkan_macos.h"
#endif #endif
#ifdef VK_USE_PLATFORM_METAL_EXT
#ifdef VK_USE_PLATFORM_VI_NN #include "vulkan_metal.h"
#include "vulkan_vi.h" #endif
#endif
#ifdef VK_USE_PLATFORM_VI_NN
#include "vulkan_vi.h"
#ifdef VK_USE_PLATFORM_WAYLAND_KHR #endif
#include <wayland-client.h>
#include "vulkan_wayland.h"
#endif #ifdef VK_USE_PLATFORM_WAYLAND_KHR
#include <wayland-client.h>
#include "vulkan_wayland.h"
#ifdef VK_USE_PLATFORM_WIN32_KHR #endif
#include <windows.h>
#include "vulkan_win32.h"
#endif #ifdef VK_USE_PLATFORM_WIN32_KHR
#include <windows.h>
#include "vulkan_win32.h"
#ifdef VK_USE_PLATFORM_XCB_KHR #endif
#include <xcb/xcb.h>
#include "vulkan_xcb.h"
#endif #ifdef VK_USE_PLATFORM_XCB_KHR
#include <xcb/xcb.h>
#include "vulkan_xcb.h"
#ifdef VK_USE_PLATFORM_XLIB_KHR #endif
#include <X11/Xlib.h>
#include "vulkan_xlib.h"
#endif #ifdef VK_USE_PLATFORM_XLIB_KHR
#include <X11/Xlib.h>
#include "vulkan_xlib.h"
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT #endif
#include <X11/Xlib.h>
#include <X11/extensions/Xrandr.h>
#include "vulkan_xlib_xrandr.h" #ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
#endif #include <X11/Xlib.h>
#include <X11/extensions/Xrandr.h>
#endif // VULKAN_H_ #include "vulkan_xlib_xrandr.h"
#endif
#ifdef VK_USE_PLATFORM_GGP
#include <ggp_c/vulkan_types.h>
#include "vulkan_ggp.h"
#endif
#endif // VULKAN_H_
This source diff could not be displayed because it is too large. You can view the blob instead.
#ifndef VULKAN_ANDROID_H_ #ifndef VULKAN_ANDROID_H_
#define VULKAN_ANDROID_H_ 1 #define VULKAN_ANDROID_H_ 1
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* /*
** Copyright (c) 2015-2018 The Khronos Group Inc. ** Copyright (c) 2015-2019 The Khronos Group Inc.
** **
** Licensed under the Apache License, Version 2.0 (the "License"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at ** You may obtain a copy of the License at
** **
** http://www.apache.org/licenses/LICENSE-2.0 ** http://www.apache.org/licenses/LICENSE-2.0
** **
** Unless required by applicable law or agreed to in writing, software ** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS, ** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and ** See the License for the specific language governing permissions and
** limitations under the License. ** limitations under the License.
*/ */
/* /*
** This header is generated from the Khronos Vulkan XML API Registry. ** This header is generated from the Khronos Vulkan XML API Registry.
** **
*/ */
#define VK_KHR_android_surface 1
struct ANativeWindow; #define VK_KHR_android_surface 1
struct ANativeWindow;
#define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6 #define VK_KHR_ANDROID_SURFACE_SPEC_VERSION 6
#define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface" #define VK_KHR_ANDROID_SURFACE_EXTENSION_NAME "VK_KHR_android_surface"
typedef VkFlags VkAndroidSurfaceCreateFlagsKHR;
typedef VkFlags VkAndroidSurfaceCreateFlagsKHR; typedef struct VkAndroidSurfaceCreateInfoKHR {
VkStructureType sType;
typedef struct VkAndroidSurfaceCreateInfoKHR { const void* pNext;
VkStructureType sType; VkAndroidSurfaceCreateFlagsKHR flags;
const void* pNext; struct ANativeWindow* window;
VkAndroidSurfaceCreateFlagsKHR flags; } VkAndroidSurfaceCreateInfoKHR;
struct ANativeWindow* window;
} VkAndroidSurfaceCreateInfoKHR; typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
#ifndef VK_NO_PROTOTYPES
typedef VkResult (VKAPI_PTR *PFN_vkCreateAndroidSurfaceKHR)(VkInstance instance, const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
VkInstance instance,
#ifndef VK_NO_PROTOTYPES const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR( const VkAllocationCallbacks* pAllocator,
VkInstance instance, VkSurfaceKHR* pSurface);
const VkAndroidSurfaceCreateInfoKHR* pCreateInfo, #endif
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 1 #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 3
struct AHardwareBuffer; #define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer"
typedef struct VkAndroidHardwareBufferUsageANDROID {
#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 3 VkStructureType sType;
#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer" void* pNext;
uint64_t androidHardwareBufferUsage;
typedef struct VkAndroidHardwareBufferUsageANDROID { } VkAndroidHardwareBufferUsageANDROID;
VkStructureType sType;
void* pNext; typedef struct VkAndroidHardwareBufferPropertiesANDROID {
uint64_t androidHardwareBufferUsage; VkStructureType sType;
} VkAndroidHardwareBufferUsageANDROID; void* pNext;
VkDeviceSize allocationSize;
typedef struct VkAndroidHardwareBufferPropertiesANDROID { uint32_t memoryTypeBits;
VkStructureType sType; } VkAndroidHardwareBufferPropertiesANDROID;
void* pNext;
VkDeviceSize allocationSize; typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID {
uint32_t memoryTypeBits; VkStructureType sType;
} VkAndroidHardwareBufferPropertiesANDROID; void* pNext;
VkFormat format;
typedef struct VkAndroidHardwareBufferFormatPropertiesANDROID { uint64_t externalFormat;
VkStructureType sType; VkFormatFeatureFlags formatFeatures;
void* pNext; VkComponentMapping samplerYcbcrConversionComponents;
VkFormat format; VkSamplerYcbcrModelConversion suggestedYcbcrModel;
uint64_t externalFormat; VkSamplerYcbcrRange suggestedYcbcrRange;
VkFormatFeatureFlags formatFeatures; VkChromaLocation suggestedXChromaOffset;
VkComponentMapping samplerYcbcrConversionComponents; VkChromaLocation suggestedYChromaOffset;
VkSamplerYcbcrModelConversion suggestedYcbcrModel; } VkAndroidHardwareBufferFormatPropertiesANDROID;
VkSamplerYcbcrRange suggestedYcbcrRange;
VkChromaLocation suggestedXChromaOffset; typedef struct VkImportAndroidHardwareBufferInfoANDROID {
VkChromaLocation suggestedYChromaOffset; VkStructureType sType;
} VkAndroidHardwareBufferFormatPropertiesANDROID; const void* pNext;
struct AHardwareBuffer* buffer;
typedef struct VkImportAndroidHardwareBufferInfoANDROID { } VkImportAndroidHardwareBufferInfoANDROID;
VkStructureType sType;
const void* pNext; typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID {
struct AHardwareBuffer* buffer; VkStructureType sType;
} VkImportAndroidHardwareBufferInfoANDROID; const void* pNext;
VkDeviceMemory memory;
typedef struct VkMemoryGetAndroidHardwareBufferInfoANDROID { } VkMemoryGetAndroidHardwareBufferInfoANDROID;
VkStructureType sType;
const void* pNext; typedef struct VkExternalFormatANDROID {
VkDeviceMemory memory; VkStructureType sType;
} VkMemoryGetAndroidHardwareBufferInfoANDROID; void* pNext;
uint64_t externalFormat;
typedef struct VkExternalFormatANDROID { } VkExternalFormatANDROID;
VkStructureType sType;
void* pNext; typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties);
uint64_t externalFormat; typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer);
} VkExternalFormatANDROID;
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID(
typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties); VkDevice device,
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer); const struct AHardwareBuffer* buffer,
VkAndroidHardwareBufferPropertiesANDROID* pProperties);
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetAndroidHardwareBufferPropertiesANDROID( VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID(
VkDevice device, VkDevice device,
const struct AHardwareBuffer* buffer, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo,
VkAndroidHardwareBufferPropertiesANDROID* pProperties); struct AHardwareBuffer** pBuffer);
#endif
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryAndroidHardwareBufferANDROID(
VkDevice device, #ifdef __cplusplus
const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, }
struct AHardwareBuffer** pBuffer); #endif
#endif
#endif
#ifdef __cplusplus
}
#endif
#endif
This source diff could not be displayed because it is too large. You can view the blob instead.
#ifndef VULKAN_FUCHSIA_H_ #ifndef VULKAN_FUCHSIA_H_
#define VULKAN_FUCHSIA_H_ 1 #define VULKAN_FUCHSIA_H_ 1
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* /*
** Copyright (c) 2015-2018 The Khronos Group Inc. ** Copyright (c) 2015-2019 The Khronos Group Inc.
** **
** Licensed under the Apache License, Version 2.0 (the "License"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at ** You may obtain a copy of the License at
** **
** http://www.apache.org/licenses/LICENSE-2.0 ** http://www.apache.org/licenses/LICENSE-2.0
** **
** Unless required by applicable law or agreed to in writing, software ** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS, ** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and ** See the License for the specific language governing permissions and
** limitations under the License. ** limitations under the License.
*/ */
/* /*
** This header is generated from the Khronos Vulkan XML API Registry. ** This header is generated from the Khronos Vulkan XML API Registry.
** **
*/ */
#define VK_FUCHSIA_imagepipe_surface 1
#define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1 #define VK_FUCHSIA_imagepipe_surface 1
#define VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME "VK_FUCHSIA_imagepipe_surface" #define VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION 1
#define VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME "VK_FUCHSIA_imagepipe_surface"
typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA; typedef VkFlags VkImagePipeSurfaceCreateFlagsFUCHSIA;
typedef struct VkImagePipeSurfaceCreateInfoFUCHSIA {
typedef struct VkImagePipeSurfaceCreateInfoFUCHSIA { VkStructureType sType;
VkStructureType sType; const void* pNext;
const void* pNext; VkImagePipeSurfaceCreateFlagsFUCHSIA flags;
VkImagePipeSurfaceCreateFlagsFUCHSIA flags; zx_handle_t imagePipeHandle;
zx_handle_t imagePipeHandle; } VkImagePipeSurfaceCreateInfoFUCHSIA;
} VkImagePipeSurfaceCreateInfoFUCHSIA;
typedef VkResult (VKAPI_PTR *PFN_vkCreateImagePipeSurfaceFUCHSIA)(VkInstance instance, const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
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(
#ifndef VK_NO_PROTOTYPES VkInstance instance,
VKAPI_ATTR VkResult VKAPI_CALL vkCreateImagePipeSurfaceFUCHSIA( const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo,
VkInstance instance, const VkAllocationCallbacks* pAllocator,
const VkImagePipeSurfaceCreateInfoFUCHSIA* pCreateInfo, VkSurfaceKHR* pSurface);
const VkAllocationCallbacks* pAllocator, #endif
VkSurfaceKHR* pSurface);
#endif #ifdef __cplusplus
}
#ifdef __cplusplus #endif
}
#endif #endif
#endif
#ifndef VULKAN_GGP_H_
#define VULKAN_GGP_H_ 1
#ifdef __cplusplus
extern "C" {
#endif
/*
** Copyright (c) 2015-2019 The Khronos Group Inc.
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
/*
** This header is generated from the Khronos Vulkan XML API Registry.
**
*/
#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
#ifndef VULKAN_IOS_H_ #ifndef VULKAN_IOS_H_
#define VULKAN_IOS_H_ 1 #define VULKAN_IOS_H_ 1
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* /*
** Copyright (c) 2015-2018 The Khronos Group Inc. ** Copyright (c) 2015-2019 The Khronos Group Inc.
** **
** Licensed under the Apache License, Version 2.0 (the "License"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at ** You may obtain a copy of the License at
** **
** http://www.apache.org/licenses/LICENSE-2.0 ** http://www.apache.org/licenses/LICENSE-2.0
** **
** Unless required by applicable law or agreed to in writing, software ** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS, ** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and ** See the License for the specific language governing permissions and
** limitations under the License. ** limitations under the License.
*/ */
/* /*
** This header is generated from the Khronos Vulkan XML API Registry. ** This header is generated from the Khronos Vulkan XML API Registry.
** **
*/ */
#define VK_MVK_ios_surface 1
#define VK_MVK_IOS_SURFACE_SPEC_VERSION 2 #define VK_MVK_ios_surface 1
#define VK_MVK_IOS_SURFACE_EXTENSION_NAME "VK_MVK_ios_surface" #define VK_MVK_IOS_SURFACE_SPEC_VERSION 2
#define VK_MVK_IOS_SURFACE_EXTENSION_NAME "VK_MVK_ios_surface"
typedef VkFlags VkIOSSurfaceCreateFlagsMVK; typedef VkFlags VkIOSSurfaceCreateFlagsMVK;
typedef struct VkIOSSurfaceCreateInfoMVK {
typedef struct VkIOSSurfaceCreateInfoMVK { VkStructureType sType;
VkStructureType sType; const void* pNext;
const void* pNext; VkIOSSurfaceCreateFlagsMVK flags;
VkIOSSurfaceCreateFlagsMVK flags; const void* pView;
const void* pView; } VkIOSSurfaceCreateInfoMVK;
} VkIOSSurfaceCreateInfoMVK;
typedef VkResult (VKAPI_PTR *PFN_vkCreateIOSSurfaceMVK)(VkInstance instance, const VkIOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
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(
#ifndef VK_NO_PROTOTYPES VkInstance instance,
VKAPI_ATTR VkResult VKAPI_CALL vkCreateIOSSurfaceMVK( const VkIOSSurfaceCreateInfoMVK* pCreateInfo,
VkInstance instance, const VkAllocationCallbacks* pAllocator,
const VkIOSSurfaceCreateInfoMVK* pCreateInfo, VkSurfaceKHR* pSurface);
const VkAllocationCallbacks* pAllocator, #endif
VkSurfaceKHR* pSurface);
#endif #ifdef __cplusplus
}
#ifdef __cplusplus #endif
}
#endif #endif
#endif
#ifndef VULKAN_MACOS_H_ #ifndef VULKAN_MACOS_H_
#define VULKAN_MACOS_H_ 1 #define VULKAN_MACOS_H_ 1
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* /*
** Copyright (c) 2015-2018 The Khronos Group Inc. ** Copyright (c) 2015-2019 The Khronos Group Inc.
** **
** Licensed under the Apache License, Version 2.0 (the "License"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at ** You may obtain a copy of the License at
** **
** http://www.apache.org/licenses/LICENSE-2.0 ** http://www.apache.org/licenses/LICENSE-2.0
** **
** Unless required by applicable law or agreed to in writing, software ** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS, ** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and ** See the License for the specific language governing permissions and
** limitations under the License. ** limitations under the License.
*/ */
/* /*
** This header is generated from the Khronos Vulkan XML API Registry. ** This header is generated from the Khronos Vulkan XML API Registry.
** **
*/ */
#define VK_MVK_macos_surface 1
#define VK_MVK_MACOS_SURFACE_SPEC_VERSION 2 #define VK_MVK_macos_surface 1
#define VK_MVK_MACOS_SURFACE_EXTENSION_NAME "VK_MVK_macos_surface" #define VK_MVK_MACOS_SURFACE_SPEC_VERSION 2
#define VK_MVK_MACOS_SURFACE_EXTENSION_NAME "VK_MVK_macos_surface"
typedef VkFlags VkMacOSSurfaceCreateFlagsMVK; typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;
typedef struct VkMacOSSurfaceCreateInfoMVK {
typedef struct VkMacOSSurfaceCreateInfoMVK { VkStructureType sType;
VkStructureType sType; const void* pNext;
const void* pNext; VkMacOSSurfaceCreateFlagsMVK flags;
VkMacOSSurfaceCreateFlagsMVK flags; const void* pView;
const void* pView; } VkMacOSSurfaceCreateInfoMVK;
} VkMacOSSurfaceCreateInfoMVK;
typedef VkResult (VKAPI_PTR *PFN_vkCreateMacOSSurfaceMVK)(VkInstance instance, const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
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(
#ifndef VK_NO_PROTOTYPES VkInstance instance,
VKAPI_ATTR VkResult VKAPI_CALL vkCreateMacOSSurfaceMVK( const VkMacOSSurfaceCreateInfoMVK* pCreateInfo,
VkInstance instance, const VkAllocationCallbacks* pAllocator,
const VkMacOSSurfaceCreateInfoMVK* pCreateInfo, VkSurfaceKHR* pSurface);
const VkAllocationCallbacks* pAllocator, #endif
VkSurfaceKHR* pSurface);
#endif #ifdef __cplusplus
}
#ifdef __cplusplus #endif
}
#endif #endif
#endif
#ifndef VULKAN_MIR_H_ #ifndef VULKAN_METAL_H_
#define VULKAN_MIR_H_ 1 #define VULKAN_METAL_H_ 1
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* /*
** Copyright (c) 2015-2018 The Khronos Group Inc. ** Copyright (c) 2015-2019 The Khronos Group Inc.
** **
** Licensed under the Apache License, Version 2.0 (the "License"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at ** You may obtain a copy of the License at
** **
** http://www.apache.org/licenses/LICENSE-2.0 ** http://www.apache.org/licenses/LICENSE-2.0
** **
** Unless required by applicable law or agreed to in writing, software ** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS, ** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and ** See the License for the specific language governing permissions and
** limitations under the License. ** limitations under the License.
*/ */
/* /*
** This header is generated from the Khronos Vulkan XML API Registry. ** This header is generated from the Khronos Vulkan XML API Registry.
** **
*/ */
#define VK_KHR_mir_surface 1
#define VK_KHR_MIR_SURFACE_SPEC_VERSION 4 #define VK_EXT_metal_surface 1
#define VK_KHR_MIR_SURFACE_EXTENSION_NAME "VK_KHR_mir_surface"
#ifdef __OBJC__
typedef VkFlags VkMirSurfaceCreateFlagsKHR; @class CAMetalLayer;
#else
typedef struct VkMirSurfaceCreateInfoKHR { typedef void CAMetalLayer;
VkStructureType sType; #endif
const void* pNext;
VkMirSurfaceCreateFlagsKHR flags; #define VK_EXT_METAL_SURFACE_SPEC_VERSION 1
MirConnection* connection; #define VK_EXT_METAL_SURFACE_EXTENSION_NAME "VK_EXT_metal_surface"
MirSurface* mirSurface; typedef VkFlags VkMetalSurfaceCreateFlagsEXT;
} VkMirSurfaceCreateInfoKHR; typedef struct VkMetalSurfaceCreateInfoEXT {
VkStructureType sType;
const void* pNext;
typedef VkResult (VKAPI_PTR *PFN_vkCreateMirSurfaceKHR)(VkInstance instance, const VkMirSurfaceCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface); VkMetalSurfaceCreateFlagsEXT flags;
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceMirPresentationSupportKHR)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, MirConnection* connection); const CAMetalLayer* pLayer;
} VkMetalSurfaceCreateInfoEXT;
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkCreateMirSurfaceKHR( typedef VkResult (VKAPI_PTR *PFN_vkCreateMetalSurfaceEXT)(VkInstance instance, const VkMetalSurfaceCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
VkInstance instance,
const VkMirSurfaceCreateInfoKHR* pCreateInfo, #ifndef VK_NO_PROTOTYPES
const VkAllocationCallbacks* pAllocator, VKAPI_ATTR VkResult VKAPI_CALL vkCreateMetalSurfaceEXT(
VkSurfaceKHR* pSurface); VkInstance instance,
const VkMetalSurfaceCreateInfoEXT* pCreateInfo,
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceMirPresentationSupportKHR( const VkAllocationCallbacks* pAllocator,
VkPhysicalDevice physicalDevice, VkSurfaceKHR* pSurface);
uint32_t queueFamilyIndex, #endif
MirConnection* connection);
#endif #ifdef __cplusplus
}
#ifdef __cplusplus #endif
}
#endif #endif
#endif
#ifndef VULKAN_VI_H_ #ifndef VULKAN_VI_H_
#define VULKAN_VI_H_ 1 #define VULKAN_VI_H_ 1
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* /*
** Copyright (c) 2015-2018 The Khronos Group Inc. ** Copyright (c) 2015-2019 The Khronos Group Inc.
** **
** Licensed under the Apache License, Version 2.0 (the "License"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at ** You may obtain a copy of the License at
** **
** http://www.apache.org/licenses/LICENSE-2.0 ** http://www.apache.org/licenses/LICENSE-2.0
** **
** Unless required by applicable law or agreed to in writing, software ** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS, ** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and ** See the License for the specific language governing permissions and
** limitations under the License. ** limitations under the License.
*/ */
/* /*
** This header is generated from the Khronos Vulkan XML API Registry. ** This header is generated from the Khronos Vulkan XML API Registry.
** **
*/ */
#define VK_NN_vi_surface 1
#define VK_NN_VI_SURFACE_SPEC_VERSION 1 #define VK_NN_vi_surface 1
#define VK_NN_VI_SURFACE_EXTENSION_NAME "VK_NN_vi_surface" #define VK_NN_VI_SURFACE_SPEC_VERSION 1
#define VK_NN_VI_SURFACE_EXTENSION_NAME "VK_NN_vi_surface"
typedef VkFlags VkViSurfaceCreateFlagsNN; typedef VkFlags VkViSurfaceCreateFlagsNN;
typedef struct VkViSurfaceCreateInfoNN {
typedef struct VkViSurfaceCreateInfoNN { VkStructureType sType;
VkStructureType sType; const void* pNext;
const void* pNext; VkViSurfaceCreateFlagsNN flags;
VkViSurfaceCreateFlagsNN flags; void* window;
void* window; } VkViSurfaceCreateInfoNN;
} VkViSurfaceCreateInfoNN;
typedef VkResult (VKAPI_PTR *PFN_vkCreateViSurfaceNN)(VkInstance instance, const VkViSurfaceCreateInfoNN* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
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(
#ifndef VK_NO_PROTOTYPES VkInstance instance,
VKAPI_ATTR VkResult VKAPI_CALL vkCreateViSurfaceNN( const VkViSurfaceCreateInfoNN* pCreateInfo,
VkInstance instance, const VkAllocationCallbacks* pAllocator,
const VkViSurfaceCreateInfoNN* pCreateInfo, VkSurfaceKHR* pSurface);
const VkAllocationCallbacks* pAllocator, #endif
VkSurfaceKHR* pSurface);
#endif #ifdef __cplusplus
}
#ifdef __cplusplus #endif
}
#endif #endif
#endif
#ifndef VULKAN_WAYLAND_H_ #ifndef VULKAN_WAYLAND_H_
#define VULKAN_WAYLAND_H_ 1 #define VULKAN_WAYLAND_H_ 1
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* /*
** Copyright (c) 2015-2018 The Khronos Group Inc. ** Copyright (c) 2015-2019 The Khronos Group Inc.
** **
** Licensed under the Apache License, Version 2.0 (the "License"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at ** You may obtain a copy of the License at
** **
** http://www.apache.org/licenses/LICENSE-2.0 ** http://www.apache.org/licenses/LICENSE-2.0
** **
** Unless required by applicable law or agreed to in writing, software ** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS, ** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and ** See the License for the specific language governing permissions and
** limitations under the License. ** limitations under the License.
*/ */
/* /*
** This header is generated from the Khronos Vulkan XML API Registry. ** This header is generated from the Khronos Vulkan XML API Registry.
** **
*/ */
#define VK_KHR_wayland_surface 1
#define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6 #define VK_KHR_wayland_surface 1
#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface" #define VK_KHR_WAYLAND_SURFACE_SPEC_VERSION 6
#define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"
typedef VkFlags VkWaylandSurfaceCreateFlagsKHR; typedef VkFlags VkWaylandSurfaceCreateFlagsKHR;
typedef struct VkWaylandSurfaceCreateInfoKHR {
typedef struct VkWaylandSurfaceCreateInfoKHR { VkStructureType sType;
VkStructureType sType; const void* pNext;
const void* pNext; VkWaylandSurfaceCreateFlagsKHR flags;
VkWaylandSurfaceCreateFlagsKHR flags; struct wl_display* display;
struct wl_display* display; struct wl_surface* surface;
struct wl_surface* surface; } VkWaylandSurfaceCreateInfoKHR;
} 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);
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(
#ifndef VK_NO_PROTOTYPES VkInstance instance,
VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR( const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
VkInstance instance, const VkAllocationCallbacks* pAllocator,
const VkWaylandSurfaceCreateInfoKHR* pCreateInfo, VkSurfaceKHR* pSurface);
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface); VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(
VkPhysicalDevice physicalDevice,
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR( uint32_t queueFamilyIndex,
VkPhysicalDevice physicalDevice, struct wl_display* display);
uint32_t queueFamilyIndex, #endif
struct wl_display* display);
#endif #ifdef __cplusplus
}
#ifdef __cplusplus #endif
}
#endif #endif
#endif
#ifndef VULKAN_XCB_H_ #ifndef VULKAN_XCB_H_
#define VULKAN_XCB_H_ 1 #define VULKAN_XCB_H_ 1
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* /*
** Copyright (c) 2015-2018 The Khronos Group Inc. ** Copyright (c) 2015-2019 The Khronos Group Inc.
** **
** Licensed under the Apache License, Version 2.0 (the "License"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at ** You may obtain a copy of the License at
** **
** http://www.apache.org/licenses/LICENSE-2.0 ** http://www.apache.org/licenses/LICENSE-2.0
** **
** Unless required by applicable law or agreed to in writing, software ** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS, ** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and ** See the License for the specific language governing permissions and
** limitations under the License. ** limitations under the License.
*/ */
/* /*
** This header is generated from the Khronos Vulkan XML API Registry. ** This header is generated from the Khronos Vulkan XML API Registry.
** **
*/ */
#define VK_KHR_xcb_surface 1
#define VK_KHR_XCB_SURFACE_SPEC_VERSION 6 #define VK_KHR_xcb_surface 1
#define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface" #define VK_KHR_XCB_SURFACE_SPEC_VERSION 6
#define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface"
typedef VkFlags VkXcbSurfaceCreateFlagsKHR; typedef VkFlags VkXcbSurfaceCreateFlagsKHR;
typedef struct VkXcbSurfaceCreateInfoKHR {
typedef struct VkXcbSurfaceCreateInfoKHR { VkStructureType sType;
VkStructureType sType; const void* pNext;
const void* pNext; VkXcbSurfaceCreateFlagsKHR flags;
VkXcbSurfaceCreateFlagsKHR flags; xcb_connection_t* connection;
xcb_connection_t* connection; xcb_window_t window;
xcb_window_t window; } VkXcbSurfaceCreateInfoKHR;
} 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);
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(
#ifndef VK_NO_PROTOTYPES VkInstance instance,
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR( const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
VkInstance instance, const VkAllocationCallbacks* pAllocator,
const VkXcbSurfaceCreateInfoKHR* pCreateInfo, VkSurfaceKHR* pSurface);
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface); VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR(
VkPhysicalDevice physicalDevice,
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR( uint32_t queueFamilyIndex,
VkPhysicalDevice physicalDevice, xcb_connection_t* connection,
uint32_t queueFamilyIndex, xcb_visualid_t visual_id);
xcb_connection_t* connection, #endif
xcb_visualid_t visual_id);
#endif #ifdef __cplusplus
}
#ifdef __cplusplus #endif
}
#endif #endif
#endif
#ifndef VULKAN_XLIB_H_ #ifndef VULKAN_XLIB_H_
#define VULKAN_XLIB_H_ 1 #define VULKAN_XLIB_H_ 1
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* /*
** Copyright (c) 2015-2018 The Khronos Group Inc. ** Copyright (c) 2015-2019 The Khronos Group Inc.
** **
** Licensed under the Apache License, Version 2.0 (the "License"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at ** You may obtain a copy of the License at
** **
** http://www.apache.org/licenses/LICENSE-2.0 ** http://www.apache.org/licenses/LICENSE-2.0
** **
** Unless required by applicable law or agreed to in writing, software ** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS, ** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and ** See the License for the specific language governing permissions and
** limitations under the License. ** limitations under the License.
*/ */
/* /*
** This header is generated from the Khronos Vulkan XML API Registry. ** This header is generated from the Khronos Vulkan XML API Registry.
** **
*/ */
#define VK_KHR_xlib_surface 1
#define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6 #define VK_KHR_xlib_surface 1
#define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface" #define VK_KHR_XLIB_SURFACE_SPEC_VERSION 6
#define VK_KHR_XLIB_SURFACE_EXTENSION_NAME "VK_KHR_xlib_surface"
typedef VkFlags VkXlibSurfaceCreateFlagsKHR; typedef VkFlags VkXlibSurfaceCreateFlagsKHR;
typedef struct VkXlibSurfaceCreateInfoKHR {
typedef struct VkXlibSurfaceCreateInfoKHR { VkStructureType sType;
VkStructureType sType; const void* pNext;
const void* pNext; VkXlibSurfaceCreateFlagsKHR flags;
VkXlibSurfaceCreateFlagsKHR flags; Display* dpy;
Display* dpy; Window window;
Window window; } VkXlibSurfaceCreateInfoKHR;
} 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);
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(
#ifndef VK_NO_PROTOTYPES VkInstance instance,
VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR( const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
VkInstance instance, const VkAllocationCallbacks* pAllocator,
const VkXlibSurfaceCreateInfoKHR* pCreateInfo, VkSurfaceKHR* pSurface);
const VkAllocationCallbacks* pAllocator,
VkSurfaceKHR* pSurface); VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR(
VkPhysicalDevice physicalDevice,
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR( uint32_t queueFamilyIndex,
VkPhysicalDevice physicalDevice, Display* dpy,
uint32_t queueFamilyIndex, VisualID visualID);
Display* dpy, #endif
VisualID visualID);
#endif #ifdef __cplusplus
}
#ifdef __cplusplus #endif
}
#endif #endif
#endif
#ifndef VULKAN_XLIB_XRANDR_H_ #ifndef VULKAN_XLIB_XRANDR_H_
#define VULKAN_XLIB_XRANDR_H_ 1 #define VULKAN_XLIB_XRANDR_H_ 1
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
/* /*
** Copyright (c) 2015-2018 The Khronos Group Inc. ** Copyright (c) 2015-2019 The Khronos Group Inc.
** **
** Licensed under the Apache License, Version 2.0 (the "License"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at ** You may obtain a copy of the License at
** **
** http://www.apache.org/licenses/LICENSE-2.0 ** http://www.apache.org/licenses/LICENSE-2.0
** **
** Unless required by applicable law or agreed to in writing, software ** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS, ** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and ** See the License for the specific language governing permissions and
** limitations under the License. ** limitations under the License.
*/ */
/* /*
** This header is generated from the Khronos Vulkan XML API Registry. ** This header is generated from the Khronos Vulkan XML API Registry.
** **
*/ */
#define VK_EXT_acquire_xlib_display 1
#define VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION 1 #define VK_EXT_acquire_xlib_display 1
#define VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME "VK_EXT_acquire_xlib_display" #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_vkAcquireXlibDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, VkDisplayKHR display);
typedef VkResult (VKAPI_PTR *PFN_vkGetRandROutputDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, VkDisplayKHR* pDisplay); typedef VkResult (VKAPI_PTR *PFN_vkGetRandROutputDisplayEXT)(VkPhysicalDevice physicalDevice, Display* dpy, RROutput rrOutput, VkDisplayKHR* pDisplay);
#ifndef VK_NO_PROTOTYPES #ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkAcquireXlibDisplayEXT( VKAPI_ATTR VkResult VKAPI_CALL vkAcquireXlibDisplayEXT(
VkPhysicalDevice physicalDevice, VkPhysicalDevice physicalDevice,
Display* dpy, Display* dpy,
VkDisplayKHR display); VkDisplayKHR display);
VKAPI_ATTR VkResult VKAPI_CALL vkGetRandROutputDisplayEXT( VKAPI_ATTR VkResult VKAPI_CALL vkGetRandROutputDisplayEXT(
VkPhysicalDevice physicalDevice, VkPhysicalDevice physicalDevice,
Display* dpy, Display* dpy,
RROutput rrOutput, RROutput rrOutput,
VkDisplayKHR* pDisplay); VkDisplayKHR* pDisplay);
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment