Skip to content

Commit 0d3c1fc

Browse files
authored
Merge pull request #885 from Bensuo/mfrancepillois/cmd-buffer-prefetch-memadvice
[EXP][CMDBUF] Add Prefetch and Advise commands to cmd buffer experimental feature
2 parents 566ea97 + 12b7341 commit 0d3c1fc

File tree

13 files changed

+931
-0
lines changed

13 files changed

+931
-0
lines changed

include/ur.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,8 @@ class ur_function_v(IntEnum):
200200
COMMAND_BUFFER_APPEND_MEM_BUFFER_FILL_EXP = 192 ## Enumerator for ::urCommandBufferAppendMemBufferFillExp
201201
ENQUEUE_COOPERATIVE_KERNEL_LAUNCH_EXP = 193 ## Enumerator for ::urEnqueueCooperativeKernelLaunchExp
202202
KERNEL_SUGGEST_MAX_COOPERATIVE_GROUP_COUNT_EXP = 194## Enumerator for ::urKernelSuggestMaxCooperativeGroupCountExp
203+
COMMAND_BUFFER_APPEND_USM_PREFETCH_EXP = 195 ## Enumerator for ::urCommandBufferAppendUSMPrefetchExp
204+
COMMAND_BUFFER_APPEND_USM_ADVISE_EXP = 196 ## Enumerator for ::urCommandBufferAppendUSMAdviseExp
203205

204206
class ur_function_t(c_int):
205207
def __str__(self):
@@ -3616,6 +3618,20 @@ class ur_usm_exp_dditable_t(Structure):
36163618
else:
36173619
_urCommandBufferAppendMemBufferFillExp_t = CFUNCTYPE( ur_result_t, ur_exp_command_buffer_handle_t, ur_mem_handle_t, c_void_p, c_size_t, c_size_t, c_size_t, c_ulong, POINTER(ur_exp_command_buffer_sync_point_t), POINTER(ur_exp_command_buffer_sync_point_t) )
36183620

3621+
###############################################################################
3622+
## @brief Function-pointer for urCommandBufferAppendUSMPrefetchExp
3623+
if __use_win_types:
3624+
_urCommandBufferAppendUSMPrefetchExp_t = WINFUNCTYPE( ur_result_t, ur_exp_command_buffer_handle_t, c_void_p, c_size_t, ur_usm_migration_flags_t, c_ulong, POINTER(ur_exp_command_buffer_sync_point_t), POINTER(ur_exp_command_buffer_sync_point_t) )
3625+
else:
3626+
_urCommandBufferAppendUSMPrefetchExp_t = CFUNCTYPE( ur_result_t, ur_exp_command_buffer_handle_t, c_void_p, c_size_t, ur_usm_migration_flags_t, c_ulong, POINTER(ur_exp_command_buffer_sync_point_t), POINTER(ur_exp_command_buffer_sync_point_t) )
3627+
3628+
###############################################################################
3629+
## @brief Function-pointer for urCommandBufferAppendUSMAdviseExp
3630+
if __use_win_types:
3631+
_urCommandBufferAppendUSMAdviseExp_t = WINFUNCTYPE( ur_result_t, ur_exp_command_buffer_handle_t, c_void_p, c_size_t, ur_usm_advice_flags_t, c_ulong, POINTER(ur_exp_command_buffer_sync_point_t), POINTER(ur_exp_command_buffer_sync_point_t) )
3632+
else:
3633+
_urCommandBufferAppendUSMAdviseExp_t = CFUNCTYPE( ur_result_t, ur_exp_command_buffer_handle_t, c_void_p, c_size_t, ur_usm_advice_flags_t, c_ulong, POINTER(ur_exp_command_buffer_sync_point_t), POINTER(ur_exp_command_buffer_sync_point_t) )
3634+
36193635
###############################################################################
36203636
## @brief Function-pointer for urCommandBufferEnqueueExp
36213637
if __use_win_types:
@@ -3642,6 +3658,8 @@ class ur_command_buffer_exp_dditable_t(Structure):
36423658
("pfnAppendMemBufferWriteRectExp", c_void_p), ## _urCommandBufferAppendMemBufferWriteRectExp_t
36433659
("pfnAppendMemBufferReadRectExp", c_void_p), ## _urCommandBufferAppendMemBufferReadRectExp_t
36443660
("pfnAppendMemBufferFillExp", c_void_p), ## _urCommandBufferAppendMemBufferFillExp_t
3661+
("pfnAppendUSMPrefetchExp", c_void_p), ## _urCommandBufferAppendUSMPrefetchExp_t
3662+
("pfnAppendUSMAdviseExp", c_void_p), ## _urCommandBufferAppendUSMAdviseExp_t
36453663
("pfnEnqueueExp", c_void_p) ## _urCommandBufferEnqueueExp_t
36463664
]
36473665

