feature: default mode for zexCounterBasedEventCreate2
Related-To: NEO-11925 Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
parent
71c6bfc439
commit
c02e025e8f
|
@ -170,8 +170,8 @@ typedef struct _zex_ipc_counter_based_event_handle_t {
|
|||
/// @brief Supported event flags for defining counter-based event
|
||||
typedef uint32_t zex_counter_based_event_exp_flags_t;
|
||||
typedef enum _zex_counter_based_event_exp_flag_t {
|
||||
ZEX_COUNTER_BASED_EVENT_FLAG_IMMEDIATE = ZE_BIT(0), ///< Counter-based event is used for immediate command lists. Immediate and/or Non-immediate mode must be set
|
||||
ZEX_COUNTER_BASED_EVENT_FLAG_NON_IMMEDIATE = ZE_BIT(1), ///< Counter-based event is used for non-immediate command lists. Immediate and/or Non-immediate mode must be set
|
||||
ZEX_COUNTER_BASED_EVENT_FLAG_IMMEDIATE = ZE_BIT(0), ///< Counter-based event is used for immediate command lists (default)
|
||||
ZEX_COUNTER_BASED_EVENT_FLAG_NON_IMMEDIATE = ZE_BIT(1), ///< Counter-based event is used for non-immediate command lists
|
||||
ZEX_COUNTER_BASED_EVENT_FLAG_HOST_VISIBLE = ZE_BIT(2), ///< Signals and waits are also visible to host
|
||||
ZEX_COUNTER_BASED_EVENT_FLAG_IPC = ZE_BIT(3), ///< Event can be shared across processes for waiting
|
||||
ZEX_COUNTER_BASED_EVENT_FLAG_KERNEL_TIMESTAMP = ZE_BIT(4), ///< Event contains kernel timestamps
|
||||
|
@ -184,7 +184,8 @@ typedef enum _zex_counter_based_event_exp_flag_t {
|
|||
typedef struct _zex_counter_based_event_desc_t {
|
||||
ze_structure_type_t stype; ///< [in] type of this structure
|
||||
const void *pNext; ///< [in][optional] must be null or a pointer to an extension-specific
|
||||
zex_counter_based_event_exp_flags_t flags; ///< [in] counter based event flags
|
||||
zex_counter_based_event_exp_flags_t flags; ///< [in] counter based event flags.
|
||||
///< Must be 0 (default) or a valid combination of ::ZEX_COUNTER_BASED_EVENT_FLAG_IMMEDIATE and/or ::ZEX_COUNTER_BASED_EVENT_FLAG_NON_IMMEDIATE
|
||||
ze_event_scope_flags_t signalScope; ///< [in] defines the scope of relevant cache hierarchies to flush on a
|
||||
///< signal action before the event is triggered.
|
||||
///< must be 0 (default) or a valid combination of ::ze_event_scope_flag_t;
|
||||
|
|
|
@ -45,7 +45,7 @@ zexEventGetDeviceAddress(ze_event_handle_t event, uint64_t *completionValue, uin
|
|||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL
|
||||
zexCounterBasedEventCreate2(ze_context_handle_t hContext, ze_device_handle_t hDevice, const zex_counter_based_event_desc_t *desc, ze_event_handle_t *phEvent) {
|
||||
constexpr uint32_t counterBasedFlags = (ZEX_COUNTER_BASED_EVENT_FLAG_IMMEDIATE | ZEX_COUNTER_BASED_EVENT_FLAG_NON_IMMEDIATE);
|
||||
constexpr uint32_t supportedBasedFlags = (ZEX_COUNTER_BASED_EVENT_FLAG_IMMEDIATE | ZEX_COUNTER_BASED_EVENT_FLAG_NON_IMMEDIATE);
|
||||
|
||||
auto device = Device::fromHandle(toInternalType(hDevice));
|
||||
|
||||
|
@ -57,6 +57,11 @@ zexCounterBasedEventCreate2(ze_context_handle_t hContext, ze_device_handle_t hDe
|
|||
const bool timestampFlag = !!(desc->flags & ZEX_COUNTER_BASED_EVENT_FLAG_KERNEL_TIMESTAMP);
|
||||
const bool mappedTimestampFlag = !!(desc->flags & ZEX_COUNTER_BASED_EVENT_FLAG_KERNEL_MAPPED_TIMESTAMP);
|
||||
|
||||
uint32_t inputCbFlags = desc->flags & supportedBasedFlags;
|
||||
if (inputCbFlags == 0) {
|
||||
inputCbFlags = ZEX_COUNTER_BASED_EVENT_FLAG_IMMEDIATE;
|
||||
}
|
||||
|
||||
if (ipcFlag && (timestampFlag || mappedTimestampFlag)) {
|
||||
return ZE_RESULT_ERROR_INVALID_ARGUMENT;
|
||||
}
|
||||
|
@ -67,7 +72,7 @@ zexCounterBasedEventCreate2(ze_context_handle_t hContext, ze_device_handle_t hDe
|
|||
0, // totalEventSize
|
||||
EventPacketsCount::maxKernelSplit, // maxKernelCount
|
||||
0, // maxPacketsCount
|
||||
desc->flags & counterBasedFlags, // counterBasedFlags
|
||||
inputCbFlags, // counterBasedFlags
|
||||
0, // index
|
||||
desc->signalScope, // signalScope
|
||||
desc->waitScope, // waitScope
|
||||
|
|
|
@ -4784,7 +4784,7 @@ HWTEST2_F(InOrderCmdListTests, givenCorrectInputParamsWhenCreatingCbEvent2ThenRe
|
|||
|
||||
HWTEST_F(InOrderCmdListTests, givenTimestmapEnabledWhenCreatingStandaloneCbEventThenSetCorrectPacketSize) {
|
||||
zex_counter_based_event_desc_t counterBasedDesc = {ZEX_STRUCTURE_COUTER_BASED_EVENT_DESC}; // NOLINT(clang-analyzer-optin.core.EnumCastOutOfRange), NEO-12901
|
||||
counterBasedDesc.flags = ZEX_COUNTER_BASED_EVENT_FLAG_IMMEDIATE | ZEX_COUNTER_BASED_EVENT_FLAG_KERNEL_TIMESTAMP;
|
||||
counterBasedDesc.flags = ZEX_COUNTER_BASED_EVENT_FLAG_KERNEL_TIMESTAMP;
|
||||
|
||||
ze_event_handle_t handle = nullptr;
|
||||
|
||||
|
|
Loading…
Reference in New Issue