Roll Vulkan headers to 1.2.201
Also delete vulkan.hpp that we don't use, and vulkan_fuchsia_extras that have since then been upstreamed. Also updates the fuchsia external import code to use the non-temp extension. Bug: dawn:221 Change-Id: I23e1bfedc5a18731be1e58d0bae1bddf6b0f45fa Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/71601 Reviewed-by: Austin Eng <enga@chromium.org> Reviewed-by: Loko Kung <lokokung@google.com> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
parent
75f0f29507
commit
959f1da637
|
@ -192,9 +192,4 @@ static constexpr uint64_t VK_NULL_HANDLE = 0;
|
||||||
# error "Unsupported platform"
|
# error "Unsupported platform"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Include Fuchsia-specific definitions that are not upstreamed yet.
|
|
||||||
#if defined(DAWN_PLATFORM_FUCHSIA)
|
|
||||||
# include <vulkan/vulkan_fuchsia_extras.h>
|
|
||||||
#endif // defined(DAWN_PLATFORM_FUCHSIA)
|
|
||||||
|
|
||||||
#endif // COMMON_VULKANPLATFORM_H_
|
#endif // COMMON_VULKANPLATFORM_H_
|
||||||
|
|
|
@ -46,7 +46,7 @@ namespace dawn_native { namespace vulkan { namespace external_memory {
|
||||||
VkPhysicalDeviceExternalImageFormatInfo externalFormatInfo;
|
VkPhysicalDeviceExternalImageFormatInfo externalFormatInfo;
|
||||||
externalFormatInfo.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR;
|
externalFormatInfo.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO_KHR;
|
||||||
externalFormatInfo.pNext = nullptr;
|
externalFormatInfo.pNext = nullptr;
|
||||||
externalFormatInfo.handleType = VK_EXTERNAL_MEMORY_HANDLE_TYPE_TEMP_ZIRCON_VMO_BIT_FUCHSIA;
|
externalFormatInfo.handleType = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA;
|
||||||
|
|
||||||
VkPhysicalDeviceImageFormatInfo2 formatInfo;
|
VkPhysicalDeviceImageFormatInfo2 formatInfo;
|
||||||
formatInfo.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR;
|
formatInfo.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2_KHR;
|
||||||
|
@ -112,11 +112,9 @@ namespace dawn_native { namespace vulkan { namespace external_memory {
|
||||||
importParams.allocationSize, requirements.size);
|
importParams.allocationSize, requirements.size);
|
||||||
|
|
||||||
VkImportMemoryZirconHandleInfoFUCHSIA importMemoryHandleInfo;
|
VkImportMemoryZirconHandleInfoFUCHSIA importMemoryHandleInfo;
|
||||||
importMemoryHandleInfo.sType =
|
importMemoryHandleInfo.sType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA;
|
||||||
VK_STRUCTURE_TYPE_TEMP_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA;
|
|
||||||
importMemoryHandleInfo.pNext = nullptr;
|
importMemoryHandleInfo.pNext = nullptr;
|
||||||
importMemoryHandleInfo.handleType =
|
importMemoryHandleInfo.handleType = VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA;
|
||||||
VK_EXTERNAL_MEMORY_HANDLE_TYPE_TEMP_ZIRCON_VMO_BIT_FUCHSIA;
|
|
||||||
importMemoryHandleInfo.handle = handle;
|
importMemoryHandleInfo.handle = handle;
|
||||||
|
|
||||||
VkMemoryAllocateInfo allocateInfo;
|
VkMemoryAllocateInfo allocateInfo;
|
||||||
|
@ -138,7 +136,7 @@ namespace dawn_native { namespace vulkan { namespace external_memory {
|
||||||
externalMemoryImageCreateInfo.sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
|
externalMemoryImageCreateInfo.sType = VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO;
|
||||||
externalMemoryImageCreateInfo.pNext = nullptr;
|
externalMemoryImageCreateInfo.pNext = nullptr;
|
||||||
externalMemoryImageCreateInfo.handleTypes =
|
externalMemoryImageCreateInfo.handleTypes =
|
||||||
VK_EXTERNAL_MEMORY_HANDLE_TYPE_TEMP_ZIRCON_VMO_BIT_FUCHSIA;
|
VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA;
|
||||||
|
|
||||||
VkImageCreateInfo createInfo = baseCreateInfo;
|
VkImageCreateInfo createInfo = baseCreateInfo;
|
||||||
createInfo.pNext = &externalMemoryImageCreateInfo;
|
createInfo.pNext = &externalMemoryImageCreateInfo;
|
||||||
|
|
|
@ -40,7 +40,7 @@ namespace dawn_native { namespace vulkan { namespace external_semaphore {
|
||||||
VkPhysicalDeviceExternalSemaphoreInfoKHR semaphoreInfo;
|
VkPhysicalDeviceExternalSemaphoreInfoKHR semaphoreInfo;
|
||||||
semaphoreInfo.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR;
|
semaphoreInfo.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO_KHR;
|
||||||
semaphoreInfo.pNext = nullptr;
|
semaphoreInfo.pNext = nullptr;
|
||||||
semaphoreInfo.handleType = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TEMP_ZIRCON_EVENT_BIT_FUCHSIA;
|
semaphoreInfo.handleType = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA;
|
||||||
|
|
||||||
VkExternalSemaphorePropertiesKHR semaphoreProperties;
|
VkExternalSemaphorePropertiesKHR semaphoreProperties;
|
||||||
semaphoreProperties.sType = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR;
|
semaphoreProperties.sType = VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES_KHR;
|
||||||
|
@ -73,18 +73,18 @@ namespace dawn_native { namespace vulkan { namespace external_semaphore {
|
||||||
mDevice->fn.CreateSemaphore(mDevice->GetVkDevice(), &info, nullptr, &*semaphore),
|
mDevice->fn.CreateSemaphore(mDevice->GetVkDevice(), &info, nullptr, &*semaphore),
|
||||||
"vkCreateSemaphore"));
|
"vkCreateSemaphore"));
|
||||||
|
|
||||||
VkImportSemaphoreZirconHandleInfoFUCHSIA importSempahoreHandleInfo;
|
VkImportSemaphoreZirconHandleInfoFUCHSIA importSemaphoreHandleInfo;
|
||||||
importSempahoreHandleInfo.sType =
|
importSemaphoreHandleInfo.sType =
|
||||||
VK_STRUCTURE_TYPE_TEMP_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA;
|
VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA;
|
||||||
importSempahoreHandleInfo.pNext = nullptr;
|
importSemaphoreHandleInfo.pNext = nullptr;
|
||||||
importSempahoreHandleInfo.semaphore = semaphore;
|
importSemaphoreHandleInfo.semaphore = semaphore;
|
||||||
importSempahoreHandleInfo.flags = 0;
|
importSemaphoreHandleInfo.flags = 0;
|
||||||
importSempahoreHandleInfo.handleType =
|
importSemaphoreHandleInfo.handleType =
|
||||||
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TEMP_ZIRCON_EVENT_BIT_FUCHSIA;
|
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA;
|
||||||
importSempahoreHandleInfo.handle = handle;
|
importSemaphoreHandleInfo.handle = handle;
|
||||||
|
|
||||||
MaybeError status = CheckVkSuccess(mDevice->fn.ImportSemaphoreZirconHandleFUCHSIA(
|
MaybeError status = CheckVkSuccess(mDevice->fn.ImportSemaphoreZirconHandleFUCHSIA(
|
||||||
mDevice->GetVkDevice(), &importSempahoreHandleInfo),
|
mDevice->GetVkDevice(), &importSemaphoreHandleInfo),
|
||||||
"vkImportSemaphoreZirconHandleFUCHSIA");
|
"vkImportSemaphoreZirconHandleFUCHSIA");
|
||||||
|
|
||||||
if (status.IsError()) {
|
if (status.IsError()) {
|
||||||
|
@ -100,7 +100,7 @@ namespace dawn_native { namespace vulkan { namespace external_semaphore {
|
||||||
exportSemaphoreInfo.sType = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR;
|
exportSemaphoreInfo.sType = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO_KHR;
|
||||||
exportSemaphoreInfo.pNext = nullptr;
|
exportSemaphoreInfo.pNext = nullptr;
|
||||||
exportSemaphoreInfo.handleTypes =
|
exportSemaphoreInfo.handleTypes =
|
||||||
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TEMP_ZIRCON_EVENT_BIT_FUCHSIA;
|
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA;
|
||||||
|
|
||||||
VkSemaphoreCreateInfo semaphoreCreateInfo;
|
VkSemaphoreCreateInfo semaphoreCreateInfo;
|
||||||
semaphoreCreateInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
|
semaphoreCreateInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
|
||||||
|
@ -117,12 +117,11 @@ namespace dawn_native { namespace vulkan { namespace external_semaphore {
|
||||||
|
|
||||||
ResultOrError<ExternalSemaphoreHandle> Service::ExportSemaphore(VkSemaphore semaphore) {
|
ResultOrError<ExternalSemaphoreHandle> Service::ExportSemaphore(VkSemaphore semaphore) {
|
||||||
VkSemaphoreGetZirconHandleInfoFUCHSIA semaphoreGetHandleInfo;
|
VkSemaphoreGetZirconHandleInfoFUCHSIA semaphoreGetHandleInfo;
|
||||||
semaphoreGetHandleInfo.sType =
|
semaphoreGetHandleInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA;
|
||||||
VK_STRUCTURE_TYPE_TEMP_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA;
|
|
||||||
semaphoreGetHandleInfo.pNext = nullptr;
|
semaphoreGetHandleInfo.pNext = nullptr;
|
||||||
semaphoreGetHandleInfo.semaphore = semaphore;
|
semaphoreGetHandleInfo.semaphore = semaphore;
|
||||||
semaphoreGetHandleInfo.handleType =
|
semaphoreGetHandleInfo.handleType =
|
||||||
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TEMP_ZIRCON_EVENT_BIT_FUCHSIA;
|
VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_ZIRCON_EVENT_BIT_FUCHSIA;
|
||||||
|
|
||||||
zx_handle_t handle = ZX_HANDLE_INVALID;
|
zx_handle_t handle = ZX_HANDLE_INVALID;
|
||||||
DAWN_TRY(CheckVkSuccess(mDevice->fn.GetSemaphoreZirconHandleFUCHSIA(
|
DAWN_TRY(CheckVkSuccess(mDevice->fn.GetSemaphoreZirconHandleFUCHSIA(
|
||||||
|
|
|
@ -29,10 +29,6 @@ source_set("vulkan_headers") {
|
||||||
"vulkan/vulkan_core.h",
|
"vulkan/vulkan_core.h",
|
||||||
]
|
]
|
||||||
|
|
||||||
if (is_fuchsia) {
|
|
||||||
sources += [ "vulkan/vulkan_fuchsia_extras.h" ]
|
|
||||||
}
|
|
||||||
|
|
||||||
public_configs = [ ":vulkan_headers_config" ]
|
public_configs = [ ":vulkan_headers_config" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
// Version 2 - Add Loader/ICD Interface version negotiation
|
// Version 2 - Add Loader/ICD Interface version negotiation
|
||||||
// via vk_icdNegotiateLoaderICDInterfaceVersion.
|
// via vk_icdNegotiateLoaderICDInterfaceVersion.
|
||||||
// Version 3 - Add ICD creation/destruction of KHR_surface objects.
|
// Version 3 - Add ICD creation/destruction of KHR_surface objects.
|
||||||
// Version 4 - Add unknown physical device extension qyering via
|
// Version 4 - Add unknown physical device extension querying via
|
||||||
// vk_icdGetPhysicalDeviceProcAddr.
|
// vk_icdGetPhysicalDeviceProcAddr.
|
||||||
// Version 5 - Tells ICDs that the loader is now paying attention to the
|
// Version 5 - Tells ICDs that the loader is now paying attention to the
|
||||||
// application version of Vulkan passed into the ApplicationInfo
|
// application version of Vulkan passed into the ApplicationInfo
|
||||||
|
@ -116,12 +116,13 @@ typedef enum {
|
||||||
VK_ICD_WSI_PLATFORM_ANDROID,
|
VK_ICD_WSI_PLATFORM_ANDROID,
|
||||||
VK_ICD_WSI_PLATFORM_MACOS,
|
VK_ICD_WSI_PLATFORM_MACOS,
|
||||||
VK_ICD_WSI_PLATFORM_IOS,
|
VK_ICD_WSI_PLATFORM_IOS,
|
||||||
VK_ICD_WSI_PLATFORM_GGP,
|
|
||||||
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_DIRECTFB,
|
||||||
VK_ICD_WSI_PLATFORM_VI,
|
VK_ICD_WSI_PLATFORM_VI,
|
||||||
|
VK_ICD_WSI_PLATFORM_GGP,
|
||||||
|
VK_ICD_WSI_PLATFORM_SCREEN,
|
||||||
} VkIcdWsiPlatform;
|
} VkIcdWsiPlatform;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -233,4 +234,12 @@ typedef struct {
|
||||||
} VkIcdSurfaceVi;
|
} VkIcdSurfaceVi;
|
||||||
#endif // VK_USE_PLATFORM_VI_NN
|
#endif // VK_USE_PLATFORM_VI_NN
|
||||||
|
|
||||||
|
#ifdef VK_USE_PLATFORM_SCREEN_QNX
|
||||||
|
typedef struct {
|
||||||
|
VkIcdSurfaceBase base;
|
||||||
|
struct _screen_context *context;
|
||||||
|
struct _screen_window *window;
|
||||||
|
} VkIcdSurfaceScreen;
|
||||||
|
#endif // VK_USE_PLATFORM_SCREEN_QNX
|
||||||
|
|
||||||
#endif // VKICD_H
|
#endif // VKICD_H
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
// File: vk_platform.h
|
// File: vk_platform.h
|
||||||
//
|
//
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2014-2020 The Khronos Group Inc.
|
** Copyright 2014-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
@ -42,7 +42,7 @@ extern "C"
|
||||||
#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 is not 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
|
||||||
|
@ -58,7 +58,9 @@ extern "C"
|
||||||
#define VKAPI_PTR
|
#define VKAPI_PTR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stddef.h>
|
#if !defined(VK_NO_STDDEF_H)
|
||||||
|
#include <stddef.h>
|
||||||
|
#endif // !defined(VK_NO_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)
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_H_ 1
|
#define VULKAN_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
@ -80,6 +80,11 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef VK_USE_PLATFORM_SCREEN_QNX
|
||||||
|
#include <screen/screen.h>
|
||||||
|
#include "vulkan_screen.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
#ifdef VK_ENABLE_BETA_EXTENSIONS
|
||||||
#include "vulkan_beta.h"
|
#include "vulkan_beta.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_ANDROID_H_ 1
|
#define VULKAN_ANDROID_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
@ -44,7 +44,7 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
|
||||||
|
|
||||||
#define VK_ANDROID_external_memory_android_hardware_buffer 1
|
#define VK_ANDROID_external_memory_android_hardware_buffer 1
|
||||||
struct AHardwareBuffer;
|
struct AHardwareBuffer;
|
||||||
#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 3
|
#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION 4
|
||||||
#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer"
|
#define VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME "VK_ANDROID_external_memory_android_hardware_buffer"
|
||||||
typedef struct VkAndroidHardwareBufferUsageANDROID {
|
typedef struct VkAndroidHardwareBufferUsageANDROID {
|
||||||
VkStructureType sType;
|
VkStructureType sType;
|
||||||
|
@ -90,6 +90,19 @@ typedef struct VkExternalFormatANDROID {
|
||||||
uint64_t externalFormat;
|
uint64_t externalFormat;
|
||||||
} VkExternalFormatANDROID;
|
} VkExternalFormatANDROID;
|
||||||
|
|
||||||
|
typedef struct VkAndroidHardwareBufferFormatProperties2ANDROID {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
VkFormat format;
|
||||||
|
uint64_t externalFormat;
|
||||||
|
VkFormatFeatureFlags2KHR formatFeatures;
|
||||||
|
VkComponentMapping samplerYcbcrConversionComponents;
|
||||||
|
VkSamplerYcbcrModelConversion suggestedYcbcrModel;
|
||||||
|
VkSamplerYcbcrRange suggestedYcbcrRange;
|
||||||
|
VkChromaLocation suggestedXChromaOffset;
|
||||||
|
VkChromaLocation suggestedYChromaOffset;
|
||||||
|
} VkAndroidHardwareBufferFormatProperties2ANDROID;
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties);
|
typedef VkResult (VKAPI_PTR *PFN_vkGetAndroidHardwareBufferPropertiesANDROID)(VkDevice device, const struct AHardwareBuffer* buffer, VkAndroidHardwareBufferPropertiesANDROID* pProperties);
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer);
|
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryAndroidHardwareBufferANDROID)(VkDevice device, const VkMemoryGetAndroidHardwareBufferInfoANDROID* pInfo, struct AHardwareBuffer** pBuffer);
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_DIRECTFB_H_ 1
|
#define VULKAN_DIRECTFB_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_FUCHSIA_H_ 1
|
#define VULKAN_FUCHSIA_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
@ -40,6 +40,217 @@ VKAPI_ATTR VkResult VKAPI_CALL vkCreateImagePipeSurfaceFUCHSIA(
|
||||||
VkSurfaceKHR* pSurface);
|
VkSurfaceKHR* pSurface);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_FUCHSIA_external_memory 1
|
||||||
|
#define VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION 1
|
||||||
|
#define VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME "VK_FUCHSIA_external_memory"
|
||||||
|
typedef struct VkImportMemoryZirconHandleInfoFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkExternalMemoryHandleTypeFlagBits handleType;
|
||||||
|
zx_handle_t handle;
|
||||||
|
} VkImportMemoryZirconHandleInfoFUCHSIA;
|
||||||
|
|
||||||
|
typedef struct VkMemoryZirconHandlePropertiesFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
uint32_t memoryTypeBits;
|
||||||
|
} VkMemoryZirconHandlePropertiesFUCHSIA;
|
||||||
|
|
||||||
|
typedef struct VkMemoryGetZirconHandleInfoFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkDeviceMemory memory;
|
||||||
|
VkExternalMemoryHandleTypeFlagBits handleType;
|
||||||
|
} VkMemoryGetZirconHandleInfoFUCHSIA;
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandleFUCHSIA)(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, zx_handle_t zirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
|
||||||
|
|
||||||
|
#ifndef VK_NO_PROTOTYPES
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandleFUCHSIA(
|
||||||
|
VkDevice device,
|
||||||
|
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
|
||||||
|
zx_handle_t* pZirconHandle);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandlePropertiesFUCHSIA(
|
||||||
|
VkDevice device,
|
||||||
|
VkExternalMemoryHandleTypeFlagBits handleType,
|
||||||
|
zx_handle_t zirconHandle,
|
||||||
|
VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_FUCHSIA_external_semaphore 1
|
||||||
|
#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
|
||||||
|
#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_FUCHSIA_external_semaphore"
|
||||||
|
typedef struct VkImportSemaphoreZirconHandleInfoFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkSemaphore semaphore;
|
||||||
|
VkSemaphoreImportFlags flags;
|
||||||
|
VkExternalSemaphoreHandleTypeFlagBits handleType;
|
||||||
|
zx_handle_t zirconHandle;
|
||||||
|
} VkImportSemaphoreZirconHandleInfoFUCHSIA;
|
||||||
|
|
||||||
|
typedef struct VkSemaphoreGetZirconHandleInfoFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkSemaphore semaphore;
|
||||||
|
VkExternalSemaphoreHandleTypeFlagBits handleType;
|
||||||
|
} VkSemaphoreGetZirconHandleInfoFUCHSIA;
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
|
||||||
|
|
||||||
|
#ifndef VK_NO_PROTOTYPES
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA(
|
||||||
|
VkDevice device,
|
||||||
|
const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA(
|
||||||
|
VkDevice device,
|
||||||
|
const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
|
||||||
|
zx_handle_t* pZirconHandle);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_FUCHSIA_buffer_collection 1
|
||||||
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA)
|
||||||
|
#define VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION 2
|
||||||
|
#define VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME "VK_FUCHSIA_buffer_collection"
|
||||||
|
typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIA;
|
||||||
|
|
||||||
|
typedef enum VkImageConstraintsInfoFlagBitsFUCHSIA {
|
||||||
|
VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA = 0x00000001,
|
||||||
|
VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA = 0x00000002,
|
||||||
|
VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA = 0x00000004,
|
||||||
|
VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA = 0x00000008,
|
||||||
|
VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = 0x00000010,
|
||||||
|
VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIA = 0x7FFFFFFF
|
||||||
|
} VkImageConstraintsInfoFlagBitsFUCHSIA;
|
||||||
|
typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIA;
|
||||||
|
typedef struct VkBufferCollectionCreateInfoFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
zx_handle_t collectionToken;
|
||||||
|
} VkBufferCollectionCreateInfoFUCHSIA;
|
||||||
|
|
||||||
|
typedef struct VkImportMemoryBufferCollectionFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkBufferCollectionFUCHSIA collection;
|
||||||
|
uint32_t index;
|
||||||
|
} VkImportMemoryBufferCollectionFUCHSIA;
|
||||||
|
|
||||||
|
typedef struct VkBufferCollectionImageCreateInfoFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkBufferCollectionFUCHSIA collection;
|
||||||
|
uint32_t index;
|
||||||
|
} VkBufferCollectionImageCreateInfoFUCHSIA;
|
||||||
|
|
||||||
|
typedef struct VkBufferCollectionConstraintsInfoFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
uint32_t minBufferCount;
|
||||||
|
uint32_t maxBufferCount;
|
||||||
|
uint32_t minBufferCountForCamping;
|
||||||
|
uint32_t minBufferCountForDedicatedSlack;
|
||||||
|
uint32_t minBufferCountForSharedSlack;
|
||||||
|
} VkBufferCollectionConstraintsInfoFUCHSIA;
|
||||||
|
|
||||||
|
typedef struct VkBufferConstraintsInfoFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkBufferCreateInfo createInfo;
|
||||||
|
VkFormatFeatureFlags requiredFormatFeatures;
|
||||||
|
VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
|
||||||
|
} VkBufferConstraintsInfoFUCHSIA;
|
||||||
|
|
||||||
|
typedef struct VkBufferCollectionBufferCreateInfoFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkBufferCollectionFUCHSIA collection;
|
||||||
|
uint32_t index;
|
||||||
|
} VkBufferCollectionBufferCreateInfoFUCHSIA;
|
||||||
|
|
||||||
|
typedef struct VkSysmemColorSpaceFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
uint32_t colorSpace;
|
||||||
|
} VkSysmemColorSpaceFUCHSIA;
|
||||||
|
|
||||||
|
typedef struct VkBufferCollectionPropertiesFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
void* pNext;
|
||||||
|
uint32_t memoryTypeBits;
|
||||||
|
uint32_t bufferCount;
|
||||||
|
uint32_t createInfoIndex;
|
||||||
|
uint64_t sysmemPixelFormat;
|
||||||
|
VkFormatFeatureFlags formatFeatures;
|
||||||
|
VkSysmemColorSpaceFUCHSIA sysmemColorSpaceIndex;
|
||||||
|
VkComponentMapping samplerYcbcrConversionComponents;
|
||||||
|
VkSamplerYcbcrModelConversion suggestedYcbcrModel;
|
||||||
|
VkSamplerYcbcrRange suggestedYcbcrRange;
|
||||||
|
VkChromaLocation suggestedXChromaOffset;
|
||||||
|
VkChromaLocation suggestedYChromaOffset;
|
||||||
|
} VkBufferCollectionPropertiesFUCHSIA;
|
||||||
|
|
||||||
|
typedef struct VkImageFormatConstraintsInfoFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkImageCreateInfo imageCreateInfo;
|
||||||
|
VkFormatFeatureFlags requiredFormatFeatures;
|
||||||
|
VkImageFormatConstraintsFlagsFUCHSIA flags;
|
||||||
|
uint64_t sysmemPixelFormat;
|
||||||
|
uint32_t colorSpaceCount;
|
||||||
|
const VkSysmemColorSpaceFUCHSIA* pColorSpaces;
|
||||||
|
} VkImageFormatConstraintsInfoFUCHSIA;
|
||||||
|
|
||||||
|
typedef struct VkImageConstraintsInfoFUCHSIA {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
uint32_t formatConstraintsCount;
|
||||||
|
const VkImageFormatConstraintsInfoFUCHSIA* pFormatConstraints;
|
||||||
|
VkBufferCollectionConstraintsInfoFUCHSIA bufferCollectionConstraints;
|
||||||
|
VkImageConstraintsInfoFlagsFUCHSIA flags;
|
||||||
|
} VkImageConstraintsInfoFUCHSIA;
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferCollectionFUCHSIA)(VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionImageConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
|
||||||
|
typedef void (VKAPI_PTR *PFN_vkDestroyBufferCollectionFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator);
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkGetBufferCollectionPropertiesFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties);
|
||||||
|
|
||||||
|
#ifndef VK_NO_PROTOTYPES
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferCollectionFUCHSIA(
|
||||||
|
VkDevice device,
|
||||||
|
const VkBufferCollectionCreateInfoFUCHSIA* pCreateInfo,
|
||||||
|
const VkAllocationCallbacks* pAllocator,
|
||||||
|
VkBufferCollectionFUCHSIA* pCollection);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionImageConstraintsFUCHSIA(
|
||||||
|
VkDevice device,
|
||||||
|
VkBufferCollectionFUCHSIA collection,
|
||||||
|
const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionBufferConstraintsFUCHSIA(
|
||||||
|
VkDevice device,
|
||||||
|
VkBufferCollectionFUCHSIA collection,
|
||||||
|
const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
|
||||||
|
|
||||||
|
VKAPI_ATTR void VKAPI_CALL vkDestroyBufferCollectionFUCHSIA(
|
||||||
|
VkDevice device,
|
||||||
|
VkBufferCollectionFUCHSIA collection,
|
||||||
|
const VkAllocationCallbacks* pAllocator);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferCollectionPropertiesFUCHSIA(
|
||||||
|
VkDevice device,
|
||||||
|
VkBufferCollectionFUCHSIA collection,
|
||||||
|
VkBufferCollectionPropertiesFUCHSIA* pProperties);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,232 +0,0 @@
|
||||||
#ifndef VULKAN_FUCHSIA_EXTRAS_H_
|
|
||||||
#define VULKAN_FUCHSIA_EXTRAS_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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
// IMPORTANT:
|
|
||||||
//
|
|
||||||
// The following declarations are not part of the upstream Khronos headers yet
|
|
||||||
// but the Fuchsia platform currently relies on them to implement various
|
|
||||||
// extensions required by its compositor and graphics libraries.
|
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
|
||||||
///
|
|
||||||
/// The following will be part of vulkan_core.h
|
|
||||||
///
|
|
||||||
|
|
||||||
#define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA ((VkStructureType)1001004000)
|
|
||||||
#define VK_STRUCTURE_TYPE_FUCHSIA_IMAGE_FORMAT_FUCHSIA ((VkStructureType)1001004001)
|
|
||||||
#define VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA ((VkStructureType)1001004004)
|
|
||||||
#define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA ((VkStructureType)1001004005)
|
|
||||||
#define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA ((VkStructureType)1001004006)
|
|
||||||
#define VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA ((VkStructureType)1001004007)
|
|
||||||
#define VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA ((VkStructureType)1001004008)
|
|
||||||
#define VK_STRUCTURE_TYPE_TEMP_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA ((VkStructureType)1001005000)
|
|
||||||
#define VK_STRUCTURE_TYPE_TEMP_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA ((VkStructureType)1001005001)
|
|
||||||
#define VK_STRUCTURE_TYPE_TEMP_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA ((VkStructureType)1001005002)
|
|
||||||
#define VK_STRUCTURE_TYPE_TEMP_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA ((VkStructureType)1001006000)
|
|
||||||
#define VK_STRUCTURE_TYPE_TEMP_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA ((VkStructureType)1001006001)
|
|
||||||
|
|
||||||
#define VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA ((VkObjectType)1001004002)
|
|
||||||
|
|
||||||
#define VK_EXTERNAL_MEMORY_HANDLE_TYPE_TEMP_ZIRCON_VMO_BIT_FUCHSIA ((VkExternalMemoryHandleTypeFlagBits)0x00100000)
|
|
||||||
#define VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_TEMP_ZIRCON_EVENT_BIT_FUCHSIA ((VkExternalSemaphoreHandleTypeFlagBits) 0x00100000)
|
|
||||||
|
|
||||||
#define VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT ((VkDebugReportObjectTypeEXT) 1001004003)
|
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////
|
|
||||||
///
|
|
||||||
/// The following will be part of vulkan_fuchsia.h
|
|
||||||
///
|
|
||||||
|
|
||||||
#define VK_FUCHSIA_buffer_collection 1
|
|
||||||
VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIA)
|
|
||||||
|
|
||||||
#define VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION 1
|
|
||||||
#define VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME "VK_FUCHSIA_buffer_collection"
|
|
||||||
|
|
||||||
typedef struct VkBufferCollectionCreateInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
zx_handle_t collectionToken;
|
|
||||||
} VkBufferCollectionCreateInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkFuchsiaImageFormatFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
const void* imageFormat;
|
|
||||||
uint32_t imageFormatSize;
|
|
||||||
} VkFuchsiaImageFormatFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkImportMemoryBufferCollectionFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkBufferCollectionFUCHSIA collection;
|
|
||||||
uint32_t index;
|
|
||||||
} VkImportMemoryBufferCollectionFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkBufferCollectionImageCreateInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkBufferCollectionFUCHSIA collection;
|
|
||||||
uint32_t index;
|
|
||||||
} VkBufferCollectionImageCreateInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkBufferConstraintsInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
const VkBufferCreateInfo* pBufferCreateInfo;
|
|
||||||
VkFormatFeatureFlags requiredFormatFeatures;
|
|
||||||
uint32_t minCount;
|
|
||||||
} VkBufferConstraintsInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkBufferCollectionBufferCreateInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkBufferCollectionFUCHSIA collection;
|
|
||||||
uint32_t index;
|
|
||||||
} VkBufferCollectionBufferCreateInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkBufferCollectionPropertiesFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
uint32_t memoryTypeBits;
|
|
||||||
uint32_t count;
|
|
||||||
} VkBufferCollectionPropertiesFUCHSIA;
|
|
||||||
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferCollectionFUCHSIA)(VkDevice device, const VkBufferCollectionCreateInfoFUCHSIA* pImportInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIA* pCollection);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageCreateInfo* pImageInfo);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
|
|
||||||
typedef void (VKAPI_PTR *PFN_vkDestroyBufferCollectionFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkAllocationCallbacks* pAllocator);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetBufferCollectionPropertiesFUCHSIA)(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferCollectionFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
const VkBufferCollectionCreateInfoFUCHSIA* pImportInfo,
|
|
||||||
const VkAllocationCallbacks* pAllocator,
|
|
||||||
VkBufferCollectionFUCHSIA* pCollection);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionConstraintsFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
VkBufferCollectionFUCHSIA collection,
|
|
||||||
const VkImageCreateInfo* pImageInfo);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionBufferConstraintsFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
VkBufferCollectionFUCHSIA collection,
|
|
||||||
const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo);
|
|
||||||
|
|
||||||
VKAPI_ATTR void VKAPI_CALL vkDestroyBufferCollectionFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
VkBufferCollectionFUCHSIA collection,
|
|
||||||
const VkAllocationCallbacks* pAllocator);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferCollectionPropertiesFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
VkBufferCollectionFUCHSIA collection,
|
|
||||||
VkBufferCollectionPropertiesFUCHSIA* pProperties);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define VK_FUCHSIA_external_memory 1
|
|
||||||
#define VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION 1
|
|
||||||
#define VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME "VK_FUCHSIA_external_memory"
|
|
||||||
|
|
||||||
typedef struct VkImportMemoryZirconHandleInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkExternalMemoryHandleTypeFlagBits handleType;
|
|
||||||
zx_handle_t handle;
|
|
||||||
} VkImportMemoryZirconHandleInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkMemoryZirconHandlePropertiesFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
void* pNext;
|
|
||||||
uint32_t memoryTypeBits;
|
|
||||||
} VkMemoryZirconHandlePropertiesFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkMemoryGetZirconHandleInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkDeviceMemory memory;
|
|
||||||
VkExternalMemoryHandleTypeFlagBits handleType;
|
|
||||||
} VkMemoryGetZirconHandleInfoFUCHSIA;
|
|
||||||
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandleFUCHSIA)(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)(VkDevice device, VkExternalMemoryHandleTypeFlagBits handleType, zx_handle_t ZirconHandle, VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandleFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
|
|
||||||
zx_handle_t* pZirconHandle);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryZirconHandlePropertiesFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
VkExternalMemoryHandleTypeFlagBits handleType,
|
|
||||||
zx_handle_t ZirconHandle,
|
|
||||||
VkMemoryZirconHandlePropertiesFUCHSIA* pMemoryZirconHandleProperties);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define VK_FUCHSIA_external_semaphore 1
|
|
||||||
#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION 1
|
|
||||||
#define VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME "VK_FUCHSIA_external_semaphore"
|
|
||||||
|
|
||||||
typedef struct VkImportSemaphoreZirconHandleInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkSemaphore semaphore;
|
|
||||||
VkSemaphoreImportFlags flags;
|
|
||||||
VkExternalSemaphoreHandleTypeFlagBits handleType;
|
|
||||||
zx_handle_t handle;
|
|
||||||
} VkImportSemaphoreZirconHandleInfoFUCHSIA;
|
|
||||||
|
|
||||||
typedef struct VkSemaphoreGetZirconHandleInfoFUCHSIA {
|
|
||||||
VkStructureType sType;
|
|
||||||
const void* pNext;
|
|
||||||
VkSemaphore semaphore;
|
|
||||||
VkExternalSemaphoreHandleTypeFlagBits handleType;
|
|
||||||
} VkSemaphoreGetZirconHandleInfoFUCHSIA;
|
|
||||||
|
|
||||||
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
|
|
||||||
typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreZirconHandleFUCHSIA)(VkDevice device, const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle);
|
|
||||||
|
|
||||||
#ifndef VK_NO_PROTOTYPES
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreZirconHandleFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
const VkImportSemaphoreZirconHandleInfoFUCHSIA* pImportSemaphoreZirconHandleInfo);
|
|
||||||
|
|
||||||
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreZirconHandleFUCHSIA(
|
|
||||||
VkDevice device,
|
|
||||||
const VkSemaphoreGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
|
|
||||||
zx_handle_t* pZirconHandle);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // VULKAN_FUCHSIA_EXTRAS_H_
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_GGP_H_ 1
|
#define VULKAN_GGP_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_IOS_H_ 1
|
#define VULKAN_IOS_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_MACOS_H_ 1
|
#define VULKAN_MACOS_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_METAL_H_ 1
|
#define VULKAN_METAL_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
#ifndef VULKAN_SCREEN_H_
|
||||||
|
#define VULKAN_SCREEN_H_ 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
|
**
|
||||||
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
** This header is generated from the Khronos Vulkan XML API Registry.
|
||||||
|
**
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#define VK_QNX_screen_surface 1
|
||||||
|
#define VK_QNX_SCREEN_SURFACE_SPEC_VERSION 1
|
||||||
|
#define VK_QNX_SCREEN_SURFACE_EXTENSION_NAME "VK_QNX_screen_surface"
|
||||||
|
typedef VkFlags VkScreenSurfaceCreateFlagsQNX;
|
||||||
|
typedef struct VkScreenSurfaceCreateInfoQNX {
|
||||||
|
VkStructureType sType;
|
||||||
|
const void* pNext;
|
||||||
|
VkScreenSurfaceCreateFlagsQNX flags;
|
||||||
|
struct _screen_context* context;
|
||||||
|
struct _screen_window* window;
|
||||||
|
} VkScreenSurfaceCreateInfoQNX;
|
||||||
|
|
||||||
|
typedef VkResult (VKAPI_PTR *PFN_vkCreateScreenSurfaceQNX)(VkInstance instance, const VkScreenSurfaceCreateInfoQNX* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSurfaceKHR* pSurface);
|
||||||
|
typedef VkBool32 (VKAPI_PTR *PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX)(VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, struct _screen_window* window);
|
||||||
|
|
||||||
|
#ifndef VK_NO_PROTOTYPES
|
||||||
|
VKAPI_ATTR VkResult VKAPI_CALL vkCreateScreenSurfaceQNX(
|
||||||
|
VkInstance instance,
|
||||||
|
const VkScreenSurfaceCreateInfoQNX* pCreateInfo,
|
||||||
|
const VkAllocationCallbacks* pAllocator,
|
||||||
|
VkSurfaceKHR* pSurface);
|
||||||
|
|
||||||
|
VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceScreenPresentationSupportQNX(
|
||||||
|
VkPhysicalDevice physicalDevice,
|
||||||
|
uint32_t queueFamilyIndex,
|
||||||
|
struct _screen_window* window);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_VI_H_ 1
|
#define VULKAN_VI_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_WAYLAND_H_ 1
|
#define VULKAN_WAYLAND_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_WIN32_H_ 1
|
#define VULKAN_WIN32_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_XCB_H_ 1
|
#define VULKAN_XCB_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_XLIB_H_ 1
|
#define VULKAN_XLIB_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#define VULKAN_XLIB_XRANDR_H_ 1
|
#define VULKAN_XLIB_XRANDR_H_ 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
** Copyright (c) 2015-2020 The Khronos Group Inc.
|
** Copyright 2015-2021 The Khronos Group Inc.
|
||||||
**
|
**
|
||||||
** SPDX-License-Identifier: Apache-2.0
|
** SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue