Roll our copy of the Vulkan headers.
Bug: None Change-Id: I6d24e9ef21b8c00c5e50d65fdd0c454ae16a42ba Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/29601 Reviewed-by: Austin Eng <enga@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
parent
2ac719ffed
commit
bf7fc62175
|
@ -41,17 +41,45 @@
|
||||||
// that if the loader is older, it should automatically fail a
|
// that if the loader is older, it should automatically fail a
|
||||||
// call for any API version > 1.0. Otherwise, the loader will
|
// call for any API version > 1.0. Otherwise, the loader will
|
||||||
// manually determine if it can support the expected version.
|
// manually determine if it can support the expected version.
|
||||||
#define CURRENT_LOADER_ICD_INTERFACE_VERSION 5
|
// Version 6 - Add support for vk_icdEnumerateAdapterPhysicalDevices.
|
||||||
|
#define CURRENT_LOADER_ICD_INTERFACE_VERSION 6
|
||||||
#define MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION 0
|
#define MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION 0
|
||||||
#define MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION 4
|
#define MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION 4
|
||||||
typedef VkResult(VKAPI_PTR *PFN_vkNegotiateLoaderICDInterfaceVersion)(uint32_t *pVersion);
|
|
||||||
|
|
||||||
|
// Old typedefs that don't follow a proper naming convention but are preserved for compatibility
|
||||||
|
typedef VkResult(VKAPI_PTR *PFN_vkNegotiateLoaderICDInterfaceVersion)(uint32_t *pVersion);
|
||||||
// This is defined in vk_layer.h which will be found by the loader, but if an ICD is building against this
|
// This is defined in vk_layer.h which will be found by the loader, but if an ICD is building against this
|
||||||
// file directly, it won't be found.
|
// file directly, it won't be found.
|
||||||
#ifndef PFN_GetPhysicalDeviceProcAddr
|
#ifndef PFN_GetPhysicalDeviceProcAddr
|
||||||
typedef PFN_vkVoidFunction(VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char *pName);
|
typedef PFN_vkVoidFunction(VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char *pName);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Typedefs for loader/ICD interface
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vk_icdNegotiateLoaderICDInterfaceVersion)(uint32_t* pVersion);
|
||||||
|
typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vk_icdGetInstanceProcAddr)(VkInstance instance, const char* pName);
|
||||||
|
typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_vk_icdGetPhysicalDeviceProcAddr)(VkInstance instance, const char* pName);
|
||||||
|
#if defined(VK_USE_PLATFORM_WIN32_KHR)
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vk_icdEnumerateAdapterPhysicalDevices)(VkInstance instance, LUID adapterLUID,
|
||||||
|
uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Prototypes for loader/ICD interface
|
||||||
|
#if !defined(VK_NO_PROTOTYPES)
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vk_icdNegotiateLoaderICDInterfaceVersion(uint32_t* pVersion);
|
||||||
|
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetInstanceProcAddr(VkInstance instance, const char* pName);
|
||||||
|
VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vk_icdGetPhysicalDeviceProcAddr(VkInstance isntance, const char* pName);
|
||||||
|
#if defined(VK_USE_PLATFORM_WIN32_KHR)
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vk_icdEnumerateAdapterPhysicalDevices(VkInstance instance, LUID adapterLUID,
|
||||||
|
uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
|
||||||
|
#endif
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The ICD must reserve space for a pointer for the loader's dispatch
|
* The ICD must reserve space for a pointer for the loader's dispatch
|
||||||
* table, at the start of <each object>.
|
* table, at the start of <each object>.
|
||||||
|
@ -91,6 +119,8 @@ typedef enum {
|
||||||
VK_ICD_WSI_PLATFORM_DISPLAY,
|
VK_ICD_WSI_PLATFORM_DISPLAY,
|
||||||
VK_ICD_WSI_PLATFORM_HEADLESS,
|
VK_ICD_WSI_PLATFORM_HEADLESS,
|
||||||
VK_ICD_WSI_PLATFORM_METAL,
|
VK_ICD_WSI_PLATFORM_METAL,
|
||||||
|
VK_ICD_WSI_PLATFORM_DIRECTFB,
|
||||||
|
VK_ICD_WSI_PLATFORM_VI,
|
||||||
} VkIcdWsiPlatform;
|
} VkIcdWsiPlatform;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -137,6 +167,14 @@ typedef struct {
|
||||||
} VkIcdSurfaceXlib;
|
} VkIcdSurfaceXlib;
|
||||||
#endif // VK_USE_PLATFORM_XLIB_KHR
|
#endif // VK_USE_PLATFORM_XLIB_KHR
|
||||||
|
|
||||||
|
#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
|
||||||
|
typedef struct {
|
||||||
|
VkIcdSurfaceBase base;
|
||||||
|
IDirectFB *dfb;
|
||||||
|
IDirectFBSurface *surface;
|
||||||
|
} VkIcdSurfaceDirectFB;
|
||||||
|
#endif // VK_USE_PLATFORM_DIRECTFB_EXT
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_ANDROID_KHR
|
#ifdef VK_USE_PLATFORM_ANDROID_KHR
|
||||||
typedef struct {
|
typedef struct {
|
||||||
VkIcdSurfaceBase base;
|
VkIcdSurfaceBase base;
|
||||||
|
@ -180,4 +218,11 @@ typedef struct {
|
||||||
} VkIcdSurfaceMetal;
|
} VkIcdSurfaceMetal;
|
||||||
#endif // VK_USE_PLATFORM_METAL_EXT
|
#endif // VK_USE_PLATFORM_METAL_EXT
|
||||||
|
|
||||||
|
#ifdef VK_USE_PLATFORM_VI_NN
|
||||||
|
typedef struct {
|
||||||
|
VkIcdSurfaceBase base;
|
||||||
|
void *window;
|
||||||
|
} VkIcdSurfaceVi;
|
||||||
|
#endif // VK_USE_PLATFORM_VI_NN
|
||||||
|
|
||||||
#endif // VKICD_H
|
#endif // VKICD_H
|
||||||
|
|
|
@ -83,7 +83,8 @@ typedef VkResult(VKAPI_PTR *PFN_PhysDevExt)(VkPhysicalDevice phys_device);
|
||||||
typedef enum VkLayerFunction_ {
|
typedef enum VkLayerFunction_ {
|
||||||
VK_LAYER_LINK_INFO = 0,
|
VK_LAYER_LINK_INFO = 0,
|
||||||
VK_LOADER_DATA_CALLBACK = 1,
|
VK_LOADER_DATA_CALLBACK = 1,
|
||||||
VK_LOADER_LAYER_CREATE_DEVICE_CALLBACK = 2
|
VK_LOADER_LAYER_CREATE_DEVICE_CALLBACK = 2,
|
||||||
|
VK_LOADER_FEATURES = 3,
|
||||||
} VkLayerFunction;
|
} VkLayerFunction;
|
||||||
|
|
||||||
typedef struct VkLayerInstanceLink_ {
|
typedef struct VkLayerInstanceLink_ {
|
||||||
|
@ -111,6 +112,12 @@ typedef VkResult (VKAPI_PTR *PFN_vkSetDeviceLoaderData)(VkDevice device,
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkLayerCreateDevice)(VkInstance instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo,
|
typedef VkResult (VKAPI_PTR *PFN_vkLayerCreateDevice)(VkInstance instance, VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo *pCreateInfo,
|
||||||
const VkAllocationCallbacks *pAllocator, VkDevice *pDevice, PFN_vkGetInstanceProcAddr layerGIPA, PFN_vkGetDeviceProcAddr *nextGDPA);
|
const VkAllocationCallbacks *pAllocator, VkDevice *pDevice, PFN_vkGetInstanceProcAddr layerGIPA, PFN_vkGetDeviceProcAddr *nextGDPA);
|
||||||
typedef void (VKAPI_PTR *PFN_vkLayerDestroyDevice)(VkDevice physicalDevice, const VkAllocationCallbacks *pAllocator, PFN_vkDestroyDevice destroyFunction);
|
typedef void (VKAPI_PTR *PFN_vkLayerDestroyDevice)(VkDevice physicalDevice, const VkAllocationCallbacks *pAllocator, PFN_vkDestroyDevice destroyFunction);
|
||||||
|
|
||||||
|
typedef enum VkLoaderFeastureFlagBits {
|
||||||
|
VK_LOADER_FEATURE_PHYSICAL_DEVICE_SORTING = 0x00000001,
|
||||||
|
} VkLoaderFlagBits;
|
||||||
|
typedef VkFlags VkLoaderFeatureFlags;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
VkStructureType sType; // VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
|
VkStructureType sType; // VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
|
||||||
const void *pNext;
|
const void *pNext;
|
||||||
|
@ -122,6 +129,7 @@ typedef struct {
|
||||||
PFN_vkLayerCreateDevice pfnLayerCreateDevice;
|
PFN_vkLayerCreateDevice pfnLayerCreateDevice;
|
||||||
PFN_vkLayerDestroyDevice pfnLayerDestroyDevice;
|
PFN_vkLayerDestroyDevice pfnLayerDestroyDevice;
|
||||||
} layerDevice;
|
} layerDevice;
|
||||||
|
VkLoaderFeatureFlags loaderFeatures;
|
||||||
} u;
|
} u;
|
||||||
} VkLayerInstanceCreateInfo;
|
} VkLayerInstanceCreateInfo;
|
||||||
|
|
||||||
|
|
|
@ -2,19 +2,9 @@
|
||||||
// File: vk_platform.h
|
// File: vk_platform.h
|
||||||
//
|
//
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2014-2017 The Khronos Group Inc.
|
** Copyright (c) 2014-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,19 +2,9 @@
|
||||||
#define VULKAN_H_ 1
|
#define VULKAN_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2019 The Khronos Group Inc.
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "vk_platform.h"
|
#include "vk_platform.h"
|
||||||
|
@ -71,6 +61,12 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef VK_USE_PLATFORM_DIRECTFB_EXT
|
||||||
|
#include <directfb.h>
|
||||||
|
#include "vulkan_directfb.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
|
#ifdef VK_USE_PLATFORM_XLIB_XRANDR_EXT
|
||||||
#include <X11/Xlib.h>
|
#include <X11/Xlib.h>
|
||||||
#include <X11/extensions/Xrandr.h>
|
#include <X11/extensions/Xrandr.h>
|
||||||
|
@ -83,4 +79,9 @@
|
||||||
#include "vulkan_ggp.h"
|
#include "vulkan_ggp.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||||
|
#include "vulkan_beta.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // VULKAN_H_
|
#endif // VULKAN_H_
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -2,19 +2,9 @@
|
||||||
#define VULKAN_ANDROID_H_ 1
|
#define VULKAN_ANDROID_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2019 The Khronos Group Inc.
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -0,0 +1,459 @@
|
||||||
|
#ifndef VULKAN_BETA_H_
|
||||||
|
#define VULKAN_BETA_H_ 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Copyright (c) 2015-2020 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_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_deferred_host_operations 1
|
||||||
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkDeferredOperationKHR)
|
||||||
|
#define VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION 3
|
||||||
|
#define VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME "VK_KHR_deferred_host_operations"
|
||||||
|
typedef struct VkDeferredOperationInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkDeferredOperationKHR operationHandle;
|
||||||
|
} VkDeferredOperationInfoKHR;
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateDeferredOperationKHR)(VkDevice device, const VkAllocationCallbacks* pAllocator, VkDeferredOperationKHR* pDeferredOperation);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkDestroyDeferredOperationKHR)(VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks* pAllocator);
|
||||||
|
typedef uint32_t (VKAPI_PTR *PFN_vkGetDeferredOperationMaxConcurrencyKHR)(VkDevice device, VkDeferredOperationKHR operation);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkGetDeferredOperationResultKHR)(VkDevice device, VkDeferredOperationKHR operation);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkDeferredOperationJoinKHR)(VkDevice device, VkDeferredOperationKHR operation);
|
||||||
|
|
||||||
|
#ifndef VK_NO_PROTOTYPES
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateDeferredOperationKHR(
|
||||||
|
VkDevice device,
|
||||||
|
const VkAllocationCallbacks* pAllocator,
|
||||||
|
VkDeferredOperationKHR* pDeferredOperation);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkDestroyDeferredOperationKHR(
|
||||||
|
VkDevice device,
|
||||||
|
VkDeferredOperationKHR operation,
|
||||||
|
const VkAllocationCallbacks* pAllocator);
|
||||||
|
|
||||||
|
VKAPI_ATTR uint32_t VKAPI_CALL vkGetDeferredOperationMaxConcurrencyKHR(
|
||||||
|
VkDevice device,
|
||||||
|
VkDeferredOperationKHR operation);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetDeferredOperationResultKHR(
|
||||||
|
VkDevice device,
|
||||||
|
VkDeferredOperationKHR operation);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkDeferredOperationJoinKHR(
|
||||||
|
VkDevice device,
|
||||||
|
VkDeferredOperationKHR operation);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_KHR_pipeline_library 1
|
||||||
|
#define VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION 1
|
||||||
|
#define VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME "VK_KHR_pipeline_library"
|
||||||
|
typedef struct VkPipelineLibraryCreateInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
uint32_t libraryCount;
|
||||||
|
const VkPipeline* pLibraries;
|
||||||
|
} VkPipelineLibraryCreateInfoKHR;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_KHR_ray_tracing 1
|
||||||
|
#define VK_KHR_RAY_TRACING_SPEC_VERSION 8
|
||||||
|
#define VK_KHR_RAY_TRACING_EXTENSION_NAME "VK_KHR_ray_tracing"
|
||||||
|
|
||||||
|
typedef enum VkAccelerationStructureBuildTypeKHR {
|
||||||
|
VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_KHR = 0,
|
||||||
|
VK_ACCELERATION_STRUCTURE_BUILD_TYPE_DEVICE_KHR = 1,
|
||||||
|
VK_ACCELERATION_STRUCTURE_BUILD_TYPE_HOST_OR_DEVICE_KHR = 2,
|
||||||
|
VK_ACCELERATION_STRUCTURE_BUILD_TYPE_MAX_ENUM_KHR = 0x7FFFFFFF
|
||||||
|
} VkAccelerationStructureBuildTypeKHR;
|
||||||
|
typedef union VkDeviceOrHostAddressKHR {
|
||||||
|
VkDeviceAddress deviceAddress;
|
||||||
|
void* hostAddress;
|
||||||
|
} VkDeviceOrHostAddressKHR;
|
||||||
|
|
||||||
|
typedef union VkDeviceOrHostAddressConstKHR {
|
||||||
|
VkDeviceAddress deviceAddress;
|
||||||
|
const void* hostAddress;
|
||||||
|
} VkDeviceOrHostAddressConstKHR;
|
||||||
|
|
||||||
|
typedef struct VkAccelerationStructureBuildOffsetInfoKHR {
|
||||||
|
uint32_t primitiveCount;
|
||||||
|
uint32_t primitiveOffset;
|
||||||
|
uint32_t firstVertex;
|
||||||
|
uint32_t transformOffset;
|
||||||
|
} VkAccelerationStructureBuildOffsetInfoKHR;
|
||||||
|
|
||||||
|
typedef struct VkRayTracingShaderGroupCreateInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkRayTracingShaderGroupTypeKHR type;
|
||||||
|
uint32_t generalShader;
|
||||||
|
uint32_t closestHitShader;
|
||||||
|
uint32_t anyHitShader;
|
||||||
|
uint32_t intersectionShader;
|
||||||
|
const void* pShaderGroupCaptureReplayHandle;
|
||||||
|
} VkRayTracingShaderGroupCreateInfoKHR;
|
||||||
|
|
||||||
|
typedef struct VkRayTracingPipelineInterfaceCreateInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
uint32_t maxPayloadSize;
|
||||||
|
uint32_t maxAttributeSize;
|
||||||
|
uint32_t maxCallableSize;
|
||||||
|
} VkRayTracingPipelineInterfaceCreateInfoKHR;
|
||||||
|
|
||||||
|
typedef struct VkRayTracingPipelineCreateInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkPipelineCreateFlags flags;
|
||||||
|
uint32_t stageCount;
|
||||||
|
const VkPipelineShaderStageCreateInfo* pStages;
|
||||||
|
uint32_t groupCount;
|
||||||
|
const VkRayTracingShaderGroupCreateInfoKHR* pGroups;
|
||||||
|
uint32_t maxRecursionDepth;
|
||||||
|
VkPipelineLibraryCreateInfoKHR libraries;
|
||||||
|
const VkRayTracingPipelineInterfaceCreateInfoKHR* pLibraryInterface;
|
||||||
|
VkPipelineLayout layout;
|
||||||
|
VkPipeline basePipelineHandle;
|
||||||
|
int32_t basePipelineIndex;
|
||||||
|
} VkRayTracingPipelineCreateInfoKHR;
|
||||||
|
|
||||||
|
typedef struct VkAccelerationStructureGeometryTrianglesDataKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkFormat vertexFormat;
|
||||||
|
VkDeviceOrHostAddressConstKHR vertexData;
|
||||||
|
VkDeviceSize vertexStride;
|
||||||
|
VkIndexType indexType;
|
||||||
|
VkDeviceOrHostAddressConstKHR indexData;
|
||||||
|
VkDeviceOrHostAddressConstKHR transformData;
|
||||||
|
} VkAccelerationStructureGeometryTrianglesDataKHR;
|
||||||
|
|
||||||
|
typedef struct VkAccelerationStructureGeometryAabbsDataKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkDeviceOrHostAddressConstKHR data;
|
||||||
|
VkDeviceSize stride;
|
||||||
|
} VkAccelerationStructureGeometryAabbsDataKHR;
|
||||||
|
|
||||||
|
typedef struct VkAccelerationStructureGeometryInstancesDataKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkBool32 arrayOfPointers;
|
||||||
|
VkDeviceOrHostAddressConstKHR data;
|
||||||
|
} VkAccelerationStructureGeometryInstancesDataKHR;
|
||||||
|
|
||||||
|
typedef union VkAccelerationStructureGeometryDataKHR {
|
||||||
|
VkAccelerationStructureGeometryTrianglesDataKHR triangles;
|
||||||
|
VkAccelerationStructureGeometryAabbsDataKHR aabbs;
|
||||||
|
VkAccelerationStructureGeometryInstancesDataKHR instances;
|
||||||
|
} VkAccelerationStructureGeometryDataKHR;
|
||||||
|
|
||||||
|
typedef struct VkAccelerationStructureGeometryKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkGeometryTypeKHR geometryType;
|
||||||
|
VkAccelerationStructureGeometryDataKHR geometry;
|
||||||
|
VkGeometryFlagsKHR flags;
|
||||||
|
} VkAccelerationStructureGeometryKHR;
|
||||||
|
|
||||||
|
typedef struct VkAccelerationStructureBuildGeometryInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkAccelerationStructureTypeKHR type;
|
||||||
|
VkBuildAccelerationStructureFlagsKHR flags;
|
||||||
|
VkBool32 update;
|
||||||
|
VkAccelerationStructureKHR srcAccelerationStructure;
|
||||||
|
VkAccelerationStructureKHR dstAccelerationStructure;
|
||||||
|
VkBool32 geometryArrayOfPointers;
|
||||||
|
uint32_t geometryCount;
|
||||||
|
const VkAccelerationStructureGeometryKHR* const* ppGeometries;
|
||||||
|
VkDeviceOrHostAddressKHR scratchData;
|
||||||
|
} VkAccelerationStructureBuildGeometryInfoKHR;
|
||||||
|
|
||||||
|
typedef struct VkAccelerationStructureCreateGeometryTypeInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkGeometryTypeKHR geometryType;
|
||||||
|
uint32_t maxPrimitiveCount;
|
||||||
|
VkIndexType indexType;
|
||||||
|
uint32_t maxVertexCount;
|
||||||
|
VkFormat vertexFormat;
|
||||||
|
VkBool32 allowsTransforms;
|
||||||
|
} VkAccelerationStructureCreateGeometryTypeInfoKHR;
|
||||||
|
|
||||||
|
typedef struct VkAccelerationStructureCreateInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkDeviceSize compactedSize;
|
||||||
|
VkAccelerationStructureTypeKHR type;
|
||||||
|
VkBuildAccelerationStructureFlagsKHR flags;
|
||||||
|
uint32_t maxGeometryCount;
|
||||||
|
const VkAccelerationStructureCreateGeometryTypeInfoKHR* pGeometryInfos;
|
||||||
|
VkDeviceAddress deviceAddress;
|
||||||
|
} VkAccelerationStructureCreateInfoKHR;
|
||||||
|
|
||||||
|
typedef struct VkAccelerationStructureMemoryRequirementsInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkAccelerationStructureMemoryRequirementsTypeKHR type;
|
||||||
|
VkAccelerationStructureBuildTypeKHR buildType;
|
||||||
|
VkAccelerationStructureKHR accelerationStructure;
|
||||||
|
} VkAccelerationStructureMemoryRequirementsInfoKHR;
|
||||||
|
|
||||||
|
typedef struct VkPhysicalDeviceRayTracingFeaturesKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
VkBool32 rayTracing;
|
||||||
|
VkBool32 rayTracingShaderGroupHandleCaptureReplay;
|
||||||
|
VkBool32 rayTracingShaderGroupHandleCaptureReplayMixed;
|
||||||
|
VkBool32 rayTracingAccelerationStructureCaptureReplay;
|
||||||
|
VkBool32 rayTracingIndirectTraceRays;
|
||||||
|
VkBool32 rayTracingIndirectAccelerationStructureBuild;
|
||||||
|
VkBool32 rayTracingHostAccelerationStructureCommands;
|
||||||
|
VkBool32 rayQuery;
|
||||||
|
VkBool32 rayTracingPrimitiveCulling;
|
||||||
|
} VkPhysicalDeviceRayTracingFeaturesKHR;
|
||||||
|
|
||||||
|
typedef struct VkPhysicalDeviceRayTracingPropertiesKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
uint32_t shaderGroupHandleSize;
|
||||||
|
uint32_t maxRecursionDepth;
|
||||||
|
uint32_t maxShaderGroupStride;
|
||||||
|
uint32_t shaderGroupBaseAlignment;
|
||||||
|
uint64_t maxGeometryCount;
|
||||||
|
uint64_t maxInstanceCount;
|
||||||
|
uint64_t maxPrimitiveCount;
|
||||||
|
uint32_t maxDescriptorSetAccelerationStructures;
|
||||||
|
uint32_t shaderGroupHandleCaptureReplaySize;
|
||||||
|
} VkPhysicalDeviceRayTracingPropertiesKHR;
|
||||||
|
|
||||||
|
typedef struct VkAccelerationStructureDeviceAddressInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkAccelerationStructureKHR accelerationStructure;
|
||||||
|
} VkAccelerationStructureDeviceAddressInfoKHR;
|
||||||
|
|
||||||
|
typedef struct VkAccelerationStructureVersionKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
const uint8_t* versionData;
|
||||||
|
} VkAccelerationStructureVersionKHR;
|
||||||
|
|
||||||
|
typedef struct VkStridedBufferRegionKHR {
|
||||||
|
VkBuffer buffer;
|
||||||
|
VkDeviceSize offset;
|
||||||
|
VkDeviceSize stride;
|
||||||
|
VkDeviceSize size;
|
||||||
|
} VkStridedBufferRegionKHR;
|
||||||
|
|
||||||
|
typedef struct VkTraceRaysIndirectCommandKHR {
|
||||||
|
uint32_t width;
|
||||||
|
uint32_t height;
|
||||||
|
uint32_t depth;
|
||||||
|
} VkTraceRaysIndirectCommandKHR;
|
||||||
|
|
||||||
|
typedef struct VkCopyAccelerationStructureToMemoryInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkAccelerationStructureKHR src;
|
||||||
|
VkDeviceOrHostAddressKHR dst;
|
||||||
|
VkCopyAccelerationStructureModeKHR mode;
|
||||||
|
} VkCopyAccelerationStructureToMemoryInfoKHR;
|
||||||
|
|
||||||
|
typedef struct VkCopyMemoryToAccelerationStructureInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkDeviceOrHostAddressConstKHR src;
|
||||||
|
VkAccelerationStructureKHR dst;
|
||||||
|
VkCopyAccelerationStructureModeKHR mode;
|
||||||
|
} VkCopyMemoryToAccelerationStructureInfoKHR;
|
||||||
|
|
||||||
|
typedef struct VkCopyAccelerationStructureInfoKHR {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkAccelerationStructureKHR src;
|
||||||
|
VkAccelerationStructureKHR dst;
|
||||||
|
VkCopyAccelerationStructureModeKHR mode;
|
||||||
|
} VkCopyAccelerationStructureInfoKHR;
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateAccelerationStructureKHR)(VkDevice device, const VkAccelerationStructureCreateInfoKHR* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkAccelerationStructureKHR* pAccelerationStructure);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkGetAccelerationStructureMemoryRequirementsKHR)(VkDevice device, const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo, VkMemoryRequirements2* pMemoryRequirements);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureKHR)(VkCommandBuffer commandBuffer, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkCmdBuildAccelerationStructureIndirectKHR)(VkCommandBuffer commandBuffer, const VkAccelerationStructureBuildGeometryInfoKHR* pInfo, VkBuffer indirectBuffer, VkDeviceSize indirectOffset, uint32_t indirectStride);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkBuildAccelerationStructureKHR)(VkDevice device, uint32_t infoCount, const VkAccelerationStructureBuildGeometryInfoKHR* pInfos, const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureKHR)(VkDevice device, const VkCopyAccelerationStructureInfoKHR* pInfo);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCopyAccelerationStructureToMemoryKHR)(VkDevice device, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCopyMemoryToAccelerationStructureKHR)(VkDevice device, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkWriteAccelerationStructuresPropertiesKHR)(VkDevice device, uint32_t accelerationStructureCount, const VkAccelerationStructureKHR* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR* pInfo);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkCmdCopyAccelerationStructureToMemoryKHR)(VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkCmdCopyMemoryToAccelerationStructureKHR)(VkCommandBuffer commandBuffer, const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysKHR)(VkCommandBuffer commandBuffer, const VkStridedBufferRegionKHR* pRaygenShaderBindingTable, const VkStridedBufferRegionKHR* pMissShaderBindingTable, const VkStridedBufferRegionKHR* pHitShaderBindingTable, const VkStridedBufferRegionKHR* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateRayTracingPipelinesKHR)(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkRayTracingPipelineCreateInfoKHR* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
|
||||||
|
typedef VkDeviceAddress (VKAPI_PTR *PFN_vkGetAccelerationStructureDeviceAddressKHR)(VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)(VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkCmdTraceRaysIndirectKHR)(VkCommandBuffer commandBuffer, const VkStridedBufferRegionKHR* pRaygenShaderBindingTable, const VkStridedBufferRegionKHR* pMissShaderBindingTable, const VkStridedBufferRegionKHR* pHitShaderBindingTable, const VkStridedBufferRegionKHR* pCallableShaderBindingTable, VkBuffer buffer, VkDeviceSize offset);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)(VkDevice device, const VkAccelerationStructureVersionKHR* version);
|
||||||
|
|
||||||
|
#ifndef VK_NO_PROTOTYPES
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateAccelerationStructureKHR(
|
||||||
|
VkDevice device,
|
||||||
|
const VkAccelerationStructureCreateInfoKHR* pCreateInfo,
|
||||||
|
const VkAllocationCallbacks* pAllocator,
|
||||||
|
VkAccelerationStructureKHR* pAccelerationStructure);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkGetAccelerationStructureMemoryRequirementsKHR(
|
||||||
|
VkDevice device,
|
||||||
|
const VkAccelerationStructureMemoryRequirementsInfoKHR* pInfo,
|
||||||
|
VkMemoryRequirements2* pMemoryRequirements);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureKHR(
|
||||||
|
VkCommandBuffer commandBuffer,
|
||||||
|
uint32_t infoCount,
|
||||||
|
const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
|
||||||
|
const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkCmdBuildAccelerationStructureIndirectKHR(
|
||||||
|
VkCommandBuffer commandBuffer,
|
||||||
|
const VkAccelerationStructureBuildGeometryInfoKHR* pInfo,
|
||||||
|
VkBuffer indirectBuffer,
|
||||||
|
VkDeviceSize indirectOffset,
|
||||||
|
uint32_t indirectStride);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkBuildAccelerationStructureKHR(
|
||||||
|
VkDevice device,
|
||||||
|
uint32_t infoCount,
|
||||||
|
const VkAccelerationStructureBuildGeometryInfoKHR* pInfos,
|
||||||
|
const VkAccelerationStructureBuildOffsetInfoKHR* const* ppOffsetInfos);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureKHR(
|
||||||
|
VkDevice device,
|
||||||
|
const VkCopyAccelerationStructureInfoKHR* pInfo);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkCopyAccelerationStructureToMemoryKHR(
|
||||||
|
VkDevice device,
|
||||||
|
const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkCopyMemoryToAccelerationStructureKHR(
|
||||||
|
VkDevice device,
|
||||||
|
const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkWriteAccelerationStructuresPropertiesKHR(
|
||||||
|
VkDevice device,
|
||||||
|
uint32_t accelerationStructureCount,
|
||||||
|
const VkAccelerationStructureKHR* pAccelerationStructures,
|
||||||
|
VkQueryType queryType,
|
||||||
|
size_t dataSize,
|
||||||
|
void* pData,
|
||||||
|
size_t stride);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureKHR(
|
||||||
|
VkCommandBuffer commandBuffer,
|
||||||
|
const VkCopyAccelerationStructureInfoKHR* pInfo);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkCmdCopyAccelerationStructureToMemoryKHR(
|
||||||
|
VkCommandBuffer commandBuffer,
|
||||||
|
const VkCopyAccelerationStructureToMemoryInfoKHR* pInfo);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkCmdCopyMemoryToAccelerationStructureKHR(
|
||||||
|
VkCommandBuffer commandBuffer,
|
||||||
|
const VkCopyMemoryToAccelerationStructureInfoKHR* pInfo);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysKHR(
|
||||||
|
VkCommandBuffer commandBuffer,
|
||||||
|
const VkStridedBufferRegionKHR* pRaygenShaderBindingTable,
|
||||||
|
const VkStridedBufferRegionKHR* pMissShaderBindingTable,
|
||||||
|
const VkStridedBufferRegionKHR* pHitShaderBindingTable,
|
||||||
|
const VkStridedBufferRegionKHR* pCallableShaderBindingTable,
|
||||||
|
uint32_t width,
|
||||||
|
uint32_t height,
|
||||||
|
uint32_t depth);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateRayTracingPipelinesKHR(
|
||||||
|
VkDevice device,
|
||||||
|
VkPipelineCache pipelineCache,
|
||||||
|
uint32_t createInfoCount,
|
||||||
|
const VkRayTracingPipelineCreateInfoKHR* pCreateInfos,
|
||||||
|
const VkAllocationCallbacks* pAllocator,
|
||||||
|
VkPipeline* pPipelines);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkDeviceAddress VKAPI_CALL vkGetAccelerationStructureDeviceAddressKHR(
|
||||||
|
VkDevice device,
|
||||||
|
const VkAccelerationStructureDeviceAddressInfoKHR* pInfo);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
|
||||||
|
VkDevice device,
|
||||||
|
VkPipeline pipeline,
|
||||||
|
uint32_t firstGroup,
|
||||||
|
uint32_t groupCount,
|
||||||
|
size_t dataSize,
|
||||||
|
void* pData);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkCmdTraceRaysIndirectKHR(
|
||||||
|
VkCommandBuffer commandBuffer,
|
||||||
|
const VkStridedBufferRegionKHR* pRaygenShaderBindingTable,
|
||||||
|
const VkStridedBufferRegionKHR* pMissShaderBindingTable,
|
||||||
|
const VkStridedBufferRegionKHR* pHitShaderBindingTable,
|
||||||
|
const VkStridedBufferRegionKHR* pCallableShaderBindingTable,
|
||||||
|
VkBuffer buffer,
|
||||||
|
VkDeviceSize offset);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetDeviceAccelerationStructureCompatibilityKHR(
|
||||||
|
VkDevice device,
|
||||||
|
const VkAccelerationStructureVersionKHR* version);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,54 @@
|
||||||
|
#ifndef VULKAN_DIRECTFB_H_
|
||||||
|
#define VULKAN_DIRECTFB_H_ 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Copyright (c) 2015-2020 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
|
|
@ -2,19 +2,9 @@
|
||||||
#define VULKAN_FUCHSIA_H_ 1
|
#define VULKAN_FUCHSIA_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2019 The Khronos Group Inc.
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -2,19 +2,9 @@
|
||||||
#define VULKAN_GGP_H_ 1
|
#define VULKAN_GGP_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2019 The Khronos Group Inc.
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -2,19 +2,9 @@
|
||||||
#define VULKAN_IOS_H_ 1
|
#define VULKAN_IOS_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2019 The Khronos Group Inc.
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -30,7 +20,7 @@ extern "C" {
|
||||||
|
|
||||||
|
|
||||||
#define VK_MVK_ios_surface 1
|
#define VK_MVK_ios_surface 1
|
||||||
#define VK_MVK_IOS_SURFACE_SPEC_VERSION 2
|
#define VK_MVK_IOS_SURFACE_SPEC_VERSION 3
|
||||||
#define VK_MVK_IOS_SURFACE_EXTENSION_NAME "VK_MVK_ios_surface"
|
#define VK_MVK_IOS_SURFACE_EXTENSION_NAME "VK_MVK_ios_surface"
|
||||||
typedef VkFlags VkIOSSurfaceCreateFlagsMVK;
|
typedef VkFlags VkIOSSurfaceCreateFlagsMVK;
|
||||||
typedef struct VkIOSSurfaceCreateInfoMVK {
|
typedef struct VkIOSSurfaceCreateInfoMVK {
|
||||||
|
|
|
@ -2,19 +2,9 @@
|
||||||
#define VULKAN_MACOS_H_ 1
|
#define VULKAN_MACOS_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2019 The Khronos Group Inc.
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -30,7 +20,7 @@ extern "C" {
|
||||||
|
|
||||||
|
|
||||||
#define VK_MVK_macos_surface 1
|
#define VK_MVK_macos_surface 1
|
||||||
#define VK_MVK_MACOS_SURFACE_SPEC_VERSION 2
|
#define VK_MVK_MACOS_SURFACE_SPEC_VERSION 3
|
||||||
#define VK_MVK_MACOS_SURFACE_EXTENSION_NAME "VK_MVK_macos_surface"
|
#define VK_MVK_MACOS_SURFACE_EXTENSION_NAME "VK_MVK_macos_surface"
|
||||||
typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;
|
typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;
|
||||||
typedef struct VkMacOSSurfaceCreateInfoMVK {
|
typedef struct VkMacOSSurfaceCreateInfoMVK {
|
||||||
|
|
|
@ -2,19 +2,9 @@
|
||||||
#define VULKAN_METAL_H_ 1
|
#define VULKAN_METAL_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2019 The Khronos Group Inc.
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -2,19 +2,9 @@
|
||||||
#define VULKAN_VI_H_ 1
|
#define VULKAN_VI_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2019 The Khronos Group Inc.
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -2,19 +2,9 @@
|
||||||
#define VULKAN_WAYLAND_H_ 1
|
#define VULKAN_WAYLAND_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2019 The Khronos Group Inc.
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -2,19 +2,9 @@
|
||||||
#define VULKAN_WIN32_H_ 1
|
#define VULKAN_WIN32_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2019 The Khronos Group Inc.
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -272,9 +262,6 @@ typedef enum VkFullScreenExclusiveEXT {
|
||||||
VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT = 1,
|
VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT = 1,
|
||||||
VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT = 2,
|
VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT = 2,
|
||||||
VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT = 3,
|
VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT = 3,
|
||||||
VK_FULL_SCREEN_EXCLUSIVE_BEGIN_RANGE_EXT = VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT,
|
|
||||||
VK_FULL_SCREEN_EXCLUSIVE_END_RANGE_EXT = VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT,
|
|
||||||
VK_FULL_SCREEN_EXCLUSIVE_RANGE_SIZE_EXT = (VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT - VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT + 1),
|
|
||||||
VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT = 0x7FFFFFFF
|
VK_FULL_SCREEN_EXCLUSIVE_MAX_ENUM_EXT = 0x7FFFFFFF
|
||||||
} VkFullScreenExclusiveEXT;
|
} VkFullScreenExclusiveEXT;
|
||||||
typedef struct VkSurfaceFullScreenExclusiveInfoEXT {
|
typedef struct VkSurfaceFullScreenExclusiveInfoEXT {
|
||||||
|
|
|
@ -2,19 +2,9 @@
|
||||||
#define VULKAN_XCB_H_ 1
|
#define VULKAN_XCB_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2019 The Khronos Group Inc.
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -2,19 +2,9 @@
|
||||||
#define VULKAN_XLIB_H_ 1
|
#define VULKAN_XLIB_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2019 The Khronos Group Inc.
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -2,19 +2,9 @@
|
||||||
#define VULKAN_XLIB_XRANDR_H_ 1
|
#define VULKAN_XLIB_XRANDR_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2019 The Khronos Group Inc.
|
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** Licensed under the Apache License, Version 2.0 (the "License");
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
** 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.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue