Skip to content

Commit 269ba54

Browse files
authored
Merge pull request #1639 from przemektmalon/przemek/windows-interop
[Bindless][Exp] Windows & DX12 interop. Semaphore ops can take values.
2 parents 33eb5ea + 487f4f8 commit 269ba54

25 files changed

+867
-452
lines changed

include/ur_api.h

Lines changed: 250 additions & 204 deletions
Large diffs are not rendered by default.

include/ur_ddi.h

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1605,11 +1605,12 @@ typedef ur_result_t(UR_APICALL *ur_pfnBindlessImagesMipmapFreeExp_t)(
16051605
ur_exp_image_mem_handle_t);
16061606

16071607
///////////////////////////////////////////////////////////////////////////////
1608-
/// @brief Function-pointer for urBindlessImagesImportOpaqueFDExp
1609-
typedef ur_result_t(UR_APICALL *ur_pfnBindlessImagesImportOpaqueFDExp_t)(
1608+
/// @brief Function-pointer for urBindlessImagesImportExternalMemoryExp
1609+
typedef ur_result_t(UR_APICALL *ur_pfnBindlessImagesImportExternalMemoryExp_t)(
16101610
ur_context_handle_t,
16111611
ur_device_handle_t,
16121612
size_t,
1613+
ur_exp_external_mem_type_t,
16131614
ur_exp_interop_mem_desc_t *,
16141615
ur_exp_interop_mem_handle_t *);
16151616

@@ -1631,10 +1632,11 @@ typedef ur_result_t(UR_APICALL *ur_pfnBindlessImagesReleaseInteropExp_t)(
16311632
ur_exp_interop_mem_handle_t);
16321633

16331634
///////////////////////////////////////////////////////////////////////////////
1634-
/// @brief Function-pointer for urBindlessImagesImportExternalSemaphoreOpaqueFDExp
1635-
typedef ur_result_t(UR_APICALL *ur_pfnBindlessImagesImportExternalSemaphoreOpaqueFDExp_t)(
1635+
/// @brief Function-pointer for urBindlessImagesImportExternalSemaphoreExp
1636+
typedef ur_result_t(UR_APICALL *ur_pfnBindlessImagesImportExternalSemaphoreExp_t)(
16361637
ur_context_handle_t,
16371638
ur_device_handle_t,
1639+
ur_exp_external_semaphore_type_t,
16381640
ur_exp_interop_semaphore_desc_t *,
16391641
ur_exp_interop_semaphore_handle_t *);
16401642

@@ -1650,6 +1652,8 @@ typedef ur_result_t(UR_APICALL *ur_pfnBindlessImagesDestroyExternalSemaphoreExp_
16501652
typedef ur_result_t(UR_APICALL *ur_pfnBindlessImagesWaitExternalSemaphoreExp_t)(
16511653
ur_queue_handle_t,
16521654
ur_exp_interop_semaphore_handle_t,
1655+
bool,
1656+
uint64_t,
16531657
uint32_t,
16541658
const ur_event_handle_t *,
16551659
ur_event_handle_t *);
@@ -1659,6 +1663,8 @@ typedef ur_result_t(UR_APICALL *ur_pfnBindlessImagesWaitExternalSemaphoreExp_t)(
16591663
typedef ur_result_t(UR_APICALL *ur_pfnBindlessImagesSignalExternalSemaphoreExp_t)(
16601664
ur_queue_handle_t,
16611665
ur_exp_interop_semaphore_handle_t,
1666+
bool,
1667+
uint64_t,
16621668
uint32_t,
16631669
const ur_event_handle_t *,
16641670
ur_event_handle_t *);
@@ -1676,10 +1682,10 @@ typedef struct ur_bindless_images_exp_dditable_t {
16761682
ur_pfnBindlessImagesImageGetInfoExp_t pfnImageGetInfoExp;
16771683
ur_pfnBindlessImagesMipmapGetLevelExp_t pfnMipmapGetLevelExp;
16781684
ur_pfnBindlessImagesMipmapFreeExp_t pfnMipmapFreeExp;
1679-
ur_pfnBindlessImagesImportOpaqueFDExp_t pfnImportOpaqueFDExp;
1685+
ur_pfnBindlessImagesImportExternalMemoryExp_t pfnImportExternalMemoryExp;
16801686
ur_pfnBindlessImagesMapExternalArrayExp_t pfnMapExternalArrayExp;
16811687
ur_pfnBindlessImagesReleaseInteropExp_t pfnReleaseInteropExp;
1682-
ur_pfnBindlessImagesImportExternalSemaphoreOpaqueFDExp_t pfnImportExternalSemaphoreOpaqueFDExp;
1688+
ur_pfnBindlessImagesImportExternalSemaphoreExp_t pfnImportExternalSemaphoreExp;
16831689
ur_pfnBindlessImagesDestroyExternalSemaphoreExp_t pfnDestroyExternalSemaphoreExp;
16841690
ur_pfnBindlessImagesWaitExternalSemaphoreExp_t pfnWaitExternalSemaphoreExp;
16851691
ur_pfnBindlessImagesSignalExternalSemaphoreExp_t pfnSignalExternalSemaphoreExp;

include/ur_print.h

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -890,6 +890,22 @@ UR_APIEXPORT ur_result_t UR_APICALL urPrintExpImageCopyFlags(enum ur_exp_image_c
890890
/// - `buff_size < out_size`
891891
UR_APIEXPORT ur_result_t UR_APICALL urPrintExpSamplerCubemapFilterMode(enum ur_exp_sampler_cubemap_filter_mode_t value, char *buffer, const size_t buff_size, size_t *out_size);
892892

893+
///////////////////////////////////////////////////////////////////////////////
894+
/// @brief Print ur_exp_external_mem_type_t enum
895+
/// @returns
896+
/// - ::UR_RESULT_SUCCESS
897+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
898+
/// - `buff_size < out_size`
899+
UR_APIEXPORT ur_result_t UR_APICALL urPrintExpExternalMemType(enum ur_exp_external_mem_type_t value, char *buffer, const size_t buff_size, size_t *out_size);
900+
901+
///////////////////////////////////////////////////////////////////////////////
902+
/// @brief Print ur_exp_external_semaphore_type_t enum
903+
/// @returns
904+
/// - ::UR_RESULT_SUCCESS
905+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
906+
/// - `buff_size < out_size`
907+
UR_APIEXPORT ur_result_t UR_APICALL urPrintExpExternalSemaphoreType(enum ur_exp_external_semaphore_type_t value, char *buffer, const size_t buff_size, size_t *out_size);
908+
893909
///////////////////////////////////////////////////////////////////////////////
894910
/// @brief Print ur_exp_file_descriptor_t struct
895911
/// @returns
@@ -2075,12 +2091,12 @@ UR_APIEXPORT ur_result_t UR_APICALL urPrintBindlessImagesMipmapGetLevelExpParams
20752091
UR_APIEXPORT ur_result_t UR_APICALL urPrintBindlessImagesMipmapFreeExpParams(const struct ur_bindless_images_mipmap_free_exp_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
20762092

20772093
///////////////////////////////////////////////////////////////////////////////
2078-
/// @brief Print ur_bindless_images_import_opaque_fd_exp_params_t struct
2094+
/// @brief Print ur_bindless_images_import_external_memory_exp_params_t struct
20792095
/// @returns
20802096
/// - ::UR_RESULT_SUCCESS
20812097
/// - ::UR_RESULT_ERROR_INVALID_SIZE
20822098
/// - `buff_size < out_size`
2083-
UR_APIEXPORT ur_result_t UR_APICALL urPrintBindlessImagesImportOpaqueFdExpParams(const struct ur_bindless_images_import_opaque_fd_exp_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
2099+
UR_APIEXPORT ur_result_t UR_APICALL urPrintBindlessImagesImportExternalMemoryExpParams(const struct ur_bindless_images_import_external_memory_exp_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
20842100

20852101
///////////////////////////////////////////////////////////////////////////////
20862102
/// @brief Print ur_bindless_images_map_external_array_exp_params_t struct
@@ -2099,12 +2115,12 @@ UR_APIEXPORT ur_result_t UR_APICALL urPrintBindlessImagesMapExternalArrayExpPara
20992115
UR_APIEXPORT ur_result_t UR_APICALL urPrintBindlessImagesReleaseInteropExpParams(const struct ur_bindless_images_release_interop_exp_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
21002116

21012117
///////////////////////////////////////////////////////////////////////////////
2102-
/// @brief Print ur_bindless_images_import_external_semaphore_opaque_fd_exp_params_t struct
2118+
/// @brief Print ur_bindless_images_import_external_semaphore_exp_params_t struct
21032119
/// @returns
21042120
/// - ::UR_RESULT_SUCCESS
21052121
/// - ::UR_RESULT_ERROR_INVALID_SIZE
21062122
/// - `buff_size < out_size`
2107-
UR_APIEXPORT ur_result_t UR_APICALL urPrintBindlessImagesImportExternalSemaphoreOpaqueFdExpParams(const struct ur_bindless_images_import_external_semaphore_opaque_fd_exp_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
2123+
UR_APIEXPORT ur_result_t UR_APICALL urPrintBindlessImagesImportExternalSemaphoreExpParams(const struct ur_bindless_images_import_external_semaphore_exp_params_t *params, char *buffer, const size_t buff_size, size_t *out_size);
21082124

21092125
///////////////////////////////////////////////////////////////////////////////
21102126
/// @brief Print ur_bindless_images_destroy_external_semaphore_exp_params_t struct

include/ur_print.hpp

Lines changed: 88 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,8 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_map_flag_t value);
326326
inline std::ostream &operator<<(std::ostream &os, enum ur_usm_migration_flag_t value);
327327
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_image_copy_flag_t value);
328328
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_sampler_cubemap_filter_mode_t value);
329+
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_external_mem_type_t value);
330+
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_external_semaphore_type_t value);
329331
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_file_descriptor_t params);
330332
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_win32_handle_t params);
331333
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_sampler_mip_properties_t params);
@@ -743,18 +745,12 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_function_t value) {
743745
case UR_FUNCTION_BINDLESS_IMAGES_MIPMAP_FREE_EXP:
744746
os << "UR_FUNCTION_BINDLESS_IMAGES_MIPMAP_FREE_EXP";
745747
break;
746-
case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_OPAQUE_FD_EXP:
747-
os << "UR_FUNCTION_BINDLESS_IMAGES_IMPORT_OPAQUE_FD_EXP";
748-
break;
749748
case UR_FUNCTION_BINDLESS_IMAGES_MAP_EXTERNAL_ARRAY_EXP:
750749
os << "UR_FUNCTION_BINDLESS_IMAGES_MAP_EXTERNAL_ARRAY_EXP";
751750
break;
752751
case UR_FUNCTION_BINDLESS_IMAGES_RELEASE_INTEROP_EXP:
753752
os << "UR_FUNCTION_BINDLESS_IMAGES_RELEASE_INTEROP_EXP";
754753
break;
755-
case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_SEMAPHORE_OPAQUE_FD_EXP:
756-
os << "UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_SEMAPHORE_OPAQUE_FD_EXP";
757-
break;
758754
case UR_FUNCTION_BINDLESS_IMAGES_DESTROY_EXTERNAL_SEMAPHORE_EXP:
759755
os << "UR_FUNCTION_BINDLESS_IMAGES_DESTROY_EXTERNAL_SEMAPHORE_EXP";
760756
break;
@@ -932,6 +928,12 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_function_t value) {
932928
case UR_FUNCTION_KERNEL_GET_SUGGESTED_LOCAL_WORK_SIZE:
933929
os << "UR_FUNCTION_KERNEL_GET_SUGGESTED_LOCAL_WORK_SIZE";
934930
break;
931+
case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_MEMORY_EXP:
932+
os << "UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_MEMORY_EXP";
933+
break;
934+
case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_SEMAPHORE_EXP:
935+
os << "UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_SEMAPHORE_EXP";
936+
break;
935937
default:
936938
os << "unknown enumerator";
937939
break;
@@ -9313,6 +9315,48 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_exp_sampler_cubemap_fi
93139315
return os;
93149316
}
93159317
///////////////////////////////////////////////////////////////////////////////
9318+
/// @brief Print operator for the ur_exp_external_mem_type_t type
9319+
/// @returns
9320+
/// std::ostream &
9321+
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_external_mem_type_t value) {
9322+
switch (value) {
9323+
case UR_EXP_EXTERNAL_MEM_TYPE_OPAQUE_FD:
9324+
os << "UR_EXP_EXTERNAL_MEM_TYPE_OPAQUE_FD";
9325+
break;
9326+
case UR_EXP_EXTERNAL_MEM_TYPE_WIN32_NT:
9327+
os << "UR_EXP_EXTERNAL_MEM_TYPE_WIN32_NT";
9328+
break;
9329+
case UR_EXP_EXTERNAL_MEM_TYPE_WIN32_NT_DX12_RESOURCE:
9330+
os << "UR_EXP_EXTERNAL_MEM_TYPE_WIN32_NT_DX12_RESOURCE";
9331+
break;
9332+
default:
9333+
os << "unknown enumerator";
9334+
break;
9335+
}
9336+
return os;
9337+
}
9338+
///////////////////////////////////////////////////////////////////////////////
9339+
/// @brief Print operator for the ur_exp_external_semaphore_type_t type
9340+
/// @returns
9341+
/// std::ostream &
9342+
inline std::ostream &operator<<(std::ostream &os, enum ur_exp_external_semaphore_type_t value) {
9343+
switch (value) {
9344+
case UR_EXP_EXTERNAL_SEMAPHORE_TYPE_OPAQUE_FD:
9345+
os << "UR_EXP_EXTERNAL_SEMAPHORE_TYPE_OPAQUE_FD";
9346+
break;
9347+
case UR_EXP_EXTERNAL_SEMAPHORE_TYPE_WIN32_NT:
9348+
os << "UR_EXP_EXTERNAL_SEMAPHORE_TYPE_WIN32_NT";
9349+
break;
9350+
case UR_EXP_EXTERNAL_SEMAPHORE_TYPE_WIN32_NT_DX12_FENCE:
9351+
os << "UR_EXP_EXTERNAL_SEMAPHORE_TYPE_WIN32_NT_DX12_FENCE";
9352+
break;
9353+
default:
9354+
os << "unknown enumerator";
9355+
break;
9356+
}
9357+
return os;
9358+
}
9359+
///////////////////////////////////////////////////////////////////////////////
93169360
/// @brief Print operator for the ur_exp_file_descriptor_t type
93179361
/// @returns
93189362
/// std::ostream &
@@ -14766,10 +14810,10 @@ inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct
1476614810
}
1476714811

1476814812
///////////////////////////////////////////////////////////////////////////////
14769-
/// @brief Print operator for the ur_bindless_images_import_opaque_fd_exp_params_t type
14813+
/// @brief Print operator for the ur_bindless_images_import_external_memory_exp_params_t type
1477014814
/// @returns
1477114815
/// std::ostream &
14772-
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_import_opaque_fd_exp_params_t *params) {
14816+
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_import_external_memory_exp_params_t *params) {
1477314817

1477414818
os << ".hContext = ";
1477514819

@@ -14787,6 +14831,11 @@ inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct
1478714831

1478814832
os << *(params->psize);
1478914833

14834+
os << ", ";
14835+
os << ".memHandleType = ";
14836+
14837+
os << *(params->pmemHandleType);
14838+
1479014839
os << ", ";
1479114840
os << ".pInteropMemDesc = ";
1479214841

@@ -14873,10 +14922,10 @@ inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct
1487314922
}
1487414923

1487514924
///////////////////////////////////////////////////////////////////////////////
14876-
/// @brief Print operator for the ur_bindless_images_import_external_semaphore_opaque_fd_exp_params_t type
14925+
/// @brief Print operator for the ur_bindless_images_import_external_semaphore_exp_params_t type
1487714926
/// @returns
1487814927
/// std::ostream &
14879-
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_import_external_semaphore_opaque_fd_exp_params_t *params) {
14928+
inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_import_external_semaphore_exp_params_t *params) {
1488014929

1488114930
os << ".hContext = ";
1488214931

@@ -14889,6 +14938,11 @@ inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct
1488914938
ur::details::printPtr(os,
1489014939
*(params->phDevice));
1489114940

14941+
os << ", ";
14942+
os << ".semHandleType = ";
14943+
14944+
os << *(params->psemHandleType);
14945+
1489214946
os << ", ";
1489314947
os << ".pInteropSemaphoreDesc = ";
1489414948

@@ -14947,6 +15001,16 @@ inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct
1494715001
ur::details::printPtr(os,
1494815002
*(params->phSemaphore));
1494915003

15004+
os << ", ";
15005+
os << ".hasWaitValue = ";
15006+
15007+
os << *(params->phasWaitValue);
15008+
15009+
os << ", ";
15010+
os << ".waitValue = ";
15011+
15012+
os << *(params->pwaitValue);
15013+
1495015014
os << ", ";
1495115015
os << ".numEventsInWaitList = ";
1495215016

@@ -14990,6 +15054,16 @@ inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct
1499015054
ur::details::printPtr(os,
1499115055
*(params->phSemaphore));
1499215056

15057+
os << ", ";
15058+
os << ".hasSignalValue = ";
15059+
15060+
os << *(params->phasSignalValue);
15061+
15062+
os << ", ";
15063+
os << ".signalValue = ";
15064+
15065+
os << *(params->psignalValue);
15066+
1499315067
os << ", ";
1499415068
os << ".numEventsInWaitList = ";
1499515069

@@ -17423,17 +17497,17 @@ inline ur_result_t UR_APICALL printFunctionParams(std::ostream &os, ur_function_
1742317497
case UR_FUNCTION_BINDLESS_IMAGES_MIPMAP_FREE_EXP: {
1742417498
os << (const struct ur_bindless_images_mipmap_free_exp_params_t *)params;
1742517499
} break;
17426-
case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_OPAQUE_FD_EXP: {
17427-
os << (const struct ur_bindless_images_import_opaque_fd_exp_params_t *)params;
17500+
case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_MEMORY_EXP: {
17501+
os << (const struct ur_bindless_images_import_external_memory_exp_params_t *)params;
1742817502
} break;
1742917503
case UR_FUNCTION_BINDLESS_IMAGES_MAP_EXTERNAL_ARRAY_EXP: {
1743017504
os << (const struct ur_bindless_images_map_external_array_exp_params_t *)params;
1743117505
} break;
1743217506
case UR_FUNCTION_BINDLESS_IMAGES_RELEASE_INTEROP_EXP: {
1743317507
os << (const struct ur_bindless_images_release_interop_exp_params_t *)params;
1743417508
} break;
17435-
case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_SEMAPHORE_OPAQUE_FD_EXP: {
17436-
os << (const struct ur_bindless_images_import_external_semaphore_opaque_fd_exp_params_t *)params;
17509+
case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_SEMAPHORE_EXP: {
17510+
os << (const struct ur_bindless_images_import_external_semaphore_exp_params_t *)params;
1743717511
} break;
1743817512
case UR_FUNCTION_BINDLESS_IMAGES_DESTROY_EXTERNAL_SEMAPHORE_EXP: {
1743917513
os << (const struct ur_bindless_images_destroy_external_semaphore_exp_params_t *)params;

scripts/core/EXP-BINDLESS-IMAGES.rst

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,16 @@ Enums
112112
* ${X}_EXP_SAMPLER_CUBEMAP_FILTER_MODE_SEAMLESS
113113
* ${X}_EXP_SAMPLER_CUBEMAP_FILTER_MODE_DISJOINTED
114114

115+
* ${x}_exp_external_mem_type_t
116+
* ${X}_EXP_EXTERNAL_MEM_TYPE_OPAQUE_FD
117+
* ${X}_EXP_EXTERNAL_MEM_TYPE_WIN32_NT
118+
* ${X}_EXP_EXTERNAL_MEM_TYPE_WIN32_NT_DX12_RESOURCE
119+
120+
* ${x}_exp_external_semaphore_type_t
121+
* ${X}_EXP_EXTERNAL_SEMAPHORE_TYPE_OPAQUE_FD
122+
* ${X}_EXP_EXTERNAL_SEMAPHORE_TYPE_WIN32_NT
123+
* ${X}_EXP_EXTERNAL_SEMAPHORE_TYPE_WIN32_NT_DX12_FENCE
124+
115125
* ${x}_function_t
116126
* ${X}_FUNCTION_USM_PITCHED_ALLOC_EXP
117127
* ${X}_FUNCTION_BINDLESS_IMAGES_UNSAMPLED_IMAGE_HANDLE_DESTROY_EXP
@@ -124,10 +134,10 @@ Enums
124134
* ${X}_FUNCTION_BINDLESS_IMAGES_IMAGE_GET_INFO_EXP
125135
* ${X}_FUNCTION_BINDLESS_IMAGES_MIPMAP_GET_LEVEL_EXP
126136
* ${X}_FUNCTION_BINDLESS_IMAGES_MIPMAP_FREE_EXP
127-
* ${X}_FUNCTION_BINDLESS_IMAGES_IMPORT_OPAQUE_FD_EXP
137+
* ${X}_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_MEMORY_EXP
128138
* ${X}_FUNCTION_BINDLESS_IMAGES_MAP_EXTERNAL_ARRAY_EXP
129139
* ${X}_FUNCTION_BINDLESS_IMAGES_RELEASE_INTEROP_EXP
130-
* ${X}_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_SEMAPHORE_OPAQUE_FD_EXP
140+
* ${X}_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_SEMAPHORE_EXP
131141
* ${X}_FUNCTION_BINDLESS_IMAGES_DESTROY_EXTERNAL_SEMAPHORE_EXP
132142
* ${X}_FUNCTION_BINDLESS_IMAGES_WAIT_EXTERNAL_SEMAPHORE_EXP
133143
* ${X}_FUNCTION_BINDLESS_IMAGES_SIGNAL_EXTERNAL_SEMAPHORE_EXP
@@ -167,10 +177,10 @@ Functions
167177
* ${x}BindlessImagesMipmapFreeExp
168178

169179
* Interop
170-
* ${x}BindlessImagesImportOpaqueFDExp
180+
* ${x}BindlessImagesImportExternalMemoryExp
171181
* ${x}BindlessImagesMapExternalArrayExp
172182
* ${x}BindlessImagesReleaseInteropExp
173-
* ${x}BindlessImagesImportExternalSemaphoreOpaqueFDExp
183+
* ${x}BindlessImagesImportExternalSemaphoreExp
174184
* ${x}BindlessImagesDestroyExternalSemaphoreExp
175185
* ${x}BindlessImagesWaitExternalSemaphoreExp
176186
* ${x}BindlessImagesSignalExternalSemaphoreExp
@@ -210,6 +220,23 @@ Changelog
210220
+----------+-------------------------------------------------------------+
211221
| 12.0 | Added image arrays to list of supported bindless images |
212222
+----------+-------------------------------------------------------------+
223+
| 13.0 || Interop import API has been adapted to cater to multiple |
224+
| || external memory and semaphore handle types |
225+
| || Removed the following APIs: |
226+
| || - ImportExternalOpaqueFDExp |
227+
| || - ImportExternalSemaphoreOpaqueFDExp |
228+
| || Added the following APIs: |
229+
| || - ImportExternalMemoryExp |
230+
| || - ImportExternalSemaphoreExp |
231+
| || Added the following enums: |
232+
| || - exp_external_mem_type_t |
233+
| || - exp_external_semaphore_type_t |
234+
| || Semaphore oparations now take value parameters which set |
235+
| || the state the semaphore should wait on or signal. |
236+
| || Introduced resource enums for DX12 interop: |
237+
| || - ${X}_EXP_EXTERNAL_MEM_TYPE_WIN32_NT_DX12_RESOURCE |
238+
| || - ${X}_EXP_EXTERNAL_SEMAPHORE_TYPE_WIN32_NT_DX12_FENCE |
239+
+------------------------------------------------------------------------+
213240

214241
Contributors
215242
--------------------------------------------------------------------------------

0 commit comments

Comments
 (0)