diff --git a/level_zero/include/ze_intel_gpu.h b/level_zero/include/ze_intel_gpu.h index 39cf05520c..6d69005ba6 100644 --- a/level_zero/include/ze_intel_gpu.h +++ b/level_zero/include/ze_intel_gpu.h @@ -136,6 +136,26 @@ typedef struct _zex_intel_event_sync_mode_exp_desc_t { uint32_t externalInterruptId; /// External interrupt id. Used only when ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_EXTERNAL_INTERRUPT_WAIT flag is set } zex_intel_event_sync_mode_exp_desc_t; +/////////////////////////////////////////////////////////////////////////////// +/// @brief Forward-declare zex_intel_queue_allocate_msix_hint_exp_desc_t +typedef struct _zex_intel_queue_allocate_msix_hint_exp_desc_t zex_intel_queue_allocate_msix_hint_exp_desc_t; + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Command queue descriptor for allocating unique msix. This structure may be +/// passed as pNext member of ::ze_command_queue_desc_t. + +typedef struct _zex_intel_queue_allocate_msix_hint_exp_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 + ///< structure (i.e. contains stype and pNext). + ze_bool_t uniqueMsix; ///< [in] If set, try to allocate unique msix for command queue. + ///< If not set, driver will follow default behaviour. It may share msix for signaling completion with other queues. + ///< Number of unique msixes may be limited. On unsuccessful allocation, queue or immediate cmd list creation API fallbacks to default behaviour. + +} zex_intel_queue_allocate_msix_hint_exp_desc_t; + +#define ZEX_INTEL_STRUCTURE_TYPE_QUEUE_ALLOCATE_MSIX_HINT_EXP_PROPERTIES (ze_structure_type_t)0x00030018 + #if defined(__cplusplus) } // extern "C" #endif