@@ -4162,6 +4180,8 @@ def __init__(self, version : ur_api_version_t):
41624180
self.urCommandBufferAppendMemBufferWriteRectExp = _urCommandBufferAppendMemBufferWriteRectExp_t(self.__dditable.CommandBufferExp.pfnAppendMemBufferWriteRectExp)
41634181
self.urCommandBufferAppendMemBufferReadRectExp = _urCommandBufferAppendMemBufferReadRectExp_t(self.__dditable.CommandBufferExp.pfnAppendMemBufferReadRectExp)
41644182
self.urCommandBufferAppendMemBufferFillExp = _urCommandBufferAppendMemBufferFillExp_t(self.__dditable.CommandBufferExp.pfnAppendMemBufferFillExp)
4183+
self.urCommandBufferAppendUSMPrefetchExp = _urCommandBufferAppendUSMPrefetchExp_t(self.__dditable.CommandBufferExp.pfnAppendUSMPrefetchExp)
4184+
self.urCommandBufferAppendUSMAdviseExp = _urCommandBufferAppendUSMAdviseExp_t(self.__dditable.CommandBufferExp.pfnAppendUSMAdviseExp)
41654185
self.urCommandBufferEnqueueExp = _urCommandBufferEnqueueExp_t(self.__dditable.CommandBufferExp.pfnEnqueueExp)
41664186

41674187
# call driver to get function pointers

