Update for VulkanSC-Docs 1.0.10

This commit is contained in:
Jon Leech
2022-05-26 04:46:55 -07:00
parent c9792dff5d
commit 87e53f6cc7
8 changed files with 951 additions and 138 deletions

View File

@@ -85,6 +85,12 @@
#include "vulkan_screen.h"
#endif
#ifdef VK_USE_PLATFORM_SCI
#include <nvscisync.h>
#include <nvscibuf.h>
#include "vulkan_sci.h"
#endif
#ifdef VK_ENABLE_BETA_EXTENSIONS
#include "vulkan_beta.h"

View File

@@ -65,7 +65,7 @@ extern "C" {
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
// Version of this file
#define VK_HEADER_VERSION 9
#define VK_HEADER_VERSION 10
// Vulkan SC variant number
#define VKSC_API_VARIANT 1
@@ -465,6 +465,19 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV = 1000373000,
VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV = 1000373001,
VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV = 1000373002,
VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV = 1000373003,
VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373004,
VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373005,
VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV = 1000373006,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV = 1000373007,
VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV = 1000374000,
VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV = 1000374001,
VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV = 1000374002,
VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV = 1000374003,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV = 1000374004,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
@@ -3541,6 +3554,7 @@ typedef VkFlags VkExternalMemoryHandleTypeFlagBits;
#define VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT 0x00000200U
#define VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT 0x00000080U
#define VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT 0x00000100U
#define VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV 0x00002000U
typedef VkFlags VkExternalMemoryHandleTypeFlags;
@@ -3558,6 +3572,8 @@ typedef VkFlags VkExternalFenceHandleTypeFlagBits;
#define VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT 0x00000002U
#define VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT 0x00000004U
#define VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT 0x00000008U
#define VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV 0x00000010U
#define VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV 0x00000020U
typedef VkFlags VkExternalFenceHandleTypeFlags;
@@ -3587,6 +3603,7 @@ typedef VkFlags VkExternalSemaphoreHandleTypeFlagBits;
#define VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT 0x00000004U
#define VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT 0x00000008U
#define VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT 0x00000010U
#define VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV 0x00000020U
#define VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT
typedef VkFlags VkExternalSemaphoreHandleTypeFlags;

View File

@@ -65,7 +65,7 @@ extern "C" {
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
// Version of this file
#define VK_HEADER_VERSION 9
#define VK_HEADER_VERSION 10
// Vulkan SC variant number
#define VKSC_API_VARIANT 1
@@ -465,6 +465,19 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT = 1000352000,
VK_STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT = 1000352001,
VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT = 1000352002,
VK_STRUCTURE_TYPE_IMPORT_FENCE_SCI_SYNC_INFO_NV = 1000373000,
VK_STRUCTURE_TYPE_EXPORT_FENCE_SCI_SYNC_INFO_NV = 1000373001,
VK_STRUCTURE_TYPE_FENCE_GET_SCI_SYNC_INFO_NV = 1000373002,
VK_STRUCTURE_TYPE_SCI_SYNC_ATTRIBUTES_INFO_NV = 1000373003,
VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373004,
VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_SCI_SYNC_INFO_NV = 1000373005,
VK_STRUCTURE_TYPE_SEMAPHORE_GET_SCI_SYNC_INFO_NV = 1000373006,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_SYNC_FEATURES_NV = 1000373007,
VK_STRUCTURE_TYPE_IMPORT_MEMORY_SCI_BUF_INFO_NV = 1000374000,
VK_STRUCTURE_TYPE_EXPORT_MEMORY_SCI_BUF_INFO_NV = 1000374001,
VK_STRUCTURE_TYPE_MEMORY_GET_SCI_BUF_INFO_NV = 1000374002,
VK_STRUCTURE_TYPE_MEMORY_SCI_BUF_PROPERTIES_NV = 1000374003,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SCI_BUF_FEATURES_NV = 1000374004,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT = 1000377000,
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT = 1000381000,
VK_STRUCTURE_TYPE_PIPELINE_COLOR_WRITE_CREATE_INFO_EXT = 1000381001,
@@ -3541,6 +3554,7 @@ static constexpr VkExternalMemoryHandleTypeFlagBits VK_EXTERNAL_MEMORY_HANDLE_TY
static constexpr VkExternalMemoryHandleTypeFlagBits VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT {0x00000200U};
static constexpr VkExternalMemoryHandleTypeFlagBits VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_ALLOCATION_BIT_EXT {0x00000080U};
static constexpr VkExternalMemoryHandleTypeFlagBits VK_EXTERNAL_MEMORY_HANDLE_TYPE_HOST_MAPPED_FOREIGN_MEMORY_BIT_EXT {0x00000100U};
static constexpr VkExternalMemoryHandleTypeFlagBits VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCI_BUF_BIT_NV {0x00002000U};
typedef VkFlags VkExternalMemoryHandleTypeFlags;
@@ -3558,6 +3572,8 @@ static constexpr VkExternalFenceHandleTypeFlagBits VK_EXTERNAL_FENCE_HANDLE_TYPE
static constexpr VkExternalFenceHandleTypeFlagBits VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_BIT {0x00000002U};
static constexpr VkExternalFenceHandleTypeFlagBits VK_EXTERNAL_FENCE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT {0x00000004U};
static constexpr VkExternalFenceHandleTypeFlagBits VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT {0x00000008U};
static constexpr VkExternalFenceHandleTypeFlagBits VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV {0x00000010U};
static constexpr VkExternalFenceHandleTypeFlagBits VK_EXTERNAL_FENCE_HANDLE_TYPE_SCI_SYNC_FENCE_BIT_NV {0x00000020U};
typedef VkFlags VkExternalFenceHandleTypeFlags;
@@ -3587,6 +3603,7 @@ static constexpr VkExternalSemaphoreHandleTypeFlagBits VK_EXTERNAL_SEMAPHORE_HAN
static constexpr VkExternalSemaphoreHandleTypeFlagBits VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT {0x00000004U};
static constexpr VkExternalSemaphoreHandleTypeFlagBits VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT {0x00000008U};
static constexpr VkExternalSemaphoreHandleTypeFlagBits VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT {0x00000010U};
static constexpr VkExternalSemaphoreHandleTypeFlagBits VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SCI_SYNC_OBJ_BIT_NV {0x00000020U};
static constexpr VkExternalSemaphoreHandleTypeFlagBits VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D11_FENCE_BIT {VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_D3D12_FENCE_BIT};
typedef VkFlags VkExternalSemaphoreHandleTypeFlags;

200
include/vulkan/vulkan_sci.h Normal file
View File

@@ -0,0 +1,200 @@
#ifndef VULKAN_SCI_H_
#define VULKAN_SCI_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_NV_external_sci_sync 1
#define VK_NV_EXTERNAL_SCI_SYNC_SPEC_VERSION 2
#define VK_NV_EXTERNAL_SCI_SYNC_EXTENSION_NAME "VK_NV_external_sci_sync"
typedef enum VkSciSyncClientTypeNV {
VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_NV = 0,
VK_SCI_SYNC_CLIENT_TYPE_WAITER_NV = 1,
VK_SCI_SYNC_CLIENT_TYPE_SIGNALER_WAITER_NV = 2,
VK_SCI_SYNC_CLIENT_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
} VkSciSyncClientTypeNV;
typedef enum VkSciSyncPrimitiveTypeNV {
VK_SCI_SYNC_PRIMITIVE_TYPE_FENCE_NV = 0,
VK_SCI_SYNC_PRIMITIVE_TYPE_SEMAPHORE_NV = 1,
VK_SCI_SYNC_PRIMITIVE_TYPE_MAX_ENUM_NV = 0x7FFFFFFF
} VkSciSyncPrimitiveTypeNV;
typedef struct VkExportFenceSciSyncInfoNV {
VkStructureType sType;
const void* pNext;
NvSciSyncAttrList pAttributes;
} VkExportFenceSciSyncInfoNV;
typedef struct VkImportFenceSciSyncInfoNV {
VkStructureType sType;
const void* pNext;
VkFence fence;
VkExternalFenceHandleTypeFlagBits handleType;
const void* handle;
} VkImportFenceSciSyncInfoNV;
typedef struct VkFenceGetSciSyncInfoNV {
VkStructureType sType;
const void* pNext;
VkFence fence;
VkExternalFenceHandleTypeFlagBits handleType;
} VkFenceGetSciSyncInfoNV;
typedef struct VkSciSyncAttributesInfoNV {
VkStructureType sType;
const void* pNext;
VkSciSyncClientTypeNV clientType;
VkSciSyncPrimitiveTypeNV primitiveType;
} VkSciSyncAttributesInfoNV;
typedef struct VkExportSemaphoreSciSyncInfoNV {
VkStructureType sType;
const void* pNext;
NvSciSyncAttrList pAttributes;
} VkExportSemaphoreSciSyncInfoNV;
typedef struct VkImportSemaphoreSciSyncInfoNV {
VkStructureType sType;
const void* pNext;
VkSemaphore semaphore;
VkExternalSemaphoreHandleTypeFlagBits handleType;
const void* handle;
} VkImportSemaphoreSciSyncInfoNV;
typedef struct VkSemaphoreGetSciSyncInfoNV {
VkStructureType sType;
const void* pNext;
VkSemaphore semaphore;
VkExternalSemaphoreHandleTypeFlagBits handleType;
} VkSemaphoreGetSciSyncInfoNV;
typedef struct VkPhysicalDeviceExternalSciSyncFeaturesNV {
VkStructureType sType;
void* pNext;
VkBool32 sciSyncFence;
VkBool32 sciSyncSemaphore;
VkBool32 sciSyncImport;
VkBool32 sciSyncExport;
} VkPhysicalDeviceExternalSciSyncFeaturesNV;
typedef VkResult (VKAPI_PTR *PFN_vkGetFenceSciSyncFenceNV)(VkDevice device, const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo, void* pHandle);
typedef VkResult (VKAPI_PTR *PFN_vkGetFenceSciSyncObjNV)(VkDevice device, const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo, void* pHandle);
typedef VkResult (VKAPI_PTR *PFN_vkImportFenceSciSyncFenceNV)(VkDevice device, const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo);
typedef VkResult (VKAPI_PTR *PFN_vkImportFenceSciSyncObjNV)(VkDevice device, const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo);
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSciSyncAttributesNV)(VkPhysicalDevice physicalDevice, const VkSciSyncAttributesInfoNV* pSciSyncAttributesInfo, NvSciSyncAttrList pAttributes);
typedef VkResult (VKAPI_PTR *PFN_vkGetSemaphoreSciSyncObjNV)(VkDevice device, const VkSemaphoreGetSciSyncInfoNV* pGetSciSyncInfo, void* pHandle);
typedef VkResult (VKAPI_PTR *PFN_vkImportSemaphoreSciSyncObjNV)(VkDevice device, const VkImportSemaphoreSciSyncInfoNV* pImportSemaphoreSciSyncInfo);
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceSciSyncFenceNV(
VkDevice device,
const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo,
void* pHandle);
VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceSciSyncObjNV(
VkDevice device,
const VkFenceGetSciSyncInfoNV* pGetSciSyncHandleInfo,
void* pHandle);
VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceSciSyncFenceNV(
VkDevice device,
const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo);
VKAPI_ATTR VkResult VKAPI_CALL vkImportFenceSciSyncObjNV(
VkDevice device,
const VkImportFenceSciSyncInfoNV* pImportFenceSciSyncInfo);
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSciSyncAttributesNV(
VkPhysicalDevice physicalDevice,
const VkSciSyncAttributesInfoNV* pSciSyncAttributesInfo,
NvSciSyncAttrList pAttributes);
VKAPI_ATTR VkResult VKAPI_CALL vkGetSemaphoreSciSyncObjNV(
VkDevice device,
const VkSemaphoreGetSciSyncInfoNV* pGetSciSyncInfo,
void* pHandle);
VKAPI_ATTR VkResult VKAPI_CALL vkImportSemaphoreSciSyncObjNV(
VkDevice device,
const VkImportSemaphoreSciSyncInfoNV* pImportSemaphoreSciSyncInfo);
#endif
#define VK_NV_external_memory_sci_buf 1
#define VK_NV_EXTERNAL_MEMORY_SCI_BUF_SPEC_VERSION 1
#define VK_NV_EXTERNAL_MEMORY_SCI_BUF_EXTENSION_NAME "VK_NV_external_memory_sci_buf"
typedef struct VkExportMemorySciBufInfoNV {
VkStructureType sType;
const void* pNext;
NvSciBufAttrList pAttributes;
} VkExportMemorySciBufInfoNV;
typedef struct VkImportMemorySciBufInfoNV {
VkStructureType sType;
const void* pNext;
VkExternalMemoryHandleTypeFlagBits handleType;
NvSciBufObj handle;
} VkImportMemorySciBufInfoNV;
typedef struct VkMemoryGetSciBufInfoNV {
VkStructureType sType;
const void* pNext;
VkDeviceMemory memory;
VkExternalMemoryHandleTypeFlagBits handleType;
} VkMemoryGetSciBufInfoNV;
typedef struct VkMemorySciBufPropertiesNV {
VkStructureType sType;
const void* pNext;
uint32_t memoryTypeBits;
} VkMemorySciBufPropertiesNV;
typedef struct VkPhysicalDeviceExternalSciBufFeaturesNV {
VkStructureType sType;
const void* pNext;
VkBool32 sciBufImport;
VkBool32 sciBufExport;
} VkPhysicalDeviceExternalSciBufFeaturesNV;
typedef VkResult (VKAPI_PTR *PFN_vkGetMemorySciBufNV)(VkDevice device, const VkMemoryGetSciBufInfoNV* pGetSciBufInfo, NvSciBufObj* pHandle);
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV)(VkPhysicalDevice physicalDevice, VkExternalMemoryHandleTypeFlagBits handleType, NvSciBufObj handle, VkMemorySciBufPropertiesNV* pMemorySciBufProperties);
typedef VkResult (VKAPI_PTR *PFN_vkGetPhysicalDeviceSciBufAttributesNV)(VkPhysicalDevice physicalDevice, NvSciBufAttrList pAttributes);
#ifndef VK_NO_PROTOTYPES
VKAPI_ATTR VkResult VKAPI_CALL vkGetMemorySciBufNV(
VkDevice device,
const VkMemoryGetSciBufInfoNV* pGetSciBufInfo,
NvSciBufObj* pHandle);
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV(
VkPhysicalDevice physicalDevice,
VkExternalMemoryHandleTypeFlagBits handleType,
NvSciBufObj handle,
VkMemorySciBufPropertiesNV* pMemorySciBufProperties);
VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSciBufAttributesNV(
VkPhysicalDevice physicalDevice,
NvSciBufAttrList pAttributes);
#endif
#ifdef __cplusplus
}
#endif
#endif