From 9dba608932ab8a953b9cf16a28912f9b2148c4d1 Mon Sep 17 00:00:00 2001 From: Jack Myers Date: Tue, 2 Jul 2024 07:21:08 +0000 Subject: [PATCH] refactor: collate ze_structure_type_t macros Collated all ze_structure_type_t `#define` macros into a single header. By doing so, all hex values associated with L0 extensions are in one file. The two new headers are included in the API headers shared among extension implementations, making the in-use hex values and types easy to find for extension developers. Related-To: NEO-11754 Signed-off-by: Jack Myers --- .../public/ze_bindless_image_exp.h | 7 +---- .../api/driver_experimental/public/zex_api.h | 1 + .../driver_experimental/public/zex_common.h | 7 ----- .../driver_experimental/public/zex_module.h | 2 -- level_zero/include/ze_intel_gpu.h | 15 ++-------- level_zero/include/ze_stypes.h | 29 +++++++++++++++++++ 6 files changed, 33 insertions(+), 28 deletions(-) create mode 100644 level_zero/include/ze_stypes.h diff --git a/level_zero/api/driver_experimental/public/ze_bindless_image_exp.h b/level_zero/api/driver_experimental/public/ze_bindless_image_exp.h index 4445dd5047..f3206cc4f4 100644 --- a/level_zero/api/driver_experimental/public/ze_bindless_image_exp.h +++ b/level_zero/api/driver_experimental/public/ze_bindless_image_exp.h @@ -11,6 +11,7 @@ #pragma once #endif +#include "level_zero/include/ze_stypes.h" #include #ifndef ZE_BINDLESS_IMAGE_EXP_NAME @@ -28,8 +29,6 @@ typedef enum _ze_image_bindless_exp_flags_t { ZE_IMAGE_BINDLESS_EXP_FLAG_FORCE_UINT32 = 0x7fffffff } ze_image_bindless_exp_flags_t; -#define ZE_STRUCTURE_TYPE_BINDLESS_IMAGE_EXP_DESC (ze_structure_type_t)0x0002001E - typedef struct _ze_image_bindless_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 @@ -39,8 +38,6 @@ typedef struct _ze_image_bindless_exp_desc_t { ///< default behavior bindless images are not used when creating handles via zeImageCreate. } ze_image_bindless_exp_desc_t; -#define ZE_STRUCTURE_TYPE_PITCHED_IMAGE_EXP_DESC (ze_structure_type_t)0x0002001F - typedef struct _ze_image_pitched_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 @@ -48,8 +45,6 @@ typedef struct _ze_image_pitched_exp_desc_t { void *ptr; ///< [in] pointer to pitched device allocation allocated using zeMemAllocDevice. } ze_image_pitched_exp_desc_t; -#define ZE_STRUCTURE_TYPE_PITCHED_ALLOC_DEVICE_EXP_PROPERTIES (ze_structure_type_t)0x0002001D - typedef struct _ze_device_pitched_alloc_exp_properties_t { ze_structure_type_t stype; ///< [in] type of this structure void *pNext; ///< [in,out][optional] must be null or a pointer to an extension-specific diff --git a/level_zero/api/driver_experimental/public/zex_api.h b/level_zero/api/driver_experimental/public/zex_api.h index 2b2428f1b6..1f1a8ac0b0 100644 --- a/level_zero/api/driver_experimental/public/zex_api.h +++ b/level_zero/api/driver_experimental/public/zex_api.h @@ -12,6 +12,7 @@ #endif // 'core' API headers +#include "level_zero/include/ze_stypes.h" #include // 'sysman' API headers #include diff --git a/level_zero/api/driver_experimental/public/zex_common.h b/level_zero/api/driver_experimental/public/zex_common.h index dbc2504a90..5836716545 100644 --- a/level_zero/api/driver_experimental/public/zex_common.h +++ b/level_zero/api/driver_experimental/public/zex_common.h @@ -95,8 +95,6 @@ typedef struct _ze_synchronized_dispatch_exp_desc_t { } ze_synchronized_dispatch_exp_desc_t; -#define ZE_STRUCTURE_TYPE_SYNCHRONIZED_DISPATCH_EXP_DESC (ze_structure_type_t)0x00020020 - /////////////////////////////////////////////////////////////////////////////// /// @brief Forward-declare ze_intel_media_communication_desc_t typedef struct _ze_intel_media_communication_desc_t ze_intel_media_communication_desc_t; @@ -125,9 +123,6 @@ typedef struct _ze_intel_media_doorbell_handle_desc_t { uint64_t doorbell; ///< [in,out] handle of the doorbell } ze_intel_media_doorbell_handle_desc_t; -#define ZE_STRUCTURE_TYPE_INTEL_MEDIA_COMMUNICATION_DESC (ze_structure_type_t)0x00020021 -#define ZE_STRUCTURE_TYPE_INTEL_MEDIA_DOORBELL_HANDLE_DESC (ze_structure_type_t)0x00020022 - /////////////////////////////////////////////////////////////////////////////// /// @brief Supported device media flags typedef uint32_t ze_intel_device_media_exp_flags_t; @@ -151,8 +146,6 @@ typedef struct _ze_intel_device_media_exp_properties_t { uint32_t numDecoderCores; ///< [out] number of decoder cores } ze_intel_device_media_exp_properties_t; -#define ZE_STRUCTURE_TYPE_INTEL_DEVICE_MEDIA_EXP_PROPERTIES (ze_structure_type_t)0x00020023 - #if defined(__cplusplus) } // extern "C" #endif diff --git a/level_zero/api/driver_experimental/public/zex_module.h b/level_zero/api/driver_experimental/public/zex_module.h index 3d0aeb3ef2..3b3e261ee7 100644 --- a/level_zero/api/driver_experimental/public/zex_module.h +++ b/level_zero/api/driver_experimental/public/zex_module.h @@ -23,7 +23,6 @@ zexKernelGetBaseAddress( /////////////////////////////////////////////////////////////////////////////// /// @brief General Register File descriptor. /// Must be passed to zeDeviceGetModuleProperties via pNext member of ze_device_module_properties_t. -#define ZEX_STRUCTURE_DEVICE_MODULE_REGISTER_FILE_EXP (ze_structure_type_t)0x00030010 typedef struct _zex_device_module_register_file_exp_t { ze_structure_type_t stype = ZEX_STRUCTURE_DEVICE_MODULE_REGISTER_FILE_EXP; ///< [in] type of this structure const void *pNext = nullptr; ///< [in, out][optional] pointer to extension-specific structure @@ -34,7 +33,6 @@ typedef struct _zex_device_module_register_file_exp_t { /////////////////////////////////////////////////////////////////////////////// /// @brief Kernel register file size information /// Must be passed to zeKernelGetProperties via pNext member of ze_kernel_properties_t -#define ZEX_STRUCTURE_KERNEL_REGISTER_FILE_SIZE_EXP (ze_structure_type_t)0x00030012 typedef struct _zex_kernel_register_file_size_exp_t { ze_structure_type_t stype = ZEX_STRUCTURE_KERNEL_REGISTER_FILE_SIZE_EXP; ///< [in] type of this structure const void *pNext = nullptr; ///< [in, out][optional] pointer to extension-specific structure diff --git a/level_zero/include/ze_intel_gpu.h b/level_zero/include/ze_intel_gpu.h index 92ce3b3192..07c1de741a 100644 --- a/level_zero/include/ze_intel_gpu.h +++ b/level_zero/include/ze_intel_gpu.h @@ -8,6 +8,7 @@ #ifndef _ZE_INTEL_GPU_H #define _ZE_INTEL_GPU_H +#include "level_zero/include/ze_stypes.h" #include #if defined(__cplusplus) @@ -45,8 +46,6 @@ typedef enum _ze_intel_device_module_dp_exp_flag_t { } ze_intel_device_module_dp_exp_flag_t; -/////////////////////////////////////////////////////////////////////////////// -#define ZE_STRUCTURE_INTEL_DEVICE_MODULE_DP_EXP_PROPERTIES (ze_structure_type_t)0x00030013 /////////////////////////////////////////////////////////////////////////////// /// @brief Device Module dot product properties queried using /// ::zeDeviceGetModuleProperties @@ -77,7 +76,6 @@ typedef enum _ze_intel_command_list_memory_sync_exp_version_t { #ifndef ZE_INTEL_STRUCTURE_TYPE_DEVICE_COMMAND_LIST_WAIT_ON_MEMORY_DATA_SIZE_EXP_DESC /// @brief stype for _ze_intel_device_command_list_wait_on_memory_data_size_exp_desc_t -#define ZE_INTEL_STRUCTURE_TYPE_DEVICE_COMMAND_LIST_WAIT_ON_MEMORY_DATA_SIZE_EXP_DESC (ze_structure_type_t)0x00030017 #endif /////////////////////////////////////////////////////////////////////////////// @@ -117,11 +115,6 @@ typedef enum _zex_intel_event_sync_mode_exp_flag_t { } zex_intel_event_sync_mode_exp_flag_t; -#ifndef ZEX_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC -/// @brief stype for _zex_intel_event_sync_mode_exp_flag_t -#define ZEX_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC (ze_structure_type_t)0x00030016 -#endif - /////////////////////////////////////////////////////////////////////////////// /// @brief Extended descriptor for event sync mode /// @@ -154,8 +147,6 @@ typedef struct _zex_intel_queue_allocate_msix_hint_exp_desc_t { } 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 - /////////////////////////////////////////////////////////////////////////////// /// @brief Command queue descriptor for enabling copy operations offload. This structure may be /// passed as pNext member of ::ze_command_queue_desc_t. @@ -175,8 +166,6 @@ typedef struct _zex_intel_queue_copy_operations_offload_hint_exp_desc_t { #define ZEX_INTEL_QUEUE_COPY_OPERATIONS_OFFLOAD_HINT_EXP_NAME "ZEX_intel_experimental_queue_copy_operations_offload_hint" #endif // ZEX_INTEL_QUEUE_COPY_OPERATIONS_OFFLOAD_HINT_EXP_NAME -#define ZEX_INTEL_STRUCTURE_TYPE_QUEUE_COPY_OPERATIONS_OFFLOAD_HINT_EXP_PROPERTIES (ze_structure_type_t)0x0003001B - /////////////////////////////////////////////////////////////////////////////// /// @brief Queue copy operations offload hint extension version(s) typedef enum _zex_intel_queue_copy_operations_offload_hint_exp_version_t { @@ -218,4 +207,4 @@ zeIntelGetDriverVersionString( } // extern "C" #endif -#endif // _ZE_INTEL_GPU_H \ No newline at end of file +#endif diff --git a/level_zero/include/ze_stypes.h b/level_zero/include/ze_stypes.h new file mode 100644 index 0000000000..f0eeaf6b93 --- /dev/null +++ b/level_zero/include/ze_stypes.h @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2024 Intel Corporation + * + * SPDX-License-Identifier: MIT + * + */ + +#ifndef _ZE_STYPES_H +#define _ZE_STYPES_H + +#include + +#define ZE_STRUCTURE_TYPE_PITCHED_ALLOC_DEVICE_EXP_PROPERTIES (ze_structure_type_t)0x0002001D +#define ZE_STRUCTURE_TYPE_BINDLESS_IMAGE_EXP_DESC (ze_structure_type_t)0x0002001E +#define ZE_STRUCTURE_TYPE_PITCHED_IMAGE_EXP_DESC (ze_structure_type_t)0x0002001F +#define ZE_STRUCTURE_TYPE_SYNCHRONIZED_DISPATCH_EXP_DESC (ze_structure_type_t)0x00020020 +#define ZE_STRUCTURE_TYPE_INTEL_MEDIA_COMMUNICATION_DESC (ze_structure_type_t)0x00020021 +#define ZE_STRUCTURE_TYPE_INTEL_MEDIA_DOORBELL_HANDLE_DESC (ze_structure_type_t)0x00020022 +#define ZE_STRUCTURE_TYPE_INTEL_DEVICE_MEDIA_EXP_PROPERTIES (ze_structure_type_t)0x00020023 +#define ZEX_STRUCTURE_DEVICE_MODULE_REGISTER_FILE_EXP (ze_structure_type_t)0x00030010 +#define ZEX_STRUCTURE_KERNEL_REGISTER_FILE_SIZE_EXP (ze_structure_type_t)0x00030012 +#define ZE_STRUCTURE_INTEL_DEVICE_MODULE_DP_EXP_PROPERTIES (ze_structure_type_t)0x00030013 +#define ZEX_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC (ze_structure_type_t)0x00030016 +#define ZE_INTEL_STRUCTURE_TYPE_DEVICE_COMMAND_LIST_WAIT_ON_MEMORY_DATA_SIZE_EXP_DESC (ze_structure_type_t)0x00030017 +#define ZEX_INTEL_STRUCTURE_TYPE_QUEUE_ALLOCATE_MSIX_HINT_EXP_PROPERTIES (ze_structure_type_t)0x00030018 +#define ZEX_INTEL_STRUCTURE_TYPE_QUEUE_COPY_OPERATIONS_OFFLOAD_HINT_EXP_PROPERTIES (ze_structure_type_t)0x00030019 +#define ZE_STRUCTURE_INTEL_DEVICE_MEMORY_CXL_EXP_PROPERTIES (ze_structure_type_t)0x00030019 + +#endif