include/ur_api.h

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,8 @@ typedef enum ur_function_t {
209209
UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_FILL_EXP = 192, ///< Enumerator for ::urCommandBufferAppendMemBufferFillExp
210210
UR_FUNCTION_ENQUEUE_COOPERATIVE_KERNEL_LAUNCH_EXP = 193, ///< Enumerator for ::urEnqueueCooperativeKernelLaunchExp
211211
UR_FUNCTION_KERNEL_SUGGEST_MAX_COOPERATIVE_GROUP_COUNT_EXP = 194, ///< Enumerator for ::urKernelSuggestMaxCooperativeGroupCountExp
212+
UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_PREFETCH_EXP = 195, ///< Enumerator for ::urCommandBufferAppendUSMPrefetchExp
213+
UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_ADVISE_EXP = 196, ///< Enumerator for ::urCommandBufferAppendUSMAdviseExp
212214
/// @cond
213215
UR_FUNCTION_FORCE_UINT32 = 0x7fffffff
214216
/// @endcond
@@ -8159,6 +8161,88 @@ urCommandBufferAppendMemBufferFillExp(
81598161
ur_exp_command_buffer_sync_point_t *pSyncPoint ///< [out][optional] sync point associated with this command.
81608162
);
81618163

8164+
///////////////////////////////////////////////////////////////////////////////
8165+
/// @brief Append a USM Prefetch command to a command-buffer object
8166+
///
8167+
/// @details
8168+
/// - Prefetching may not be supported for all devices or allocation types.
8169+
/// If memory prefetching is not supported, the prefetch hint will be
8170+
/// ignored.
8171+
///
8172+
/// @returns
8173+
/// - ::UR_RESULT_SUCCESS
8174+
/// - ::UR_RESULT_ERROR_UNINITIALIZED
8175+
/// - ::UR_RESULT_ERROR_DEVICE_LOST
8176+
/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
8177+
/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
8178+
/// + `NULL == hCommandBuffer`
8179+
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
8180+
/// + `NULL == pMemory`
8181+
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
8182+
/// + `::UR_USM_MIGRATION_FLAGS_MASK & flags`
8183+
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP
8184+
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_EXP
8185+
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_WAIT_LIST_EXP
8186+
/// + `pSyncPointWaitList == NULL && numSyncPointsInWaitList > 0`
8187+
/// + `pSyncPointWaitList != NULL && numSyncPointsInWaitList == 0`
8188+
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
8189+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
8190+
/// + `size == 0`
8191+
/// + If `size` is higher than the allocation size of `pMemory`
8192+
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
8193+
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
8194+
UR_APIEXPORT ur_result_t UR_APICALL
8195+
urCommandBufferAppendUSMPrefetchExp(
8196+
ur_exp_command_buffer_handle_t hCommandBuffer, ///< [in] handle of the command-buffer object.
8197+
const void *pMemory, ///< [in] pointer to USM allocated memory to prefetch.
8198+
size_t size, ///< [in] size in bytes to be fetched.
8199+
ur_usm_migration_flags_t flags, ///< [in] USM prefetch flags
8200+
uint32_t numSyncPointsInWaitList, ///< [in] The number of sync points in the provided dependency list.
8201+
const ur_exp_command_buffer_sync_point_t *pSyncPointWaitList, ///< [in][optional] A list of sync points that this command depends on.
8202+
ur_exp_command_buffer_sync_point_t *pSyncPoint ///< [out][optional] sync point associated with this command.
8203+
);
8204+
8205+
///////////////////////////////////////////////////////////////////////////////
8206+
/// @brief Append a USM Advise command to a command-buffer object
8207+
///
8208+
/// @details
8209+
/// - Not all memory advice hints may be supported for all devices or
8210+
/// allocation types. If a memory advice hint is not supported, it will be
8211+
/// ignored.
8212+
///
8213+
/// @returns
8214+
/// - ::UR_RESULT_SUCCESS
8215+
/// - ::UR_RESULT_ERROR_UNINITIALIZED
8216+
/// - ::UR_RESULT_ERROR_DEVICE_LOST
8217+
/// - ::UR_RESULT_ERROR_ADAPTER_SPECIFIC
8218+
/// - ::UR_RESULT_ERROR_INVALID_NULL_HANDLE
8219+
/// + `NULL == hCommandBuffer`
8220+
/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER
8221+
/// + `NULL == pMemory`
8222+
/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION
8223+
/// + `::UR_USM_ADVICE_FLAGS_MASK & advice`
8224+
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP
8225+
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_EXP
8226+
/// - ::UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_WAIT_LIST_EXP
8227+
/// + `pSyncPointWaitList == NULL && numSyncPointsInWaitList > 0`
8228+
/// + `pSyncPointWaitList != NULL && numSyncPointsInWaitList == 0`
8229+
/// - ::UR_RESULT_ERROR_INVALID_MEM_OBJECT
8230+
/// - ::UR_RESULT_ERROR_INVALID_SIZE
8231+
/// + `size == 0`
8232+
/// + If `size` is higher than the allocation size of `pMemory`
8233+
/// - ::UR_RESULT_ERROR_OUT_OF_HOST_MEMORY
8234+
/// - ::UR_RESULT_ERROR_OUT_OF_RESOURCES
8235+
UR_APIEXPORT ur_result_t UR_APICALL
8236+
urCommandBufferAppendUSMAdviseExp(
8237+
ur_exp_command_buffer_handle_t hCommandBuffer, ///< [in] handle of the command-buffer object.
8238+
const void *pMemory, ///< [in] pointer to the USM memory object.
8239+
size_t size, ///< [in] size in bytes to be advised.
8240+
ur_usm_advice_flags_t advice, ///< [in] USM memory advice
8241+
uint32_t numSyncPointsInWaitList, ///< [in] The number of sync points in the provided dependency list.
8242+
const ur_exp_command_buffer_sync_point_t *pSyncPointWaitList, ///< [in][optional] A list of sync points that this command depends on.
8243+
ur_exp_command_buffer_sync_point_t *pSyncPoint ///< [out][optional] sync point associated with this command.
8244+
);
8245+
81628246
///////////////////////////////////////////////////////////////////////////////
81638247
/// @brief Submit a command-buffer for execution on a queue.
81648248
///
@@ -10332,6 +10416,34 @@ typedef struct ur_command_buffer_append_mem_buffer_fill_exp_params_t {
1033210416
ur_exp_command_buffer_sync_point_t **ppSyncPoint;
1033310417
} ur_command_buffer_append_mem_buffer_fill_exp_params_t;
1033410418

10419+
///////////////////////////////////////////////////////////////////////////////
10420+
/// @brief Function parameters for urCommandBufferAppendUSMPrefetchExp
10421+
/// @details Each entry is a pointer to the parameter passed to the function;
10422+
/// allowing the callback the ability to modify the parameter's value
10423+
typedef struct ur_command_buffer_append_usm_prefetch_exp_params_t {
10424+
ur_exp_command_buffer_handle_t *phCommandBuffer;
10425+
const void **ppMemory;
10426+
size_t *psize;
10427+
ur_usm_migration_flags_t *pflags;
10428+
uint32_t *pnumSyncPointsInWaitList;
10429+
const ur_exp_command_buffer_sync_point_t **ppSyncPointWaitList;
10430+
ur_exp_command_buffer_sync_point_t **ppSyncPoint;
10431+
} ur_command_buffer_append_usm_prefetch_exp_params_t;
10432+
10433+
///////////////////////////////////////////////////////////////////////////////
10434+
/// @brief Function parameters for urCommandBufferAppendUSMAdviseExp
10435+
/// @details Each entry is a pointer to the parameter passed to the function;
10436+
/// allowing the callback the ability to modify the parameter's value
10437+
typedef struct ur_command_buffer_append_usm_advise_exp_params_t {
10438+
ur_exp_command_buffer_handle_t *phCommandBuffer;
10439+
const void **ppMemory;
10440+
size_t *psize;
10441+
ur_usm_advice_flags_t *padvice;
10442+
uint32_t *pnumSyncPointsInWaitList;
10443+
const ur_exp_command_buffer_sync_point_t **ppSyncPointWaitList;
10444+
ur_exp_command_buffer_sync_point_t **ppSyncPoint;
10445+
} ur_command_buffer_append_usm_advise_exp_params_t;
10446+
1033510447
///////////////////////////////////////////////////////////////////////////////
1033610448
/// @brief Function parameters for urCommandBufferEnqueueExp
1033710449
/// @details Each entry is a pointer to the parameter passed to the function;

include/ur_ddi.h

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1923,6 +1923,28 @@ typedef ur_result_t(UR_APICALL *ur_pfnCommandBufferAppendMemBufferFillExp_t)(
19231923
const ur_exp_command_buffer_sync_point_t *,
19241924
ur_exp_command_buffer_sync_point_t *);
19251925

1926+
///////////////////////////////////////////////////////////////////////////////
1927+
/// @brief Function-pointer for urCommandBufferAppendUSMPrefetchExp
1928+
typedef ur_result_t(UR_APICALL *ur_pfnCommandBufferAppendUSMPrefetchExp_t)(
1929+
ur_exp_command_buffer_handle_t,
1930+
const void *,
1931+
size_t,
1932+
ur_usm_migration_flags_t,
1933+
uint32_t,
1934+
const ur_exp_command_buffer_sync_point_t *,
1935+
ur_exp_command_buffer_sync_point_t *);
1936+
1937+
///////////////////////////////////////////////////////////////////////////////
1938+
/// @brief Function-pointer for urCommandBufferAppendUSMAdviseExp
1939+
typedef ur_result_t(UR_APICALL *ur_pfnCommandBufferAppendUSMAdviseExp_t)(
1940+
ur_exp_command_buffer_handle_t,
1941+
const void *,
1942+
size_t,
1943+
ur_usm_advice_flags_t,
1944+
uint32_t,
1945+
const ur_exp_command_buffer_sync_point_t *,
1946+
ur_exp_command_buffer_sync_point_t *);
1947+
19261948
///////////////////////////////////////////////////////////////////////////////
19271949
/// @brief Function-pointer for urCommandBufferEnqueueExp
19281950
typedef ur_result_t(UR_APICALL *ur_pfnCommandBufferEnqueueExp_t)(
@@ -1949,6 +1971,8 @@ typedef struct ur_command_buffer_exp_dditable_t {
19491971
ur_pfnCommandBufferAppendMemBufferWriteRectExp_t pfnAppendMemBufferWriteRectExp;
19501972
ur_pfnCommandBufferAppendMemBufferReadRectExp_t pfnAppendMemBufferReadRectExp;
19511973
ur_pfnCommandBufferAppendMemBufferFillExp_t pfnAppendMemBufferFillExp;
1974+
ur_pfnCommandBufferAppendUSMPrefetchExp_t pfnAppendUSMPrefetchExp;
1975+
ur_pfnCommandBufferAppendUSMAdviseExp_t pfnAppendUSMAdviseExp;
19521976
ur_pfnCommandBufferEnqueueExp_t pfnEnqueueExp;
19531977
} ur_command_buffer_exp_dditable_t;
19541978

scripts/core/EXP-COMMAND-BUFFER.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ Currently only the following commands are supported:
101101
* ${x}CommandBufferAppendMemBufferWriteExp
102102
* ${x}CommandBufferAppendMemBufferWriteRectExp
103103
* ${x}CommandBufferAppendMemBufferFillExp
104+
* ${x}CommandBufferAppendUSMPrefetchExp
105+
* ${x}CommandBufferAppendUSMAdviseExp
104106

105107
It is planned to eventually support any command type from the Core API which can
106108
actually be appended to the equiavalent adapter native constructs.
@@ -178,6 +180,8 @@ Enums
178180
* ${X}_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_WRITE_EXP
179181
* ${X}_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_WRITE_RECT_EXP
180182
* ${X}_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_FILL_EXP
183+
* ${X}_FUNCTION_COMMAND_BUFFER_APPEND_USM_PREFETCH_EXP
184+
* ${X}_FUNCTION_COMMAND_BUFFER_APPEND_USM_ADVISE_EXP
181185

182186

183187

@@ -204,6 +208,8 @@ Functions
204208
* ${x}CommandBufferAppendMemBufferWriteExp
205209
* ${x}CommandBufferAppendMemBufferWriteRectExp
206210
* ${x}CommandBufferAppendMemBufferFillExp
211+
* ${x}CommandBufferAppendUSMPrefetchExp
212+
* ${x}CommandBufferAppendUSMAdviseExp
207213
* ${x}CommandBufferEnqueueExp
208214

209215
Changelog
@@ -218,6 +224,9 @@ Changelog
218224
+-----------+-------------------------------------------------------+
219225
| 1.2 | Add function definitions for fill commands |
220226
+-----------+-------------------------------------------------------+
227+
| 1.3 | Add function definitions for Prefetch and Advise |
228+
| | commands |
229+
+-----------+-------------------------------------------------------+
221230

222231
Contributors
223232
--------------------------------------------------------------------------------

scripts/core/exp-command-buffer.yml

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,90 @@ returns:
588588
- $X_RESULT_ERROR_OUT_OF_RESOURCES
589589
--- #--------------------------------------------------------------------------
590590
type: function
591+
desc: "Append a USM Prefetch command to a command-buffer object"
592+
class: $xCommandBuffer
593+
name: AppendUSMPrefetchExp
594+
details:
595+
- "Prefetching may not be supported for all devices or allocation types. If memory prefetching
596+
is not supported, the prefetch hint will be ignored."
597+
params:
598+
- type: $x_exp_command_buffer_handle_t
599+
name: hCommandBuffer
600+
desc: "[in] handle of the command-buffer object."
601+
- type: "const void*"
602+
name: pMemory
603+
desc: "[in] pointer to USM allocated memory to prefetch."
604+
- type: "size_t"
605+
name: size
606+
desc: "[in] size in bytes to be fetched."
607+
- type: $x_usm_migration_flags_t
608+
name: flags
609+
desc: "[in] USM prefetch flags"
610+
- type: uint32_t
611+
name: numSyncPointsInWaitList
612+
desc: "[in] The number of sync points in the provided dependency list."
613+
- type: "const $x_exp_command_buffer_sync_point_t*"
614+
name: pSyncPointWaitList
615+
desc: "[in][optional] A list of sync points that this command depends on."
616+
- type: "$x_exp_command_buffer_sync_point_t*"
617+
name: pSyncPoint
618+
desc: "[out][optional] sync point associated with this command."
619+
returns:
620+
- $X_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP
621+
- $X_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_EXP
622+
- $X_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_WAIT_LIST_EXP:
623+
- "`pSyncPointWaitList == NULL && numSyncPointsInWaitList > 0`"
624+
- "`pSyncPointWaitList != NULL && numSyncPointsInWaitList == 0`"
625+
- $X_RESULT_ERROR_INVALID_MEM_OBJECT
626+
- $X_RESULT_ERROR_INVALID_SIZE:
627+
- "`size == 0`"
628+
- "If `size` is higher than the allocation size of `pMemory`"
629+
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
630+
- $X_RESULT_ERROR_OUT_OF_RESOURCES
631+
--- #--------------------------------------------------------------------------
632+
type: function
633+
desc: "Append a USM Advise command to a command-buffer object"
634+
class: $xCommandBuffer
635+
name: AppendUSMAdviseExp
636+
details:
637+
- "Not all memory advice hints may be supported for all devices or allocation types.
638+
If a memory advice hint is not supported, it will be ignored."
639+
params:
640+
- type: $x_exp_command_buffer_handle_t
641+
name: hCommandBuffer
642+
desc: "[in] handle of the command-buffer object."
643+
- type: "const void*"
644+
name: pMemory
645+
desc: "[in] pointer to the USM memory object."
646+
- type: "size_t"
647+
name: size
648+
desc: "[in] size in bytes to be advised."
649+
- type: $x_usm_advice_flags_t
650+
name: advice
651+
desc: "[in] USM memory advice"
652+
- type: uint32_t
653+
name: numSyncPointsInWaitList
654+
desc: "[in] The number of sync points in the provided dependency list."
655+
- type: "const $x_exp_command_buffer_sync_point_t*"
656+
name: pSyncPointWaitList
657+
desc: "[in][optional] A list of sync points that this command depends on."
658+
- type: "$x_exp_command_buffer_sync_point_t*"
659+
name: pSyncPoint
660+
desc: "[out][optional] sync point associated with this command."
661+
returns:
662+
- $X_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP
663+
- $X_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_EXP
664+
- $X_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_WAIT_LIST_EXP:
665+
- "`pSyncPointWaitList == NULL && numSyncPointsInWaitList > 0`"
666+
- "`pSyncPointWaitList != NULL && numSyncPointsInWaitList == 0`"
667+
- $X_RESULT_ERROR_INVALID_MEM_OBJECT
668+
- $X_RESULT_ERROR_INVALID_SIZE:
669+
- "`size == 0`"
670+
- "If `size` is higher than the allocation size of `pMemory`"
671+
- $X_RESULT_ERROR_OUT_OF_HOST_MEMORY
672+
- $X_RESULT_ERROR_OUT_OF_RESOURCES
673+
--- #--------------------------------------------------------------------------
674+
type: function
591675
desc: "Submit a command-buffer for execution on a queue."
592676
class: $xCommandBuffer
593677
name: EnqueueExp

scripts/core/registry.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -541,6 +541,12 @@ etors:
541541
- name: KERNEL_SUGGEST_MAX_COOPERATIVE_GROUP_COUNT_EXP
542542
desc: Enumerator for $xKernelSuggestMaxCooperativeGroupCountExp
543543
value: '194'
544+
- name: COMMAND_BUFFER_APPEND_USM_PREFETCH_EXP
545+
desc: Enumerator for $xCommandBufferAppendUSMPrefetchExp
546+
value: '195'
547+
- name: COMMAND_BUFFER_APPEND_USM_ADVISE_EXP
548+
desc: Enumerator for $xCommandBufferAppendUSMAdviseExp
549+
value: '196'
544550
---
545551
type: enum
546552
desc: Defines structure types

0 commit comments

Comments
 (0)