diff --git a/source/common/ur_params.hpp b/include/ur_print.hpp similarity index 53% rename from source/common/ur_params.hpp rename to include/ur_print.hpp index 9d7779ea2d..6a47b955bc 100644 --- a/source/common/ur_params.hpp +++ b/include/ur_print.hpp @@ -6,1206 +6,869 @@ * See LICENSE.TXT * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception * - * @file ur_params.hpp + * @file ur_print.hpp + * @version v0.8-r0 * */ -#ifndef UR_PARAMS_HPP -#define UR_PARAMS_HPP 1 +#ifndef UR_PRINT_HPP +#define UR_PRINT_HPP 1 #include "ur_api.h" #include #include -namespace ur_params { -template struct is_handle : std::false_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; -template <> struct is_handle : std::true_type {}; +namespace ur { +namespace print { +namespace details { +template +struct is_handle : std::false_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; +template <> +struct is_handle : std::true_type {}; template <> struct is_handle : std::true_type {}; template <> struct is_handle : std::true_type {}; -template inline constexpr bool is_handle_v = is_handle::value; -template inline void serializePtr(std::ostream &os, const T *ptr); template -inline void serializeFlag(std::ostream &os, uint32_t flag); +inline constexpr bool is_handle_v = is_handle::value; +template +inline ur_result_t printPtr(std::ostream &os, const T *ptr); +template +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template -inline void serializeTagged(std::ostream &os, const void *ptr, T value, - size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, T value, size_t size); -inline void serializeStruct(std::ostream &os, const void *ptr); +inline ur_result_t printStruct(std::ostream &os, const void *ptr); template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_loader_config_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_loader_config_info_t value, size_t size); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_adapter_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_adapter_info_t value, size_t size); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_platform_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_platform_info_t value, size_t size); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_device_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_device_info_t value, size_t size); template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); -inline void serializeUnion(std::ostream &os, - const union ur_device_partition_value_t params, - const enum ur_device_partition_t tag); +inline ur_result_t printUnion( + std::ostream &os, + const union ur_device_partition_value_t params, + const enum ur_device_partition_t tag); template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void -serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeFlag(std::ostream &os, uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_context_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_context_info_t value, size_t size); template <> -inline void serializeFlag(std::ostream &os, uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_mem_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_mem_info_t value, size_t size); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_image_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_image_info_t value, size_t size); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_sampler_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_sampler_info_t value, size_t size); template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeFlag(std::ostream &os, uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_usm_alloc_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_usm_alloc_info_t value, size_t size); template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_usm_pool_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_usm_pool_info_t value, size_t size); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_virtual_mem_granularity_info_t value, - size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_virtual_mem_granularity_info_t value, size_t size); template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_virtual_mem_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_virtual_mem_info_t value, size_t size); template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); -inline void serializeUnion(std::ostream &os, - const union ur_program_metadata_value_t params, - const enum ur_program_metadata_type_t tag); +inline ur_result_t printUnion( + std::ostream &os, + const union ur_program_metadata_value_t params, + const enum ur_program_metadata_type_t tag); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_program_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_program_info_t value, size_t size); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_program_build_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_program_build_info_t value, size_t size); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_kernel_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_kernel_info_t value, size_t size); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_kernel_group_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_kernel_group_info_t value, size_t size); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_kernel_sub_group_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_kernel_sub_group_info_t value, size_t size); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_kernel_exec_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_kernel_exec_info_t value, size_t size); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_queue_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_queue_info_t value, size_t size); template <> -inline void serializeFlag(std::ostream &os, uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_event_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_event_info_t value, size_t size); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_profiling_info_t value, size_t size); +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_profiling_info_t value, size_t size); template <> -inline void serializeFlag(std::ostream &os, uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag); +inline ur_result_t printFlag(std::ostream &os, uint32_t flag); template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_exp_peer_info_t value, size_t size); - -} // namespace ur_params - -inline std::ostream &operator<<(std::ostream &os, enum ur_function_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_structure_type_t value); -inline std::ostream &operator<<(std::ostream &os, enum ur_result_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_base_properties_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_base_desc_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_rect_offset_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_rect_region_t params); -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_init_flag_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_loader_config_info_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_code_location_t params); -inline std::ostream &operator<<(std::ostream &os, enum ur_adapter_info_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_adapter_backend_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_platform_info_t value); -inline std::ostream &operator<<(std::ostream &os, enum ur_api_version_t value); -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_platform_native_properties_t params); -inline std::ostream &operator<<(std::ostream &os, - enum ur_platform_backend_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_device_binary_t params); -inline std::ostream &operator<<(std::ostream &os, enum ur_device_type_t value); -inline std::ostream &operator<<(std::ostream &os, enum ur_device_info_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_affinity_domain_flag_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_partition_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_device_partition_property_t params); -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_device_partition_properties_t params); -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_fp_capability_flag_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_mem_cache_type_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_local_mem_type_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_exec_capability_flag_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_device_native_properties_t params); -inline std::ostream &operator<<(std::ostream &os, - enum ur_memory_order_capability_flag_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_memory_scope_capability_flag_t value); -inline std::ostream & -operator<<(std::ostream &os, enum ur_device_usm_access_capability_flag_t value); -inline std::ostream &operator<<(std::ostream &os, enum ur_context_flag_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_context_properties_t params); -inline std::ostream &operator<<(std::ostream &os, enum ur_context_info_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_context_native_properties_t params); -inline std::ostream &operator<<(std::ostream &os, enum ur_mem_flag_t value); -inline std::ostream &operator<<(std::ostream &os, enum ur_mem_type_t value); -inline std::ostream &operator<<(std::ostream &os, enum ur_mem_info_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_image_channel_order_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_image_channel_type_t value); -inline std::ostream &operator<<(std::ostream &os, enum ur_image_info_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_image_format_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_image_desc_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_buffer_properties_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_buffer_channel_properties_t params); -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_buffer_alloc_location_properties_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_buffer_region_t params); -inline std::ostream &operator<<(std::ostream &os, - enum ur_buffer_create_type_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_mem_native_properties_t params); -inline std::ostream &operator<<(std::ostream &os, - enum ur_sampler_filter_mode_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_sampler_addressing_mode_t value); -inline std::ostream &operator<<(std::ostream &os, enum ur_sampler_info_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_sampler_desc_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_sampler_native_properties_t params); -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_host_mem_flag_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_device_mem_flag_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_pool_flag_t value); -inline std::ostream &operator<<(std::ostream &os, enum ur_usm_type_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_alloc_info_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_advice_flag_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_desc_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_host_desc_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_device_desc_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_pool_desc_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_pool_limits_desc_t params); -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_pool_info_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_virtual_mem_granularity_info_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_virtual_mem_access_flag_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_virtual_mem_info_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_physical_mem_flag_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_physical_mem_properties_t params); -inline std::ostream &operator<<(std::ostream &os, - enum ur_program_metadata_type_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_program_metadata_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_program_properties_t params); -inline std::ostream &operator<<(std::ostream &os, enum ur_program_info_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_program_build_status_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_program_binary_type_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_program_build_info_t value); -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_specialization_constant_info_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_program_native_properties_t params); -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_arg_value_properties_t params); -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_arg_local_properties_t params); -inline std::ostream &operator<<(std::ostream &os, enum ur_kernel_info_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_kernel_group_info_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_kernel_sub_group_info_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_kernel_cache_config_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_kernel_exec_info_t value); -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_arg_pointer_properties_t params); -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_exec_info_properties_t params); -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_arg_sampler_properties_t params); -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_arg_mem_obj_properties_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_kernel_native_properties_t params); -inline std::ostream &operator<<(std::ostream &os, enum ur_queue_info_t value); -inline std::ostream &operator<<(std::ostream &os, enum ur_queue_flag_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_queue_properties_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_queue_index_properties_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_queue_native_desc_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_queue_native_properties_t params); -inline std::ostream &operator<<(std::ostream &os, enum ur_command_t value); -inline std::ostream &operator<<(std::ostream &os, enum ur_event_status_t value); -inline std::ostream &operator<<(std::ostream &os, enum ur_event_info_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_profiling_info_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_event_native_properties_t params); -inline std::ostream &operator<<(std::ostream &os, - enum ur_execution_info_t value); -inline std::ostream &operator<<(std::ostream &os, enum ur_map_flag_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_migration_flag_t value); -inline std::ostream &operator<<(std::ostream &os, - enum ur_exp_image_copy_flag_t value); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_exp_file_descriptor_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_exp_win32_handle_t params); -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_exp_sampler_mip_properties_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_exp_sampler_addr_modes_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_exp_interop_mem_desc_t params); -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_exp_interop_semaphore_desc_t params); -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_exp_layered_image_properties_t params); -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_exp_command_buffer_desc_t params); -inline std::ostream &operator<<(std::ostream &os, - enum ur_exp_peer_info_t value); - -inline std::ostream &operator<<(std::ostream &os, enum ur_function_t value) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_exp_peer_info_t value, size_t size); + +} // namespace details + +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_function_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_structure_type_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_result_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_base_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_base_desc_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_rect_offset_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_rect_region_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_device_init_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_loader_config_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_code_location_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_adapter_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_adapter_backend_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_platform_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_api_version_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_platform_native_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_platform_backend_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_device_binary_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_device_type_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_device_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_device_affinity_domain_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_device_partition_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_device_partition_property_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_device_partition_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_device_fp_capability_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_device_mem_cache_type_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_device_local_mem_type_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_device_exec_capability_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_device_native_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_memory_order_capability_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_memory_scope_capability_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_device_usm_access_capability_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_context_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_context_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_context_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_context_native_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_mem_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_mem_type_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_mem_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_image_channel_order_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_image_channel_type_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_image_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_image_format_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_image_desc_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_buffer_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_buffer_channel_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_buffer_alloc_location_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_buffer_region_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_buffer_create_type_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_mem_native_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_sampler_filter_mode_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_sampler_addressing_mode_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_sampler_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_sampler_desc_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_sampler_native_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_usm_host_mem_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_usm_device_mem_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_usm_pool_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_usm_type_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_usm_alloc_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_usm_advice_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_desc_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_host_desc_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_device_desc_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_pool_desc_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_pool_limits_desc_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_usm_pool_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_virtual_mem_granularity_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_virtual_mem_access_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_virtual_mem_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_physical_mem_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_physical_mem_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_program_metadata_type_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_metadata_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_program_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_program_build_status_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_program_binary_type_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_program_build_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_specialization_constant_info_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_native_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_arg_value_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_arg_local_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_kernel_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_kernel_group_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_kernel_sub_group_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_kernel_cache_config_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_kernel_exec_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_arg_pointer_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_exec_info_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_arg_sampler_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_arg_mem_obj_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_native_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_queue_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_queue_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_queue_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_queue_index_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_queue_native_desc_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_queue_native_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_command_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_event_status_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_event_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_profiling_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_event_native_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_execution_info_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_map_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_usm_migration_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_exp_image_copy_flag_t value); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_file_descriptor_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_win32_handle_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_sampler_mip_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_sampler_addr_modes_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_interop_mem_desc_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_interop_semaphore_desc_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_layered_image_properties_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_exp_command_buffer_desc_t params); +UR_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ur_exp_peer_info_t value); + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_function_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_function_t value) { switch (value) { - case UR_FUNCTION_CONTEXT_CREATE: os << "UR_FUNCTION_CONTEXT_CREATE"; break; - case UR_FUNCTION_CONTEXT_RETAIN: os << "UR_FUNCTION_CONTEXT_RETAIN"; break; - case UR_FUNCTION_CONTEXT_RELEASE: os << "UR_FUNCTION_CONTEXT_RELEASE"; break; - case UR_FUNCTION_CONTEXT_GET_INFO: os << "UR_FUNCTION_CONTEXT_GET_INFO"; break; - case UR_FUNCTION_CONTEXT_GET_NATIVE_HANDLE: os << "UR_FUNCTION_CONTEXT_GET_NATIVE_HANDLE"; break; - case UR_FUNCTION_CONTEXT_CREATE_WITH_NATIVE_HANDLE: os << "UR_FUNCTION_CONTEXT_CREATE_WITH_NATIVE_HANDLE"; break; - case UR_FUNCTION_CONTEXT_SET_EXTENDED_DELETER: os << "UR_FUNCTION_CONTEXT_SET_EXTENDED_DELETER"; break; - case UR_FUNCTION_DEVICE_GET: os << "UR_FUNCTION_DEVICE_GET"; break; - case UR_FUNCTION_DEVICE_GET_INFO: os << "UR_FUNCTION_DEVICE_GET_INFO"; break; - case UR_FUNCTION_DEVICE_RETAIN: os << "UR_FUNCTION_DEVICE_RETAIN"; break; - case UR_FUNCTION_DEVICE_RELEASE: os << "UR_FUNCTION_DEVICE_RELEASE"; break; - case UR_FUNCTION_DEVICE_PARTITION: os << "UR_FUNCTION_DEVICE_PARTITION"; break; - case UR_FUNCTION_DEVICE_SELECT_BINARY: os << "UR_FUNCTION_DEVICE_SELECT_BINARY"; break; - case UR_FUNCTION_DEVICE_GET_NATIVE_HANDLE: os << "UR_FUNCTION_DEVICE_GET_NATIVE_HANDLE"; break; - case UR_FUNCTION_DEVICE_CREATE_WITH_NATIVE_HANDLE: os << "UR_FUNCTION_DEVICE_CREATE_WITH_NATIVE_HANDLE"; break; - case UR_FUNCTION_DEVICE_GET_GLOBAL_TIMESTAMPS: os << "UR_FUNCTION_DEVICE_GET_GLOBAL_TIMESTAMPS"; break; - case UR_FUNCTION_ENQUEUE_KERNEL_LAUNCH: os << "UR_FUNCTION_ENQUEUE_KERNEL_LAUNCH"; break; - case UR_FUNCTION_ENQUEUE_EVENTS_WAIT: os << "UR_FUNCTION_ENQUEUE_EVENTS_WAIT"; break; - case UR_FUNCTION_ENQUEUE_EVENTS_WAIT_WITH_BARRIER: os << "UR_FUNCTION_ENQUEUE_EVENTS_WAIT_WITH_BARRIER"; break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_READ: os << "UR_FUNCTION_ENQUEUE_MEM_BUFFER_READ"; break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_WRITE: os << "UR_FUNCTION_ENQUEUE_MEM_BUFFER_WRITE"; break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_READ_RECT: os << "UR_FUNCTION_ENQUEUE_MEM_BUFFER_READ_RECT"; break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_WRITE_RECT: os << "UR_FUNCTION_ENQUEUE_MEM_BUFFER_WRITE_RECT"; break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_COPY: os << "UR_FUNCTION_ENQUEUE_MEM_BUFFER_COPY"; break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_COPY_RECT: os << "UR_FUNCTION_ENQUEUE_MEM_BUFFER_COPY_RECT"; break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_FILL: os << "UR_FUNCTION_ENQUEUE_MEM_BUFFER_FILL"; break; - case UR_FUNCTION_ENQUEUE_MEM_IMAGE_READ: os << "UR_FUNCTION_ENQUEUE_MEM_IMAGE_READ"; break; - case UR_FUNCTION_ENQUEUE_MEM_IMAGE_WRITE: os << "UR_FUNCTION_ENQUEUE_MEM_IMAGE_WRITE"; break; - case UR_FUNCTION_ENQUEUE_MEM_IMAGE_COPY: os << "UR_FUNCTION_ENQUEUE_MEM_IMAGE_COPY"; break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_MAP: os << "UR_FUNCTION_ENQUEUE_MEM_BUFFER_MAP"; break; - case UR_FUNCTION_ENQUEUE_MEM_UNMAP: os << "UR_FUNCTION_ENQUEUE_MEM_UNMAP"; break; - case UR_FUNCTION_ENQUEUE_USM_FILL: os << "UR_FUNCTION_ENQUEUE_USM_FILL"; break; - case UR_FUNCTION_ENQUEUE_USM_MEMCPY: os << "UR_FUNCTION_ENQUEUE_USM_MEMCPY"; break; - case UR_FUNCTION_ENQUEUE_USM_PREFETCH: os << "UR_FUNCTION_ENQUEUE_USM_PREFETCH"; break; - case UR_FUNCTION_ENQUEUE_USM_ADVISE: os << "UR_FUNCTION_ENQUEUE_USM_ADVISE"; break; - case UR_FUNCTION_ENQUEUE_DEVICE_GLOBAL_VARIABLE_WRITE: os << "UR_FUNCTION_ENQUEUE_DEVICE_GLOBAL_VARIABLE_WRITE"; break; - case UR_FUNCTION_ENQUEUE_DEVICE_GLOBAL_VARIABLE_READ: os << "UR_FUNCTION_ENQUEUE_DEVICE_GLOBAL_VARIABLE_READ"; break; - case UR_FUNCTION_EVENT_GET_INFO: os << "UR_FUNCTION_EVENT_GET_INFO"; break; - case UR_FUNCTION_EVENT_GET_PROFILING_INFO: os << "UR_FUNCTION_EVENT_GET_PROFILING_INFO"; break; - case UR_FUNCTION_EVENT_WAIT: os << "UR_FUNCTION_EVENT_WAIT"; break; - case UR_FUNCTION_EVENT_RETAIN: os << "UR_FUNCTION_EVENT_RETAIN"; break; - case UR_FUNCTION_EVENT_RELEASE: os << "UR_FUNCTION_EVENT_RELEASE"; break; - case UR_FUNCTION_EVENT_GET_NATIVE_HANDLE: os << "UR_FUNCTION_EVENT_GET_NATIVE_HANDLE"; break; - case UR_FUNCTION_EVENT_CREATE_WITH_NATIVE_HANDLE: os << "UR_FUNCTION_EVENT_CREATE_WITH_NATIVE_HANDLE"; break; - case UR_FUNCTION_EVENT_SET_CALLBACK: os << "UR_FUNCTION_EVENT_SET_CALLBACK"; break; - case UR_FUNCTION_KERNEL_CREATE: os << "UR_FUNCTION_KERNEL_CREATE"; break; - case UR_FUNCTION_KERNEL_SET_ARG_VALUE: os << "UR_FUNCTION_KERNEL_SET_ARG_VALUE"; break; - case UR_FUNCTION_KERNEL_SET_ARG_LOCAL: os << "UR_FUNCTION_KERNEL_SET_ARG_LOCAL"; break; - case UR_FUNCTION_KERNEL_GET_INFO: os << "UR_FUNCTION_KERNEL_GET_INFO"; break; - case UR_FUNCTION_KERNEL_GET_GROUP_INFO: os << "UR_FUNCTION_KERNEL_GET_GROUP_INFO"; break; - case UR_FUNCTION_KERNEL_GET_SUB_GROUP_INFO: os << "UR_FUNCTION_KERNEL_GET_SUB_GROUP_INFO"; break; - case UR_FUNCTION_KERNEL_RETAIN: os << "UR_FUNCTION_KERNEL_RETAIN"; break; - case UR_FUNCTION_KERNEL_RELEASE: os << "UR_FUNCTION_KERNEL_RELEASE"; break; - case UR_FUNCTION_KERNEL_SET_ARG_POINTER: os << "UR_FUNCTION_KERNEL_SET_ARG_POINTER"; break; - case UR_FUNCTION_KERNEL_SET_EXEC_INFO: os << "UR_FUNCTION_KERNEL_SET_EXEC_INFO"; break; - case UR_FUNCTION_KERNEL_SET_ARG_SAMPLER: os << "UR_FUNCTION_KERNEL_SET_ARG_SAMPLER"; break; - case UR_FUNCTION_KERNEL_SET_ARG_MEM_OBJ: os << "UR_FUNCTION_KERNEL_SET_ARG_MEM_OBJ"; break; - case UR_FUNCTION_KERNEL_SET_SPECIALIZATION_CONSTANTS: os << "UR_FUNCTION_KERNEL_SET_SPECIALIZATION_CONSTANTS"; break; - case UR_FUNCTION_KERNEL_GET_NATIVE_HANDLE: os << "UR_FUNCTION_KERNEL_GET_NATIVE_HANDLE"; break; - case UR_FUNCTION_KERNEL_CREATE_WITH_NATIVE_HANDLE: os << "UR_FUNCTION_KERNEL_CREATE_WITH_NATIVE_HANDLE"; break; - case UR_FUNCTION_MEM_IMAGE_CREATE: os << "UR_FUNCTION_MEM_IMAGE_CREATE"; break; - case UR_FUNCTION_MEM_BUFFER_CREATE: os << "UR_FUNCTION_MEM_BUFFER_CREATE"; break; - case UR_FUNCTION_MEM_RETAIN: os << "UR_FUNCTION_MEM_RETAIN"; break; - case UR_FUNCTION_MEM_RELEASE: os << "UR_FUNCTION_MEM_RELEASE"; break; - case UR_FUNCTION_MEM_BUFFER_PARTITION: os << "UR_FUNCTION_MEM_BUFFER_PARTITION"; break; - case UR_FUNCTION_MEM_GET_NATIVE_HANDLE: os << "UR_FUNCTION_MEM_GET_NATIVE_HANDLE"; break; - case UR_FUNCTION_ENQUEUE_READ_HOST_PIPE: os << "UR_FUNCTION_ENQUEUE_READ_HOST_PIPE"; break; - case UR_FUNCTION_MEM_GET_INFO: os << "UR_FUNCTION_MEM_GET_INFO"; break; - case UR_FUNCTION_MEM_IMAGE_GET_INFO: os << "UR_FUNCTION_MEM_IMAGE_GET_INFO"; break; - case UR_FUNCTION_PLATFORM_GET: os << "UR_FUNCTION_PLATFORM_GET"; break; - case UR_FUNCTION_PLATFORM_GET_INFO: os << "UR_FUNCTION_PLATFORM_GET_INFO"; break; - case UR_FUNCTION_PLATFORM_GET_API_VERSION: os << "UR_FUNCTION_PLATFORM_GET_API_VERSION"; break; - case UR_FUNCTION_PLATFORM_GET_NATIVE_HANDLE: os << "UR_FUNCTION_PLATFORM_GET_NATIVE_HANDLE"; break; - case UR_FUNCTION_PLATFORM_CREATE_WITH_NATIVE_HANDLE: os << "UR_FUNCTION_PLATFORM_CREATE_WITH_NATIVE_HANDLE"; break; - case UR_FUNCTION_PROGRAM_CREATE_WITH_IL: os << "UR_FUNCTION_PROGRAM_CREATE_WITH_IL"; break; - case UR_FUNCTION_PROGRAM_CREATE_WITH_BINARY: os << "UR_FUNCTION_PROGRAM_CREATE_WITH_BINARY"; break; - case UR_FUNCTION_PROGRAM_BUILD: os << "UR_FUNCTION_PROGRAM_BUILD"; break; - case UR_FUNCTION_PROGRAM_COMPILE: os << "UR_FUNCTION_PROGRAM_COMPILE"; break; - case UR_FUNCTION_PROGRAM_LINK: os << "UR_FUNCTION_PROGRAM_LINK"; break; - case UR_FUNCTION_PROGRAM_RETAIN: os << "UR_FUNCTION_PROGRAM_RETAIN"; break; - case UR_FUNCTION_PROGRAM_RELEASE: os << "UR_FUNCTION_PROGRAM_RELEASE"; break; - case UR_FUNCTION_PROGRAM_GET_FUNCTION_POINTER: os << "UR_FUNCTION_PROGRAM_GET_FUNCTION_POINTER"; break; - case UR_FUNCTION_PROGRAM_GET_INFO: os << "UR_FUNCTION_PROGRAM_GET_INFO"; break; - case UR_FUNCTION_PROGRAM_GET_BUILD_INFO: os << "UR_FUNCTION_PROGRAM_GET_BUILD_INFO"; break; - case UR_FUNCTION_PROGRAM_SET_SPECIALIZATION_CONSTANTS: os << "UR_FUNCTION_PROGRAM_SET_SPECIALIZATION_CONSTANTS"; break; - case UR_FUNCTION_PROGRAM_GET_NATIVE_HANDLE: os << "UR_FUNCTION_PROGRAM_GET_NATIVE_HANDLE"; break; - case UR_FUNCTION_PROGRAM_CREATE_WITH_NATIVE_HANDLE: os << "UR_FUNCTION_PROGRAM_CREATE_WITH_NATIVE_HANDLE"; break; - case UR_FUNCTION_QUEUE_GET_INFO: os << "UR_FUNCTION_QUEUE_GET_INFO"; break; - case UR_FUNCTION_QUEUE_CREATE: os << "UR_FUNCTION_QUEUE_CREATE"; break; - case UR_FUNCTION_QUEUE_RETAIN: os << "UR_FUNCTION_QUEUE_RETAIN"; break; - case UR_FUNCTION_QUEUE_RELEASE: os << "UR_FUNCTION_QUEUE_RELEASE"; break; - case UR_FUNCTION_QUEUE_GET_NATIVE_HANDLE: os << "UR_FUNCTION_QUEUE_GET_NATIVE_HANDLE"; break; - case UR_FUNCTION_QUEUE_CREATE_WITH_NATIVE_HANDLE: os << "UR_FUNCTION_QUEUE_CREATE_WITH_NATIVE_HANDLE"; break; - case UR_FUNCTION_QUEUE_FINISH: os << "UR_FUNCTION_QUEUE_FINISH"; break; - case UR_FUNCTION_QUEUE_FLUSH: os << "UR_FUNCTION_QUEUE_FLUSH"; break; - case UR_FUNCTION_SAMPLER_CREATE: os << "UR_FUNCTION_SAMPLER_CREATE"; break; - case UR_FUNCTION_SAMPLER_RETAIN: os << "UR_FUNCTION_SAMPLER_RETAIN"; break; - case UR_FUNCTION_SAMPLER_RELEASE: os << "UR_FUNCTION_SAMPLER_RELEASE"; break; - case UR_FUNCTION_SAMPLER_GET_INFO: os << "UR_FUNCTION_SAMPLER_GET_INFO"; break; - case UR_FUNCTION_SAMPLER_GET_NATIVE_HANDLE: os << "UR_FUNCTION_SAMPLER_GET_NATIVE_HANDLE"; break; - case UR_FUNCTION_SAMPLER_CREATE_WITH_NATIVE_HANDLE: os << "UR_FUNCTION_SAMPLER_CREATE_WITH_NATIVE_HANDLE"; break; - case UR_FUNCTION_USM_HOST_ALLOC: os << "UR_FUNCTION_USM_HOST_ALLOC"; break; - case UR_FUNCTION_USM_DEVICE_ALLOC: os << "UR_FUNCTION_USM_DEVICE_ALLOC"; break; - case UR_FUNCTION_USM_SHARED_ALLOC: os << "UR_FUNCTION_USM_SHARED_ALLOC"; break; - case UR_FUNCTION_USM_FREE: os << "UR_FUNCTION_USM_FREE"; break; - case UR_FUNCTION_USM_GET_MEM_ALLOC_INFO: os << "UR_FUNCTION_USM_GET_MEM_ALLOC_INFO"; break; - case UR_FUNCTION_USM_POOL_CREATE: os << "UR_FUNCTION_USM_POOL_CREATE"; break; - case UR_FUNCTION_COMMAND_BUFFER_CREATE_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_CREATE_EXP"; break; - case UR_FUNCTION_PLATFORM_GET_BACKEND_OPTION: os << "UR_FUNCTION_PLATFORM_GET_BACKEND_OPTION"; break; - case UR_FUNCTION_MEM_BUFFER_CREATE_WITH_NATIVE_HANDLE: os << "UR_FUNCTION_MEM_BUFFER_CREATE_WITH_NATIVE_HANDLE"; break; - case UR_FUNCTION_MEM_IMAGE_CREATE_WITH_NATIVE_HANDLE: os << "UR_FUNCTION_MEM_IMAGE_CREATE_WITH_NATIVE_HANDLE"; break; - case UR_FUNCTION_ENQUEUE_WRITE_HOST_PIPE: os << "UR_FUNCTION_ENQUEUE_WRITE_HOST_PIPE"; break; - case UR_FUNCTION_USM_POOL_RETAIN: os << "UR_FUNCTION_USM_POOL_RETAIN"; break; - case UR_FUNCTION_USM_POOL_RELEASE: os << "UR_FUNCTION_USM_POOL_RELEASE"; break; - case UR_FUNCTION_USM_POOL_GET_INFO: os << "UR_FUNCTION_USM_POOL_GET_INFO"; break; - case UR_FUNCTION_COMMAND_BUFFER_RETAIN_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_RETAIN_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_RELEASE_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_RELEASE_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_FINALIZE_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_FINALIZE_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_KERNEL_LAUNCH_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_APPEND_KERNEL_LAUNCH_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_ENQUEUE_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_ENQUEUE_EXP"; break; - case UR_FUNCTION_USM_PITCHED_ALLOC_EXP: os << "UR_FUNCTION_USM_PITCHED_ALLOC_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_UNSAMPLED_IMAGE_HANDLE_DESTROY_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_UNSAMPLED_IMAGE_HANDLE_DESTROY_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_SAMPLED_IMAGE_HANDLE_DESTROY_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_SAMPLED_IMAGE_HANDLE_DESTROY_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_IMAGE_ALLOCATE_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_IMAGE_ALLOCATE_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_IMAGE_FREE_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_IMAGE_FREE_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_UNSAMPLED_IMAGE_CREATE_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_UNSAMPLED_IMAGE_CREATE_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_SAMPLED_IMAGE_CREATE_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_SAMPLED_IMAGE_CREATE_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_IMAGE_COPY_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_IMAGE_COPY_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_IMAGE_GET_INFO_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_IMAGE_GET_INFO_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_MIPMAP_GET_LEVEL_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_MIPMAP_GET_LEVEL_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_MIPMAP_FREE_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_MIPMAP_FREE_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_OPAQUE_FD_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_IMPORT_OPAQUE_FD_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_MAP_EXTERNAL_ARRAY_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_MAP_EXTERNAL_ARRAY_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_RELEASE_INTEROP_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_RELEASE_INTEROP_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_SEMAPHORE_OPAQUE_FD_EXP: - os << "UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_SEMAPHORE_OPAQUE_FD_" - "EXP"; + os << "UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_SEMAPHORE_OPAQUE_FD_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_DESTROY_EXTERNAL_SEMAPHORE_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_DESTROY_EXTERNAL_SEMAPHORE_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_WAIT_EXTERNAL_SEMAPHORE_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_WAIT_EXTERNAL_SEMAPHORE_EXP"; break; - case UR_FUNCTION_BINDLESS_IMAGES_SIGNAL_EXTERNAL_SEMAPHORE_EXP: os << "UR_FUNCTION_BINDLESS_IMAGES_SIGNAL_EXTERNAL_SEMAPHORE_EXP"; break; - case UR_FUNCTION_ENQUEUE_USM_FILL_2D: os << "UR_FUNCTION_ENQUEUE_USM_FILL_2D"; break; - case UR_FUNCTION_ENQUEUE_USM_MEMCPY_2D: os << "UR_FUNCTION_ENQUEUE_USM_MEMCPY_2D"; break; - case UR_FUNCTION_VIRTUAL_MEM_GRANULARITY_GET_INFO: os << "UR_FUNCTION_VIRTUAL_MEM_GRANULARITY_GET_INFO"; break; - case UR_FUNCTION_VIRTUAL_MEM_RESERVE: os << "UR_FUNCTION_VIRTUAL_MEM_RESERVE"; break; - case UR_FUNCTION_VIRTUAL_MEM_FREE: os << "UR_FUNCTION_VIRTUAL_MEM_FREE"; break; - case UR_FUNCTION_VIRTUAL_MEM_MAP: os << "UR_FUNCTION_VIRTUAL_MEM_MAP"; break; - case UR_FUNCTION_VIRTUAL_MEM_UNMAP: os << "UR_FUNCTION_VIRTUAL_MEM_UNMAP"; break; - case UR_FUNCTION_VIRTUAL_MEM_SET_ACCESS: os << "UR_FUNCTION_VIRTUAL_MEM_SET_ACCESS"; break; - case UR_FUNCTION_VIRTUAL_MEM_GET_INFO: os << "UR_FUNCTION_VIRTUAL_MEM_GET_INFO"; break; - case UR_FUNCTION_PHYSICAL_MEM_CREATE: os << "UR_FUNCTION_PHYSICAL_MEM_CREATE"; break; - case UR_FUNCTION_PHYSICAL_MEM_RETAIN: os << "UR_FUNCTION_PHYSICAL_MEM_RETAIN"; break; - case UR_FUNCTION_PHYSICAL_MEM_RELEASE: os << "UR_FUNCTION_PHYSICAL_MEM_RELEASE"; break; - case UR_FUNCTION_USM_IMPORT_EXP: os << "UR_FUNCTION_USM_IMPORT_EXP"; break; - case UR_FUNCTION_USM_RELEASE_EXP: os << "UR_FUNCTION_USM_RELEASE_EXP"; break; - case UR_FUNCTION_USM_P2P_ENABLE_PEER_ACCESS_EXP: os << "UR_FUNCTION_USM_P2P_ENABLE_PEER_ACCESS_EXP"; break; - case UR_FUNCTION_USM_P2P_DISABLE_PEER_ACCESS_EXP: os << "UR_FUNCTION_USM_P2P_DISABLE_PEER_ACCESS_EXP"; break; - case UR_FUNCTION_USM_P2P_PEER_ACCESS_GET_INFO_EXP: os << "UR_FUNCTION_USM_P2P_PEER_ACCESS_GET_INFO_EXP"; break; - case UR_FUNCTION_LOADER_CONFIG_CREATE: os << "UR_FUNCTION_LOADER_CONFIG_CREATE"; break; - case UR_FUNCTION_LOADER_CONFIG_RELEASE: os << "UR_FUNCTION_LOADER_CONFIG_RELEASE"; break; - case UR_FUNCTION_LOADER_CONFIG_RETAIN: os << "UR_FUNCTION_LOADER_CONFIG_RETAIN"; break; - case UR_FUNCTION_LOADER_CONFIG_GET_INFO: os << "UR_FUNCTION_LOADER_CONFIG_GET_INFO"; break; - case UR_FUNCTION_LOADER_CONFIG_ENABLE_LAYER: os << "UR_FUNCTION_LOADER_CONFIG_ENABLE_LAYER"; break; - case UR_FUNCTION_ADAPTER_RELEASE: os << "UR_FUNCTION_ADAPTER_RELEASE"; break; - case UR_FUNCTION_ADAPTER_GET: os << "UR_FUNCTION_ADAPTER_GET"; break; - case UR_FUNCTION_ADAPTER_RETAIN: os << "UR_FUNCTION_ADAPTER_RETAIN"; break; - case UR_FUNCTION_ADAPTER_GET_LAST_ERROR: os << "UR_FUNCTION_ADAPTER_GET_LAST_ERROR"; break; - case UR_FUNCTION_ADAPTER_GET_INFO: os << "UR_FUNCTION_ADAPTER_GET_INFO"; break; - case UR_FUNCTION_LOADER_INIT: os << "UR_FUNCTION_LOADER_INIT"; break; - case UR_FUNCTION_LOADER_TEAR_DOWN: os << "UR_FUNCTION_LOADER_TEAR_DOWN"; break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_MEMCPY_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_MEMCPY_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_FILL_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_FILL_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_COPY_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_COPY_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_WRITE_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_WRITE_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_READ_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_READ_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_COPY_RECT_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_COPY_RECT_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_WRITE_RECT_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_WRITE_RECT_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_READ_RECT_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_READ_RECT_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_FILL_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_FILL_EXP"; break; - case UR_FUNCTION_ENQUEUE_COOPERATIVE_KERNEL_LAUNCH_EXP: os << "UR_FUNCTION_ENQUEUE_COOPERATIVE_KERNEL_LAUNCH_EXP"; break; - case UR_FUNCTION_KERNEL_SUGGEST_MAX_COOPERATIVE_GROUP_COUNT_EXP: os << "UR_FUNCTION_KERNEL_SUGGEST_MAX_COOPERATIVE_GROUP_COUNT_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_PREFETCH_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_PREFETCH_EXP"; break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_ADVISE_EXP: os << "UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_ADVISE_EXP"; break; - case UR_FUNCTION_LOADER_CONFIG_SET_CODE_LOCATION_CALLBACK: os << "UR_FUNCTION_LOADER_CONFIG_SET_CODE_LOCATION_CALLBACK"; break; @@ -1215,174 +878,135 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_function_t value) { } return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_structure_type_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_structure_type_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_structure_type_t value) { switch (value) { - case UR_STRUCTURE_TYPE_CONTEXT_PROPERTIES: os << "UR_STRUCTURE_TYPE_CONTEXT_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_IMAGE_DESC: os << "UR_STRUCTURE_TYPE_IMAGE_DESC"; break; - case UR_STRUCTURE_TYPE_BUFFER_PROPERTIES: os << "UR_STRUCTURE_TYPE_BUFFER_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_BUFFER_REGION: os << "UR_STRUCTURE_TYPE_BUFFER_REGION"; break; - case UR_STRUCTURE_TYPE_BUFFER_CHANNEL_PROPERTIES: os << "UR_STRUCTURE_TYPE_BUFFER_CHANNEL_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_BUFFER_ALLOC_LOCATION_PROPERTIES: os << "UR_STRUCTURE_TYPE_BUFFER_ALLOC_LOCATION_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_PROGRAM_PROPERTIES: os << "UR_STRUCTURE_TYPE_PROGRAM_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_USM_DESC: os << "UR_STRUCTURE_TYPE_USM_DESC"; break; - case UR_STRUCTURE_TYPE_USM_HOST_DESC: os << "UR_STRUCTURE_TYPE_USM_HOST_DESC"; break; - case UR_STRUCTURE_TYPE_USM_DEVICE_DESC: os << "UR_STRUCTURE_TYPE_USM_DEVICE_DESC"; break; - case UR_STRUCTURE_TYPE_USM_POOL_DESC: os << "UR_STRUCTURE_TYPE_USM_POOL_DESC"; break; - case UR_STRUCTURE_TYPE_USM_POOL_LIMITS_DESC: os << "UR_STRUCTURE_TYPE_USM_POOL_LIMITS_DESC"; break; - case UR_STRUCTURE_TYPE_DEVICE_BINARY: os << "UR_STRUCTURE_TYPE_DEVICE_BINARY"; break; - case UR_STRUCTURE_TYPE_SAMPLER_DESC: os << "UR_STRUCTURE_TYPE_SAMPLER_DESC"; break; - case UR_STRUCTURE_TYPE_QUEUE_PROPERTIES: os << "UR_STRUCTURE_TYPE_QUEUE_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_QUEUE_INDEX_PROPERTIES: os << "UR_STRUCTURE_TYPE_QUEUE_INDEX_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_CONTEXT_NATIVE_PROPERTIES: os << "UR_STRUCTURE_TYPE_CONTEXT_NATIVE_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_KERNEL_NATIVE_PROPERTIES: os << "UR_STRUCTURE_TYPE_KERNEL_NATIVE_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_QUEUE_NATIVE_PROPERTIES: os << "UR_STRUCTURE_TYPE_QUEUE_NATIVE_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_MEM_NATIVE_PROPERTIES: os << "UR_STRUCTURE_TYPE_MEM_NATIVE_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_EVENT_NATIVE_PROPERTIES: os << "UR_STRUCTURE_TYPE_EVENT_NATIVE_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_PLATFORM_NATIVE_PROPERTIES: os << "UR_STRUCTURE_TYPE_PLATFORM_NATIVE_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_DEVICE_NATIVE_PROPERTIES: os << "UR_STRUCTURE_TYPE_DEVICE_NATIVE_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_PROGRAM_NATIVE_PROPERTIES: os << "UR_STRUCTURE_TYPE_PROGRAM_NATIVE_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_SAMPLER_NATIVE_PROPERTIES: os << "UR_STRUCTURE_TYPE_SAMPLER_NATIVE_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_QUEUE_NATIVE_DESC: os << "UR_STRUCTURE_TYPE_QUEUE_NATIVE_DESC"; break; - case UR_STRUCTURE_TYPE_DEVICE_PARTITION_PROPERTIES: os << "UR_STRUCTURE_TYPE_DEVICE_PARTITION_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_KERNEL_ARG_MEM_OBJ_PROPERTIES: os << "UR_STRUCTURE_TYPE_KERNEL_ARG_MEM_OBJ_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_PHYSICAL_MEM_PROPERTIES: os << "UR_STRUCTURE_TYPE_PHYSICAL_MEM_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_KERNEL_ARG_POINTER_PROPERTIES: os << "UR_STRUCTURE_TYPE_KERNEL_ARG_POINTER_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_KERNEL_ARG_SAMPLER_PROPERTIES: os << "UR_STRUCTURE_TYPE_KERNEL_ARG_SAMPLER_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_KERNEL_EXEC_INFO_PROPERTIES: os << "UR_STRUCTURE_TYPE_KERNEL_EXEC_INFO_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_KERNEL_ARG_VALUE_PROPERTIES: os << "UR_STRUCTURE_TYPE_KERNEL_ARG_VALUE_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_KERNEL_ARG_LOCAL_PROPERTIES: os << "UR_STRUCTURE_TYPE_KERNEL_ARG_LOCAL_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_DESC: os << "UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_DESC"; break; - case UR_STRUCTURE_TYPE_EXP_SAMPLER_MIP_PROPERTIES: os << "UR_STRUCTURE_TYPE_EXP_SAMPLER_MIP_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_EXP_INTEROP_MEM_DESC: os << "UR_STRUCTURE_TYPE_EXP_INTEROP_MEM_DESC"; break; - case UR_STRUCTURE_TYPE_EXP_INTEROP_SEMAPHORE_DESC: os << "UR_STRUCTURE_TYPE_EXP_INTEROP_SEMAPHORE_DESC"; break; - case UR_STRUCTURE_TYPE_EXP_FILE_DESCRIPTOR: os << "UR_STRUCTURE_TYPE_EXP_FILE_DESCRIPTOR"; break; - case UR_STRUCTURE_TYPE_EXP_WIN32_HANDLE: os << "UR_STRUCTURE_TYPE_EXP_WIN32_HANDLE"; break; - case UR_STRUCTURE_TYPE_EXP_LAYERED_IMAGE_PROPERTIES: os << "UR_STRUCTURE_TYPE_EXP_LAYERED_IMAGE_PROPERTIES"; break; - case UR_STRUCTURE_TYPE_EXP_SAMPLER_ADDR_MODES: os << "UR_STRUCTURE_TYPE_EXP_SAMPLER_ADDR_MODES"; break; @@ -1392,557 +1016,455 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { -inline void serializeStruct(std::ostream &os, const void *ptr) { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_structure_type_t struct +inline ur_result_t printStruct(std::ostream &os, const void *ptr) { if (ptr == NULL) { - ur_params::serializePtr(os, ptr); - return; + return printPtr(os, ptr); } - const enum ur_structure_type_t *value = - (const enum ur_structure_type_t *)ptr; + const enum ur_structure_type_t *value = (const enum ur_structure_type_t *)ptr; switch (*value) { case UR_STRUCTURE_TYPE_CONTEXT_PROPERTIES: { - const ur_context_properties_t *pstruct = - (const ur_context_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_context_properties_t *pstruct = (const ur_context_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_IMAGE_DESC: { const ur_image_desc_t *pstruct = (const ur_image_desc_t *)ptr; - ur_params::serializePtr(os, pstruct); + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_BUFFER_PROPERTIES: { - const ur_buffer_properties_t *pstruct = - (const ur_buffer_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_buffer_properties_t *pstruct = (const ur_buffer_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_BUFFER_REGION: { const ur_buffer_region_t *pstruct = (const ur_buffer_region_t *)ptr; - ur_params::serializePtr(os, pstruct); + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_BUFFER_CHANNEL_PROPERTIES: { - const ur_buffer_channel_properties_t *pstruct = - (const ur_buffer_channel_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_buffer_channel_properties_t *pstruct = (const ur_buffer_channel_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_BUFFER_ALLOC_LOCATION_PROPERTIES: { - const ur_buffer_alloc_location_properties_t *pstruct = - (const ur_buffer_alloc_location_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_buffer_alloc_location_properties_t *pstruct = (const ur_buffer_alloc_location_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_PROGRAM_PROPERTIES: { - const ur_program_properties_t *pstruct = - (const ur_program_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_program_properties_t *pstruct = (const ur_program_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_USM_DESC: { const ur_usm_desc_t *pstruct = (const ur_usm_desc_t *)ptr; - ur_params::serializePtr(os, pstruct); + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_USM_HOST_DESC: { const ur_usm_host_desc_t *pstruct = (const ur_usm_host_desc_t *)ptr; - ur_params::serializePtr(os, pstruct); + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_USM_DEVICE_DESC: { const ur_usm_device_desc_t *pstruct = (const ur_usm_device_desc_t *)ptr; - ur_params::serializePtr(os, pstruct); + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_USM_POOL_DESC: { const ur_usm_pool_desc_t *pstruct = (const ur_usm_pool_desc_t *)ptr; - ur_params::serializePtr(os, pstruct); + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_USM_POOL_LIMITS_DESC: { - const ur_usm_pool_limits_desc_t *pstruct = - (const ur_usm_pool_limits_desc_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_usm_pool_limits_desc_t *pstruct = (const ur_usm_pool_limits_desc_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_DEVICE_BINARY: { const ur_device_binary_t *pstruct = (const ur_device_binary_t *)ptr; - ur_params::serializePtr(os, pstruct); + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_SAMPLER_DESC: { const ur_sampler_desc_t *pstruct = (const ur_sampler_desc_t *)ptr; - ur_params::serializePtr(os, pstruct); + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_QUEUE_PROPERTIES: { - const ur_queue_properties_t *pstruct = - (const ur_queue_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_queue_properties_t *pstruct = (const ur_queue_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_QUEUE_INDEX_PROPERTIES: { - const ur_queue_index_properties_t *pstruct = - (const ur_queue_index_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_queue_index_properties_t *pstruct = (const ur_queue_index_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_CONTEXT_NATIVE_PROPERTIES: { - const ur_context_native_properties_t *pstruct = - (const ur_context_native_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_context_native_properties_t *pstruct = (const ur_context_native_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_KERNEL_NATIVE_PROPERTIES: { - const ur_kernel_native_properties_t *pstruct = - (const ur_kernel_native_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_kernel_native_properties_t *pstruct = (const ur_kernel_native_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_QUEUE_NATIVE_PROPERTIES: { - const ur_queue_native_properties_t *pstruct = - (const ur_queue_native_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_queue_native_properties_t *pstruct = (const ur_queue_native_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_MEM_NATIVE_PROPERTIES: { - const ur_mem_native_properties_t *pstruct = - (const ur_mem_native_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_mem_native_properties_t *pstruct = (const ur_mem_native_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_EVENT_NATIVE_PROPERTIES: { - const ur_event_native_properties_t *pstruct = - (const ur_event_native_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_event_native_properties_t *pstruct = (const ur_event_native_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_PLATFORM_NATIVE_PROPERTIES: { - const ur_platform_native_properties_t *pstruct = - (const ur_platform_native_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_platform_native_properties_t *pstruct = (const ur_platform_native_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_DEVICE_NATIVE_PROPERTIES: { - const ur_device_native_properties_t *pstruct = - (const ur_device_native_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_device_native_properties_t *pstruct = (const ur_device_native_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_PROGRAM_NATIVE_PROPERTIES: { - const ur_program_native_properties_t *pstruct = - (const ur_program_native_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_program_native_properties_t *pstruct = (const ur_program_native_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_SAMPLER_NATIVE_PROPERTIES: { - const ur_sampler_native_properties_t *pstruct = - (const ur_sampler_native_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_sampler_native_properties_t *pstruct = (const ur_sampler_native_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_QUEUE_NATIVE_DESC: { - const ur_queue_native_desc_t *pstruct = - (const ur_queue_native_desc_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_queue_native_desc_t *pstruct = (const ur_queue_native_desc_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_DEVICE_PARTITION_PROPERTIES: { - const ur_device_partition_properties_t *pstruct = - (const ur_device_partition_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_device_partition_properties_t *pstruct = (const ur_device_partition_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_KERNEL_ARG_MEM_OBJ_PROPERTIES: { - const ur_kernel_arg_mem_obj_properties_t *pstruct = - (const ur_kernel_arg_mem_obj_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_kernel_arg_mem_obj_properties_t *pstruct = (const ur_kernel_arg_mem_obj_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_PHYSICAL_MEM_PROPERTIES: { - const ur_physical_mem_properties_t *pstruct = - (const ur_physical_mem_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_physical_mem_properties_t *pstruct = (const ur_physical_mem_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_KERNEL_ARG_POINTER_PROPERTIES: { - const ur_kernel_arg_pointer_properties_t *pstruct = - (const ur_kernel_arg_pointer_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_kernel_arg_pointer_properties_t *pstruct = (const ur_kernel_arg_pointer_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_KERNEL_ARG_SAMPLER_PROPERTIES: { - const ur_kernel_arg_sampler_properties_t *pstruct = - (const ur_kernel_arg_sampler_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_kernel_arg_sampler_properties_t *pstruct = (const ur_kernel_arg_sampler_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_KERNEL_EXEC_INFO_PROPERTIES: { - const ur_kernel_exec_info_properties_t *pstruct = - (const ur_kernel_exec_info_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_kernel_exec_info_properties_t *pstruct = (const ur_kernel_exec_info_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_KERNEL_ARG_VALUE_PROPERTIES: { - const ur_kernel_arg_value_properties_t *pstruct = - (const ur_kernel_arg_value_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_kernel_arg_value_properties_t *pstruct = (const ur_kernel_arg_value_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_KERNEL_ARG_LOCAL_PROPERTIES: { - const ur_kernel_arg_local_properties_t *pstruct = - (const ur_kernel_arg_local_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_kernel_arg_local_properties_t *pstruct = (const ur_kernel_arg_local_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_DESC: { - const ur_exp_command_buffer_desc_t *pstruct = - (const ur_exp_command_buffer_desc_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_exp_command_buffer_desc_t *pstruct = (const ur_exp_command_buffer_desc_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_EXP_SAMPLER_MIP_PROPERTIES: { - const ur_exp_sampler_mip_properties_t *pstruct = - (const ur_exp_sampler_mip_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_exp_sampler_mip_properties_t *pstruct = (const ur_exp_sampler_mip_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_EXP_INTEROP_MEM_DESC: { - const ur_exp_interop_mem_desc_t *pstruct = - (const ur_exp_interop_mem_desc_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_exp_interop_mem_desc_t *pstruct = (const ur_exp_interop_mem_desc_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_EXP_INTEROP_SEMAPHORE_DESC: { - const ur_exp_interop_semaphore_desc_t *pstruct = - (const ur_exp_interop_semaphore_desc_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_exp_interop_semaphore_desc_t *pstruct = (const ur_exp_interop_semaphore_desc_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_EXP_FILE_DESCRIPTOR: { - const ur_exp_file_descriptor_t *pstruct = - (const ur_exp_file_descriptor_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_exp_file_descriptor_t *pstruct = (const ur_exp_file_descriptor_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_EXP_WIN32_HANDLE: { - const ur_exp_win32_handle_t *pstruct = - (const ur_exp_win32_handle_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_exp_win32_handle_t *pstruct = (const ur_exp_win32_handle_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_EXP_LAYERED_IMAGE_PROPERTIES: { - const ur_exp_layered_image_properties_t *pstruct = - (const ur_exp_layered_image_properties_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_exp_layered_image_properties_t *pstruct = (const ur_exp_layered_image_properties_t *)ptr; + printPtr(os, pstruct); } break; case UR_STRUCTURE_TYPE_EXP_SAMPLER_ADDR_MODES: { - const ur_exp_sampler_addr_modes_t *pstruct = - (const ur_exp_sampler_addr_modes_t *)ptr; - ur_params::serializePtr(os, pstruct); + const ur_exp_sampler_addr_modes_t *pstruct = (const ur_exp_sampler_addr_modes_t *)ptr; + printPtr(os, pstruct); } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, enum ur_result_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_result_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_result_t value) { switch (value) { - case UR_RESULT_SUCCESS: os << "UR_RESULT_SUCCESS"; break; - case UR_RESULT_ERROR_INVALID_OPERATION: os << "UR_RESULT_ERROR_INVALID_OPERATION"; break; - case UR_RESULT_ERROR_INVALID_QUEUE_PROPERTIES: os << "UR_RESULT_ERROR_INVALID_QUEUE_PROPERTIES"; break; - case UR_RESULT_ERROR_INVALID_QUEUE: os << "UR_RESULT_ERROR_INVALID_QUEUE"; break; - case UR_RESULT_ERROR_INVALID_VALUE: os << "UR_RESULT_ERROR_INVALID_VALUE"; break; - case UR_RESULT_ERROR_INVALID_CONTEXT: os << "UR_RESULT_ERROR_INVALID_CONTEXT"; break; - case UR_RESULT_ERROR_INVALID_PLATFORM: os << "UR_RESULT_ERROR_INVALID_PLATFORM"; break; - case UR_RESULT_ERROR_INVALID_BINARY: os << "UR_RESULT_ERROR_INVALID_BINARY"; break; - case UR_RESULT_ERROR_INVALID_PROGRAM: os << "UR_RESULT_ERROR_INVALID_PROGRAM"; break; - case UR_RESULT_ERROR_INVALID_SAMPLER: os << "UR_RESULT_ERROR_INVALID_SAMPLER"; break; - case UR_RESULT_ERROR_INVALID_BUFFER_SIZE: os << "UR_RESULT_ERROR_INVALID_BUFFER_SIZE"; break; - case UR_RESULT_ERROR_INVALID_MEM_OBJECT: os << "UR_RESULT_ERROR_INVALID_MEM_OBJECT"; break; - case UR_RESULT_ERROR_INVALID_EVENT: os << "UR_RESULT_ERROR_INVALID_EVENT"; break; - case UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST: os << "UR_RESULT_ERROR_INVALID_EVENT_WAIT_LIST"; break; - case UR_RESULT_ERROR_MISALIGNED_SUB_BUFFER_OFFSET: os << "UR_RESULT_ERROR_MISALIGNED_SUB_BUFFER_OFFSET"; break; - case UR_RESULT_ERROR_INVALID_WORK_GROUP_SIZE: os << "UR_RESULT_ERROR_INVALID_WORK_GROUP_SIZE"; break; - case UR_RESULT_ERROR_COMPILER_NOT_AVAILABLE: os << "UR_RESULT_ERROR_COMPILER_NOT_AVAILABLE"; break; - case UR_RESULT_ERROR_PROFILING_INFO_NOT_AVAILABLE: os << "UR_RESULT_ERROR_PROFILING_INFO_NOT_AVAILABLE"; break; - case UR_RESULT_ERROR_DEVICE_NOT_FOUND: os << "UR_RESULT_ERROR_DEVICE_NOT_FOUND"; break; - case UR_RESULT_ERROR_INVALID_DEVICE: os << "UR_RESULT_ERROR_INVALID_DEVICE"; break; - case UR_RESULT_ERROR_DEVICE_LOST: os << "UR_RESULT_ERROR_DEVICE_LOST"; break; - case UR_RESULT_ERROR_DEVICE_REQUIRES_RESET: os << "UR_RESULT_ERROR_DEVICE_REQUIRES_RESET"; break; - case UR_RESULT_ERROR_DEVICE_IN_LOW_POWER_STATE: os << "UR_RESULT_ERROR_DEVICE_IN_LOW_POWER_STATE"; break; - case UR_RESULT_ERROR_DEVICE_PARTITION_FAILED: os << "UR_RESULT_ERROR_DEVICE_PARTITION_FAILED"; break; - case UR_RESULT_ERROR_INVALID_DEVICE_PARTITION_COUNT: os << "UR_RESULT_ERROR_INVALID_DEVICE_PARTITION_COUNT"; break; - case UR_RESULT_ERROR_INVALID_WORK_ITEM_SIZE: os << "UR_RESULT_ERROR_INVALID_WORK_ITEM_SIZE"; break; - case UR_RESULT_ERROR_INVALID_WORK_DIMENSION: os << "UR_RESULT_ERROR_INVALID_WORK_DIMENSION"; break; - case UR_RESULT_ERROR_INVALID_KERNEL_ARGS: os << "UR_RESULT_ERROR_INVALID_KERNEL_ARGS"; break; - case UR_RESULT_ERROR_INVALID_KERNEL: os << "UR_RESULT_ERROR_INVALID_KERNEL"; break; - case UR_RESULT_ERROR_INVALID_KERNEL_NAME: os << "UR_RESULT_ERROR_INVALID_KERNEL_NAME"; break; - case UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX: os << "UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_INDEX"; break; - case UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_SIZE: os << "UR_RESULT_ERROR_INVALID_KERNEL_ARGUMENT_SIZE"; break; - case UR_RESULT_ERROR_INVALID_KERNEL_ATTRIBUTE_VALUE: os << "UR_RESULT_ERROR_INVALID_KERNEL_ATTRIBUTE_VALUE"; break; - case UR_RESULT_ERROR_INVALID_IMAGE_SIZE: os << "UR_RESULT_ERROR_INVALID_IMAGE_SIZE"; break; - case UR_RESULT_ERROR_INVALID_IMAGE_FORMAT_DESCRIPTOR: os << "UR_RESULT_ERROR_INVALID_IMAGE_FORMAT_DESCRIPTOR"; break; - case UR_RESULT_ERROR_IMAGE_FORMAT_NOT_SUPPORTED: os << "UR_RESULT_ERROR_IMAGE_FORMAT_NOT_SUPPORTED"; break; - case UR_RESULT_ERROR_MEM_OBJECT_ALLOCATION_FAILURE: os << "UR_RESULT_ERROR_MEM_OBJECT_ALLOCATION_FAILURE"; break; - case UR_RESULT_ERROR_INVALID_PROGRAM_EXECUTABLE: os << "UR_RESULT_ERROR_INVALID_PROGRAM_EXECUTABLE"; break; - case UR_RESULT_ERROR_UNINITIALIZED: os << "UR_RESULT_ERROR_UNINITIALIZED"; break; - case UR_RESULT_ERROR_OUT_OF_HOST_MEMORY: os << "UR_RESULT_ERROR_OUT_OF_HOST_MEMORY"; break; - case UR_RESULT_ERROR_OUT_OF_DEVICE_MEMORY: os << "UR_RESULT_ERROR_OUT_OF_DEVICE_MEMORY"; break; - case UR_RESULT_ERROR_OUT_OF_RESOURCES: os << "UR_RESULT_ERROR_OUT_OF_RESOURCES"; break; - case UR_RESULT_ERROR_PROGRAM_BUILD_FAILURE: os << "UR_RESULT_ERROR_PROGRAM_BUILD_FAILURE"; break; - case UR_RESULT_ERROR_PROGRAM_LINK_FAILURE: os << "UR_RESULT_ERROR_PROGRAM_LINK_FAILURE"; break; - case UR_RESULT_ERROR_UNSUPPORTED_VERSION: os << "UR_RESULT_ERROR_UNSUPPORTED_VERSION"; break; - case UR_RESULT_ERROR_UNSUPPORTED_FEATURE: os << "UR_RESULT_ERROR_UNSUPPORTED_FEATURE"; break; - case UR_RESULT_ERROR_INVALID_ARGUMENT: os << "UR_RESULT_ERROR_INVALID_ARGUMENT"; break; - case UR_RESULT_ERROR_INVALID_NULL_HANDLE: os << "UR_RESULT_ERROR_INVALID_NULL_HANDLE"; break; - case UR_RESULT_ERROR_HANDLE_OBJECT_IN_USE: os << "UR_RESULT_ERROR_HANDLE_OBJECT_IN_USE"; break; - case UR_RESULT_ERROR_INVALID_NULL_POINTER: os << "UR_RESULT_ERROR_INVALID_NULL_POINTER"; break; - case UR_RESULT_ERROR_INVALID_SIZE: os << "UR_RESULT_ERROR_INVALID_SIZE"; break; - case UR_RESULT_ERROR_UNSUPPORTED_SIZE: os << "UR_RESULT_ERROR_UNSUPPORTED_SIZE"; break; - case UR_RESULT_ERROR_UNSUPPORTED_ALIGNMENT: os << "UR_RESULT_ERROR_UNSUPPORTED_ALIGNMENT"; break; - case UR_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT: os << "UR_RESULT_ERROR_INVALID_SYNCHRONIZATION_OBJECT"; break; - case UR_RESULT_ERROR_INVALID_ENUMERATION: os << "UR_RESULT_ERROR_INVALID_ENUMERATION"; break; - case UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION: os << "UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION"; break; - case UR_RESULT_ERROR_UNSUPPORTED_IMAGE_FORMAT: os << "UR_RESULT_ERROR_UNSUPPORTED_IMAGE_FORMAT"; break; - case UR_RESULT_ERROR_INVALID_NATIVE_BINARY: os << "UR_RESULT_ERROR_INVALID_NATIVE_BINARY"; break; - case UR_RESULT_ERROR_INVALID_GLOBAL_NAME: os << "UR_RESULT_ERROR_INVALID_GLOBAL_NAME"; break; - case UR_RESULT_ERROR_INVALID_FUNCTION_NAME: os << "UR_RESULT_ERROR_INVALID_FUNCTION_NAME"; break; - case UR_RESULT_ERROR_INVALID_GROUP_SIZE_DIMENSION: os << "UR_RESULT_ERROR_INVALID_GROUP_SIZE_DIMENSION"; break; - case UR_RESULT_ERROR_INVALID_GLOBAL_WIDTH_DIMENSION: os << "UR_RESULT_ERROR_INVALID_GLOBAL_WIDTH_DIMENSION"; break; - case UR_RESULT_ERROR_PROGRAM_UNLINKED: os << "UR_RESULT_ERROR_PROGRAM_UNLINKED"; break; - case UR_RESULT_ERROR_OVERLAPPING_REGIONS: os << "UR_RESULT_ERROR_OVERLAPPING_REGIONS"; break; - case UR_RESULT_ERROR_INVALID_HOST_PTR: os << "UR_RESULT_ERROR_INVALID_HOST_PTR"; break; - case UR_RESULT_ERROR_INVALID_USM_SIZE: os << "UR_RESULT_ERROR_INVALID_USM_SIZE"; break; - case UR_RESULT_ERROR_OBJECT_ALLOCATION_FAILURE: os << "UR_RESULT_ERROR_OBJECT_ALLOCATION_FAILURE"; break; - case UR_RESULT_ERROR_ADAPTER_SPECIFIC: os << "UR_RESULT_ERROR_ADAPTER_SPECIFIC"; break; - case UR_RESULT_ERROR_LAYER_NOT_PRESENT: os << "UR_RESULT_ERROR_LAYER_NOT_PRESENT"; break; - case UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP: os << "UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_EXP"; break; - case UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_EXP: os << "UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_EXP"; break; - case UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_WAIT_LIST_EXP: os << "UR_RESULT_ERROR_INVALID_COMMAND_BUFFER_SYNC_POINT_WAIT_LIST_EXP"; break; - case UR_RESULT_ERROR_UNKNOWN: os << "UR_RESULT_ERROR_UNKNOWN"; break; @@ -1952,8 +1474,11 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_result_t value) { } return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_base_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_base_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_base_properties_t params) { os << "(struct ur_base_properties_t){"; os << ".stype = "; @@ -1963,13 +1488,17 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_base_desc_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_base_desc_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_base_desc_t params) { os << "(struct ur_base_desc_t){"; os << ".stype = "; @@ -1979,13 +1508,17 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_rect_offset_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_rect_offset_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_rect_offset_t params) { os << "(struct ur_rect_offset_t){"; os << ".x = "; @@ -2005,8 +1538,11 @@ inline std::ostream &operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_rect_region_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_rect_region_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_rect_region_t params) { os << "(struct ur_rect_region_t){"; os << ".width = "; @@ -2026,26 +1562,24 @@ inline std::ostream &operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_init_flag_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_init_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_device_init_flag_t value) { switch (value) { - case UR_DEVICE_INIT_FLAG_GPU: os << "UR_DEVICE_INIT_FLAG_GPU"; break; - case UR_DEVICE_INIT_FLAG_CPU: os << "UR_DEVICE_INIT_FLAG_CPU"; break; - case UR_DEVICE_INIT_FLAG_FPGA: os << "UR_DEVICE_INIT_FLAG_FPGA"; break; - case UR_DEVICE_INIT_FLAG_MCA: os << "UR_DEVICE_INIT_FLAG_MCA"; break; - case UR_DEVICE_INIT_FLAG_VPU: os << "UR_DEVICE_INIT_FLAG_VPU"; break; @@ -2055,11 +1589,12 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_device_init_flag_t flag template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; @@ -2083,8 +1618,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_INIT_FLAG_CPU; } - if ((val & UR_DEVICE_INIT_FLAG_FPGA) == - (uint32_t)UR_DEVICE_INIT_FLAG_FPGA) { + if ((val & UR_DEVICE_INIT_FLAG_FPGA) == (uint32_t)UR_DEVICE_INIT_FLAG_FPGA) { val ^= (uint32_t)UR_DEVICE_INIT_FLAG_FPGA; if (!first) { os << " | "; @@ -2122,16 +1656,18 @@ inline void serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_loader_config_info_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_loader_config_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_loader_config_info_t value) { switch (value) { - case UR_LOADER_CONFIG_INFO_AVAILABLE_LAYERS: os << "UR_LOADER_CONFIG_INFO_AVAILABLE_LAYERS"; break; - case UR_LOADER_CONFIG_INFO_REFERENCE_COUNT: os << "UR_LOADER_CONFIG_INFO_REFERENCE_COUNT"; break; @@ -2141,29 +1677,26 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_loader_config_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_loader_config_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_loader_config_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_LOADER_CONFIG_INFO_AVAILABLE_LAYERS: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_LOADER_CONFIG_INFO_REFERENCE_COUNT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -2173,22 +1706,29 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - const struct ur_code_location_t params) { +} // namespace details + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_code_location_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_code_location_t params) { os << "(struct ur_code_location_t){"; os << ".functionName = "; - ur_params::serializePtr(os, (params.functionName)); + details::printPtr(os, + (params.functionName)); os << ", "; os << ".sourceFile = "; - ur_params::serializePtr(os, (params.sourceFile)); + details::printPtr(os, + (params.sourceFile)); os << ", "; os << ".lineNumber = "; @@ -2203,14 +1743,15 @@ inline std::ostream &operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_adapter_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_adapter_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_adapter_info_t value) { switch (value) { - case UR_ADAPTER_INFO_BACKEND: os << "UR_ADAPTER_INFO_BACKEND"; break; - case UR_ADAPTER_INFO_REFERENCE_COUNT: os << "UR_ADAPTER_INFO_REFERENCE_COUNT"; break; @@ -2220,23 +1761,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_adapter_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_adapter_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_adapter_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_ADAPTER_INFO_BACKEND: { const ur_adapter_backend_t *tptr = (const ur_adapter_backend_t *)ptr; if (sizeof(ur_adapter_backend_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_adapter_backend_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_adapter_backend_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -2244,13 +1783,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_ADAPTER_INFO_REFERENCE_COUNT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -2260,34 +1797,33 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_adapter_backend_t value) { - switch (value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_adapter_backend_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_adapter_backend_t value) { + switch (value) { case UR_ADAPTER_BACKEND_UNKNOWN: os << "UR_ADAPTER_BACKEND_UNKNOWN"; break; - case UR_ADAPTER_BACKEND_LEVEL_ZERO: os << "UR_ADAPTER_BACKEND_LEVEL_ZERO"; break; - case UR_ADAPTER_BACKEND_OPENCL: os << "UR_ADAPTER_BACKEND_OPENCL"; break; - case UR_ADAPTER_BACKEND_CUDA: os << "UR_ADAPTER_BACKEND_CUDA"; break; - case UR_ADAPTER_BACKEND_HIP: os << "UR_ADAPTER_BACKEND_HIP"; break; - case UR_ADAPTER_BACKEND_NATIVE_CPU: os << "UR_ADAPTER_BACKEND_NATIVE_CPU"; break; @@ -2297,30 +1833,27 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_platform_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_platform_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_platform_info_t value) { switch (value) { - case UR_PLATFORM_INFO_NAME: os << "UR_PLATFORM_INFO_NAME"; break; - case UR_PLATFORM_INFO_VENDOR_NAME: os << "UR_PLATFORM_INFO_VENDOR_NAME"; break; - case UR_PLATFORM_INFO_VERSION: os << "UR_PLATFORM_INFO_VERSION"; break; - case UR_PLATFORM_INFO_EXTENSIONS: os << "UR_PLATFORM_INFO_EXTENSIONS"; break; - case UR_PLATFORM_INFO_PROFILE: os << "UR_PLATFORM_INFO_PROFILE"; break; - case UR_PLATFORM_INFO_BACKEND: os << "UR_PLATFORM_INFO_BACKEND"; break; @@ -2330,53 +1863,46 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_platform_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_platform_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_platform_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_PLATFORM_INFO_NAME: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_PLATFORM_INFO_VENDOR_NAME: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_PLATFORM_INFO_VERSION: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_PLATFORM_INFO_EXTENSIONS: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_PLATFORM_INFO_PROFILE: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_PLATFORM_INFO_BACKEND: { const ur_platform_backend_t *tptr = (const ur_platform_backend_t *)ptr; if (sizeof(ur_platform_backend_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_platform_backend_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_platform_backend_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -2386,17 +1912,25 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, enum ur_api_version_t value) { +} // namespace details + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_api_version_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_api_version_t value) { os << UR_MAJOR_VERSION(value) << "." << UR_MINOR_VERSION(value); return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_platform_native_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_platform_native_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_platform_native_properties_t params) { os << "(struct ur_platform_native_properties_t){"; os << ".stype = "; @@ -2406,7 +1940,8 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".isNativeHandleOwned = "; @@ -2416,30 +1951,27 @@ operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_platform_backend_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_platform_backend_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_platform_backend_t value) { switch (value) { - case UR_PLATFORM_BACKEND_UNKNOWN: os << "UR_PLATFORM_BACKEND_UNKNOWN"; break; - case UR_PLATFORM_BACKEND_LEVEL_ZERO: os << "UR_PLATFORM_BACKEND_LEVEL_ZERO"; break; - case UR_PLATFORM_BACKEND_OPENCL: os << "UR_PLATFORM_BACKEND_OPENCL"; break; - case UR_PLATFORM_BACKEND_CUDA: os << "UR_PLATFORM_BACKEND_CUDA"; break; - case UR_PLATFORM_BACKEND_HIP: os << "UR_PLATFORM_BACKEND_HIP"; break; - case UR_PLATFORM_BACKEND_NATIVE_CPU: os << "UR_PLATFORM_BACKEND_NATIVE_CPU"; break; @@ -2449,8 +1981,11 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_device_binary_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_binary_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_device_binary_t params) { os << "(struct ur_device_binary_t){"; os << ".stype = "; @@ -2460,43 +1995,42 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".pDeviceTargetSpec = "; - ur_params::serializePtr(os, (params.pDeviceTargetSpec)); + details::printPtr(os, + (params.pDeviceTargetSpec)); os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, enum ur_device_type_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_type_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_device_type_t value) { switch (value) { - case UR_DEVICE_TYPE_DEFAULT: os << "UR_DEVICE_TYPE_DEFAULT"; break; - case UR_DEVICE_TYPE_ALL: os << "UR_DEVICE_TYPE_ALL"; break; - case UR_DEVICE_TYPE_GPU: os << "UR_DEVICE_TYPE_GPU"; break; - case UR_DEVICE_TYPE_CPU: os << "UR_DEVICE_TYPE_CPU"; break; - case UR_DEVICE_TYPE_FPGA: os << "UR_DEVICE_TYPE_FPGA"; break; - case UR_DEVICE_TYPE_MCA: os << "UR_DEVICE_TYPE_MCA"; break; - case UR_DEVICE_TYPE_VPU: os << "UR_DEVICE_TYPE_VPU"; break; @@ -2506,533 +2040,405 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_device_type_t value) { } return os; } -inline std::ostream &operator<<(std::ostream &os, enum ur_device_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_device_info_t value) { switch (value) { - case UR_DEVICE_INFO_TYPE: os << "UR_DEVICE_INFO_TYPE"; break; - case UR_DEVICE_INFO_VENDOR_ID: os << "UR_DEVICE_INFO_VENDOR_ID"; break; - case UR_DEVICE_INFO_DEVICE_ID: os << "UR_DEVICE_INFO_DEVICE_ID"; break; - case UR_DEVICE_INFO_MAX_COMPUTE_UNITS: os << "UR_DEVICE_INFO_MAX_COMPUTE_UNITS"; break; - case UR_DEVICE_INFO_MAX_WORK_ITEM_DIMENSIONS: os << "UR_DEVICE_INFO_MAX_WORK_ITEM_DIMENSIONS"; break; - case UR_DEVICE_INFO_MAX_WORK_ITEM_SIZES: os << "UR_DEVICE_INFO_MAX_WORK_ITEM_SIZES"; break; - case UR_DEVICE_INFO_MAX_WORK_GROUP_SIZE: os << "UR_DEVICE_INFO_MAX_WORK_GROUP_SIZE"; break; - case UR_DEVICE_INFO_SINGLE_FP_CONFIG: os << "UR_DEVICE_INFO_SINGLE_FP_CONFIG"; break; - case UR_DEVICE_INFO_HALF_FP_CONFIG: os << "UR_DEVICE_INFO_HALF_FP_CONFIG"; break; - case UR_DEVICE_INFO_DOUBLE_FP_CONFIG: os << "UR_DEVICE_INFO_DOUBLE_FP_CONFIG"; break; - case UR_DEVICE_INFO_QUEUE_PROPERTIES: os << "UR_DEVICE_INFO_QUEUE_PROPERTIES"; break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_CHAR: os << "UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_CHAR"; break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_SHORT: os << "UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_SHORT"; break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_INT: os << "UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_INT"; break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_LONG: os << "UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_LONG"; break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_FLOAT: os << "UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_FLOAT"; break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_DOUBLE: os << "UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_DOUBLE"; break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_HALF: os << "UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_HALF"; break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_CHAR: os << "UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_CHAR"; break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_SHORT: os << "UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_SHORT"; break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_INT: os << "UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_INT"; break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_LONG: os << "UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_LONG"; break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_FLOAT: os << "UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_FLOAT"; break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_DOUBLE: os << "UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_DOUBLE"; break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_HALF: os << "UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_HALF"; break; - case UR_DEVICE_INFO_MAX_CLOCK_FREQUENCY: os << "UR_DEVICE_INFO_MAX_CLOCK_FREQUENCY"; break; - case UR_DEVICE_INFO_MEMORY_CLOCK_RATE: os << "UR_DEVICE_INFO_MEMORY_CLOCK_RATE"; break; - case UR_DEVICE_INFO_ADDRESS_BITS: os << "UR_DEVICE_INFO_ADDRESS_BITS"; break; - case UR_DEVICE_INFO_MAX_MEM_ALLOC_SIZE: os << "UR_DEVICE_INFO_MAX_MEM_ALLOC_SIZE"; break; - case UR_DEVICE_INFO_IMAGE_SUPPORTED: os << "UR_DEVICE_INFO_IMAGE_SUPPORTED"; break; - case UR_DEVICE_INFO_MAX_READ_IMAGE_ARGS: os << "UR_DEVICE_INFO_MAX_READ_IMAGE_ARGS"; break; - case UR_DEVICE_INFO_MAX_WRITE_IMAGE_ARGS: os << "UR_DEVICE_INFO_MAX_WRITE_IMAGE_ARGS"; break; - case UR_DEVICE_INFO_MAX_READ_WRITE_IMAGE_ARGS: os << "UR_DEVICE_INFO_MAX_READ_WRITE_IMAGE_ARGS"; break; - case UR_DEVICE_INFO_IMAGE2D_MAX_WIDTH: os << "UR_DEVICE_INFO_IMAGE2D_MAX_WIDTH"; break; - case UR_DEVICE_INFO_IMAGE2D_MAX_HEIGHT: os << "UR_DEVICE_INFO_IMAGE2D_MAX_HEIGHT"; break; - case UR_DEVICE_INFO_IMAGE3D_MAX_WIDTH: os << "UR_DEVICE_INFO_IMAGE3D_MAX_WIDTH"; break; - case UR_DEVICE_INFO_IMAGE3D_MAX_HEIGHT: os << "UR_DEVICE_INFO_IMAGE3D_MAX_HEIGHT"; break; - case UR_DEVICE_INFO_IMAGE3D_MAX_DEPTH: os << "UR_DEVICE_INFO_IMAGE3D_MAX_DEPTH"; break; - case UR_DEVICE_INFO_IMAGE_MAX_BUFFER_SIZE: os << "UR_DEVICE_INFO_IMAGE_MAX_BUFFER_SIZE"; break; - case UR_DEVICE_INFO_IMAGE_MAX_ARRAY_SIZE: os << "UR_DEVICE_INFO_IMAGE_MAX_ARRAY_SIZE"; break; - case UR_DEVICE_INFO_MAX_SAMPLERS: os << "UR_DEVICE_INFO_MAX_SAMPLERS"; break; - case UR_DEVICE_INFO_MAX_PARAMETER_SIZE: os << "UR_DEVICE_INFO_MAX_PARAMETER_SIZE"; break; - case UR_DEVICE_INFO_MEM_BASE_ADDR_ALIGN: os << "UR_DEVICE_INFO_MEM_BASE_ADDR_ALIGN"; break; - case UR_DEVICE_INFO_GLOBAL_MEM_CACHE_TYPE: os << "UR_DEVICE_INFO_GLOBAL_MEM_CACHE_TYPE"; break; - case UR_DEVICE_INFO_GLOBAL_MEM_CACHELINE_SIZE: os << "UR_DEVICE_INFO_GLOBAL_MEM_CACHELINE_SIZE"; break; - case UR_DEVICE_INFO_GLOBAL_MEM_CACHE_SIZE: os << "UR_DEVICE_INFO_GLOBAL_MEM_CACHE_SIZE"; break; - case UR_DEVICE_INFO_GLOBAL_MEM_SIZE: os << "UR_DEVICE_INFO_GLOBAL_MEM_SIZE"; break; - case UR_DEVICE_INFO_GLOBAL_MEM_FREE: os << "UR_DEVICE_INFO_GLOBAL_MEM_FREE"; break; - case UR_DEVICE_INFO_MAX_CONSTANT_BUFFER_SIZE: os << "UR_DEVICE_INFO_MAX_CONSTANT_BUFFER_SIZE"; break; - case UR_DEVICE_INFO_MAX_CONSTANT_ARGS: os << "UR_DEVICE_INFO_MAX_CONSTANT_ARGS"; break; - case UR_DEVICE_INFO_LOCAL_MEM_TYPE: os << "UR_DEVICE_INFO_LOCAL_MEM_TYPE"; break; - case UR_DEVICE_INFO_LOCAL_MEM_SIZE: os << "UR_DEVICE_INFO_LOCAL_MEM_SIZE"; break; - case UR_DEVICE_INFO_ERROR_CORRECTION_SUPPORT: os << "UR_DEVICE_INFO_ERROR_CORRECTION_SUPPORT"; break; - case UR_DEVICE_INFO_HOST_UNIFIED_MEMORY: os << "UR_DEVICE_INFO_HOST_UNIFIED_MEMORY"; break; - case UR_DEVICE_INFO_PROFILING_TIMER_RESOLUTION: os << "UR_DEVICE_INFO_PROFILING_TIMER_RESOLUTION"; break; - case UR_DEVICE_INFO_ENDIAN_LITTLE: os << "UR_DEVICE_INFO_ENDIAN_LITTLE"; break; - case UR_DEVICE_INFO_AVAILABLE: os << "UR_DEVICE_INFO_AVAILABLE"; break; - case UR_DEVICE_INFO_COMPILER_AVAILABLE: os << "UR_DEVICE_INFO_COMPILER_AVAILABLE"; break; - case UR_DEVICE_INFO_LINKER_AVAILABLE: os << "UR_DEVICE_INFO_LINKER_AVAILABLE"; break; - case UR_DEVICE_INFO_EXECUTION_CAPABILITIES: os << "UR_DEVICE_INFO_EXECUTION_CAPABILITIES"; break; - case UR_DEVICE_INFO_QUEUE_ON_DEVICE_PROPERTIES: os << "UR_DEVICE_INFO_QUEUE_ON_DEVICE_PROPERTIES"; break; - case UR_DEVICE_INFO_QUEUE_ON_HOST_PROPERTIES: os << "UR_DEVICE_INFO_QUEUE_ON_HOST_PROPERTIES"; break; - case UR_DEVICE_INFO_BUILT_IN_KERNELS: os << "UR_DEVICE_INFO_BUILT_IN_KERNELS"; break; - case UR_DEVICE_INFO_PLATFORM: os << "UR_DEVICE_INFO_PLATFORM"; break; - case UR_DEVICE_INFO_REFERENCE_COUNT: os << "UR_DEVICE_INFO_REFERENCE_COUNT"; break; - case UR_DEVICE_INFO_IL_VERSION: os << "UR_DEVICE_INFO_IL_VERSION"; break; - case UR_DEVICE_INFO_NAME: os << "UR_DEVICE_INFO_NAME"; break; - case UR_DEVICE_INFO_VENDOR: os << "UR_DEVICE_INFO_VENDOR"; break; - case UR_DEVICE_INFO_DRIVER_VERSION: os << "UR_DEVICE_INFO_DRIVER_VERSION"; break; - case UR_DEVICE_INFO_PROFILE: os << "UR_DEVICE_INFO_PROFILE"; break; - case UR_DEVICE_INFO_VERSION: os << "UR_DEVICE_INFO_VERSION"; break; - case UR_DEVICE_INFO_BACKEND_RUNTIME_VERSION: os << "UR_DEVICE_INFO_BACKEND_RUNTIME_VERSION"; break; - case UR_DEVICE_INFO_EXTENSIONS: os << "UR_DEVICE_INFO_EXTENSIONS"; break; - case UR_DEVICE_INFO_PRINTF_BUFFER_SIZE: os << "UR_DEVICE_INFO_PRINTF_BUFFER_SIZE"; break; - case UR_DEVICE_INFO_PREFERRED_INTEROP_USER_SYNC: os << "UR_DEVICE_INFO_PREFERRED_INTEROP_USER_SYNC"; break; - case UR_DEVICE_INFO_PARENT_DEVICE: os << "UR_DEVICE_INFO_PARENT_DEVICE"; break; - case UR_DEVICE_INFO_SUPPORTED_PARTITIONS: os << "UR_DEVICE_INFO_SUPPORTED_PARTITIONS"; break; - case UR_DEVICE_INFO_PARTITION_MAX_SUB_DEVICES: os << "UR_DEVICE_INFO_PARTITION_MAX_SUB_DEVICES"; break; - case UR_DEVICE_INFO_PARTITION_AFFINITY_DOMAIN: os << "UR_DEVICE_INFO_PARTITION_AFFINITY_DOMAIN"; break; - case UR_DEVICE_INFO_PARTITION_TYPE: os << "UR_DEVICE_INFO_PARTITION_TYPE"; break; - case UR_DEVICE_INFO_MAX_NUM_SUB_GROUPS: os << "UR_DEVICE_INFO_MAX_NUM_SUB_GROUPS"; break; - case UR_DEVICE_INFO_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS: os << "UR_DEVICE_INFO_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS"; break; - case UR_DEVICE_INFO_SUB_GROUP_SIZES_INTEL: os << "UR_DEVICE_INFO_SUB_GROUP_SIZES_INTEL"; break; - case UR_DEVICE_INFO_USM_HOST_SUPPORT: os << "UR_DEVICE_INFO_USM_HOST_SUPPORT"; break; - case UR_DEVICE_INFO_USM_DEVICE_SUPPORT: os << "UR_DEVICE_INFO_USM_DEVICE_SUPPORT"; break; - case UR_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT: os << "UR_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT"; break; - case UR_DEVICE_INFO_USM_CROSS_SHARED_SUPPORT: os << "UR_DEVICE_INFO_USM_CROSS_SHARED_SUPPORT"; break; - case UR_DEVICE_INFO_USM_SYSTEM_SHARED_SUPPORT: os << "UR_DEVICE_INFO_USM_SYSTEM_SHARED_SUPPORT"; break; - case UR_DEVICE_INFO_UUID: os << "UR_DEVICE_INFO_UUID"; break; - case UR_DEVICE_INFO_PCI_ADDRESS: os << "UR_DEVICE_INFO_PCI_ADDRESS"; break; - case UR_DEVICE_INFO_GPU_EU_COUNT: os << "UR_DEVICE_INFO_GPU_EU_COUNT"; break; - case UR_DEVICE_INFO_GPU_EU_SIMD_WIDTH: os << "UR_DEVICE_INFO_GPU_EU_SIMD_WIDTH"; break; - case UR_DEVICE_INFO_GPU_EU_SLICES: os << "UR_DEVICE_INFO_GPU_EU_SLICES"; break; - case UR_DEVICE_INFO_GPU_EU_COUNT_PER_SUBSLICE: os << "UR_DEVICE_INFO_GPU_EU_COUNT_PER_SUBSLICE"; break; - case UR_DEVICE_INFO_GPU_SUBSLICES_PER_SLICE: os << "UR_DEVICE_INFO_GPU_SUBSLICES_PER_SLICE"; break; - case UR_DEVICE_INFO_GPU_HW_THREADS_PER_EU: os << "UR_DEVICE_INFO_GPU_HW_THREADS_PER_EU"; break; - case UR_DEVICE_INFO_MAX_MEMORY_BANDWIDTH: os << "UR_DEVICE_INFO_MAX_MEMORY_BANDWIDTH"; break; - case UR_DEVICE_INFO_IMAGE_SRGB: os << "UR_DEVICE_INFO_IMAGE_SRGB"; break; - case UR_DEVICE_INFO_BUILD_ON_SUBDEVICE: os << "UR_DEVICE_INFO_BUILD_ON_SUBDEVICE"; break; - case UR_DEVICE_INFO_ATOMIC_64: os << "UR_DEVICE_INFO_ATOMIC_64"; break; - case UR_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES: os << "UR_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES"; break; - case UR_DEVICE_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES: os << "UR_DEVICE_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES"; break; - case UR_DEVICE_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES: os << "UR_DEVICE_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES"; break; - case UR_DEVICE_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES: os << "UR_DEVICE_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES"; break; - case UR_DEVICE_INFO_BFLOAT16: os << "UR_DEVICE_INFO_BFLOAT16"; break; - case UR_DEVICE_INFO_MAX_COMPUTE_QUEUE_INDICES: os << "UR_DEVICE_INFO_MAX_COMPUTE_QUEUE_INDICES"; break; - case UR_DEVICE_INFO_KERNEL_SET_SPECIALIZATION_CONSTANTS: os << "UR_DEVICE_INFO_KERNEL_SET_SPECIALIZATION_CONSTANTS"; break; - case UR_DEVICE_INFO_MEMORY_BUS_WIDTH: os << "UR_DEVICE_INFO_MEMORY_BUS_WIDTH"; break; - case UR_DEVICE_INFO_MAX_WORK_GROUPS_3D: os << "UR_DEVICE_INFO_MAX_WORK_GROUPS_3D"; break; - case UR_DEVICE_INFO_ASYNC_BARRIER: os << "UR_DEVICE_INFO_ASYNC_BARRIER"; break; - case UR_DEVICE_INFO_MEM_CHANNEL_SUPPORT: os << "UR_DEVICE_INFO_MEM_CHANNEL_SUPPORT"; break; - case UR_DEVICE_INFO_HOST_PIPE_READ_WRITE_SUPPORTED: os << "UR_DEVICE_INFO_HOST_PIPE_READ_WRITE_SUPPORTED"; break; - case UR_DEVICE_INFO_MAX_REGISTERS_PER_WORK_GROUP: os << "UR_DEVICE_INFO_MAX_REGISTERS_PER_WORK_GROUP"; break; - case UR_DEVICE_INFO_IP_VERSION: os << "UR_DEVICE_INFO_IP_VERSION"; break; - case UR_DEVICE_INFO_VIRTUAL_MEMORY_SUPPORT: os << "UR_DEVICE_INFO_VIRTUAL_MEMORY_SUPPORT"; break; - case UR_DEVICE_INFO_ESIMD_SUPPORT: os << "UR_DEVICE_INFO_ESIMD_SUPPORT"; break; - case UR_DEVICE_INFO_BINDLESS_IMAGES_SUPPORT_EXP: os << "UR_DEVICE_INFO_BINDLESS_IMAGES_SUPPORT_EXP"; break; - case UR_DEVICE_INFO_BINDLESS_IMAGES_SHARED_USM_SUPPORT_EXP: os << "UR_DEVICE_INFO_BINDLESS_IMAGES_SHARED_USM_SUPPORT_EXP"; break; - case UR_DEVICE_INFO_BINDLESS_IMAGES_1D_USM_SUPPORT_EXP: os << "UR_DEVICE_INFO_BINDLESS_IMAGES_1D_USM_SUPPORT_EXP"; break; - case UR_DEVICE_INFO_BINDLESS_IMAGES_2D_USM_SUPPORT_EXP: os << "UR_DEVICE_INFO_BINDLESS_IMAGES_2D_USM_SUPPORT_EXP"; break; - case UR_DEVICE_INFO_IMAGE_PITCH_ALIGN_EXP: os << "UR_DEVICE_INFO_IMAGE_PITCH_ALIGN_EXP"; break; - case UR_DEVICE_INFO_MAX_IMAGE_LINEAR_WIDTH_EXP: os << "UR_DEVICE_INFO_MAX_IMAGE_LINEAR_WIDTH_EXP"; break; - case UR_DEVICE_INFO_MAX_IMAGE_LINEAR_HEIGHT_EXP: os << "UR_DEVICE_INFO_MAX_IMAGE_LINEAR_HEIGHT_EXP"; break; - case UR_DEVICE_INFO_MAX_IMAGE_LINEAR_PITCH_EXP: os << "UR_DEVICE_INFO_MAX_IMAGE_LINEAR_PITCH_EXP"; break; - case UR_DEVICE_INFO_MIPMAP_SUPPORT_EXP: os << "UR_DEVICE_INFO_MIPMAP_SUPPORT_EXP"; break; - case UR_DEVICE_INFO_MIPMAP_ANISOTROPY_SUPPORT_EXP: os << "UR_DEVICE_INFO_MIPMAP_ANISOTROPY_SUPPORT_EXP"; break; - case UR_DEVICE_INFO_MIPMAP_MAX_ANISOTROPY_EXP: os << "UR_DEVICE_INFO_MIPMAP_MAX_ANISOTROPY_EXP"; break; - case UR_DEVICE_INFO_MIPMAP_LEVEL_REFERENCE_SUPPORT_EXP: os << "UR_DEVICE_INFO_MIPMAP_LEVEL_REFERENCE_SUPPORT_EXP"; break; - case UR_DEVICE_INFO_INTEROP_MEMORY_IMPORT_SUPPORT_EXP: os << "UR_DEVICE_INFO_INTEROP_MEMORY_IMPORT_SUPPORT_EXP"; break; - case UR_DEVICE_INFO_INTEROP_MEMORY_EXPORT_SUPPORT_EXP: os << "UR_DEVICE_INFO_INTEROP_MEMORY_EXPORT_SUPPORT_EXP"; break; - case UR_DEVICE_INFO_INTEROP_SEMAPHORE_IMPORT_SUPPORT_EXP: os << "UR_DEVICE_INFO_INTEROP_SEMAPHORE_IMPORT_SUPPORT_EXP"; break; - case UR_DEVICE_INFO_INTEROP_SEMAPHORE_EXPORT_SUPPORT_EXP: os << "UR_DEVICE_INFO_INTEROP_SEMAPHORE_EXPORT_SUPPORT_EXP"; break; @@ -3042,23 +2448,21 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_device_info_t value) { } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_device_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_device_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_device_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_DEVICE_INFO_TYPE: { const ur_device_type_t *tptr = (const ur_device_type_t *)ptr; if (sizeof(ur_device_type_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_device_type_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_type_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3066,13 +2470,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_VENDOR_ID: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3080,13 +2482,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_DEVICE_ID: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3094,13 +2494,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_COMPUTE_UNITS: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3108,13 +2506,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_WORK_ITEM_DIMENSIONS: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3122,7 +2518,6 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_WORK_ITEM_SIZES: { const size_t *tptr = (const size_t *)ptr; @@ -3137,13 +2532,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } os << "}"; } break; - case UR_DEVICE_INFO_MAX_WORK_GROUP_SIZE: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3151,75 +2544,63 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_SINGLE_FP_CONFIG: { - const ur_device_fp_capability_flags_t *tptr = - (const ur_device_fp_capability_flags_t *)ptr; + const ur_device_fp_capability_flags_t *tptr = (const ur_device_fp_capability_flags_t *)ptr; if (sizeof(ur_device_fp_capability_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_device_fp_capability_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_fp_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_HALF_FP_CONFIG: { - const ur_device_fp_capability_flags_t *tptr = - (const ur_device_fp_capability_flags_t *)ptr; + const ur_device_fp_capability_flags_t *tptr = (const ur_device_fp_capability_flags_t *)ptr; if (sizeof(ur_device_fp_capability_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_device_fp_capability_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_fp_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_DOUBLE_FP_CONFIG: { - const ur_device_fp_capability_flags_t *tptr = - (const ur_device_fp_capability_flags_t *)ptr; + const ur_device_fp_capability_flags_t *tptr = (const ur_device_fp_capability_flags_t *)ptr; if (sizeof(ur_device_fp_capability_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_device_fp_capability_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_fp_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_QUEUE_PROPERTIES: { const ur_queue_flags_t *tptr = (const ur_queue_flags_t *)ptr; if (sizeof(ur_queue_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_queue_flags_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_queue_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_CHAR: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3227,13 +2608,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_SHORT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3241,13 +2620,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_INT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3255,13 +2632,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_LONG: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3269,13 +2644,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_FLOAT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3283,13 +2656,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_DOUBLE: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3297,13 +2668,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_PREFERRED_VECTOR_WIDTH_HALF: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3311,13 +2680,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_CHAR: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3325,13 +2692,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_SHORT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3339,13 +2704,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_INT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3353,13 +2716,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_LONG: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3367,13 +2728,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_FLOAT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3381,13 +2740,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_DOUBLE: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3395,13 +2752,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_NATIVE_VECTOR_WIDTH_HALF: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3409,13 +2764,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_CLOCK_FREQUENCY: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3423,13 +2776,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MEMORY_CLOCK_RATE: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3437,13 +2788,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_ADDRESS_BITS: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3451,13 +2800,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_MEM_ALLOC_SIZE: { const uint64_t *tptr = (const uint64_t *)ptr; if (sizeof(uint64_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint64_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint64_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3465,13 +2812,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_IMAGE_SUPPORTED: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3479,13 +2824,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_READ_IMAGE_ARGS: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3493,13 +2836,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_WRITE_IMAGE_ARGS: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3507,13 +2848,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_READ_WRITE_IMAGE_ARGS: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3521,13 +2860,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_IMAGE2D_MAX_WIDTH: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3535,13 +2872,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_IMAGE2D_MAX_HEIGHT: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3549,13 +2884,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_IMAGE3D_MAX_WIDTH: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3563,13 +2896,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_IMAGE3D_MAX_HEIGHT: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3577,13 +2908,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_IMAGE3D_MAX_DEPTH: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3591,13 +2920,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_IMAGE_MAX_BUFFER_SIZE: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3605,13 +2932,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_IMAGE_MAX_ARRAY_SIZE: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3619,13 +2944,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_SAMPLERS: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3633,13 +2956,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_PARAMETER_SIZE: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3647,13 +2968,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MEM_BASE_ADDR_ALIGN: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3661,14 +2980,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_GLOBAL_MEM_CACHE_TYPE: { - const ur_device_mem_cache_type_t *tptr = - (const ur_device_mem_cache_type_t *)ptr; + const ur_device_mem_cache_type_t *tptr = (const ur_device_mem_cache_type_t *)ptr; if (sizeof(ur_device_mem_cache_type_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_device_mem_cache_type_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_mem_cache_type_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3676,13 +2992,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_GLOBAL_MEM_CACHELINE_SIZE: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3690,13 +3004,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_GLOBAL_MEM_CACHE_SIZE: { const uint64_t *tptr = (const uint64_t *)ptr; if (sizeof(uint64_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint64_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint64_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3704,13 +3016,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_GLOBAL_MEM_SIZE: { const uint64_t *tptr = (const uint64_t *)ptr; if (sizeof(uint64_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint64_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint64_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3718,13 +3028,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_GLOBAL_MEM_FREE: { const uint64_t *tptr = (const uint64_t *)ptr; if (sizeof(uint64_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint64_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint64_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3732,13 +3040,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_CONSTANT_BUFFER_SIZE: { const uint64_t *tptr = (const uint64_t *)ptr; if (sizeof(uint64_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint64_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint64_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3746,13 +3052,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_CONSTANT_ARGS: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3760,14 +3064,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_LOCAL_MEM_TYPE: { - const ur_device_local_mem_type_t *tptr = - (const ur_device_local_mem_type_t *)ptr; + const ur_device_local_mem_type_t *tptr = (const ur_device_local_mem_type_t *)ptr; if (sizeof(ur_device_local_mem_type_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_device_local_mem_type_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_local_mem_type_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3775,13 +3076,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_LOCAL_MEM_SIZE: { const uint64_t *tptr = (const uint64_t *)ptr; if (sizeof(uint64_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint64_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint64_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3789,13 +3088,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_ERROR_CORRECTION_SUPPORT: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3803,13 +3100,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_HOST_UNIFIED_MEMORY: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3817,13 +3112,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_PROFILING_TIMER_RESOLUTION: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3831,13 +3124,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_ENDIAN_LITTLE: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3845,13 +3136,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_AVAILABLE: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3859,13 +3148,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_COMPILER_AVAILABLE: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3873,13 +3160,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_LINKER_AVAILABLE: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3887,77 +3172,68 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_EXECUTION_CAPABILITIES: { - const ur_device_exec_capability_flags_t *tptr = - (const ur_device_exec_capability_flags_t *)ptr; + const ur_device_exec_capability_flags_t *tptr = (const ur_device_exec_capability_flags_t *)ptr; if (sizeof(ur_device_exec_capability_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_device_exec_capability_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_exec_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_QUEUE_ON_DEVICE_PROPERTIES: { const ur_queue_flags_t *tptr = (const ur_queue_flags_t *)ptr; if (sizeof(ur_queue_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_queue_flags_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_queue_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_QUEUE_ON_HOST_PROPERTIES: { const ur_queue_flags_t *tptr = (const ur_queue_flags_t *)ptr; if (sizeof(ur_queue_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_queue_flags_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_queue_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_BUILT_IN_KERNELS: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_DEVICE_INFO_PLATFORM: { const ur_platform_handle_t *tptr = (const ur_platform_handle_t *)ptr; if (sizeof(ur_platform_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_platform_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_platform_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_REFERENCE_COUNT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -3965,61 +3241,51 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_IL_VERSION: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_DEVICE_INFO_NAME: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_DEVICE_INFO_VENDOR: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_DEVICE_INFO_DRIVER_VERSION: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_DEVICE_INFO_PROFILE: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_DEVICE_INFO_VERSION: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_DEVICE_INFO_BACKEND_RUNTIME_VERSION: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_DEVICE_INFO_EXTENSIONS: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_DEVICE_INFO_PRINTF_BUFFER_SIZE: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4027,13 +3293,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_PREFERRED_INTEROP_USER_SYNC: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4041,21 +3305,19 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_PARENT_DEVICE: { const ur_device_handle_t *tptr = (const ur_device_handle_t *)ptr; if (sizeof(ur_device_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_device_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_SUPPORTED_PARTITIONS: { const ur_device_partition_t *tptr = (const ur_device_partition_t *)ptr; @@ -4070,13 +3332,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } os << "}"; } break; - case UR_DEVICE_INFO_PARTITION_MAX_SUB_DEVICES: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4084,27 +3344,22 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_PARTITION_AFFINITY_DOMAIN: { - const ur_device_affinity_domain_flags_t *tptr = - (const ur_device_affinity_domain_flags_t *)ptr; + const ur_device_affinity_domain_flags_t *tptr = (const ur_device_affinity_domain_flags_t *)ptr; if (sizeof(ur_device_affinity_domain_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_device_affinity_domain_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_affinity_domain_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_PARTITION_TYPE: { - const ur_device_partition_property_t *tptr = - (const ur_device_partition_property_t *)ptr; + const ur_device_partition_property_t *tptr = (const ur_device_partition_property_t *)ptr; os << "{"; size_t nelems = size / sizeof(ur_device_partition_property_t); for (size_t i = 0; i < nelems; ++i) { @@ -4116,13 +3371,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } os << "}"; } break; - case UR_DEVICE_INFO_MAX_NUM_SUB_GROUPS: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4130,13 +3383,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4144,7 +3395,6 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_SUB_GROUP_SIZES_INTEL: { const uint32_t *tptr = (const uint32_t *)ptr; @@ -4159,105 +3409,86 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } os << "}"; } break; - case UR_DEVICE_INFO_USM_HOST_SUPPORT: { - const ur_device_usm_access_capability_flags_t *tptr = - (const ur_device_usm_access_capability_flags_t *)ptr; + const ur_device_usm_access_capability_flags_t *tptr = (const ur_device_usm_access_capability_flags_t *)ptr; if (sizeof(ur_device_usm_access_capability_flags_t) > size) { - os << "invalid size (is: " << size << ", expected: >=" - << sizeof(ur_device_usm_access_capability_flags_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_usm_access_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, - *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_USM_DEVICE_SUPPORT: { - const ur_device_usm_access_capability_flags_t *tptr = - (const ur_device_usm_access_capability_flags_t *)ptr; + const ur_device_usm_access_capability_flags_t *tptr = (const ur_device_usm_access_capability_flags_t *)ptr; if (sizeof(ur_device_usm_access_capability_flags_t) > size) { - os << "invalid size (is: " << size << ", expected: >=" - << sizeof(ur_device_usm_access_capability_flags_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_usm_access_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, - *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_USM_SINGLE_SHARED_SUPPORT: { - const ur_device_usm_access_capability_flags_t *tptr = - (const ur_device_usm_access_capability_flags_t *)ptr; + const ur_device_usm_access_capability_flags_t *tptr = (const ur_device_usm_access_capability_flags_t *)ptr; if (sizeof(ur_device_usm_access_capability_flags_t) > size) { - os << "invalid size (is: " << size << ", expected: >=" - << sizeof(ur_device_usm_access_capability_flags_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_usm_access_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, - *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_USM_CROSS_SHARED_SUPPORT: { - const ur_device_usm_access_capability_flags_t *tptr = - (const ur_device_usm_access_capability_flags_t *)ptr; + const ur_device_usm_access_capability_flags_t *tptr = (const ur_device_usm_access_capability_flags_t *)ptr; if (sizeof(ur_device_usm_access_capability_flags_t) > size) { - os << "invalid size (is: " << size << ", expected: >=" - << sizeof(ur_device_usm_access_capability_flags_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_usm_access_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, - *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_USM_SYSTEM_SHARED_SUPPORT: { - const ur_device_usm_access_capability_flags_t *tptr = - (const ur_device_usm_access_capability_flags_t *)ptr; + const ur_device_usm_access_capability_flags_t *tptr = (const ur_device_usm_access_capability_flags_t *)ptr; if (sizeof(ur_device_usm_access_capability_flags_t) > size) { - os << "invalid size (is: " << size << ", expected: >=" - << sizeof(ur_device_usm_access_capability_flags_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_usm_access_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, - *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_UUID: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_DEVICE_INFO_PCI_ADDRESS: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_DEVICE_INFO_GPU_EU_COUNT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4265,13 +3496,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_GPU_EU_SIMD_WIDTH: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4279,13 +3508,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_GPU_EU_SLICES: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4293,13 +3520,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_GPU_EU_COUNT_PER_SUBSLICE: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4307,13 +3532,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_GPU_SUBSLICES_PER_SLICE: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4321,13 +3544,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_GPU_HW_THREADS_PER_EU: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4335,13 +3556,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_MEMORY_BANDWIDTH: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4349,13 +3568,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_IMAGE_SRGB: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4363,13 +3580,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_BUILD_ON_SUBDEVICE: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4377,13 +3592,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_ATOMIC_64: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4391,77 +3604,63 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES: { - const ur_memory_order_capability_flags_t *tptr = - (const ur_memory_order_capability_flags_t *)ptr; + const ur_memory_order_capability_flags_t *tptr = (const ur_memory_order_capability_flags_t *)ptr; if (sizeof(ur_memory_order_capability_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_memory_order_capability_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_memory_order_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES: { - const ur_memory_scope_capability_flags_t *tptr = - (const ur_memory_scope_capability_flags_t *)ptr; + const ur_memory_scope_capability_flags_t *tptr = (const ur_memory_scope_capability_flags_t *)ptr; if (sizeof(ur_memory_scope_capability_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_memory_scope_capability_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_memory_scope_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES: { - const ur_memory_order_capability_flags_t *tptr = - (const ur_memory_order_capability_flags_t *)ptr; + const ur_memory_order_capability_flags_t *tptr = (const ur_memory_order_capability_flags_t *)ptr; if (sizeof(ur_memory_order_capability_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_memory_order_capability_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_memory_order_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES: { - const ur_memory_scope_capability_flags_t *tptr = - (const ur_memory_scope_capability_flags_t *)ptr; + const ur_memory_scope_capability_flags_t *tptr = (const ur_memory_scope_capability_flags_t *)ptr; if (sizeof(ur_memory_scope_capability_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_memory_scope_capability_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_memory_scope_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_DEVICE_INFO_BFLOAT16: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4469,13 +3668,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_COMPUTE_QUEUE_INDICES: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4483,13 +3680,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_KERNEL_SET_SPECIALIZATION_CONSTANTS: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4497,13 +3692,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MEMORY_BUS_WIDTH: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4511,7 +3704,6 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_WORK_GROUPS_3D: { const size_t *tptr = (const size_t *)ptr; @@ -4526,13 +3718,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } os << "}"; } break; - case UR_DEVICE_INFO_ASYNC_BARRIER: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4540,13 +3730,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MEM_CHANNEL_SUPPORT: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4554,13 +3742,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_HOST_PIPE_READ_WRITE_SUPPORTED: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4568,13 +3754,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_REGISTERS_PER_WORK_GROUP: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4582,13 +3766,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_IP_VERSION: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4596,13 +3778,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_VIRTUAL_MEMORY_SUPPORT: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4610,13 +3790,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_ESIMD_SUPPORT: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4624,13 +3802,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_BINDLESS_IMAGES_SUPPORT_EXP: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4638,13 +3814,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_BINDLESS_IMAGES_SHARED_USM_SUPPORT_EXP: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4652,13 +3826,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_BINDLESS_IMAGES_1D_USM_SUPPORT_EXP: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4666,13 +3838,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_BINDLESS_IMAGES_2D_USM_SUPPORT_EXP: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4680,13 +3850,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_IMAGE_PITCH_ALIGN_EXP: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4694,13 +3862,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_IMAGE_LINEAR_WIDTH_EXP: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4708,13 +3874,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_IMAGE_LINEAR_HEIGHT_EXP: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4722,13 +3886,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MAX_IMAGE_LINEAR_PITCH_EXP: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4736,13 +3898,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MIPMAP_SUPPORT_EXP: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4750,13 +3910,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MIPMAP_ANISOTROPY_SUPPORT_EXP: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4764,13 +3922,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MIPMAP_MAX_ANISOTROPY_EXP: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4778,13 +3934,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_MIPMAP_LEVEL_REFERENCE_SUPPORT_EXP: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4792,13 +3946,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_INTEROP_MEMORY_IMPORT_SUPPORT_EXP: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4806,13 +3958,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_INTEROP_MEMORY_EXPORT_SUPPORT_EXP: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4820,13 +3970,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_INTEROP_SEMAPHORE_IMPORT_SUPPORT_EXP: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4834,13 +3982,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_DEVICE_INFO_INTEROP_SEMAPHORE_EXPORT_SUPPORT_EXP: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -4850,34 +3996,33 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_affinity_domain_flag_t value) { - switch (value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_affinity_domain_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_device_affinity_domain_flag_t value) { + switch (value) { case UR_DEVICE_AFFINITY_DOMAIN_FLAG_NUMA: os << "UR_DEVICE_AFFINITY_DOMAIN_FLAG_NUMA"; break; - case UR_DEVICE_AFFINITY_DOMAIN_FLAG_L4_CACHE: os << "UR_DEVICE_AFFINITY_DOMAIN_FLAG_L4_CACHE"; break; - case UR_DEVICE_AFFINITY_DOMAIN_FLAG_L3_CACHE: os << "UR_DEVICE_AFFINITY_DOMAIN_FLAG_L3_CACHE"; break; - case UR_DEVICE_AFFINITY_DOMAIN_FLAG_L2_CACHE: os << "UR_DEVICE_AFFINITY_DOMAIN_FLAG_L2_CACHE"; break; - case UR_DEVICE_AFFINITY_DOMAIN_FLAG_L1_CACHE: os << "UR_DEVICE_AFFINITY_DOMAIN_FLAG_L1_CACHE"; break; - case UR_DEVICE_AFFINITY_DOMAIN_FLAG_NEXT_PARTITIONABLE: os << "UR_DEVICE_AFFINITY_DOMAIN_FLAG_NEXT_PARTITIONABLE"; break; @@ -4887,16 +4032,16 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_device_affinity_domain_flag_t flag template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_DEVICE_AFFINITY_DOMAIN_FLAG_NUMA) == - (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_NUMA) { + if ((val & UR_DEVICE_AFFINITY_DOMAIN_FLAG_NUMA) == (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_NUMA) { val ^= (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_NUMA; if (!first) { os << " | "; @@ -4906,8 +4051,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_AFFINITY_DOMAIN_FLAG_NUMA; } - if ((val & UR_DEVICE_AFFINITY_DOMAIN_FLAG_L4_CACHE) == - (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_L4_CACHE) { + if ((val & UR_DEVICE_AFFINITY_DOMAIN_FLAG_L4_CACHE) == (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_L4_CACHE) { val ^= (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_L4_CACHE; if (!first) { os << " | "; @@ -4917,8 +4061,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_AFFINITY_DOMAIN_FLAG_L4_CACHE; } - if ((val & UR_DEVICE_AFFINITY_DOMAIN_FLAG_L3_CACHE) == - (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_L3_CACHE) { + if ((val & UR_DEVICE_AFFINITY_DOMAIN_FLAG_L3_CACHE) == (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_L3_CACHE) { val ^= (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_L3_CACHE; if (!first) { os << " | "; @@ -4928,8 +4071,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_AFFINITY_DOMAIN_FLAG_L3_CACHE; } - if ((val & UR_DEVICE_AFFINITY_DOMAIN_FLAG_L2_CACHE) == - (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_L2_CACHE) { + if ((val & UR_DEVICE_AFFINITY_DOMAIN_FLAG_L2_CACHE) == (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_L2_CACHE) { val ^= (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_L2_CACHE; if (!first) { os << " | "; @@ -4939,8 +4081,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_AFFINITY_DOMAIN_FLAG_L2_CACHE; } - if ((val & UR_DEVICE_AFFINITY_DOMAIN_FLAG_L1_CACHE) == - (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_L1_CACHE) { + if ((val & UR_DEVICE_AFFINITY_DOMAIN_FLAG_L1_CACHE) == (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_L1_CACHE) { val ^= (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_L1_CACHE; if (!first) { os << " | "; @@ -4950,8 +4091,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_AFFINITY_DOMAIN_FLAG_L1_CACHE; } - if ((val & UR_DEVICE_AFFINITY_DOMAIN_FLAG_NEXT_PARTITIONABLE) == - (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_NEXT_PARTITIONABLE) { + if ((val & UR_DEVICE_AFFINITY_DOMAIN_FLAG_NEXT_PARTITIONABLE) == (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_NEXT_PARTITIONABLE) { val ^= (uint32_t)UR_DEVICE_AFFINITY_DOMAIN_FLAG_NEXT_PARTITIONABLE; if (!first) { os << " | "; @@ -4969,24 +4109,24 @@ inline void serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_partition_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_partition_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_device_partition_t value) { switch (value) { - case UR_DEVICE_PARTITION_EQUALLY: os << "UR_DEVICE_PARTITION_EQUALLY"; break; - case UR_DEVICE_PARTITION_BY_COUNTS: os << "UR_DEVICE_PARTITION_BY_COUNTS"; break; - case UR_DEVICE_PARTITION_BY_AFFINITY_DOMAIN: os << "UR_DEVICE_PARTITION_BY_AFFINITY_DOMAIN"; break; - case UR_DEVICE_PARTITION_BY_CSLICE: os << "UR_DEVICE_PARTITION_BY_CSLICE"; break; @@ -4996,11 +4136,14 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } +namespace details { -inline void -ur_params::serializeUnion(std::ostream &os, - const union ur_device_partition_value_t params, - const enum ur_device_partition_t tag) { +/////////////////////////////////////////////////////////////////////////////// +// @brief Print ur_device_partition_value_t union +inline ur_result_t printUnion( + std::ostream &os, + const union ur_device_partition_value_t params, + const enum ur_device_partition_t tag) { os << "(union ur_device_partition_value_t){"; switch (tag) { @@ -5022,19 +4165,23 @@ ur_params::serializeUnion(std::ostream &os, os << ".affinity_domain = "; - ur_params::serializeFlag( - os, (params.affinity_domain)); + details::printFlag(os, + (params.affinity_domain)); break; default: os << ""; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } os << "}"; -} -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_device_partition_property_t params) { + return UR_RESULT_SUCCESS; +} +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_partition_property_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_device_partition_property_t params) { os << "(struct ur_device_partition_property_t){"; os << ".type = "; @@ -5043,14 +4190,16 @@ operator<<(std::ostream &os, os << ", "; os << ".value = "; - ur_params::serializeUnion(os, (params.value), params.type); + details::printUnion(os, (params.value), params.type); os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_device_partition_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_partition_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_device_partition_properties_t params) { os << "(struct ur_device_partition_properties_t){"; os << ".stype = "; @@ -5060,12 +4209,14 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".pProperties = "; - ur_params::serializePtr(os, (params.pProperties)); + details::printPtr(os, + (params.pProperties)); os << ", "; os << ".PropCount = "; @@ -5075,38 +4226,33 @@ operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_fp_capability_flag_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_fp_capability_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_device_fp_capability_flag_t value) { switch (value) { - case UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT: os << "UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT"; break; - case UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST: os << "UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST"; break; - case UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_ZERO: os << "UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_ZERO"; break; - case UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_INF: os << "UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_INF"; break; - case UR_DEVICE_FP_CAPABILITY_FLAG_INF_NAN: os << "UR_DEVICE_FP_CAPABILITY_FLAG_INF_NAN"; break; - case UR_DEVICE_FP_CAPABILITY_FLAG_DENORM: os << "UR_DEVICE_FP_CAPABILITY_FLAG_DENORM"; break; - case UR_DEVICE_FP_CAPABILITY_FLAG_FMA: os << "UR_DEVICE_FP_CAPABILITY_FLAG_FMA"; break; - case UR_DEVICE_FP_CAPABILITY_FLAG_SOFT_FLOAT: os << "UR_DEVICE_FP_CAPABILITY_FLAG_SOFT_FLOAT"; break; @@ -5116,18 +4262,17 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_device_fp_capability_flag_t flag template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT) == - (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT) { - val ^= (uint32_t) - UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT; + if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT) == (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT) { + val ^= (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT; if (!first) { os << " | "; } else { @@ -5136,8 +4281,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_FP_CAPABILITY_FLAG_CORRECTLY_ROUNDED_DIVIDE_SQRT; } - if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST) == - (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST) { + if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST) == (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST) { val ^= (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST; if (!first) { os << " | "; @@ -5147,8 +4291,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_NEAREST; } - if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_ZERO) == - (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_ZERO) { + if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_ZERO) == (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_ZERO) { val ^= (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_ZERO; if (!first) { os << " | "; @@ -5158,8 +4301,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_ZERO; } - if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_INF) == - (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_INF) { + if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_INF) == (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_INF) { val ^= (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_INF; if (!first) { os << " | "; @@ -5169,8 +4311,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_FP_CAPABILITY_FLAG_ROUND_TO_INF; } - if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_INF_NAN) == - (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_INF_NAN) { + if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_INF_NAN) == (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_INF_NAN) { val ^= (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_INF_NAN; if (!first) { os << " | "; @@ -5180,8 +4321,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_FP_CAPABILITY_FLAG_INF_NAN; } - if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_DENORM) == - (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_DENORM) { + if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_DENORM) == (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_DENORM) { val ^= (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_DENORM; if (!first) { os << " | "; @@ -5191,8 +4331,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_FP_CAPABILITY_FLAG_DENORM; } - if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_FMA) == - (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_FMA) { + if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_FMA) == (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_FMA) { val ^= (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_FMA; if (!first) { os << " | "; @@ -5202,8 +4341,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_FP_CAPABILITY_FLAG_FMA; } - if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_SOFT_FLOAT) == - (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_SOFT_FLOAT) { + if ((val & UR_DEVICE_FP_CAPABILITY_FLAG_SOFT_FLOAT) == (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_SOFT_FLOAT) { val ^= (uint32_t)UR_DEVICE_FP_CAPABILITY_FLAG_SOFT_FLOAT; if (!first) { os << " | "; @@ -5221,20 +4359,21 @@ inline void serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_mem_cache_type_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_mem_cache_type_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_device_mem_cache_type_t value) { switch (value) { - case UR_DEVICE_MEM_CACHE_TYPE_NONE: os << "UR_DEVICE_MEM_CACHE_TYPE_NONE"; break; - case UR_DEVICE_MEM_CACHE_TYPE_READ_ONLY_CACHE: os << "UR_DEVICE_MEM_CACHE_TYPE_READ_ONLY_CACHE"; break; - case UR_DEVICE_MEM_CACHE_TYPE_READ_WRITE_CACHE: os << "UR_DEVICE_MEM_CACHE_TYPE_READ_WRITE_CACHE"; break; @@ -5244,18 +4383,18 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_local_mem_type_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_local_mem_type_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_device_local_mem_type_t value) { switch (value) { - case UR_DEVICE_LOCAL_MEM_TYPE_NONE: os << "UR_DEVICE_LOCAL_MEM_TYPE_NONE"; break; - case UR_DEVICE_LOCAL_MEM_TYPE_LOCAL: os << "UR_DEVICE_LOCAL_MEM_TYPE_LOCAL"; break; - case UR_DEVICE_LOCAL_MEM_TYPE_GLOBAL: os << "UR_DEVICE_LOCAL_MEM_TYPE_GLOBAL"; break; @@ -5265,14 +4404,15 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_device_exec_capability_flag_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_exec_capability_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_device_exec_capability_flag_t value) { switch (value) { - case UR_DEVICE_EXEC_CAPABILITY_FLAG_KERNEL: os << "UR_DEVICE_EXEC_CAPABILITY_FLAG_KERNEL"; break; - case UR_DEVICE_EXEC_CAPABILITY_FLAG_NATIVE_KERNEL: os << "UR_DEVICE_EXEC_CAPABILITY_FLAG_NATIVE_KERNEL"; break; @@ -5282,16 +4422,16 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_device_exec_capability_flag_t flag template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_DEVICE_EXEC_CAPABILITY_FLAG_KERNEL) == - (uint32_t)UR_DEVICE_EXEC_CAPABILITY_FLAG_KERNEL) { + if ((val & UR_DEVICE_EXEC_CAPABILITY_FLAG_KERNEL) == (uint32_t)UR_DEVICE_EXEC_CAPABILITY_FLAG_KERNEL) { val ^= (uint32_t)UR_DEVICE_EXEC_CAPABILITY_FLAG_KERNEL; if (!first) { os << " | "; @@ -5301,8 +4441,7 @@ inline void serializeFlag(std::ostream &os, os << UR_DEVICE_EXEC_CAPABILITY_FLAG_KERNEL; } - if ((val & UR_DEVICE_EXEC_CAPABILITY_FLAG_NATIVE_KERNEL) == - (uint32_t)UR_DEVICE_EXEC_CAPABILITY_FLAG_NATIVE_KERNEL) { + if ((val & UR_DEVICE_EXEC_CAPABILITY_FLAG_NATIVE_KERNEL) == (uint32_t)UR_DEVICE_EXEC_CAPABILITY_FLAG_NATIVE_KERNEL) { val ^= (uint32_t)UR_DEVICE_EXEC_CAPABILITY_FLAG_NATIVE_KERNEL; if (!first) { os << " | "; @@ -5320,11 +4459,14 @@ inline void serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_device_native_properties_t params) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_native_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_device_native_properties_t params) { os << "(struct ur_device_native_properties_t){"; os << ".stype = "; @@ -5334,7 +4476,8 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".isNativeHandleOwned = "; @@ -5344,26 +4487,24 @@ operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_memory_order_capability_flag_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_memory_order_capability_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_memory_order_capability_flag_t value) { switch (value) { - case UR_MEMORY_ORDER_CAPABILITY_FLAG_RELAXED: os << "UR_MEMORY_ORDER_CAPABILITY_FLAG_RELAXED"; break; - case UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQUIRE: os << "UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQUIRE"; break; - case UR_MEMORY_ORDER_CAPABILITY_FLAG_RELEASE: os << "UR_MEMORY_ORDER_CAPABILITY_FLAG_RELEASE"; break; - case UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQ_REL: os << "UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQ_REL"; break; - case UR_MEMORY_ORDER_CAPABILITY_FLAG_SEQ_CST: os << "UR_MEMORY_ORDER_CAPABILITY_FLAG_SEQ_CST"; break; @@ -5373,16 +4514,16 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_memory_order_capability_flag_t flag template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_MEMORY_ORDER_CAPABILITY_FLAG_RELAXED) == - (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_RELAXED) { + if ((val & UR_MEMORY_ORDER_CAPABILITY_FLAG_RELAXED) == (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_RELAXED) { val ^= (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_RELAXED; if (!first) { os << " | "; @@ -5392,8 +4533,7 @@ inline void serializeFlag(std::ostream &os, os << UR_MEMORY_ORDER_CAPABILITY_FLAG_RELAXED; } - if ((val & UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQUIRE) == - (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQUIRE) { + if ((val & UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQUIRE) == (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQUIRE) { val ^= (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQUIRE; if (!first) { os << " | "; @@ -5403,8 +4543,7 @@ inline void serializeFlag(std::ostream &os, os << UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQUIRE; } - if ((val & UR_MEMORY_ORDER_CAPABILITY_FLAG_RELEASE) == - (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_RELEASE) { + if ((val & UR_MEMORY_ORDER_CAPABILITY_FLAG_RELEASE) == (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_RELEASE) { val ^= (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_RELEASE; if (!first) { os << " | "; @@ -5414,8 +4553,7 @@ inline void serializeFlag(std::ostream &os, os << UR_MEMORY_ORDER_CAPABILITY_FLAG_RELEASE; } - if ((val & UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQ_REL) == - (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQ_REL) { + if ((val & UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQ_REL) == (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQ_REL) { val ^= (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQ_REL; if (!first) { os << " | "; @@ -5425,8 +4563,7 @@ inline void serializeFlag(std::ostream &os, os << UR_MEMORY_ORDER_CAPABILITY_FLAG_ACQ_REL; } - if ((val & UR_MEMORY_ORDER_CAPABILITY_FLAG_SEQ_CST) == - (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_SEQ_CST) { + if ((val & UR_MEMORY_ORDER_CAPABILITY_FLAG_SEQ_CST) == (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_SEQ_CST) { val ^= (uint32_t)UR_MEMORY_ORDER_CAPABILITY_FLAG_SEQ_CST; if (!first) { os << " | "; @@ -5444,28 +4581,27 @@ inline void serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_memory_scope_capability_flag_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_memory_scope_capability_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_memory_scope_capability_flag_t value) { switch (value) { - case UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_ITEM: os << "UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_ITEM"; break; - case UR_MEMORY_SCOPE_CAPABILITY_FLAG_SUB_GROUP: os << "UR_MEMORY_SCOPE_CAPABILITY_FLAG_SUB_GROUP"; break; - case UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_GROUP: os << "UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_GROUP"; break; - case UR_MEMORY_SCOPE_CAPABILITY_FLAG_DEVICE: os << "UR_MEMORY_SCOPE_CAPABILITY_FLAG_DEVICE"; break; - case UR_MEMORY_SCOPE_CAPABILITY_FLAG_SYSTEM: os << "UR_MEMORY_SCOPE_CAPABILITY_FLAG_SYSTEM"; break; @@ -5475,16 +4611,16 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_memory_scope_capability_flag_t flag template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_ITEM) == - (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_ITEM) { + if ((val & UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_ITEM) == (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_ITEM) { val ^= (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_ITEM; if (!first) { os << " | "; @@ -5494,8 +4630,7 @@ inline void serializeFlag(std::ostream &os, os << UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_ITEM; } - if ((val & UR_MEMORY_SCOPE_CAPABILITY_FLAG_SUB_GROUP) == - (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_SUB_GROUP) { + if ((val & UR_MEMORY_SCOPE_CAPABILITY_FLAG_SUB_GROUP) == (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_SUB_GROUP) { val ^= (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_SUB_GROUP; if (!first) { os << " | "; @@ -5505,8 +4640,7 @@ inline void serializeFlag(std::ostream &os, os << UR_MEMORY_SCOPE_CAPABILITY_FLAG_SUB_GROUP; } - if ((val & UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_GROUP) == - (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_GROUP) { + if ((val & UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_GROUP) == (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_GROUP) { val ^= (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_GROUP; if (!first) { os << " | "; @@ -5516,8 +4650,7 @@ inline void serializeFlag(std::ostream &os, os << UR_MEMORY_SCOPE_CAPABILITY_FLAG_WORK_GROUP; } - if ((val & UR_MEMORY_SCOPE_CAPABILITY_FLAG_DEVICE) == - (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_DEVICE) { + if ((val & UR_MEMORY_SCOPE_CAPABILITY_FLAG_DEVICE) == (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_DEVICE) { val ^= (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_DEVICE; if (!first) { os << " | "; @@ -5527,8 +4660,7 @@ inline void serializeFlag(std::ostream &os, os << UR_MEMORY_SCOPE_CAPABILITY_FLAG_DEVICE; } - if ((val & UR_MEMORY_SCOPE_CAPABILITY_FLAG_SYSTEM) == - (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_SYSTEM) { + if ((val & UR_MEMORY_SCOPE_CAPABILITY_FLAG_SYSTEM) == (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_SYSTEM) { val ^= (uint32_t)UR_MEMORY_SCOPE_CAPABILITY_FLAG_SYSTEM; if (!first) { os << " | "; @@ -5546,25 +4678,24 @@ inline void serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream & -operator<<(std::ostream &os, - enum ur_device_usm_access_capability_flag_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_usm_access_capability_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_device_usm_access_capability_flag_t value) { switch (value) { - case UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ACCESS: os << "UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ACCESS"; break; - case UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_ACCESS: os << "UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_ACCESS"; break; - case UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_CONCURRENT_ACCESS: os << "UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_CONCURRENT_ACCESS"; break; - case UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_CONCURRENT_ACCESS: os << "UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_CONCURRENT_ACCESS"; break; @@ -5574,17 +4705,16 @@ operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_device_usm_access_capability_flag_t flag template <> -inline void -serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ACCESS) == - (uint32_t)UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ACCESS) { + if ((val & UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ACCESS) == (uint32_t)UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ACCESS) { val ^= (uint32_t)UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ACCESS; if (!first) { os << " | "; @@ -5594,8 +4724,7 @@ serializeFlag(std::ostream &os, os << UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ACCESS; } - if ((val & UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_ACCESS) == - (uint32_t)UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_ACCESS) { + if ((val & UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_ACCESS) == (uint32_t)UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_ACCESS) { val ^= (uint32_t)UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_ACCESS; if (!first) { os << " | "; @@ -5605,8 +4734,7 @@ serializeFlag(std::ostream &os, os << UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_ACCESS; } - if ((val & UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_CONCURRENT_ACCESS) == - (uint32_t)UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_CONCURRENT_ACCESS) { + if ((val & UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_CONCURRENT_ACCESS) == (uint32_t)UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_CONCURRENT_ACCESS) { val ^= (uint32_t)UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_CONCURRENT_ACCESS; if (!first) { os << " | "; @@ -5616,11 +4744,8 @@ serializeFlag(std::ostream &os, os << UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_CONCURRENT_ACCESS; } - if ((val & UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_CONCURRENT_ACCESS) == - (uint32_t) - UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_CONCURRENT_ACCESS) { - val ^= (uint32_t) - UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_CONCURRENT_ACCESS; + if ((val & UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_CONCURRENT_ACCESS) == (uint32_t)UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_CONCURRENT_ACCESS) { + val ^= (uint32_t)UR_DEVICE_USM_ACCESS_CAPABILITY_FLAG_ATOMIC_CONCURRENT_ACCESS; if (!first) { os << " | "; } else { @@ -5637,12 +4762,15 @@ serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_context_flag_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_context_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_context_flag_t value) { switch (value) { - case UR_CONTEXT_FLAG_TBD: os << "UR_CONTEXT_FLAG_TBD"; break; @@ -5652,10 +4780,12 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_context_flag_t flag template <> -inline void serializeFlag(std::ostream &os, uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; @@ -5677,10 +4807,14 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - const struct ur_context_properties_t params) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_context_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_context_properties_t params) { os << "(struct ur_context_properties_t){"; os << ".stype = "; @@ -5690,52 +4824,48 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".flags = "; - ur_params::serializeFlag(os, (params.flags)); + details::printFlag(os, + (params.flags)); os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_context_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_context_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_context_info_t value) { switch (value) { - case UR_CONTEXT_INFO_NUM_DEVICES: os << "UR_CONTEXT_INFO_NUM_DEVICES"; break; - case UR_CONTEXT_INFO_DEVICES: os << "UR_CONTEXT_INFO_DEVICES"; break; - case UR_CONTEXT_INFO_REFERENCE_COUNT: os << "UR_CONTEXT_INFO_REFERENCE_COUNT"; break; - case UR_CONTEXT_INFO_USM_MEMCPY2D_SUPPORT: os << "UR_CONTEXT_INFO_USM_MEMCPY2D_SUPPORT"; break; - case UR_CONTEXT_INFO_USM_FILL2D_SUPPORT: os << "UR_CONTEXT_INFO_USM_FILL2D_SUPPORT"; break; - case UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES: os << "UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES"; break; - case UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES: os << "UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES"; break; - case UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES: os << "UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES"; break; - case UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES: os << "UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES"; break; @@ -5745,23 +4875,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_context_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_context_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_context_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_CONTEXT_INFO_NUM_DEVICES: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -5769,7 +4897,6 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_CONTEXT_INFO_DEVICES: { const ur_device_handle_t *tptr = (const ur_device_handle_t *)ptr; @@ -5780,17 +4907,16 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ", "; } - ur_params::serializePtr(os, tptr[i]); + details::printPtr(os, + tptr[i]); } os << "}"; } break; - case UR_CONTEXT_INFO_REFERENCE_COUNT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -5798,13 +4924,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_CONTEXT_INFO_USM_MEMCPY2D_SUPPORT: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -5812,13 +4936,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_CONTEXT_INFO_USM_FILL2D_SUPPORT: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -5826,79 +4948,71 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_CONTEXT_INFO_ATOMIC_MEMORY_ORDER_CAPABILITIES: { - const ur_memory_order_capability_flags_t *tptr = - (const ur_memory_order_capability_flags_t *)ptr; + const ur_memory_order_capability_flags_t *tptr = (const ur_memory_order_capability_flags_t *)ptr; if (sizeof(ur_memory_order_capability_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_memory_order_capability_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_memory_order_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_CONTEXT_INFO_ATOMIC_MEMORY_SCOPE_CAPABILITIES: { - const ur_memory_scope_capability_flags_t *tptr = - (const ur_memory_scope_capability_flags_t *)ptr; + const ur_memory_scope_capability_flags_t *tptr = (const ur_memory_scope_capability_flags_t *)ptr; if (sizeof(ur_memory_scope_capability_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_memory_scope_capability_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_memory_scope_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_CONTEXT_INFO_ATOMIC_FENCE_ORDER_CAPABILITIES: { - const ur_memory_order_capability_flags_t *tptr = - (const ur_memory_order_capability_flags_t *)ptr; + const ur_memory_order_capability_flags_t *tptr = (const ur_memory_order_capability_flags_t *)ptr; if (sizeof(ur_memory_order_capability_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_memory_order_capability_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_memory_order_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_CONTEXT_INFO_ATOMIC_FENCE_SCOPE_CAPABILITIES: { - const ur_memory_scope_capability_flags_t *tptr = - (const ur_memory_scope_capability_flags_t *)ptr; + const ur_memory_scope_capability_flags_t *tptr = (const ur_memory_scope_capability_flags_t *)ptr; if (sizeof(ur_memory_scope_capability_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_memory_scope_capability_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_memory_scope_capability_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_context_native_properties_t params) { +} // namespace details + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_context_native_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_context_native_properties_t params) { os << "(struct ur_context_native_properties_t){"; os << ".stype = "; @@ -5908,7 +5022,8 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".isNativeHandleOwned = "; @@ -5918,29 +5033,27 @@ operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, enum ur_mem_flag_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_mem_flag_t value) { switch (value) { - case UR_MEM_FLAG_READ_WRITE: os << "UR_MEM_FLAG_READ_WRITE"; break; - case UR_MEM_FLAG_WRITE_ONLY: os << "UR_MEM_FLAG_WRITE_ONLY"; break; - case UR_MEM_FLAG_READ_ONLY: os << "UR_MEM_FLAG_READ_ONLY"; break; - case UR_MEM_FLAG_USE_HOST_POINTER: os << "UR_MEM_FLAG_USE_HOST_POINTER"; break; - case UR_MEM_FLAG_ALLOC_HOST_POINTER: os << "UR_MEM_FLAG_ALLOC_HOST_POINTER"; break; - case UR_MEM_FLAG_ALLOC_COPY_HOST_POINTER: os << "UR_MEM_FLAG_ALLOC_COPY_HOST_POINTER"; break; @@ -5950,10 +5063,12 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_mem_flag_t value) { } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_mem_flag_t flag template <> -inline void serializeFlag(std::ostream &os, uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; @@ -5987,8 +5102,7 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { os << UR_MEM_FLAG_READ_ONLY; } - if ((val & UR_MEM_FLAG_USE_HOST_POINTER) == - (uint32_t)UR_MEM_FLAG_USE_HOST_POINTER) { + if ((val & UR_MEM_FLAG_USE_HOST_POINTER) == (uint32_t)UR_MEM_FLAG_USE_HOST_POINTER) { val ^= (uint32_t)UR_MEM_FLAG_USE_HOST_POINTER; if (!first) { os << " | "; @@ -5998,8 +5112,7 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { os << UR_MEM_FLAG_USE_HOST_POINTER; } - if ((val & UR_MEM_FLAG_ALLOC_HOST_POINTER) == - (uint32_t)UR_MEM_FLAG_ALLOC_HOST_POINTER) { + if ((val & UR_MEM_FLAG_ALLOC_HOST_POINTER) == (uint32_t)UR_MEM_FLAG_ALLOC_HOST_POINTER) { val ^= (uint32_t)UR_MEM_FLAG_ALLOC_HOST_POINTER; if (!first) { os << " | "; @@ -6009,8 +5122,7 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { os << UR_MEM_FLAG_ALLOC_HOST_POINTER; } - if ((val & UR_MEM_FLAG_ALLOC_COPY_HOST_POINTER) == - (uint32_t)UR_MEM_FLAG_ALLOC_COPY_HOST_POINTER) { + if ((val & UR_MEM_FLAG_ALLOC_COPY_HOST_POINTER) == (uint32_t)UR_MEM_FLAG_ALLOC_COPY_HOST_POINTER) { val ^= (uint32_t)UR_MEM_FLAG_ALLOC_COPY_HOST_POINTER; if (!first) { os << " | "; @@ -6028,35 +5140,33 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, enum ur_mem_type_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_type_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_mem_type_t value) { switch (value) { - case UR_MEM_TYPE_BUFFER: os << "UR_MEM_TYPE_BUFFER"; break; - case UR_MEM_TYPE_IMAGE2D: os << "UR_MEM_TYPE_IMAGE2D"; break; - case UR_MEM_TYPE_IMAGE3D: os << "UR_MEM_TYPE_IMAGE3D"; break; - case UR_MEM_TYPE_IMAGE2D_ARRAY: os << "UR_MEM_TYPE_IMAGE2D_ARRAY"; break; - case UR_MEM_TYPE_IMAGE1D: os << "UR_MEM_TYPE_IMAGE1D"; break; - case UR_MEM_TYPE_IMAGE1D_ARRAY: os << "UR_MEM_TYPE_IMAGE1D_ARRAY"; break; - case UR_MEM_TYPE_IMAGE1D_BUFFER: os << "UR_MEM_TYPE_IMAGE1D_BUFFER"; break; @@ -6066,13 +5176,15 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_mem_type_t value) { } return os; } -inline std::ostream &operator<<(std::ostream &os, enum ur_mem_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_mem_info_t value) { switch (value) { - case UR_MEM_INFO_SIZE: os << "UR_MEM_INFO_SIZE"; break; - case UR_MEM_INFO_CONTEXT: os << "UR_MEM_INFO_CONTEXT"; break; @@ -6082,23 +5194,21 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_mem_info_t value) { } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_mem_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_mem_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_mem_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_MEM_INFO_SIZE: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -6106,86 +5216,75 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_MEM_INFO_CONTEXT: { const ur_context_handle_t *tptr = (const ur_context_handle_t *)ptr; if (sizeof(ur_context_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_context_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_context_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_image_channel_order_t value) { - switch (value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_image_channel_order_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_image_channel_order_t value) { + switch (value) { case UR_IMAGE_CHANNEL_ORDER_A: os << "UR_IMAGE_CHANNEL_ORDER_A"; break; - case UR_IMAGE_CHANNEL_ORDER_R: os << "UR_IMAGE_CHANNEL_ORDER_R"; break; - case UR_IMAGE_CHANNEL_ORDER_RG: os << "UR_IMAGE_CHANNEL_ORDER_RG"; break; - case UR_IMAGE_CHANNEL_ORDER_RA: os << "UR_IMAGE_CHANNEL_ORDER_RA"; break; - case UR_IMAGE_CHANNEL_ORDER_RGB: os << "UR_IMAGE_CHANNEL_ORDER_RGB"; break; - case UR_IMAGE_CHANNEL_ORDER_RGBA: os << "UR_IMAGE_CHANNEL_ORDER_RGBA"; break; - case UR_IMAGE_CHANNEL_ORDER_BGRA: os << "UR_IMAGE_CHANNEL_ORDER_BGRA"; break; - case UR_IMAGE_CHANNEL_ORDER_ARGB: os << "UR_IMAGE_CHANNEL_ORDER_ARGB"; break; - case UR_IMAGE_CHANNEL_ORDER_ABGR: os << "UR_IMAGE_CHANNEL_ORDER_ABGR"; break; - case UR_IMAGE_CHANNEL_ORDER_INTENSITY: os << "UR_IMAGE_CHANNEL_ORDER_INTENSITY"; break; - case UR_IMAGE_CHANNEL_ORDER_LUMINANCE: os << "UR_IMAGE_CHANNEL_ORDER_LUMINANCE"; break; - case UR_IMAGE_CHANNEL_ORDER_RX: os << "UR_IMAGE_CHANNEL_ORDER_RX"; break; - case UR_IMAGE_CHANNEL_ORDER_RGX: os << "UR_IMAGE_CHANNEL_ORDER_RGX"; break; - case UR_IMAGE_CHANNEL_ORDER_RGBX: os << "UR_IMAGE_CHANNEL_ORDER_RGBX"; break; - case UR_IMAGE_CHANNEL_ORDER_SRGBA: os << "UR_IMAGE_CHANNEL_ORDER_SRGBA"; break; @@ -6195,66 +5294,54 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_image_channel_type_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_image_channel_type_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_image_channel_type_t value) { switch (value) { - case UR_IMAGE_CHANNEL_TYPE_SNORM_INT8: os << "UR_IMAGE_CHANNEL_TYPE_SNORM_INT8"; break; - case UR_IMAGE_CHANNEL_TYPE_SNORM_INT16: os << "UR_IMAGE_CHANNEL_TYPE_SNORM_INT16"; break; - case UR_IMAGE_CHANNEL_TYPE_UNORM_INT8: os << "UR_IMAGE_CHANNEL_TYPE_UNORM_INT8"; break; - case UR_IMAGE_CHANNEL_TYPE_UNORM_INT16: os << "UR_IMAGE_CHANNEL_TYPE_UNORM_INT16"; break; - case UR_IMAGE_CHANNEL_TYPE_UNORM_SHORT_565: os << "UR_IMAGE_CHANNEL_TYPE_UNORM_SHORT_565"; break; - case UR_IMAGE_CHANNEL_TYPE_UNORM_SHORT_555: os << "UR_IMAGE_CHANNEL_TYPE_UNORM_SHORT_555"; break; - case UR_IMAGE_CHANNEL_TYPE_INT_101010: os << "UR_IMAGE_CHANNEL_TYPE_INT_101010"; break; - case UR_IMAGE_CHANNEL_TYPE_SIGNED_INT8: os << "UR_IMAGE_CHANNEL_TYPE_SIGNED_INT8"; break; - case UR_IMAGE_CHANNEL_TYPE_SIGNED_INT16: os << "UR_IMAGE_CHANNEL_TYPE_SIGNED_INT16"; break; - case UR_IMAGE_CHANNEL_TYPE_SIGNED_INT32: os << "UR_IMAGE_CHANNEL_TYPE_SIGNED_INT32"; break; - case UR_IMAGE_CHANNEL_TYPE_UNSIGNED_INT8: os << "UR_IMAGE_CHANNEL_TYPE_UNSIGNED_INT8"; break; - case UR_IMAGE_CHANNEL_TYPE_UNSIGNED_INT16: os << "UR_IMAGE_CHANNEL_TYPE_UNSIGNED_INT16"; break; - case UR_IMAGE_CHANNEL_TYPE_UNSIGNED_INT32: os << "UR_IMAGE_CHANNEL_TYPE_UNSIGNED_INT32"; break; - case UR_IMAGE_CHANNEL_TYPE_HALF_FLOAT: os << "UR_IMAGE_CHANNEL_TYPE_HALF_FLOAT"; break; - case UR_IMAGE_CHANNEL_TYPE_FLOAT: os << "UR_IMAGE_CHANNEL_TYPE_FLOAT"; break; @@ -6264,33 +5351,30 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream &operator<<(std::ostream &os, enum ur_image_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_image_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_image_info_t value) { switch (value) { - case UR_IMAGE_INFO_FORMAT: os << "UR_IMAGE_INFO_FORMAT"; break; - case UR_IMAGE_INFO_ELEMENT_SIZE: os << "UR_IMAGE_INFO_ELEMENT_SIZE"; break; - case UR_IMAGE_INFO_ROW_PITCH: os << "UR_IMAGE_INFO_ROW_PITCH"; break; - case UR_IMAGE_INFO_SLICE_PITCH: os << "UR_IMAGE_INFO_SLICE_PITCH"; break; - case UR_IMAGE_INFO_WIDTH: os << "UR_IMAGE_INFO_WIDTH"; break; - case UR_IMAGE_INFO_HEIGHT: os << "UR_IMAGE_INFO_HEIGHT"; break; - case UR_IMAGE_INFO_DEPTH: os << "UR_IMAGE_INFO_DEPTH"; break; @@ -6300,23 +5384,21 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_image_info_t value) { } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_image_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_image_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_image_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_IMAGE_INFO_FORMAT: { const ur_image_format_t *tptr = (const ur_image_format_t *)ptr; if (sizeof(ur_image_format_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_image_format_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_image_format_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -6324,13 +5406,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_IMAGE_INFO_ELEMENT_SIZE: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -6338,13 +5418,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_IMAGE_INFO_ROW_PITCH: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -6352,13 +5430,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_IMAGE_INFO_SLICE_PITCH: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -6366,13 +5442,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_IMAGE_INFO_WIDTH: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -6380,13 +5454,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_IMAGE_INFO_HEIGHT: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -6394,13 +5466,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_IMAGE_INFO_DEPTH: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -6410,12 +5480,17 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - const struct ur_image_format_t params) { +} // namespace details + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_image_format_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_image_format_t params) { os << "(struct ur_image_format_t){"; os << ".channelOrder = "; @@ -6430,8 +5505,11 @@ inline std::ostream &operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_image_desc_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_image_desc_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_image_desc_t params) { os << "(struct ur_image_desc_t){"; os << ".stype = "; @@ -6441,7 +5519,8 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".type = "; @@ -6491,8 +5570,11 @@ inline std::ostream &operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_buffer_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_buffer_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_buffer_properties_t params) { os << "(struct ur_buffer_properties_t){"; os << ".stype = "; @@ -6502,19 +5584,23 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".pHost = "; - ur_params::serializePtr(os, (params.pHost)); + details::printPtr(os, + (params.pHost)); os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_buffer_channel_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_buffer_channel_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_buffer_channel_properties_t params) { os << "(struct ur_buffer_channel_properties_t){"; os << ".stype = "; @@ -6524,7 +5610,8 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".channel = "; @@ -6534,9 +5621,11 @@ operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_buffer_alloc_location_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_buffer_alloc_location_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_buffer_alloc_location_properties_t params) { os << "(struct ur_buffer_alloc_location_properties_t){"; os << ".stype = "; @@ -6546,7 +5635,8 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".location = "; @@ -6556,8 +5646,11 @@ operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_buffer_region_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_buffer_region_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_buffer_region_t params) { os << "(struct ur_buffer_region_t){"; os << ".stype = "; @@ -6567,7 +5660,8 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".origin = "; @@ -6582,10 +5676,12 @@ inline std::ostream &operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_buffer_create_type_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_buffer_create_type_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_buffer_create_type_t value) { switch (value) { - case UR_BUFFER_CREATE_TYPE_REGION: os << "UR_BUFFER_CREATE_TYPE_REGION"; break; @@ -6595,8 +5691,11 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream & -operator<<(std::ostream &os, const struct ur_mem_native_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_native_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_mem_native_properties_t params) { os << "(struct ur_mem_native_properties_t){"; os << ".stype = "; @@ -6606,7 +5705,8 @@ operator<<(std::ostream &os, const struct ur_mem_native_properties_t params) { os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".isNativeHandleOwned = "; @@ -6616,14 +5716,15 @@ operator<<(std::ostream &os, const struct ur_mem_native_properties_t params) { os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_sampler_filter_mode_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_sampler_filter_mode_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_sampler_filter_mode_t value) { switch (value) { - case UR_SAMPLER_FILTER_MODE_NEAREST: os << "UR_SAMPLER_FILTER_MODE_NEAREST"; break; - case UR_SAMPLER_FILTER_MODE_LINEAR: os << "UR_SAMPLER_FILTER_MODE_LINEAR"; break; @@ -6633,26 +5734,24 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_sampler_addressing_mode_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_sampler_addressing_mode_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_sampler_addressing_mode_t value) { switch (value) { - case UR_SAMPLER_ADDRESSING_MODE_NONE: os << "UR_SAMPLER_ADDRESSING_MODE_NONE"; break; - case UR_SAMPLER_ADDRESSING_MODE_CLAMP_TO_EDGE: os << "UR_SAMPLER_ADDRESSING_MODE_CLAMP_TO_EDGE"; break; - case UR_SAMPLER_ADDRESSING_MODE_CLAMP: os << "UR_SAMPLER_ADDRESSING_MODE_CLAMP"; break; - case UR_SAMPLER_ADDRESSING_MODE_REPEAT: os << "UR_SAMPLER_ADDRESSING_MODE_REPEAT"; break; - case UR_SAMPLER_ADDRESSING_MODE_MIRRORED_REPEAT: os << "UR_SAMPLER_ADDRESSING_MODE_MIRRORED_REPEAT"; break; @@ -6662,26 +5761,24 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_sampler_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_sampler_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_sampler_info_t value) { switch (value) { - case UR_SAMPLER_INFO_REFERENCE_COUNT: os << "UR_SAMPLER_INFO_REFERENCE_COUNT"; break; - case UR_SAMPLER_INFO_CONTEXT: os << "UR_SAMPLER_INFO_CONTEXT"; break; - case UR_SAMPLER_INFO_NORMALIZED_COORDS: os << "UR_SAMPLER_INFO_NORMALIZED_COORDS"; break; - case UR_SAMPLER_INFO_ADDRESSING_MODE: os << "UR_SAMPLER_INFO_ADDRESSING_MODE"; break; - case UR_SAMPLER_INFO_FILTER_MODE: os << "UR_SAMPLER_INFO_FILTER_MODE"; break; @@ -6691,23 +5788,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_sampler_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_sampler_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_sampler_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_SAMPLER_INFO_REFERENCE_COUNT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -6715,27 +5810,24 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_SAMPLER_INFO_CONTEXT: { const ur_context_handle_t *tptr = (const ur_context_handle_t *)ptr; if (sizeof(ur_context_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_context_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_context_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; - case UR_SAMPLER_INFO_NORMALIZED_COORDS: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -6743,15 +5835,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_SAMPLER_INFO_ADDRESSING_MODE: { - const ur_sampler_addressing_mode_t *tptr = - (const ur_sampler_addressing_mode_t *)ptr; + const ur_sampler_addressing_mode_t *tptr = (const ur_sampler_addressing_mode_t *)ptr; if (sizeof(ur_sampler_addressing_mode_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_sampler_addressing_mode_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_sampler_addressing_mode_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -6759,14 +5847,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_SAMPLER_INFO_FILTER_MODE: { - const ur_sampler_filter_mode_t *tptr = - (const ur_sampler_filter_mode_t *)ptr; + const ur_sampler_filter_mode_t *tptr = (const ur_sampler_filter_mode_t *)ptr; if (sizeof(ur_sampler_filter_mode_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_sampler_filter_mode_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_sampler_filter_mode_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -6776,12 +5861,17 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - const struct ur_sampler_desc_t params) { +} // namespace details + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_sampler_desc_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_sampler_desc_t params) { os << "(struct ur_sampler_desc_t){"; os << ".stype = "; @@ -6791,7 +5881,8 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".normalizedCoords = "; @@ -6811,9 +5902,11 @@ inline std::ostream &operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_sampler_native_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_sampler_native_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_sampler_native_properties_t params) { os << "(struct ur_sampler_native_properties_t){"; os << ".stype = "; @@ -6823,7 +5916,8 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".isNativeHandleOwned = "; @@ -6833,10 +5927,12 @@ operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_host_mem_flag_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_host_mem_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_usm_host_mem_flag_t value) { switch (value) { - case UR_USM_HOST_MEM_FLAG_INITIAL_PLACEMENT: os << "UR_USM_HOST_MEM_FLAG_INITIAL_PLACEMENT"; break; @@ -6846,16 +5942,16 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_usm_host_mem_flag_t flag template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_USM_HOST_MEM_FLAG_INITIAL_PLACEMENT) == - (uint32_t)UR_USM_HOST_MEM_FLAG_INITIAL_PLACEMENT) { + if ((val & UR_USM_HOST_MEM_FLAG_INITIAL_PLACEMENT) == (uint32_t)UR_USM_HOST_MEM_FLAG_INITIAL_PLACEMENT) { val ^= (uint32_t)UR_USM_HOST_MEM_FLAG_INITIAL_PLACEMENT; if (!first) { os << " | "; @@ -6873,20 +5969,21 @@ inline void serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_device_mem_flag_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_device_mem_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_usm_device_mem_flag_t value) { switch (value) { - case UR_USM_DEVICE_MEM_FLAG_WRITE_COMBINED: os << "UR_USM_DEVICE_MEM_FLAG_WRITE_COMBINED"; break; - case UR_USM_DEVICE_MEM_FLAG_INITIAL_PLACEMENT: os << "UR_USM_DEVICE_MEM_FLAG_INITIAL_PLACEMENT"; break; - case UR_USM_DEVICE_MEM_FLAG_DEVICE_READ_ONLY: os << "UR_USM_DEVICE_MEM_FLAG_DEVICE_READ_ONLY"; break; @@ -6896,16 +5993,16 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_usm_device_mem_flag_t flag template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_USM_DEVICE_MEM_FLAG_WRITE_COMBINED) == - (uint32_t)UR_USM_DEVICE_MEM_FLAG_WRITE_COMBINED) { + if ((val & UR_USM_DEVICE_MEM_FLAG_WRITE_COMBINED) == (uint32_t)UR_USM_DEVICE_MEM_FLAG_WRITE_COMBINED) { val ^= (uint32_t)UR_USM_DEVICE_MEM_FLAG_WRITE_COMBINED; if (!first) { os << " | "; @@ -6915,8 +6012,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_DEVICE_MEM_FLAG_WRITE_COMBINED; } - if ((val & UR_USM_DEVICE_MEM_FLAG_INITIAL_PLACEMENT) == - (uint32_t)UR_USM_DEVICE_MEM_FLAG_INITIAL_PLACEMENT) { + if ((val & UR_USM_DEVICE_MEM_FLAG_INITIAL_PLACEMENT) == (uint32_t)UR_USM_DEVICE_MEM_FLAG_INITIAL_PLACEMENT) { val ^= (uint32_t)UR_USM_DEVICE_MEM_FLAG_INITIAL_PLACEMENT; if (!first) { os << " | "; @@ -6926,8 +6022,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_DEVICE_MEM_FLAG_INITIAL_PLACEMENT; } - if ((val & UR_USM_DEVICE_MEM_FLAG_DEVICE_READ_ONLY) == - (uint32_t)UR_USM_DEVICE_MEM_FLAG_DEVICE_READ_ONLY) { + if ((val & UR_USM_DEVICE_MEM_FLAG_DEVICE_READ_ONLY) == (uint32_t)UR_USM_DEVICE_MEM_FLAG_DEVICE_READ_ONLY) { val ^= (uint32_t)UR_USM_DEVICE_MEM_FLAG_DEVICE_READ_ONLY; if (!first) { os << " | "; @@ -6945,12 +6040,15 @@ inline void serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_pool_flag_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_pool_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_usm_pool_flag_t value) { switch (value) { - case UR_USM_POOL_FLAG_ZERO_INITIALIZE_BLOCK: os << "UR_USM_POOL_FLAG_ZERO_INITIALIZE_BLOCK"; break; @@ -6960,15 +6058,16 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_usm_pool_flag_t flag template <> -inline void serializeFlag(std::ostream &os, uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_USM_POOL_FLAG_ZERO_INITIALIZE_BLOCK) == - (uint32_t)UR_USM_POOL_FLAG_ZERO_INITIALIZE_BLOCK) { + if ((val & UR_USM_POOL_FLAG_ZERO_INITIALIZE_BLOCK) == (uint32_t)UR_USM_POOL_FLAG_ZERO_INITIALIZE_BLOCK) { val ^= (uint32_t)UR_USM_POOL_FLAG_ZERO_INITIALIZE_BLOCK; if (!first) { os << " | "; @@ -6986,23 +6085,24 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, enum ur_usm_type_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_type_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_usm_type_t value) { switch (value) { - case UR_USM_TYPE_UNKNOWN: os << "UR_USM_TYPE_UNKNOWN"; break; - case UR_USM_TYPE_HOST: os << "UR_USM_TYPE_HOST"; break; - case UR_USM_TYPE_DEVICE: os << "UR_USM_TYPE_DEVICE"; break; - case UR_USM_TYPE_SHARED: os << "UR_USM_TYPE_SHARED"; break; @@ -7012,26 +6112,24 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_usm_type_t value) { } return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_alloc_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_alloc_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_usm_alloc_info_t value) { switch (value) { - case UR_USM_ALLOC_INFO_TYPE: os << "UR_USM_ALLOC_INFO_TYPE"; break; - case UR_USM_ALLOC_INFO_BASE_PTR: os << "UR_USM_ALLOC_INFO_BASE_PTR"; break; - case UR_USM_ALLOC_INFO_SIZE: os << "UR_USM_ALLOC_INFO_SIZE"; break; - case UR_USM_ALLOC_INFO_DEVICE: os << "UR_USM_ALLOC_INFO_DEVICE"; break; - case UR_USM_ALLOC_INFO_POOL: os << "UR_USM_ALLOC_INFO_POOL"; break; @@ -7041,23 +6139,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_usm_alloc_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_usm_alloc_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_usm_alloc_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_USM_ALLOC_INFO_TYPE: { const ur_usm_type_t *tptr = (const ur_usm_type_t *)ptr; if (sizeof(ur_usm_type_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_usm_type_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_usm_type_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -7065,13 +6161,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_USM_ALLOC_INFO_BASE_PTR: { const void *const *tptr = (const void *const *)ptr; if (sizeof(void *) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(void *) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(void *) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -7079,13 +6173,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_USM_ALLOC_INFO_SIZE: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -7093,100 +6185,88 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_USM_ALLOC_INFO_DEVICE: { const ur_device_handle_t *tptr = (const ur_device_handle_t *)ptr; if (sizeof(ur_device_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_device_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; - case UR_USM_ALLOC_INFO_POOL: { const ur_usm_pool_handle_t *tptr = (const ur_usm_pool_handle_t *)ptr; if (sizeof(ur_usm_pool_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_usm_pool_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_usm_pool_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_advice_flag_t value) { - switch (value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_advice_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_usm_advice_flag_t value) { + switch (value) { case UR_USM_ADVICE_FLAG_DEFAULT: os << "UR_USM_ADVICE_FLAG_DEFAULT"; break; - case UR_USM_ADVICE_FLAG_SET_READ_MOSTLY: os << "UR_USM_ADVICE_FLAG_SET_READ_MOSTLY"; break; - case UR_USM_ADVICE_FLAG_CLEAR_READ_MOSTLY: os << "UR_USM_ADVICE_FLAG_CLEAR_READ_MOSTLY"; break; - case UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION: os << "UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION"; break; - case UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION: os << "UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION"; break; - case UR_USM_ADVICE_FLAG_SET_NON_ATOMIC_MOSTLY: os << "UR_USM_ADVICE_FLAG_SET_NON_ATOMIC_MOSTLY"; break; - case UR_USM_ADVICE_FLAG_CLEAR_NON_ATOMIC_MOSTLY: os << "UR_USM_ADVICE_FLAG_CLEAR_NON_ATOMIC_MOSTLY"; break; - case UR_USM_ADVICE_FLAG_BIAS_CACHED: os << "UR_USM_ADVICE_FLAG_BIAS_CACHED"; break; - case UR_USM_ADVICE_FLAG_BIAS_UNCACHED: os << "UR_USM_ADVICE_FLAG_BIAS_UNCACHED"; break; - case UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_DEVICE: os << "UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_DEVICE"; break; - case UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_DEVICE: os << "UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_DEVICE"; break; - case UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_HOST: os << "UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_HOST"; break; - case UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_HOST: os << "UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_HOST"; break; - case UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION_HOST: os << "UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION_HOST"; break; - case UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION_HOST: os << "UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION_HOST"; break; @@ -7196,16 +6276,16 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_usm_advice_flag_t flag template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_USM_ADVICE_FLAG_DEFAULT) == - (uint32_t)UR_USM_ADVICE_FLAG_DEFAULT) { + if ((val & UR_USM_ADVICE_FLAG_DEFAULT) == (uint32_t)UR_USM_ADVICE_FLAG_DEFAULT) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_DEFAULT; if (!first) { os << " | "; @@ -7215,8 +6295,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_DEFAULT; } - if ((val & UR_USM_ADVICE_FLAG_SET_READ_MOSTLY) == - (uint32_t)UR_USM_ADVICE_FLAG_SET_READ_MOSTLY) { + if ((val & UR_USM_ADVICE_FLAG_SET_READ_MOSTLY) == (uint32_t)UR_USM_ADVICE_FLAG_SET_READ_MOSTLY) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_SET_READ_MOSTLY; if (!first) { os << " | "; @@ -7226,8 +6305,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_SET_READ_MOSTLY; } - if ((val & UR_USM_ADVICE_FLAG_CLEAR_READ_MOSTLY) == - (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_READ_MOSTLY) { + if ((val & UR_USM_ADVICE_FLAG_CLEAR_READ_MOSTLY) == (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_READ_MOSTLY) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_READ_MOSTLY; if (!first) { os << " | "; @@ -7237,8 +6315,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_CLEAR_READ_MOSTLY; } - if ((val & UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION) == - (uint32_t)UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION) { + if ((val & UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION) == (uint32_t)UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION; if (!first) { os << " | "; @@ -7248,8 +6325,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION; } - if ((val & UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION) == - (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION) { + if ((val & UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION) == (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION; if (!first) { os << " | "; @@ -7259,8 +6335,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION; } - if ((val & UR_USM_ADVICE_FLAG_SET_NON_ATOMIC_MOSTLY) == - (uint32_t)UR_USM_ADVICE_FLAG_SET_NON_ATOMIC_MOSTLY) { + if ((val & UR_USM_ADVICE_FLAG_SET_NON_ATOMIC_MOSTLY) == (uint32_t)UR_USM_ADVICE_FLAG_SET_NON_ATOMIC_MOSTLY) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_SET_NON_ATOMIC_MOSTLY; if (!first) { os << " | "; @@ -7270,8 +6345,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_SET_NON_ATOMIC_MOSTLY; } - if ((val & UR_USM_ADVICE_FLAG_CLEAR_NON_ATOMIC_MOSTLY) == - (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_NON_ATOMIC_MOSTLY) { + if ((val & UR_USM_ADVICE_FLAG_CLEAR_NON_ATOMIC_MOSTLY) == (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_NON_ATOMIC_MOSTLY) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_NON_ATOMIC_MOSTLY; if (!first) { os << " | "; @@ -7281,8 +6355,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_CLEAR_NON_ATOMIC_MOSTLY; } - if ((val & UR_USM_ADVICE_FLAG_BIAS_CACHED) == - (uint32_t)UR_USM_ADVICE_FLAG_BIAS_CACHED) { + if ((val & UR_USM_ADVICE_FLAG_BIAS_CACHED) == (uint32_t)UR_USM_ADVICE_FLAG_BIAS_CACHED) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_BIAS_CACHED; if (!first) { os << " | "; @@ -7292,8 +6365,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_BIAS_CACHED; } - if ((val & UR_USM_ADVICE_FLAG_BIAS_UNCACHED) == - (uint32_t)UR_USM_ADVICE_FLAG_BIAS_UNCACHED) { + if ((val & UR_USM_ADVICE_FLAG_BIAS_UNCACHED) == (uint32_t)UR_USM_ADVICE_FLAG_BIAS_UNCACHED) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_BIAS_UNCACHED; if (!first) { os << " | "; @@ -7303,8 +6375,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_BIAS_UNCACHED; } - if ((val & UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_DEVICE) == - (uint32_t)UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_DEVICE) { + if ((val & UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_DEVICE) == (uint32_t)UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_DEVICE) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_DEVICE; if (!first) { os << " | "; @@ -7314,8 +6385,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_DEVICE; } - if ((val & UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_DEVICE) == - (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_DEVICE) { + if ((val & UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_DEVICE) == (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_DEVICE) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_DEVICE; if (!first) { os << " | "; @@ -7325,8 +6395,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_DEVICE; } - if ((val & UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_HOST) == - (uint32_t)UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_HOST) { + if ((val & UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_HOST) == (uint32_t)UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_HOST) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_HOST; if (!first) { os << " | "; @@ -7336,8 +6405,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_SET_ACCESSED_BY_HOST; } - if ((val & UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_HOST) == - (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_HOST) { + if ((val & UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_HOST) == (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_HOST) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_HOST; if (!first) { os << " | "; @@ -7347,8 +6415,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_CLEAR_ACCESSED_BY_HOST; } - if ((val & UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION_HOST) == - (uint32_t)UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION_HOST) { + if ((val & UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION_HOST) == (uint32_t)UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION_HOST) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION_HOST; if (!first) { os << " | "; @@ -7358,8 +6425,7 @@ inline void serializeFlag(std::ostream &os, os << UR_USM_ADVICE_FLAG_SET_PREFERRED_LOCATION_HOST; } - if ((val & UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION_HOST) == - (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION_HOST) { + if ((val & UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION_HOST) == (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION_HOST) { val ^= (uint32_t)UR_USM_ADVICE_FLAG_CLEAR_PREFERRED_LOCATION_HOST; if (!first) { os << " | "; @@ -7377,10 +6443,14 @@ inline void serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - const struct ur_usm_desc_t params) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_desc_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_usm_desc_t params) { os << "(struct ur_usm_desc_t){"; os << ".stype = "; @@ -7390,12 +6460,14 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".hints = "; - ur_params::serializeFlag(os, (params.hints)); + details::printFlag(os, + (params.hints)); os << ", "; os << ".align = "; @@ -7405,8 +6477,11 @@ inline std::ostream &operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_usm_host_desc_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_host_desc_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_usm_host_desc_t params) { os << "(struct ur_usm_host_desc_t){"; os << ".stype = "; @@ -7416,18 +6491,23 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".flags = "; - ur_params::serializeFlag(os, (params.flags)); + details::printFlag(os, + (params.flags)); os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_usm_device_desc_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_device_desc_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_usm_device_desc_t params) { os << "(struct ur_usm_device_desc_t){"; os << ".stype = "; @@ -7437,18 +6517,23 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".flags = "; - ur_params::serializeFlag(os, (params.flags)); + details::printFlag(os, + (params.flags)); os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_usm_pool_desc_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_pool_desc_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_usm_pool_desc_t params) { os << "(struct ur_usm_pool_desc_t){"; os << ".stype = "; @@ -7458,18 +6543,23 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".flags = "; - ur_params::serializeFlag(os, (params.flags)); + details::printFlag(os, + (params.flags)); os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_usm_pool_limits_desc_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_pool_limits_desc_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_usm_pool_limits_desc_t params) { os << "(struct ur_usm_pool_limits_desc_t){"; os << ".stype = "; @@ -7479,7 +6569,8 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".maxPoolableSize = "; @@ -7494,14 +6585,15 @@ inline std::ostream &operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_pool_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_pool_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_usm_pool_info_t value) { switch (value) { - case UR_USM_POOL_INFO_REFERENCE_COUNT: os << "UR_USM_POOL_INFO_REFERENCE_COUNT"; break; - case UR_USM_POOL_INFO_CONTEXT: os << "UR_USM_POOL_INFO_CONTEXT"; break; @@ -7511,23 +6603,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_usm_pool_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_usm_pool_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_usm_pool_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_USM_POOL_INFO_REFERENCE_COUNT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -7535,34 +6625,36 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_USM_POOL_INFO_CONTEXT: { const ur_context_handle_t *tptr = (const ur_context_handle_t *)ptr; if (sizeof(ur_context_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_context_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_context_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_virtual_mem_granularity_info_t value) { - switch (value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_virtual_mem_granularity_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_virtual_mem_granularity_info_t value) { + switch (value) { case UR_VIRTUAL_MEM_GRANULARITY_INFO_MINIMUM: os << "UR_VIRTUAL_MEM_GRANULARITY_INFO_MINIMUM"; break; - case UR_VIRTUAL_MEM_GRANULARITY_INFO_RECOMMENDED: os << "UR_VIRTUAL_MEM_GRANULARITY_INFO_RECOMMENDED"; break; @@ -7572,24 +6664,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_virtual_mem_granularity_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_virtual_mem_granularity_info_t value, - size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_virtual_mem_granularity_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_VIRTUAL_MEM_GRANULARITY_INFO_MINIMUM: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -7597,13 +6686,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_VIRTUAL_MEM_GRANULARITY_INFO_RECOMMENDED: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -7613,22 +6700,24 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_virtual_mem_access_flag_t value) { - switch (value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_virtual_mem_access_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_virtual_mem_access_flag_t value) { + switch (value) { case UR_VIRTUAL_MEM_ACCESS_FLAG_NONE: os << "UR_VIRTUAL_MEM_ACCESS_FLAG_NONE"; break; - case UR_VIRTUAL_MEM_ACCESS_FLAG_READ_WRITE: os << "UR_VIRTUAL_MEM_ACCESS_FLAG_READ_WRITE"; break; - case UR_VIRTUAL_MEM_ACCESS_FLAG_READ_ONLY: os << "UR_VIRTUAL_MEM_ACCESS_FLAG_READ_ONLY"; break; @@ -7638,16 +6727,16 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_virtual_mem_access_flag_t flag template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_VIRTUAL_MEM_ACCESS_FLAG_NONE) == - (uint32_t)UR_VIRTUAL_MEM_ACCESS_FLAG_NONE) { + if ((val & UR_VIRTUAL_MEM_ACCESS_FLAG_NONE) == (uint32_t)UR_VIRTUAL_MEM_ACCESS_FLAG_NONE) { val ^= (uint32_t)UR_VIRTUAL_MEM_ACCESS_FLAG_NONE; if (!first) { os << " | "; @@ -7657,8 +6746,7 @@ inline void serializeFlag(std::ostream &os, os << UR_VIRTUAL_MEM_ACCESS_FLAG_NONE; } - if ((val & UR_VIRTUAL_MEM_ACCESS_FLAG_READ_WRITE) == - (uint32_t)UR_VIRTUAL_MEM_ACCESS_FLAG_READ_WRITE) { + if ((val & UR_VIRTUAL_MEM_ACCESS_FLAG_READ_WRITE) == (uint32_t)UR_VIRTUAL_MEM_ACCESS_FLAG_READ_WRITE) { val ^= (uint32_t)UR_VIRTUAL_MEM_ACCESS_FLAG_READ_WRITE; if (!first) { os << " | "; @@ -7668,8 +6756,7 @@ inline void serializeFlag(std::ostream &os, os << UR_VIRTUAL_MEM_ACCESS_FLAG_READ_WRITE; } - if ((val & UR_VIRTUAL_MEM_ACCESS_FLAG_READ_ONLY) == - (uint32_t)UR_VIRTUAL_MEM_ACCESS_FLAG_READ_ONLY) { + if ((val & UR_VIRTUAL_MEM_ACCESS_FLAG_READ_ONLY) == (uint32_t)UR_VIRTUAL_MEM_ACCESS_FLAG_READ_ONLY) { val ^= (uint32_t)UR_VIRTUAL_MEM_ACCESS_FLAG_READ_ONLY; if (!first) { os << " | "; @@ -7687,12 +6774,15 @@ inline void serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_virtual_mem_info_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_virtual_mem_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_virtual_mem_info_t value) { switch (value) { - case UR_VIRTUAL_MEM_INFO_ACCESS_MODE: os << "UR_VIRTUAL_MEM_INFO_ACCESS_MODE"; break; @@ -7702,42 +6792,43 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_virtual_mem_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_virtual_mem_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_virtual_mem_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_VIRTUAL_MEM_INFO_ACCESS_MODE: { - const ur_virtual_mem_access_flags_t *tptr = - (const ur_virtual_mem_access_flags_t *)ptr; + const ur_virtual_mem_access_flags_t *tptr = (const ur_virtual_mem_access_flags_t *)ptr; if (sizeof(ur_virtual_mem_access_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_virtual_mem_access_flags_t) - << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_virtual_mem_access_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_physical_mem_flag_t value) { - switch (value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_physical_mem_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_physical_mem_flag_t value) { + switch (value) { case UR_PHYSICAL_MEM_FLAG_TBD: os << "UR_PHYSICAL_MEM_FLAG_TBD"; break; @@ -7747,16 +6838,16 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_physical_mem_flag_t flag template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_PHYSICAL_MEM_FLAG_TBD) == - (uint32_t)UR_PHYSICAL_MEM_FLAG_TBD) { + if ((val & UR_PHYSICAL_MEM_FLAG_TBD) == (uint32_t)UR_PHYSICAL_MEM_FLAG_TBD) { val ^= (uint32_t)UR_PHYSICAL_MEM_FLAG_TBD; if (!first) { os << " | "; @@ -7774,10 +6865,14 @@ inline void serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream & -operator<<(std::ostream &os, const struct ur_physical_mem_properties_t params) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_physical_mem_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_physical_mem_properties_t params) { os << "(struct ur_physical_mem_properties_t){"; os << ".stype = "; @@ -7787,32 +6882,33 @@ operator<<(std::ostream &os, const struct ur_physical_mem_properties_t params) { os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".flags = "; - ur_params::serializeFlag(os, (params.flags)); + details::printFlag(os, + (params.flags)); os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_program_metadata_type_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_metadata_type_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_program_metadata_type_t value) { switch (value) { - case UR_PROGRAM_METADATA_TYPE_UINT32: os << "UR_PROGRAM_METADATA_TYPE_UINT32"; break; - case UR_PROGRAM_METADATA_TYPE_UINT64: os << "UR_PROGRAM_METADATA_TYPE_UINT64"; break; - case UR_PROGRAM_METADATA_TYPE_BYTE_ARRAY: os << "UR_PROGRAM_METADATA_TYPE_BYTE_ARRAY"; break; - case UR_PROGRAM_METADATA_TYPE_STRING: os << "UR_PROGRAM_METADATA_TYPE_STRING"; break; @@ -7822,11 +6918,14 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } +namespace details { -inline void -ur_params::serializeUnion(std::ostream &os, - const union ur_program_metadata_value_t params, - const enum ur_program_metadata_type_t tag) { +/////////////////////////////////////////////////////////////////////////////// +// @brief Print ur_program_metadata_value_t union +inline ur_result_t printUnion( + std::ostream &os, + const union ur_program_metadata_value_t params, + const enum ur_program_metadata_type_t tag) { os << "(union ur_program_metadata_value_t){"; switch (tag) { @@ -7848,29 +6947,37 @@ ur_params::serializeUnion(std::ostream &os, os << ".pString = "; - ur_params::serializePtr(os, (params.pString)); + details::printPtr(os, + (params.pString)); break; case UR_PROGRAM_METADATA_TYPE_BYTE_ARRAY: os << ".pData = "; - ur_params::serializePtr(os, (params.pData)); + details::printPtr(os, + (params.pData)); break; default: os << ""; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } os << "}"; -} -inline std::ostream &operator<<(std::ostream &os, - const struct ur_program_metadata_t params) { + return UR_RESULT_SUCCESS; +} +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_metadata_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_program_metadata_t params) { os << "(struct ur_program_metadata_t){"; os << ".pName = "; - ur_params::serializePtr(os, (params.pName)); + details::printPtr(os, + (params.pName)); os << ", "; os << ".type = "; @@ -7884,13 +6991,16 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".value = "; - ur_params::serializeUnion(os, (params.value), params.type); + details::printUnion(os, (params.value), params.type); os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_program_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_program_properties_t params) { os << "(struct ur_program_properties_t){"; os << ".stype = "; @@ -7900,7 +7010,8 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".count = "; @@ -7921,42 +7032,36 @@ inline std::ostream &operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_program_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_program_info_t value) { switch (value) { - case UR_PROGRAM_INFO_REFERENCE_COUNT: os << "UR_PROGRAM_INFO_REFERENCE_COUNT"; break; - case UR_PROGRAM_INFO_CONTEXT: os << "UR_PROGRAM_INFO_CONTEXT"; break; - case UR_PROGRAM_INFO_NUM_DEVICES: os << "UR_PROGRAM_INFO_NUM_DEVICES"; break; - case UR_PROGRAM_INFO_DEVICES: os << "UR_PROGRAM_INFO_DEVICES"; break; - case UR_PROGRAM_INFO_SOURCE: os << "UR_PROGRAM_INFO_SOURCE"; break; - case UR_PROGRAM_INFO_BINARY_SIZES: os << "UR_PROGRAM_INFO_BINARY_SIZES"; break; - case UR_PROGRAM_INFO_BINARIES: os << "UR_PROGRAM_INFO_BINARIES"; break; - case UR_PROGRAM_INFO_NUM_KERNELS: os << "UR_PROGRAM_INFO_NUM_KERNELS"; break; - case UR_PROGRAM_INFO_KERNEL_NAMES: os << "UR_PROGRAM_INFO_KERNEL_NAMES"; break; @@ -7966,23 +7071,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_program_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_program_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_program_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_PROGRAM_INFO_REFERENCE_COUNT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -7990,27 +7093,24 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_PROGRAM_INFO_CONTEXT: { const ur_context_handle_t *tptr = (const ur_context_handle_t *)ptr; if (sizeof(ur_context_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_context_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_context_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; - case UR_PROGRAM_INFO_NUM_DEVICES: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8018,7 +7118,6 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_PROGRAM_INFO_DEVICES: { const ur_device_handle_t *tptr = (const ur_device_handle_t *)ptr; @@ -8029,17 +7128,16 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ", "; } - ur_params::serializePtr(os, tptr[i]); + details::printPtr(os, + tptr[i]); } os << "}"; } break; - case UR_PROGRAM_INFO_SOURCE: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_PROGRAM_INFO_BINARY_SIZES: { const size_t *tptr = (const size_t *)ptr; @@ -8054,19 +7152,16 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } os << "}"; } break; - case UR_PROGRAM_INFO_BINARIES: { const unsigned char *tptr = (const unsigned char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_PROGRAM_INFO_NUM_KERNELS: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8074,34 +7169,34 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_PROGRAM_INFO_KERNEL_NAMES: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_program_build_status_t value) { - switch (value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_build_status_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_program_build_status_t value) { + switch (value) { case UR_PROGRAM_BUILD_STATUS_NONE: os << "UR_PROGRAM_BUILD_STATUS_NONE"; break; - case UR_PROGRAM_BUILD_STATUS_ERROR: os << "UR_PROGRAM_BUILD_STATUS_ERROR"; break; - case UR_PROGRAM_BUILD_STATUS_SUCCESS: os << "UR_PROGRAM_BUILD_STATUS_SUCCESS"; break; - case UR_PROGRAM_BUILD_STATUS_IN_PROGRESS: os << "UR_PROGRAM_BUILD_STATUS_IN_PROGRESS"; break; @@ -8111,22 +7206,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_program_binary_type_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_binary_type_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_program_binary_type_t value) { switch (value) { - case UR_PROGRAM_BINARY_TYPE_NONE: os << "UR_PROGRAM_BINARY_TYPE_NONE"; break; - case UR_PROGRAM_BINARY_TYPE_COMPILED_OBJECT: os << "UR_PROGRAM_BINARY_TYPE_COMPILED_OBJECT"; break; - case UR_PROGRAM_BINARY_TYPE_LIBRARY: os << "UR_PROGRAM_BINARY_TYPE_LIBRARY"; break; - case UR_PROGRAM_BINARY_TYPE_EXECUTABLE: os << "UR_PROGRAM_BINARY_TYPE_EXECUTABLE"; break; @@ -8136,22 +7230,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_program_build_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_build_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_program_build_info_t value) { switch (value) { - case UR_PROGRAM_BUILD_INFO_STATUS: os << "UR_PROGRAM_BUILD_INFO_STATUS"; break; - case UR_PROGRAM_BUILD_INFO_OPTIONS: os << "UR_PROGRAM_BUILD_INFO_OPTIONS"; break; - case UR_PROGRAM_BUILD_INFO_LOG: os << "UR_PROGRAM_BUILD_INFO_LOG"; break; - case UR_PROGRAM_BUILD_INFO_BINARY_TYPE: os << "UR_PROGRAM_BUILD_INFO_BINARY_TYPE"; break; @@ -8161,24 +7254,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_program_build_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_program_build_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_program_build_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_PROGRAM_BUILD_INFO_STATUS: { - const ur_program_build_status_t *tptr = - (const ur_program_build_status_t *)ptr; + const ur_program_build_status_t *tptr = (const ur_program_build_status_t *)ptr; if (sizeof(ur_program_build_status_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_program_build_status_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_program_build_status_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8186,26 +7276,21 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_PROGRAM_BUILD_INFO_OPTIONS: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_PROGRAM_BUILD_INFO_LOG: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_PROGRAM_BUILD_INFO_BINARY_TYPE: { - const ur_program_binary_type_t *tptr = - (const ur_program_binary_type_t *)ptr; + const ur_program_binary_type_t *tptr = (const ur_program_binary_type_t *)ptr; if (sizeof(ur_program_binary_type_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_program_binary_type_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_program_binary_type_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8215,13 +7300,17 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_specialization_constant_info_t params) { +} // namespace details + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_specialization_constant_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_specialization_constant_info_t params) { os << "(struct ur_specialization_constant_info_t){"; os << ".id = "; @@ -8236,14 +7325,17 @@ operator<<(std::ostream &os, os << ", "; os << ".pValue = "; - ur_params::serializePtr(os, (params.pValue)); + details::printPtr(os, + (params.pValue)); os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_program_native_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_native_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_program_native_properties_t params) { os << "(struct ur_program_native_properties_t){"; os << ".stype = "; @@ -8253,7 +7345,8 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".isNativeHandleOwned = "; @@ -8263,9 +7356,11 @@ operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_kernel_arg_value_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_arg_value_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_kernel_arg_value_properties_t params) { os << "(struct ur_kernel_arg_value_properties_t){"; os << ".stype = "; @@ -8275,14 +7370,17 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_kernel_arg_local_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_arg_local_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_kernel_arg_local_properties_t params) { os << "(struct ur_kernel_arg_local_properties_t){"; os << ".stype = "; @@ -8292,38 +7390,36 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, enum ur_kernel_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_kernel_info_t value) { switch (value) { - case UR_KERNEL_INFO_FUNCTION_NAME: os << "UR_KERNEL_INFO_FUNCTION_NAME"; break; - case UR_KERNEL_INFO_NUM_ARGS: os << "UR_KERNEL_INFO_NUM_ARGS"; break; - case UR_KERNEL_INFO_REFERENCE_COUNT: os << "UR_KERNEL_INFO_REFERENCE_COUNT"; break; - case UR_KERNEL_INFO_CONTEXT: os << "UR_KERNEL_INFO_CONTEXT"; break; - case UR_KERNEL_INFO_PROGRAM: os << "UR_KERNEL_INFO_PROGRAM"; break; - case UR_KERNEL_INFO_ATTRIBUTES: os << "UR_KERNEL_INFO_ATTRIBUTES"; break; - case UR_KERNEL_INFO_NUM_REGS: os << "UR_KERNEL_INFO_NUM_REGS"; break; @@ -8333,29 +7429,26 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_kernel_info_t value) { } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_kernel_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_kernel_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_kernel_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_KERNEL_INFO_FUNCTION_NAME: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_KERNEL_INFO_NUM_ARGS: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8363,13 +7456,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_KERNEL_INFO_REFERENCE_COUNT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8377,47 +7468,42 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_KERNEL_INFO_CONTEXT: { const ur_context_handle_t *tptr = (const ur_context_handle_t *)ptr; if (sizeof(ur_context_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_context_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_context_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; - case UR_KERNEL_INFO_PROGRAM: { const ur_program_handle_t *tptr = (const ur_program_handle_t *)ptr; if (sizeof(ur_program_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_program_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_program_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; - case UR_KERNEL_INFO_ATTRIBUTES: { const char *tptr = (const char *)ptr; - serializePtr(os, tptr); + printPtr(os, tptr); } break; - case UR_KERNEL_INFO_NUM_REGS: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8427,34 +7513,33 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_kernel_group_info_t value) { - switch (value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_group_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_kernel_group_info_t value) { + switch (value) { case UR_KERNEL_GROUP_INFO_GLOBAL_WORK_SIZE: os << "UR_KERNEL_GROUP_INFO_GLOBAL_WORK_SIZE"; break; - case UR_KERNEL_GROUP_INFO_WORK_GROUP_SIZE: os << "UR_KERNEL_GROUP_INFO_WORK_GROUP_SIZE"; break; - case UR_KERNEL_GROUP_INFO_COMPILE_WORK_GROUP_SIZE: os << "UR_KERNEL_GROUP_INFO_COMPILE_WORK_GROUP_SIZE"; break; - case UR_KERNEL_GROUP_INFO_LOCAL_MEM_SIZE: os << "UR_KERNEL_GROUP_INFO_LOCAL_MEM_SIZE"; break; - case UR_KERNEL_GROUP_INFO_PREFERRED_WORK_GROUP_SIZE_MULTIPLE: os << "UR_KERNEL_GROUP_INFO_PREFERRED_WORK_GROUP_SIZE_MULTIPLE"; break; - case UR_KERNEL_GROUP_INFO_PRIVATE_MEM_SIZE: os << "UR_KERNEL_GROUP_INFO_PRIVATE_MEM_SIZE"; break; @@ -8464,17 +7549,16 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_kernel_group_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_kernel_group_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_kernel_group_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_KERNEL_GROUP_INFO_GLOBAL_WORK_SIZE: { const size_t *tptr = (const size_t *)ptr; @@ -8489,13 +7573,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } os << "}"; } break; - case UR_KERNEL_GROUP_INFO_WORK_GROUP_SIZE: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8503,7 +7585,6 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_KERNEL_GROUP_INFO_COMPILE_WORK_GROUP_SIZE: { const size_t *tptr = (const size_t *)ptr; @@ -8518,13 +7599,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } os << "}"; } break; - case UR_KERNEL_GROUP_INFO_LOCAL_MEM_SIZE: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8532,13 +7611,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_KERNEL_GROUP_INFO_PREFERRED_WORK_GROUP_SIZE_MULTIPLE: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8546,13 +7623,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_KERNEL_GROUP_INFO_PRIVATE_MEM_SIZE: { const size_t *tptr = (const size_t *)ptr; if (sizeof(size_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(size_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(size_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8562,26 +7637,27 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_kernel_sub_group_info_t value) { - switch (value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_sub_group_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_kernel_sub_group_info_t value) { + switch (value) { case UR_KERNEL_SUB_GROUP_INFO_MAX_SUB_GROUP_SIZE: os << "UR_KERNEL_SUB_GROUP_INFO_MAX_SUB_GROUP_SIZE"; break; - case UR_KERNEL_SUB_GROUP_INFO_MAX_NUM_SUB_GROUPS: os << "UR_KERNEL_SUB_GROUP_INFO_MAX_NUM_SUB_GROUPS"; break; - case UR_KERNEL_SUB_GROUP_INFO_COMPILE_NUM_SUB_GROUPS: os << "UR_KERNEL_SUB_GROUP_INFO_COMPILE_NUM_SUB_GROUPS"; break; - case UR_KERNEL_SUB_GROUP_INFO_SUB_GROUP_SIZE_INTEL: os << "UR_KERNEL_SUB_GROUP_INFO_SUB_GROUP_SIZE_INTEL"; break; @@ -8591,23 +7667,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_kernel_sub_group_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_kernel_sub_group_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_kernel_sub_group_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_KERNEL_SUB_GROUP_INFO_MAX_SUB_GROUP_SIZE: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8615,13 +7689,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_KERNEL_SUB_GROUP_INFO_MAX_NUM_SUB_GROUPS: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8629,13 +7701,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_KERNEL_SUB_GROUP_INFO_COMPILE_NUM_SUB_GROUPS: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8643,13 +7713,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_KERNEL_SUB_GROUP_INFO_SUB_GROUP_SIZE_INTEL: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8659,22 +7727,24 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_kernel_cache_config_t value) { - switch (value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_cache_config_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_kernel_cache_config_t value) { + switch (value) { case UR_KERNEL_CACHE_CONFIG_DEFAULT: os << "UR_KERNEL_CACHE_CONFIG_DEFAULT"; break; - case UR_KERNEL_CACHE_CONFIG_LARGE_SLM: os << "UR_KERNEL_CACHE_CONFIG_LARGE_SLM"; break; - case UR_KERNEL_CACHE_CONFIG_LARGE_DATA: os << "UR_KERNEL_CACHE_CONFIG_LARGE_DATA"; break; @@ -8684,18 +7754,18 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_kernel_exec_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_exec_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_kernel_exec_info_t value) { switch (value) { - case UR_KERNEL_EXEC_INFO_USM_INDIRECT_ACCESS: os << "UR_KERNEL_EXEC_INFO_USM_INDIRECT_ACCESS"; break; - case UR_KERNEL_EXEC_INFO_USM_PTRS: os << "UR_KERNEL_EXEC_INFO_USM_PTRS"; break; - case UR_KERNEL_EXEC_INFO_CACHE_CONFIG: os << "UR_KERNEL_EXEC_INFO_CACHE_CONFIG"; break; @@ -8705,23 +7775,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_kernel_exec_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_kernel_exec_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_kernel_exec_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_KERNEL_EXEC_INFO_USM_INDIRECT_ACCESS: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8729,7 +7797,6 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_KERNEL_EXEC_INFO_USM_PTRS: { const void *const *tptr = (const void *const *)ptr; @@ -8744,14 +7811,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } os << "}"; } break; - case UR_KERNEL_EXEC_INFO_CACHE_CONFIG: { - const ur_kernel_cache_config_t *tptr = - (const ur_kernel_cache_config_t *)ptr; + const ur_kernel_cache_config_t *tptr = (const ur_kernel_cache_config_t *)ptr; if (sizeof(ur_kernel_cache_config_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_kernel_cache_config_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_kernel_cache_config_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8761,13 +7825,17 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_kernel_arg_pointer_properties_t params) { +} // namespace details + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_arg_pointer_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_kernel_arg_pointer_properties_t params) { os << "(struct ur_kernel_arg_pointer_properties_t){"; os << ".stype = "; @@ -8777,14 +7845,17 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_kernel_exec_info_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_exec_info_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_kernel_exec_info_properties_t params) { os << "(struct ur_kernel_exec_info_properties_t){"; os << ".stype = "; @@ -8794,14 +7865,17 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_kernel_arg_sampler_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_arg_sampler_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_kernel_arg_sampler_properties_t params) { os << "(struct ur_kernel_arg_sampler_properties_t){"; os << ".stype = "; @@ -8811,14 +7885,17 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_kernel_arg_mem_obj_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_arg_mem_obj_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_kernel_arg_mem_obj_properties_t params) { os << "(struct ur_kernel_arg_mem_obj_properties_t){"; os << ".stype = "; @@ -8828,19 +7905,23 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".memoryAccess = "; - ur_params::serializeFlag(os, (params.memoryAccess)); + details::printFlag(os, + (params.memoryAccess)); os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_kernel_native_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_native_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_kernel_native_properties_t params) { os << "(struct ur_kernel_native_properties_t){"; os << ".stype = "; @@ -8850,7 +7931,8 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".isNativeHandleOwned = "; @@ -8860,33 +7942,30 @@ operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, enum ur_queue_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_queue_info_t value) { switch (value) { - case UR_QUEUE_INFO_CONTEXT: os << "UR_QUEUE_INFO_CONTEXT"; break; - case UR_QUEUE_INFO_DEVICE: os << "UR_QUEUE_INFO_DEVICE"; break; - case UR_QUEUE_INFO_DEVICE_DEFAULT: os << "UR_QUEUE_INFO_DEVICE_DEFAULT"; break; - case UR_QUEUE_INFO_FLAGS: os << "UR_QUEUE_INFO_FLAGS"; break; - case UR_QUEUE_INFO_REFERENCE_COUNT: os << "UR_QUEUE_INFO_REFERENCE_COUNT"; break; - case UR_QUEUE_INFO_SIZE: os << "UR_QUEUE_INFO_SIZE"; break; - case UR_QUEUE_INFO_EMPTY: os << "UR_QUEUE_INFO_EMPTY"; break; @@ -8896,79 +7975,73 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_queue_info_t value) { } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_queue_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_queue_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_queue_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_QUEUE_INFO_CONTEXT: { const ur_queue_handle_t *tptr = (const ur_queue_handle_t *)ptr; if (sizeof(ur_queue_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_queue_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_queue_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; - case UR_QUEUE_INFO_DEVICE: { const ur_device_handle_t *tptr = (const ur_device_handle_t *)ptr; if (sizeof(ur_device_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_device_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_device_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; - case UR_QUEUE_INFO_DEVICE_DEFAULT: { const ur_queue_handle_t *tptr = (const ur_queue_handle_t *)ptr; if (sizeof(ur_queue_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_queue_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_queue_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; - case UR_QUEUE_INFO_FLAGS: { const ur_queue_flags_t *tptr = (const ur_queue_flags_t *)ptr; if (sizeof(ur_queue_flags_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_queue_flags_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_queue_flags_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializeFlag(os, *tptr); + details::printFlag(os, + *tptr); os << ")"; } break; - case UR_QUEUE_INFO_REFERENCE_COUNT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8976,13 +8049,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_QUEUE_INFO_SIZE: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -8990,13 +8061,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_QUEUE_INFO_EMPTY: { const ur_bool_t *tptr = (const ur_bool_t *)ptr; if (sizeof(ur_bool_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_bool_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_bool_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -9006,53 +8075,48 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, enum ur_queue_flag_t value) { - switch (value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_queue_flag_t value) { + switch (value) { case UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE: os << "UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE"; break; - case UR_QUEUE_FLAG_PROFILING_ENABLE: os << "UR_QUEUE_FLAG_PROFILING_ENABLE"; break; - case UR_QUEUE_FLAG_ON_DEVICE: os << "UR_QUEUE_FLAG_ON_DEVICE"; break; - case UR_QUEUE_FLAG_ON_DEVICE_DEFAULT: os << "UR_QUEUE_FLAG_ON_DEVICE_DEFAULT"; break; - case UR_QUEUE_FLAG_DISCARD_EVENTS: os << "UR_QUEUE_FLAG_DISCARD_EVENTS"; break; - case UR_QUEUE_FLAG_PRIORITY_LOW: os << "UR_QUEUE_FLAG_PRIORITY_LOW"; break; - case UR_QUEUE_FLAG_PRIORITY_HIGH: os << "UR_QUEUE_FLAG_PRIORITY_HIGH"; break; - case UR_QUEUE_FLAG_SUBMISSION_BATCHED: os << "UR_QUEUE_FLAG_SUBMISSION_BATCHED"; break; - case UR_QUEUE_FLAG_SUBMISSION_IMMEDIATE: os << "UR_QUEUE_FLAG_SUBMISSION_IMMEDIATE"; break; - case UR_QUEUE_FLAG_USE_DEFAULT_STREAM: os << "UR_QUEUE_FLAG_USE_DEFAULT_STREAM"; break; - case UR_QUEUE_FLAG_SYNC_WITH_DEFAULT_STREAM: os << "UR_QUEUE_FLAG_SYNC_WITH_DEFAULT_STREAM"; break; @@ -9062,15 +8126,16 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_queue_flag_t value) { } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_queue_flag_t flag template <> -inline void serializeFlag(std::ostream &os, uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE) == - (uint32_t)UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE) { + if ((val & UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE) == (uint32_t)UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE) { val ^= (uint32_t)UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE; if (!first) { os << " | "; @@ -9080,8 +8145,7 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { os << UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE; } - if ((val & UR_QUEUE_FLAG_PROFILING_ENABLE) == - (uint32_t)UR_QUEUE_FLAG_PROFILING_ENABLE) { + if ((val & UR_QUEUE_FLAG_PROFILING_ENABLE) == (uint32_t)UR_QUEUE_FLAG_PROFILING_ENABLE) { val ^= (uint32_t)UR_QUEUE_FLAG_PROFILING_ENABLE; if (!first) { os << " | "; @@ -9101,8 +8165,7 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { os << UR_QUEUE_FLAG_ON_DEVICE; } - if ((val & UR_QUEUE_FLAG_ON_DEVICE_DEFAULT) == - (uint32_t)UR_QUEUE_FLAG_ON_DEVICE_DEFAULT) { + if ((val & UR_QUEUE_FLAG_ON_DEVICE_DEFAULT) == (uint32_t)UR_QUEUE_FLAG_ON_DEVICE_DEFAULT) { val ^= (uint32_t)UR_QUEUE_FLAG_ON_DEVICE_DEFAULT; if (!first) { os << " | "; @@ -9112,8 +8175,7 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { os << UR_QUEUE_FLAG_ON_DEVICE_DEFAULT; } - if ((val & UR_QUEUE_FLAG_DISCARD_EVENTS) == - (uint32_t)UR_QUEUE_FLAG_DISCARD_EVENTS) { + if ((val & UR_QUEUE_FLAG_DISCARD_EVENTS) == (uint32_t)UR_QUEUE_FLAG_DISCARD_EVENTS) { val ^= (uint32_t)UR_QUEUE_FLAG_DISCARD_EVENTS; if (!first) { os << " | "; @@ -9123,8 +8185,7 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { os << UR_QUEUE_FLAG_DISCARD_EVENTS; } - if ((val & UR_QUEUE_FLAG_PRIORITY_LOW) == - (uint32_t)UR_QUEUE_FLAG_PRIORITY_LOW) { + if ((val & UR_QUEUE_FLAG_PRIORITY_LOW) == (uint32_t)UR_QUEUE_FLAG_PRIORITY_LOW) { val ^= (uint32_t)UR_QUEUE_FLAG_PRIORITY_LOW; if (!first) { os << " | "; @@ -9134,8 +8195,7 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { os << UR_QUEUE_FLAG_PRIORITY_LOW; } - if ((val & UR_QUEUE_FLAG_PRIORITY_HIGH) == - (uint32_t)UR_QUEUE_FLAG_PRIORITY_HIGH) { + if ((val & UR_QUEUE_FLAG_PRIORITY_HIGH) == (uint32_t)UR_QUEUE_FLAG_PRIORITY_HIGH) { val ^= (uint32_t)UR_QUEUE_FLAG_PRIORITY_HIGH; if (!first) { os << " | "; @@ -9145,8 +8205,7 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { os << UR_QUEUE_FLAG_PRIORITY_HIGH; } - if ((val & UR_QUEUE_FLAG_SUBMISSION_BATCHED) == - (uint32_t)UR_QUEUE_FLAG_SUBMISSION_BATCHED) { + if ((val & UR_QUEUE_FLAG_SUBMISSION_BATCHED) == (uint32_t)UR_QUEUE_FLAG_SUBMISSION_BATCHED) { val ^= (uint32_t)UR_QUEUE_FLAG_SUBMISSION_BATCHED; if (!first) { os << " | "; @@ -9156,8 +8215,7 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { os << UR_QUEUE_FLAG_SUBMISSION_BATCHED; } - if ((val & UR_QUEUE_FLAG_SUBMISSION_IMMEDIATE) == - (uint32_t)UR_QUEUE_FLAG_SUBMISSION_IMMEDIATE) { + if ((val & UR_QUEUE_FLAG_SUBMISSION_IMMEDIATE) == (uint32_t)UR_QUEUE_FLAG_SUBMISSION_IMMEDIATE) { val ^= (uint32_t)UR_QUEUE_FLAG_SUBMISSION_IMMEDIATE; if (!first) { os << " | "; @@ -9167,8 +8225,7 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { os << UR_QUEUE_FLAG_SUBMISSION_IMMEDIATE; } - if ((val & UR_QUEUE_FLAG_USE_DEFAULT_STREAM) == - (uint32_t)UR_QUEUE_FLAG_USE_DEFAULT_STREAM) { + if ((val & UR_QUEUE_FLAG_USE_DEFAULT_STREAM) == (uint32_t)UR_QUEUE_FLAG_USE_DEFAULT_STREAM) { val ^= (uint32_t)UR_QUEUE_FLAG_USE_DEFAULT_STREAM; if (!first) { os << " | "; @@ -9178,8 +8235,7 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { os << UR_QUEUE_FLAG_USE_DEFAULT_STREAM; } - if ((val & UR_QUEUE_FLAG_SYNC_WITH_DEFAULT_STREAM) == - (uint32_t)UR_QUEUE_FLAG_SYNC_WITH_DEFAULT_STREAM) { + if ((val & UR_QUEUE_FLAG_SYNC_WITH_DEFAULT_STREAM) == (uint32_t)UR_QUEUE_FLAG_SYNC_WITH_DEFAULT_STREAM) { val ^= (uint32_t)UR_QUEUE_FLAG_SYNC_WITH_DEFAULT_STREAM; if (!first) { os << " | "; @@ -9197,10 +8253,14 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - const struct ur_queue_properties_t params) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_queue_properties_t params) { os << "(struct ur_queue_properties_t){"; os << ".stype = "; @@ -9210,18 +8270,23 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".flags = "; - ur_params::serializeFlag(os, (params.flags)); + details::printFlag(os, + (params.flags)); os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, const struct ur_queue_index_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_index_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_queue_index_properties_t params) { os << "(struct ur_queue_index_properties_t){"; os << ".stype = "; @@ -9231,7 +8296,8 @@ operator<<(std::ostream &os, const struct ur_queue_index_properties_t params) { os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".computeIndex = "; @@ -9241,8 +8307,11 @@ operator<<(std::ostream &os, const struct ur_queue_index_properties_t params) { os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_queue_native_desc_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_native_desc_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_queue_native_desc_t params) { os << "(struct ur_queue_native_desc_t){"; os << ".stype = "; @@ -9252,18 +8321,23 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".pNativeData = "; - ur_params::serializePtr(os, (params.pNativeData)); + details::printPtr(os, + (params.pNativeData)); os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, const struct ur_queue_native_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_native_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_queue_native_properties_t params) { os << "(struct ur_queue_native_properties_t){"; os << ".stype = "; @@ -9273,7 +8347,8 @@ operator<<(std::ostream &os, const struct ur_queue_native_properties_t params) { os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".isNativeHandleOwned = "; @@ -9283,117 +8358,93 @@ operator<<(std::ostream &os, const struct ur_queue_native_properties_t params) { os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, enum ur_command_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_command_t value) { switch (value) { - case UR_COMMAND_KERNEL_LAUNCH: os << "UR_COMMAND_KERNEL_LAUNCH"; break; - case UR_COMMAND_EVENTS_WAIT: os << "UR_COMMAND_EVENTS_WAIT"; break; - case UR_COMMAND_EVENTS_WAIT_WITH_BARRIER: os << "UR_COMMAND_EVENTS_WAIT_WITH_BARRIER"; break; - case UR_COMMAND_MEM_BUFFER_READ: os << "UR_COMMAND_MEM_BUFFER_READ"; break; - case UR_COMMAND_MEM_BUFFER_WRITE: os << "UR_COMMAND_MEM_BUFFER_WRITE"; break; - case UR_COMMAND_MEM_BUFFER_READ_RECT: os << "UR_COMMAND_MEM_BUFFER_READ_RECT"; break; - case UR_COMMAND_MEM_BUFFER_WRITE_RECT: os << "UR_COMMAND_MEM_BUFFER_WRITE_RECT"; break; - case UR_COMMAND_MEM_BUFFER_COPY: os << "UR_COMMAND_MEM_BUFFER_COPY"; break; - case UR_COMMAND_MEM_BUFFER_COPY_RECT: os << "UR_COMMAND_MEM_BUFFER_COPY_RECT"; break; - case UR_COMMAND_MEM_BUFFER_FILL: os << "UR_COMMAND_MEM_BUFFER_FILL"; break; - case UR_COMMAND_MEM_IMAGE_READ: os << "UR_COMMAND_MEM_IMAGE_READ"; break; - case UR_COMMAND_MEM_IMAGE_WRITE: os << "UR_COMMAND_MEM_IMAGE_WRITE"; break; - case UR_COMMAND_MEM_IMAGE_COPY: os << "UR_COMMAND_MEM_IMAGE_COPY"; break; - case UR_COMMAND_MEM_BUFFER_MAP: os << "UR_COMMAND_MEM_BUFFER_MAP"; break; - case UR_COMMAND_MEM_UNMAP: os << "UR_COMMAND_MEM_UNMAP"; break; - case UR_COMMAND_USM_FILL: os << "UR_COMMAND_USM_FILL"; break; - case UR_COMMAND_USM_MEMCPY: os << "UR_COMMAND_USM_MEMCPY"; break; - case UR_COMMAND_USM_PREFETCH: os << "UR_COMMAND_USM_PREFETCH"; break; - case UR_COMMAND_USM_ADVISE: os << "UR_COMMAND_USM_ADVISE"; break; - case UR_COMMAND_USM_FILL_2D: os << "UR_COMMAND_USM_FILL_2D"; break; - case UR_COMMAND_USM_MEMCPY_2D: os << "UR_COMMAND_USM_MEMCPY_2D"; break; - case UR_COMMAND_DEVICE_GLOBAL_VARIABLE_WRITE: os << "UR_COMMAND_DEVICE_GLOBAL_VARIABLE_WRITE"; break; - case UR_COMMAND_DEVICE_GLOBAL_VARIABLE_READ: os << "UR_COMMAND_DEVICE_GLOBAL_VARIABLE_READ"; break; - case UR_COMMAND_READ_HOST_PIPE: os << "UR_COMMAND_READ_HOST_PIPE"; break; - case UR_COMMAND_WRITE_HOST_PIPE: os << "UR_COMMAND_WRITE_HOST_PIPE"; break; - case UR_COMMAND_COMMAND_BUFFER_ENQUEUE_EXP: os << "UR_COMMAND_COMMAND_BUFFER_ENQUEUE_EXP"; break; - case UR_COMMAND_INTEROP_SEMAPHORE_WAIT_EXP: os << "UR_COMMAND_INTEROP_SEMAPHORE_WAIT_EXP"; break; - case UR_COMMAND_INTEROP_SEMAPHORE_SIGNAL_EXP: os << "UR_COMMAND_INTEROP_SEMAPHORE_SIGNAL_EXP"; break; @@ -9403,22 +8454,21 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_command_t value) { } return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_event_status_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_event_status_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_event_status_t value) { switch (value) { - case UR_EVENT_STATUS_COMPLETE: os << "UR_EVENT_STATUS_COMPLETE"; break; - case UR_EVENT_STATUS_RUNNING: os << "UR_EVENT_STATUS_RUNNING"; break; - case UR_EVENT_STATUS_SUBMITTED: os << "UR_EVENT_STATUS_SUBMITTED"; break; - case UR_EVENT_STATUS_QUEUED: os << "UR_EVENT_STATUS_QUEUED"; break; @@ -9428,25 +8478,24 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream &operator<<(std::ostream &os, enum ur_event_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_event_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_event_info_t value) { switch (value) { - case UR_EVENT_INFO_COMMAND_QUEUE: os << "UR_EVENT_INFO_COMMAND_QUEUE"; break; - case UR_EVENT_INFO_CONTEXT: os << "UR_EVENT_INFO_CONTEXT"; break; - case UR_EVENT_INFO_COMMAND_TYPE: os << "UR_EVENT_INFO_COMMAND_TYPE"; break; - case UR_EVENT_INFO_COMMAND_EXECUTION_STATUS: os << "UR_EVENT_INFO_COMMAND_EXECUTION_STATUS"; break; - case UR_EVENT_INFO_REFERENCE_COUNT: os << "UR_EVENT_INFO_REFERENCE_COUNT"; break; @@ -9456,51 +8505,47 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_event_info_t value) { } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_event_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_event_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_event_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_EVENT_INFO_COMMAND_QUEUE: { const ur_queue_handle_t *tptr = (const ur_queue_handle_t *)ptr; if (sizeof(ur_queue_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_queue_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_queue_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; - case UR_EVENT_INFO_CONTEXT: { const ur_context_handle_t *tptr = (const ur_context_handle_t *)ptr; if (sizeof(ur_context_handle_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_context_handle_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_context_handle_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; - ur_params::serializePtr(os, *tptr); + details::printPtr(os, + *tptr); os << ")"; } break; - case UR_EVENT_INFO_COMMAND_TYPE: { const ur_command_t *tptr = (const ur_command_t *)ptr; if (sizeof(ur_command_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_command_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_command_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -9508,13 +8553,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_EVENT_INFO_COMMAND_EXECUTION_STATUS: { const ur_event_status_t *tptr = (const ur_event_status_t *)ptr; if (sizeof(ur_event_status_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(ur_event_status_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_event_status_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -9522,13 +8565,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_EVENT_INFO_REFERENCE_COUNT: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -9538,30 +8579,30 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_profiling_info_t value) { - switch (value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_profiling_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_profiling_info_t value) { + switch (value) { case UR_PROFILING_INFO_COMMAND_QUEUED: os << "UR_PROFILING_INFO_COMMAND_QUEUED"; break; - case UR_PROFILING_INFO_COMMAND_SUBMIT: os << "UR_PROFILING_INFO_COMMAND_SUBMIT"; break; - case UR_PROFILING_INFO_COMMAND_START: os << "UR_PROFILING_INFO_COMMAND_START"; break; - case UR_PROFILING_INFO_COMMAND_END: os << "UR_PROFILING_INFO_COMMAND_END"; break; - case UR_PROFILING_INFO_COMMAND_COMPLETE: os << "UR_PROFILING_INFO_COMMAND_COMPLETE"; break; @@ -9571,23 +8612,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_profiling_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_profiling_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_profiling_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_PROFILING_INFO_COMMAND_QUEUED: { const uint64_t *tptr = (const uint64_t *)ptr; if (sizeof(uint64_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint64_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint64_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -9595,13 +8634,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_PROFILING_INFO_COMMAND_SUBMIT: { const uint64_t *tptr = (const uint64_t *)ptr; if (sizeof(uint64_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint64_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint64_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -9609,13 +8646,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_PROFILING_INFO_COMMAND_START: { const uint64_t *tptr = (const uint64_t *)ptr; if (sizeof(uint64_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint64_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint64_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -9623,13 +8658,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_PROFILING_INFO_COMMAND_END: { const uint64_t *tptr = (const uint64_t *)ptr; if (sizeof(uint64_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint64_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint64_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -9637,13 +8670,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_PROFILING_INFO_COMMAND_COMPLETE: { const uint64_t *tptr = (const uint64_t *)ptr; if (sizeof(uint64_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint64_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint64_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -9653,12 +8684,17 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream & -operator<<(std::ostream &os, const struct ur_event_native_properties_t params) { +} // namespace details + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_event_native_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_event_native_properties_t params) { os << "(struct ur_event_native_properties_t){"; os << ".stype = "; @@ -9668,7 +8704,8 @@ operator<<(std::ostream &os, const struct ur_event_native_properties_t params) { os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".isNativeHandleOwned = "; @@ -9678,22 +8715,21 @@ operator<<(std::ostream &os, const struct ur_event_native_properties_t params) { os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_execution_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_execution_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_execution_info_t value) { switch (value) { - case UR_EXECUTION_INFO_COMPLETE: os << "UR_EXECUTION_INFO_COMPLETE"; break; - case UR_EXECUTION_INFO_RUNNING: os << "UR_EXECUTION_INFO_RUNNING"; break; - case UR_EXECUTION_INFO_SUBMITTED: os << "UR_EXECUTION_INFO_SUBMITTED"; break; - case UR_EXECUTION_INFO_QUEUED: os << "UR_EXECUTION_INFO_QUEUED"; break; @@ -9703,17 +8739,18 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -inline std::ostream &operator<<(std::ostream &os, enum ur_map_flag_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_map_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_map_flag_t value) { switch (value) { - case UR_MAP_FLAG_READ: os << "UR_MAP_FLAG_READ"; break; - case UR_MAP_FLAG_WRITE: os << "UR_MAP_FLAG_WRITE"; break; - case UR_MAP_FLAG_WRITE_INVALIDATE_REGION: os << "UR_MAP_FLAG_WRITE_INVALIDATE_REGION"; break; @@ -9723,10 +8760,12 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_map_flag_t value) { } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_map_flag_t flag template <> -inline void serializeFlag(std::ostream &os, uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; @@ -9750,8 +8789,7 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { os << UR_MAP_FLAG_WRITE; } - if ((val & UR_MAP_FLAG_WRITE_INVALIDATE_REGION) == - (uint32_t)UR_MAP_FLAG_WRITE_INVALIDATE_REGION) { + if ((val & UR_MAP_FLAG_WRITE_INVALIDATE_REGION) == (uint32_t)UR_MAP_FLAG_WRITE_INVALIDATE_REGION) { val ^= (uint32_t)UR_MAP_FLAG_WRITE_INVALIDATE_REGION; if (!first) { os << " | "; @@ -9769,12 +8807,15 @@ inline void serializeFlag(std::ostream &os, uint32_t flag) { } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_usm_migration_flag_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_migration_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_usm_migration_flag_t value) { switch (value) { - case UR_USM_MIGRATION_FLAG_DEFAULT: os << "UR_USM_MIGRATION_FLAG_DEFAULT"; break; @@ -9784,16 +8825,16 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_usm_migration_flag_t flag template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_USM_MIGRATION_FLAG_DEFAULT) == - (uint32_t)UR_USM_MIGRATION_FLAG_DEFAULT) { + if ((val & UR_USM_MIGRATION_FLAG_DEFAULT) == (uint32_t)UR_USM_MIGRATION_FLAG_DEFAULT) { val ^= (uint32_t)UR_USM_MIGRATION_FLAG_DEFAULT; if (!first) { os << " | "; @@ -9811,20 +8852,21 @@ inline void serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - enum ur_exp_image_copy_flag_t value) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_exp_image_copy_flag_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_exp_image_copy_flag_t value) { switch (value) { - case UR_EXP_IMAGE_COPY_FLAG_HOST_TO_DEVICE: os << "UR_EXP_IMAGE_COPY_FLAG_HOST_TO_DEVICE"; break; - case UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_HOST: os << "UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_HOST"; break; - case UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_DEVICE: os << "UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_DEVICE"; break; @@ -9834,16 +8876,16 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_exp_image_copy_flag_t flag template <> -inline void serializeFlag(std::ostream &os, - uint32_t flag) { +inline ur_result_t printFlag(std::ostream &os, uint32_t flag) { uint32_t val = flag; bool first = true; - if ((val & UR_EXP_IMAGE_COPY_FLAG_HOST_TO_DEVICE) == - (uint32_t)UR_EXP_IMAGE_COPY_FLAG_HOST_TO_DEVICE) { + if ((val & UR_EXP_IMAGE_COPY_FLAG_HOST_TO_DEVICE) == (uint32_t)UR_EXP_IMAGE_COPY_FLAG_HOST_TO_DEVICE) { val ^= (uint32_t)UR_EXP_IMAGE_COPY_FLAG_HOST_TO_DEVICE; if (!first) { os << " | "; @@ -9853,8 +8895,7 @@ inline void serializeFlag(std::ostream &os, os << UR_EXP_IMAGE_COPY_FLAG_HOST_TO_DEVICE; } - if ((val & UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_HOST) == - (uint32_t)UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_HOST) { + if ((val & UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_HOST) == (uint32_t)UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_HOST) { val ^= (uint32_t)UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_HOST; if (!first) { os << " | "; @@ -9864,8 +8905,7 @@ inline void serializeFlag(std::ostream &os, os << UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_HOST; } - if ((val & UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_DEVICE) == - (uint32_t)UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_DEVICE) { + if ((val & UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_DEVICE) == (uint32_t)UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_DEVICE) { val ^= (uint32_t)UR_EXP_IMAGE_COPY_FLAG_DEVICE_TO_DEVICE; if (!first) { os << " | "; @@ -9883,10 +8923,14 @@ inline void serializeFlag(std::ostream &os, } else if (first) { os << "0"; } + return UR_RESULT_SUCCESS; } -} // namespace ur_params -inline std::ostream &operator<<(std::ostream &os, - const struct ur_exp_file_descriptor_t params) { +} // namespace details +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_exp_file_descriptor_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_exp_file_descriptor_t params) { os << "(struct ur_exp_file_descriptor_t){"; os << ".stype = "; @@ -9896,7 +8940,8 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".fd = "; @@ -9906,8 +8951,11 @@ inline std::ostream &operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_exp_win32_handle_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_exp_win32_handle_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_exp_win32_handle_t params) { os << "(struct ur_exp_win32_handle_t){"; os << ".stype = "; @@ -9917,19 +8965,23 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".handle = "; - ur_params::serializePtr(os, (params.handle)); + details::printPtr(os, + (params.handle)); os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_exp_sampler_mip_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_exp_sampler_mip_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_exp_sampler_mip_properties_t params) { os << "(struct ur_exp_sampler_mip_properties_t){"; os << ".stype = "; @@ -9939,7 +8991,8 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".minMipmapLevelClamp = "; @@ -9964,8 +9017,11 @@ operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, const struct ur_exp_sampler_addr_modes_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_exp_sampler_addr_modes_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_exp_sampler_addr_modes_t params) { os << "(struct ur_exp_sampler_addr_modes_t){"; os << ".stype = "; @@ -9975,7 +9031,8 @@ operator<<(std::ostream &os, const struct ur_exp_sampler_addr_modes_t params) { os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".addrModes = {"; @@ -9991,8 +9048,11 @@ operator<<(std::ostream &os, const struct ur_exp_sampler_addr_modes_t params) { os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - const struct ur_exp_interop_mem_desc_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_exp_interop_mem_desc_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_exp_interop_mem_desc_t params) { os << "(struct ur_exp_interop_mem_desc_t){"; os << ".stype = "; @@ -10002,14 +9062,17 @@ inline std::ostream &operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_exp_interop_semaphore_desc_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_exp_interop_semaphore_desc_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_exp_interop_semaphore_desc_t params) { os << "(struct ur_exp_interop_semaphore_desc_t){"; os << ".stype = "; @@ -10019,14 +9082,17 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, - const struct ur_exp_layered_image_properties_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_exp_layered_image_properties_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_exp_layered_image_properties_t params) { os << "(struct ur_exp_layered_image_properties_t){"; os << ".stype = "; @@ -10036,7 +9102,8 @@ operator<<(std::ostream &os, os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << ", "; os << ".numLayers = "; @@ -10046,8 +9113,11 @@ operator<<(std::ostream &os, os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, const struct ur_exp_command_buffer_desc_t params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_exp_command_buffer_desc_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, const struct ur_exp_command_buffer_desc_t params) { os << "(struct ur_exp_command_buffer_desc_t){"; os << ".stype = "; @@ -10057,19 +9127,21 @@ operator<<(std::ostream &os, const struct ur_exp_command_buffer_desc_t params) { os << ", "; os << ".pNext = "; - ur_params::serializeStruct(os, (params.pNext)); + details::printStruct(os, + (params.pNext)); os << "}"; return os; } -inline std::ostream &operator<<(std::ostream &os, - enum ur_exp_peer_info_t value) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_exp_peer_info_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, ur_exp_peer_info_t value) { switch (value) { - case UR_EXP_PEER_INFO_UR_PEER_ACCESS_SUPPORTED: os << "UR_EXP_PEER_INFO_UR_PEER_ACCESS_SUPPORTED"; break; - case UR_EXP_PEER_INFO_UR_PEER_ATOMICS_SUPPORTED: os << "UR_EXP_PEER_INFO_UR_PEER_ATOMICS_SUPPORTED"; break; @@ -10079,23 +9151,21 @@ inline std::ostream &operator<<(std::ostream &os, } return os; } -namespace ur_params { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print ur_exp_peer_info_t enum value template <> -inline void serializeTagged(std::ostream &os, const void *ptr, - ur_exp_peer_info_t value, size_t size) { +inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_exp_peer_info_t value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { - case UR_EXP_PEER_INFO_UR_PEER_ACCESS_SUPPORTED: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -10103,13 +9173,11 @@ inline void serializeTagged(std::ostream &os, const void *ptr, os << ")"; } break; - case UR_EXP_PEER_INFO_UR_PEER_ATOMICS_SUPPORTED: { const uint32_t *tptr = (const uint32_t *)ptr; if (sizeof(uint32_t) > size) { - os << "invalid size (is: " << size - << ", expected: >=" << sizeof(uint32_t) << ")"; - return; + os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")"; + return UR_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; @@ -10119,89 +9187,64 @@ inline void serializeTagged(std::ostream &os, const void *ptr, } break; default: os << "unknown enumerator"; - break; - } -} -} // namespace ur_params - -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_adapter_get_params_t *params) { - - os << ".NumEntries = "; - - os << *(params->pNumEntries); - - os << ", "; - os << ".phAdapters = {"; - for (size_t i = 0; - *(params->pphAdapters) != NULL && i < *params->pNumEntries; ++i) { - if (i != 0) { - os << ", "; - } - - ur_params::serializePtr(os, (*(params->pphAdapters))[i]); + return UR_RESULT_ERROR_INVALID_ENUMERATION; } - os << "}"; - - os << ", "; - os << ".pNumAdapters = "; - - ur_params::serializePtr(os, *(params->ppNumAdapters)); - - return os; + return UR_RESULT_SUCCESS; } +} // namespace details -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_adapter_release_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_loader_config_create_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_loader_config_create_params_t *params) { - os << ".hAdapter = "; + os << ".phLoaderConfig = "; - ur_params::serializePtr(os, *(params->phAdapter)); + details::printPtr(os, + *(params->pphLoaderConfig)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_adapter_retain_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_loader_config_retain_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_loader_config_retain_params_t *params) { - os << ".hAdapter = "; + os << ".hLoaderConfig = "; - ur_params::serializePtr(os, *(params->phAdapter)); + details::printPtr(os, + *(params->phLoaderConfig)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_adapter_get_last_error_params_t *params) { - - os << ".hAdapter = "; - - ur_params::serializePtr(os, *(params->phAdapter)); - - os << ", "; - os << ".ppMessage = "; - - ur_params::serializePtr(os, *(params->pppMessage)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_loader_config_release_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_loader_config_release_params_t *params) { - os << ", "; - os << ".pError = "; + os << ".hLoaderConfig = "; - ur_params::serializePtr(os, *(params->ppError)); + details::printPtr(os, + *(params->phLoaderConfig)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_adapter_get_info_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_loader_config_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_loader_config_get_info_params_t *params) { - os << ".hAdapter = "; + os << ".hLoaderConfig = "; - ur_params::serializePtr(os, *(params->phAdapter)); + details::printPtr(os, + *(params->phLoaderConfig)); os << ", "; os << ".propName = "; @@ -10215,1368 +9258,1876 @@ operator<<(std::ostream &os, os << ", "; os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream &operator<<( - std::ostream &os, [[maybe_unused]] const struct - ur_bindless_images_unsampled_image_handle_destroy_exp_params_t *params) { - - os << ".hContext = "; - - ur_params::serializePtr(os, *(params->phContext)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_loader_config_enable_layer_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_loader_config_enable_layer_params_t *params) { - os << ", "; - os << ".hDevice = "; + os << ".hLoaderConfig = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phLoaderConfig)); os << ", "; - os << ".hImage = "; + os << ".pLayerName = "; - ur_params::serializePtr(os, *(params->phImage)); + details::printPtr(os, + *(params->ppLayerName)); return os; } -inline std::ostream &operator<<( - std::ostream &os, [[maybe_unused]] const struct - ur_bindless_images_sampled_image_handle_destroy_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_loader_config_set_code_location_callback_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_loader_config_set_code_location_callback_params_t *params) { - os << ".hContext = "; + os << ".hLoaderConfig = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phLoaderConfig)); os << ", "; - os << ".hDevice = "; + os << ".pfnCodeloc = "; - ur_params::serializePtr(os, *(params->phDevice)); + os << reinterpret_cast( + *(params->ppfnCodeloc)); os << ", "; - os << ".hImage = "; + os << ".pUserData = "; - ur_params::serializePtr(os, *(params->phImage)); + details::printPtr(os, + *(params->ppUserData)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_bindless_images_image_allocate_exp_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_platform_get_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_platform_get_params_t *params) { - os << ".hContext = "; + os << ".phAdapters = {"; + for (size_t i = 0; *(params->pphAdapters) != NULL && i < *params->pNumAdapters; ++i) { + if (i != 0) { + os << ", "; + } - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + (*(params->pphAdapters))[i]); + } + os << "}"; os << ", "; - os << ".hDevice = "; + os << ".NumAdapters = "; - ur_params::serializePtr(os, *(params->phDevice)); + os << *(params->pNumAdapters); os << ", "; - os << ".pImageFormat = "; + os << ".NumEntries = "; - ur_params::serializePtr(os, *(params->ppImageFormat)); + os << *(params->pNumEntries); os << ", "; - os << ".pImageDesc = "; + os << ".phPlatforms = {"; + for (size_t i = 0; *(params->pphPlatforms) != NULL && i < *params->pNumEntries; ++i) { + if (i != 0) { + os << ", "; + } - ur_params::serializePtr(os, *(params->ppImageDesc)); + details::printPtr(os, + (*(params->pphPlatforms))[i]); + } + os << "}"; os << ", "; - os << ".phImageMem = "; + os << ".pNumPlatforms = "; - ur_params::serializePtr(os, *(params->pphImageMem)); + details::printPtr(os, + *(params->ppNumPlatforms)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_bindless_images_image_free_exp_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_platform_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_platform_get_info_params_t *params) { - os << ".hContext = "; + os << ".hPlatform = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phPlatform)); os << ", "; - os << ".hDevice = "; + os << ".propName = "; - ur_params::serializePtr(os, *(params->phDevice)); + os << *(params->ppropName); os << ", "; - os << ".hImageMem = "; + os << ".propSize = "; + + os << *(params->ppropSize); + + os << ", "; + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); - ur_params::serializePtr(os, *(params->phImageMem)); + os << ", "; + os << ".pPropSizeRet = "; + + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_bindless_images_unsampled_image_create_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_platform_get_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_platform_get_native_handle_params_t *params) { - os << ".hContext = "; + os << ".hPlatform = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phPlatform)); os << ", "; - os << ".hDevice = "; + os << ".phNativePlatform = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->pphNativePlatform)); - os << ", "; - os << ".hImageMem = "; + return os; +} - ur_params::serializePtr(os, *(params->phImageMem)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_platform_create_with_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_platform_create_with_native_handle_params_t *params) { - os << ", "; - os << ".pImageFormat = "; + os << ".hNativePlatform = "; - ur_params::serializePtr(os, *(params->ppImageFormat)); + details::printPtr(os, + *(params->phNativePlatform)); os << ", "; - os << ".pImageDesc = "; + os << ".pProperties = "; - ur_params::serializePtr(os, *(params->ppImageDesc)); + details::printPtr(os, + *(params->ppProperties)); os << ", "; - os << ".phMem = "; + os << ".phPlatform = "; + + details::printPtr(os, + *(params->pphPlatform)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_platform_get_api_version_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_platform_get_api_version_params_t *params) { + + os << ".hPlatform = "; - ur_params::serializePtr(os, *(params->pphMem)); + details::printPtr(os, + *(params->phPlatform)); os << ", "; - os << ".phImage = "; + os << ".pVersion = "; - ur_params::serializePtr(os, *(params->pphImage)); + details::printPtr(os, + *(params->ppVersion)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_bindless_images_sampled_image_create_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_platform_get_backend_option_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_platform_get_backend_option_params_t *params) { - os << ".hContext = "; + os << ".hPlatform = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phPlatform)); os << ", "; - os << ".hDevice = "; + os << ".pFrontendOption = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->ppFrontendOption)); os << ", "; - os << ".hImageMem = "; + os << ".ppPlatformOption = "; - ur_params::serializePtr(os, *(params->phImageMem)); + details::printPtr(os, + *(params->pppPlatformOption)); - os << ", "; - os << ".pImageFormat = "; + return os; +} - ur_params::serializePtr(os, *(params->ppImageFormat)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_context_create_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_context_create_params_t *params) { - os << ", "; - os << ".pImageDesc = "; + os << ".DeviceCount = "; - ur_params::serializePtr(os, *(params->ppImageDesc)); + os << *(params->pDeviceCount); os << ", "; - os << ".hSampler = "; + os << ".phDevices = {"; + for (size_t i = 0; *(params->pphDevices) != NULL && i < *params->pDeviceCount; ++i) { + if (i != 0) { + os << ", "; + } - ur_params::serializePtr(os, *(params->phSampler)); + details::printPtr(os, + (*(params->pphDevices))[i]); + } + os << "}"; os << ", "; - os << ".phMem = "; + os << ".pProperties = "; - ur_params::serializePtr(os, *(params->pphMem)); + details::printPtr(os, + *(params->ppProperties)); os << ", "; - os << ".phImage = "; + os << ".phContext = "; - ur_params::serializePtr(os, *(params->pphImage)); + details::printPtr(os, + *(params->pphContext)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_bindless_images_image_copy_exp_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_context_retain_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_context_retain_params_t *params) { - os << ".hQueue = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phContext)); - os << ", "; - os << ".pDst = "; + return os; +} - ur_params::serializePtr(os, *(params->ppDst)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_context_release_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_context_release_params_t *params) { - os << ", "; - os << ".pSrc = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->ppSrc)); + details::printPtr(os, + *(params->phContext)); - os << ", "; - os << ".pImageFormat = "; + return os; +} - ur_params::serializePtr(os, *(params->ppImageFormat)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_context_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_context_get_info_params_t *params) { - os << ", "; - os << ".pImageDesc = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->ppImageDesc)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".imageCopyFlags = "; + os << ".propName = "; - ur_params::serializeFlag( - os, *(params->pimageCopyFlags)); + os << *(params->ppropName); os << ", "; - os << ".srcOffset = "; + os << ".propSize = "; - os << *(params->psrcOffset); + os << *(params->ppropSize); os << ", "; - os << ".dstOffset = "; - - os << *(params->pdstOffset); + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; - os << ".copyExtent = "; + os << ".pPropSizeRet = "; - os << *(params->pcopyExtent); + details::printPtr(os, + *(params->ppPropSizeRet)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_context_get_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_context_get_native_handle_params_t *params) { + + os << ".hContext = "; + + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".hostExtent = "; + os << ".phNativeContext = "; - os << *(params->phostExtent); + details::printPtr(os, + *(params->pphNativeContext)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_context_create_with_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_context_create_with_native_handle_params_t *params) { + + os << ".hNativeContext = "; + + details::printPtr(os, + *(params->phNativeContext)); os << ", "; - os << ".numEventsInWaitList = "; + os << ".numDevices = "; - os << *(params->pnumEventsInWaitList); + os << *(params->pnumDevices); os << ", "; - os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + os << ".phDevices = {"; + for (size_t i = 0; *(params->pphDevices) != NULL && i < *params->pnumDevices; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphDevices))[i]); } os << "}"; os << ", "; - os << ".phEvent = "; + os << ".pProperties = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->ppProperties)); - return os; -} + os << ", "; + os << ".phContext = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_bindless_images_image_get_info_exp_params_t - *params) { + details::printPtr(os, + *(params->pphContext)); - os << ".hImageMem = "; + return os; +} - ur_params::serializePtr(os, *(params->phImageMem)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_context_set_extended_deleter_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_context_set_extended_deleter_params_t *params) { - os << ", "; - os << ".propName = "; + os << ".hContext = "; - os << *(params->ppropName); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".pPropValue = "; + os << ".pfnDeleter = "; - ur_params::serializePtr(os, *(params->ppPropValue)); + os << reinterpret_cast( + *(params->ppfnDeleter)); os << ", "; - os << ".pPropSizeRet = "; + os << ".pUserData = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->ppUserData)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_bindless_images_mipmap_get_level_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_event_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_event_get_info_params_t *params) { - os << ".hContext = "; + os << ".hEvent = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phEvent)); os << ", "; - os << ".hDevice = "; + os << ".propName = "; - ur_params::serializePtr(os, *(params->phDevice)); + os << *(params->ppropName); os << ", "; - os << ".hImageMem = "; + os << ".propSize = "; - ur_params::serializePtr(os, *(params->phImageMem)); + os << *(params->ppropSize); os << ", "; - os << ".mipmapLevel = "; - - os << *(params->pmipmapLevel); + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; - os << ".phImageMem = "; + os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->pphImageMem)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_bindless_images_mipmap_free_exp_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_event_get_profiling_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_event_get_profiling_info_params_t *params) { - os << ".hContext = "; + os << ".hEvent = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phEvent)); os << ", "; - os << ".hDevice = "; + os << ".propName = "; - ur_params::serializePtr(os, *(params->phDevice)); + os << *(params->ppropName); os << ", "; - os << ".hMem = "; - - ur_params::serializePtr(os, *(params->phMem)); - - return os; -} - -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_bindless_images_import_opaque_fd_exp_params_t *params) { + os << ".propSize = "; - os << ".hContext = "; + os << *(params->ppropSize); - ur_params::serializePtr(os, *(params->phContext)); + os << ", "; + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; - os << ".hDevice = "; + os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->ppPropSizeRet)); - os << ", "; - os << ".size = "; + return os; +} - os << *(params->psize); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_event_wait_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_event_wait_params_t *params) { - os << ", "; - os << ".pInteropMemDesc = "; + os << ".numEvents = "; - ur_params::serializePtr(os, *(params->ppInteropMemDesc)); + os << *(params->pnumEvents); os << ", "; - os << ".phInteropMem = "; + os << ".phEventWaitList = {"; + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEvents; ++i) { + if (i != 0) { + os << ", "; + } - ur_params::serializePtr(os, *(params->pphInteropMem)); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); + } + os << "}"; return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_bindless_images_map_external_array_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_event_retain_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_event_retain_params_t *params) { - os << ".hContext = "; + os << ".hEvent = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phEvent)); - os << ", "; - os << ".hDevice = "; + return os; +} - ur_params::serializePtr(os, *(params->phDevice)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_event_release_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_event_release_params_t *params) { - os << ", "; - os << ".pImageFormat = "; + os << ".hEvent = "; - ur_params::serializePtr(os, *(params->ppImageFormat)); + details::printPtr(os, + *(params->phEvent)); - os << ", "; - os << ".pImageDesc = "; + return os; +} - ur_params::serializePtr(os, *(params->ppImageDesc)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_event_get_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_event_get_native_handle_params_t *params) { - os << ", "; - os << ".hInteropMem = "; + os << ".hEvent = "; - ur_params::serializePtr(os, *(params->phInteropMem)); + details::printPtr(os, + *(params->phEvent)); os << ", "; - os << ".phImageMem = "; + os << ".phNativeEvent = "; - ur_params::serializePtr(os, *(params->pphImageMem)); + details::printPtr(os, + *(params->pphNativeEvent)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_bindless_images_release_interop_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_event_create_with_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_event_create_with_native_handle_params_t *params) { + + os << ".hNativeEvent = "; + + details::printPtr(os, + *(params->phNativeEvent)); + os << ", "; os << ".hContext = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".hDevice = "; + os << ".pProperties = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->ppProperties)); os << ", "; - os << ".hInteropMem = "; + os << ".phEvent = "; - ur_params::serializePtr(os, *(params->phInteropMem)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_bindless_images_import_external_semaphore_opaque_fd_exp_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_event_set_callback_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_event_set_callback_params_t *params) { - os << ".hContext = "; + os << ".hEvent = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phEvent)); os << ", "; - os << ".hDevice = "; + os << ".execStatus = "; - ur_params::serializePtr(os, *(params->phDevice)); + os << *(params->pexecStatus); os << ", "; - os << ".pInteropSemaphoreDesc = "; + os << ".pfnNotify = "; - ur_params::serializePtr(os, *(params->ppInteropSemaphoreDesc)); + os << reinterpret_cast( + *(params->ppfnNotify)); os << ", "; - os << ".phInteropSemaphore = "; + os << ".pUserData = "; - ur_params::serializePtr(os, *(params->pphInteropSemaphore)); + details::printPtr(os, + *(params->ppUserData)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_bindless_images_destroy_external_semaphore_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_create_with_il_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_create_with_il_params_t *params) { os << ".hContext = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".hDevice = "; + os << ".pIL = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->ppIL)); os << ", "; - os << ".hInteropSemaphore = "; + os << ".length = "; + + os << *(params->plength); + + os << ", "; + os << ".pProperties = "; + + details::printPtr(os, + *(params->ppProperties)); + + os << ", "; + os << ".phProgram = "; - ur_params::serializePtr(os, *(params->phInteropSemaphore)); + details::printPtr(os, + *(params->pphProgram)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_bindless_images_wait_external_semaphore_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_create_with_binary_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_create_with_binary_params_t *params) { - os << ".hQueue = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".hSemaphore = "; + os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phSemaphore)); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".numEventsInWaitList = "; + os << ".size = "; - os << *(params->pnumEventsInWaitList); + os << *(params->psize); os << ", "; - os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { - if (i != 0) { - os << ", "; - } + os << ".pBinary = "; - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); - } - os << "}"; + details::printPtr(os, + *(params->ppBinary)); os << ", "; - os << ".phEvent = "; + os << ".pProperties = "; + + details::printPtr(os, + *(params->ppProperties)); + + os << ", "; + os << ".phProgram = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphProgram)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_bindless_images_signal_external_semaphore_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_build_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_build_params_t *params) { - os << ".hQueue = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".hSemaphore = "; + os << ".hProgram = "; - ur_params::serializePtr(os, *(params->phSemaphore)); + details::printPtr(os, + *(params->phProgram)); os << ", "; - os << ".numEventsInWaitList = "; + os << ".pOptions = "; - os << *(params->pnumEventsInWaitList); + details::printPtr(os, + *(params->ppOptions)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_compile_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_compile_params_t *params) { + + os << ".hContext = "; + + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { - if (i != 0) { - os << ", "; - } + os << ".hProgram = "; - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); - } - os << "}"; + details::printPtr(os, + *(params->phProgram)); os << ", "; - os << ".phEvent = "; + os << ".pOptions = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->ppOptions)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_command_buffer_create_exp_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_link_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_link_params_t *params) { os << ".hContext = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".hDevice = "; + os << ".count = "; - ur_params::serializePtr(os, *(params->phDevice)); + os << *(params->pcount); os << ", "; - os << ".pCommandBufferDesc = "; + os << ".phPrograms = {"; + for (size_t i = 0; *(params->pphPrograms) != NULL && i < *params->pcount; ++i) { + if (i != 0) { + os << ", "; + } - ur_params::serializePtr(os, *(params->ppCommandBufferDesc)); + details::printPtr(os, + (*(params->pphPrograms))[i]); + } + os << "}"; os << ", "; - os << ".phCommandBuffer = "; - - ur_params::serializePtr(os, *(params->pphCommandBuffer)); - - return os; -} + os << ".pOptions = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_command_buffer_retain_exp_params_t - *params) { + details::printPtr(os, + *(params->ppOptions)); - os << ".hCommandBuffer = "; + os << ", "; + os << ".phProgram = "; - ur_params::serializePtr(os, *(params->phCommandBuffer)); + details::printPtr(os, + *(params->pphProgram)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_command_buffer_release_exp_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_retain_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_retain_params_t *params) { - os << ".hCommandBuffer = "; + os << ".hProgram = "; - ur_params::serializePtr(os, *(params->phCommandBuffer)); + details::printPtr(os, + *(params->phProgram)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_command_buffer_finalize_exp_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_release_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_release_params_t *params) { - os << ".hCommandBuffer = "; + os << ".hProgram = "; - ur_params::serializePtr(os, *(params->phCommandBuffer)); + details::printPtr(os, + *(params->phProgram)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_command_buffer_append_kernel_launch_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_get_function_pointer_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_get_function_pointer_params_t *params) { - os << ".hCommandBuffer = "; + os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phCommandBuffer)); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".hKernel = "; + os << ".hProgram = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->phProgram)); os << ", "; - os << ".workDim = "; + os << ".pFunctionName = "; - os << *(params->pworkDim); + details::printPtr(os, + *(params->ppFunctionName)); os << ", "; - os << ".pGlobalWorkOffset = "; + os << ".ppFunctionPointer = "; - ur_params::serializePtr(os, *(params->ppGlobalWorkOffset)); + details::printPtr(os, + *(params->pppFunctionPointer)); - os << ", "; - os << ".pGlobalWorkSize = "; + return os; +} - ur_params::serializePtr(os, *(params->ppGlobalWorkSize)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_get_info_params_t *params) { - os << ", "; - os << ".pLocalWorkSize = "; + os << ".hProgram = "; - ur_params::serializePtr(os, *(params->ppLocalWorkSize)); + details::printPtr(os, + *(params->phProgram)); os << ", "; - os << ".numSyncPointsInWaitList = "; + os << ".propName = "; - os << *(params->pnumSyncPointsInWaitList); + os << *(params->ppropName); os << ", "; - os << ".pSyncPointWaitList = "; + os << ".propSize = "; - ur_params::serializePtr(os, *(params->ppSyncPointWaitList)); + os << *(params->ppropSize); os << ", "; - os << ".pSyncPoint = "; + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); + + os << ", "; + os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->ppSyncPoint)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_command_buffer_append_usm_memcpy_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_get_build_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_get_build_info_params_t *params) { - os << ".hCommandBuffer = "; - - ur_params::serializePtr(os, *(params->phCommandBuffer)); - - os << ", "; - os << ".pDst = "; + os << ".hProgram = "; - ur_params::serializePtr(os, *(params->ppDst)); + details::printPtr(os, + *(params->phProgram)); os << ", "; - os << ".pSrc = "; + os << ".hDevice = "; - ur_params::serializePtr(os, *(params->ppSrc)); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".size = "; + os << ".propName = "; - os << *(params->psize); + os << *(params->ppropName); os << ", "; - os << ".numSyncPointsInWaitList = "; + os << ".propSize = "; - os << *(params->pnumSyncPointsInWaitList); + os << *(params->ppropSize); os << ", "; - os << ".pSyncPointWaitList = "; - - ur_params::serializePtr(os, *(params->ppSyncPointWaitList)); + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; - os << ".pSyncPoint = "; + os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->ppSyncPoint)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_command_buffer_append_usm_fill_exp_params_t - *params) { - - os << ".hCommandBuffer = "; - - ur_params::serializePtr(os, *(params->phCommandBuffer)); - - os << ", "; - os << ".pMemory = "; - - ur_params::serializePtr(os, *(params->ppMemory)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_set_specialization_constants_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_set_specialization_constants_params_t *params) { - os << ", "; - os << ".pPattern = "; + os << ".hProgram = "; - ur_params::serializePtr(os, *(params->ppPattern)); + details::printPtr(os, + *(params->phProgram)); os << ", "; - os << ".patternSize = "; + os << ".count = "; - os << *(params->ppatternSize); + os << *(params->pcount); os << ", "; - os << ".size = "; + os << ".pSpecConstants = {"; + for (size_t i = 0; *(params->ppSpecConstants) != NULL && i < *params->pcount; ++i) { + if (i != 0) { + os << ", "; + } - os << *(params->psize); + os << (*(params->ppSpecConstants))[i]; + } + os << "}"; - os << ", "; - os << ".numSyncPointsInWaitList = "; + return os; +} - os << *(params->pnumSyncPointsInWaitList); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_get_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_get_native_handle_params_t *params) { - os << ", "; - os << ".pSyncPointWaitList = "; + os << ".hProgram = "; - ur_params::serializePtr(os, *(params->ppSyncPointWaitList)); + details::printPtr(os, + *(params->phProgram)); os << ", "; - os << ".pSyncPoint = "; + os << ".phNativeProgram = "; - ur_params::serializePtr(os, *(params->ppSyncPoint)); + details::printPtr(os, + *(params->pphNativeProgram)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_command_buffer_append_mem_buffer_copy_exp_params_t *params) { - - os << ".hCommandBuffer = "; - - ur_params::serializePtr(os, *(params->phCommandBuffer)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_program_create_with_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_program_create_with_native_handle_params_t *params) { - os << ", "; - os << ".hSrcMem = "; + os << ".hNativeProgram = "; - ur_params::serializePtr(os, *(params->phSrcMem)); + details::printPtr(os, + *(params->phNativeProgram)); os << ", "; - os << ".hDstMem = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phDstMem)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".srcOffset = "; + os << ".pProperties = "; - os << *(params->psrcOffset); + details::printPtr(os, + *(params->ppProperties)); os << ", "; - os << ".dstOffset = "; + os << ".phProgram = "; - os << *(params->pdstOffset); + details::printPtr(os, + *(params->pphProgram)); - os << ", "; - os << ".size = "; + return os; +} - os << *(params->psize); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_create_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_create_params_t *params) { - os << ", "; - os << ".numSyncPointsInWaitList = "; + os << ".hProgram = "; - os << *(params->pnumSyncPointsInWaitList); + details::printPtr(os, + *(params->phProgram)); os << ", "; - os << ".pSyncPointWaitList = "; + os << ".pKernelName = "; - ur_params::serializePtr(os, *(params->ppSyncPointWaitList)); + details::printPtr(os, + *(params->ppKernelName)); os << ", "; - os << ".pSyncPoint = "; + os << ".phKernel = "; - ur_params::serializePtr(os, *(params->ppSyncPoint)); + details::printPtr(os, + *(params->pphKernel)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_command_buffer_append_mem_buffer_write_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_get_info_params_t *params) { - os << ".hCommandBuffer = "; + os << ".hKernel = "; - ur_params::serializePtr(os, *(params->phCommandBuffer)); + details::printPtr(os, + *(params->phKernel)); os << ", "; - os << ".hBuffer = "; + os << ".propName = "; - ur_params::serializePtr(os, *(params->phBuffer)); + os << *(params->ppropName); os << ", "; - os << ".offset = "; + os << ".propSize = "; - os << *(params->poffset); + os << *(params->ppropSize); os << ", "; - os << ".size = "; + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); - os << *(params->psize); + os << ", "; + os << ".pPropSizeRet = "; + + details::printPtr(os, + *(params->ppPropSizeRet)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_get_group_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_get_group_info_params_t *params) { + + os << ".hKernel = "; + + details::printPtr(os, + *(params->phKernel)); os << ", "; - os << ".pSrc = "; + os << ".hDevice = "; - ur_params::serializePtr(os, *(params->ppSrc)); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".numSyncPointsInWaitList = "; + os << ".propName = "; - os << *(params->pnumSyncPointsInWaitList); + os << *(params->ppropName); os << ", "; - os << ".pSyncPointWaitList = "; + os << ".propSize = "; - ur_params::serializePtr(os, *(params->ppSyncPointWaitList)); + os << *(params->ppropSize); os << ", "; - os << ".pSyncPoint = "; + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); + + os << ", "; + os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->ppSyncPoint)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_command_buffer_append_mem_buffer_read_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_get_sub_group_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_get_sub_group_info_params_t *params) { - os << ".hCommandBuffer = "; + os << ".hKernel = "; - ur_params::serializePtr(os, *(params->phCommandBuffer)); + details::printPtr(os, + *(params->phKernel)); os << ", "; - os << ".hBuffer = "; + os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phBuffer)); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".offset = "; + os << ".propName = "; - os << *(params->poffset); + os << *(params->ppropName); os << ", "; - os << ".size = "; + os << ".propSize = "; - os << *(params->psize); + os << *(params->ppropSize); os << ", "; - os << ".pDst = "; - - ur_params::serializePtr(os, *(params->ppDst)); + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; - os << ".numSyncPointsInWaitList = "; + os << ".pPropSizeRet = "; - os << *(params->pnumSyncPointsInWaitList); + details::printPtr(os, + *(params->ppPropSizeRet)); - os << ", "; - os << ".pSyncPointWaitList = "; + return os; +} - ur_params::serializePtr(os, *(params->ppSyncPointWaitList)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_retain_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_retain_params_t *params) { - os << ", "; - os << ".pSyncPoint = "; + os << ".hKernel = "; - ur_params::serializePtr(os, *(params->ppSyncPoint)); + details::printPtr(os, + *(params->phKernel)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_command_buffer_append_mem_buffer_copy_rect_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_release_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_release_params_t *params) { - os << ".hCommandBuffer = "; + os << ".hKernel = "; - ur_params::serializePtr(os, *(params->phCommandBuffer)); + details::printPtr(os, + *(params->phKernel)); - os << ", "; - os << ".hSrcMem = "; + return os; +} - ur_params::serializePtr(os, *(params->phSrcMem)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_get_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_get_native_handle_params_t *params) { - os << ", "; - os << ".hDstMem = "; + os << ".hKernel = "; - ur_params::serializePtr(os, *(params->phDstMem)); + details::printPtr(os, + *(params->phKernel)); os << ", "; - os << ".srcOrigin = "; + os << ".phNativeKernel = "; - os << *(params->psrcOrigin); + details::printPtr(os, + *(params->pphNativeKernel)); - os << ", "; - os << ".dstOrigin = "; + return os; +} - os << *(params->pdstOrigin); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_create_with_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_create_with_native_handle_params_t *params) { + + os << ".hNativeKernel = "; + + details::printPtr(os, + *(params->phNativeKernel)); os << ", "; - os << ".region = "; + os << ".hContext = "; - os << *(params->pregion); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".srcRowPitch = "; + os << ".hProgram = "; - os << *(params->psrcRowPitch); + details::printPtr(os, + *(params->phProgram)); os << ", "; - os << ".srcSlicePitch = "; + os << ".pProperties = "; - os << *(params->psrcSlicePitch); + details::printPtr(os, + *(params->ppProperties)); os << ", "; - os << ".dstRowPitch = "; + os << ".phKernel = "; - os << *(params->pdstRowPitch); + details::printPtr(os, + *(params->pphKernel)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_set_arg_value_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_set_arg_value_params_t *params) { + + os << ".hKernel = "; + + details::printPtr(os, + *(params->phKernel)); os << ", "; - os << ".dstSlicePitch = "; + os << ".argIndex = "; - os << *(params->pdstSlicePitch); + os << *(params->pargIndex); os << ", "; - os << ".numSyncPointsInWaitList = "; + os << ".argSize = "; - os << *(params->pnumSyncPointsInWaitList); + os << *(params->pargSize); os << ", "; - os << ".pSyncPointWaitList = "; + os << ".pProperties = "; - ur_params::serializePtr(os, *(params->ppSyncPointWaitList)); + details::printPtr(os, + *(params->ppProperties)); os << ", "; - os << ".pSyncPoint = "; + os << ".pArgValue = "; - ur_params::serializePtr(os, *(params->ppSyncPoint)); + details::printPtr(os, + *(params->ppArgValue)); return os; } -inline std::ostream &operator<<( - std::ostream &os, [[maybe_unused]] const struct - ur_command_buffer_append_mem_buffer_write_rect_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_set_arg_local_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_set_arg_local_params_t *params) { - os << ".hCommandBuffer = "; + os << ".hKernel = "; - ur_params::serializePtr(os, *(params->phCommandBuffer)); + details::printPtr(os, + *(params->phKernel)); os << ", "; - os << ".hBuffer = "; + os << ".argIndex = "; - ur_params::serializePtr(os, *(params->phBuffer)); + os << *(params->pargIndex); os << ", "; - os << ".bufferOffset = "; + os << ".argSize = "; - os << *(params->pbufferOffset); + os << *(params->pargSize); os << ", "; - os << ".hostOffset = "; + os << ".pProperties = "; - os << *(params->phostOffset); + details::printPtr(os, + *(params->ppProperties)); - os << ", "; - os << ".region = "; + return os; +} - os << *(params->pregion); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_set_arg_pointer_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_set_arg_pointer_params_t *params) { - os << ", "; - os << ".bufferRowPitch = "; + os << ".hKernel = "; - os << *(params->pbufferRowPitch); + details::printPtr(os, + *(params->phKernel)); os << ", "; - os << ".bufferSlicePitch = "; + os << ".argIndex = "; - os << *(params->pbufferSlicePitch); + os << *(params->pargIndex); os << ", "; - os << ".hostRowPitch = "; + os << ".pProperties = "; - os << *(params->phostRowPitch); + details::printPtr(os, + *(params->ppProperties)); os << ", "; - os << ".hostSlicePitch = "; + os << ".pArgValue = "; - os << *(params->phostSlicePitch); + details::printPtr(os, + *(params->ppArgValue)); - os << ", "; - os << ".pSrc = "; + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_set_exec_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_set_exec_info_params_t *params) { + + os << ".hKernel = "; - ur_params::serializePtr(os, *(params->ppSrc)); + details::printPtr(os, + *(params->phKernel)); os << ", "; - os << ".numSyncPointsInWaitList = "; + os << ".propName = "; - os << *(params->pnumSyncPointsInWaitList); + os << *(params->ppropName); os << ", "; - os << ".pSyncPointWaitList = "; + os << ".propSize = "; - ur_params::serializePtr(os, *(params->ppSyncPointWaitList)); + os << *(params->ppropSize); os << ", "; - os << ".pSyncPoint = "; + os << ".pProperties = "; + + details::printPtr(os, + *(params->ppProperties)); - ur_params::serializePtr(os, *(params->ppSyncPoint)); + os << ", "; + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_command_buffer_append_mem_buffer_read_rect_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_set_arg_sampler_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_set_arg_sampler_params_t *params) { - os << ".hCommandBuffer = "; + os << ".hKernel = "; - ur_params::serializePtr(os, *(params->phCommandBuffer)); + details::printPtr(os, + *(params->phKernel)); os << ", "; - os << ".hBuffer = "; + os << ".argIndex = "; - ur_params::serializePtr(os, *(params->phBuffer)); + os << *(params->pargIndex); os << ", "; - os << ".bufferOffset = "; + os << ".pProperties = "; - os << *(params->pbufferOffset); + details::printPtr(os, + *(params->ppProperties)); os << ", "; - os << ".hostOffset = "; + os << ".hArgValue = "; - os << *(params->phostOffset); + details::printPtr(os, + *(params->phArgValue)); - os << ", "; - os << ".region = "; + return os; +} - os << *(params->pregion); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_set_arg_mem_obj_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_set_arg_mem_obj_params_t *params) { - os << ", "; - os << ".bufferRowPitch = "; + os << ".hKernel = "; - os << *(params->pbufferRowPitch); + details::printPtr(os, + *(params->phKernel)); os << ", "; - os << ".bufferSlicePitch = "; + os << ".argIndex = "; - os << *(params->pbufferSlicePitch); + os << *(params->pargIndex); os << ", "; - os << ".hostRowPitch = "; + os << ".pProperties = "; - os << *(params->phostRowPitch); + details::printPtr(os, + *(params->ppProperties)); os << ", "; - os << ".hostSlicePitch = "; + os << ".hArgValue = "; - os << *(params->phostSlicePitch); + details::printPtr(os, + *(params->phArgValue)); - os << ", "; - os << ".pDst = "; + return os; +} - ur_params::serializePtr(os, *(params->ppDst)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_set_specialization_constants_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_set_specialization_constants_params_t *params) { - os << ", "; - os << ".numSyncPointsInWaitList = "; + os << ".hKernel = "; - os << *(params->pnumSyncPointsInWaitList); + details::printPtr(os, + *(params->phKernel)); os << ", "; - os << ".pSyncPointWaitList = "; + os << ".count = "; - ur_params::serializePtr(os, *(params->ppSyncPointWaitList)); + os << *(params->pcount); os << ", "; - os << ".pSyncPoint = "; + os << ".pSpecConstants = "; - ur_params::serializePtr(os, *(params->ppSyncPoint)); + details::printPtr(os, + *(params->ppSpecConstants)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_command_buffer_append_mem_buffer_fill_exp_params_t *params) { - - os << ".hCommandBuffer = "; - - ur_params::serializePtr(os, *(params->phCommandBuffer)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_kernel_suggest_max_cooperative_group_count_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_kernel_suggest_max_cooperative_group_count_exp_params_t *params) { - os << ", "; - os << ".hBuffer = "; + os << ".hKernel = "; - ur_params::serializePtr(os, *(params->phBuffer)); + details::printPtr(os, + *(params->phKernel)); os << ", "; - os << ".pPattern = "; + os << ".pGroupCountRet = "; - ur_params::serializePtr(os, *(params->ppPattern)); + details::printPtr(os, + *(params->ppGroupCountRet)); - os << ", "; - os << ".patternSize = "; + return os; +} - os << *(params->ppatternSize); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_sampler_create_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_sampler_create_params_t *params) { - os << ", "; - os << ".offset = "; + os << ".hContext = "; - os << *(params->poffset); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".size = "; + os << ".pDesc = "; - os << *(params->psize); + details::printPtr(os, + *(params->ppDesc)); os << ", "; - os << ".numSyncPointsInWaitList = "; + os << ".phSampler = "; - os << *(params->pnumSyncPointsInWaitList); + details::printPtr(os, + *(params->pphSampler)); - os << ", "; - os << ".pSyncPointWaitList = "; + return os; +} - ur_params::serializePtr(os, *(params->ppSyncPointWaitList)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_sampler_retain_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_sampler_retain_params_t *params) { - os << ", "; - os << ".pSyncPoint = "; + os << ".hSampler = "; - ur_params::serializePtr(os, *(params->ppSyncPoint)); + details::printPtr(os, + *(params->phSampler)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_command_buffer_append_usm_prefetch_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_sampler_release_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_sampler_release_params_t *params) { - os << ".hCommandBuffer = "; + os << ".hSampler = "; - ur_params::serializePtr(os, *(params->phCommandBuffer)); + details::printPtr(os, + *(params->phSampler)); - os << ", "; - os << ".pMemory = "; + return os; +} - ur_params::serializePtr(os, *(params->ppMemory)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_sampler_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_sampler_get_info_params_t *params) { - os << ", "; - os << ".size = "; + os << ".hSampler = "; - os << *(params->psize); + details::printPtr(os, + *(params->phSampler)); os << ", "; - os << ".flags = "; + os << ".propName = "; - ur_params::serializeFlag(os, *(params->pflags)); + os << *(params->ppropName); os << ", "; - os << ".numSyncPointsInWaitList = "; + os << ".propSize = "; - os << *(params->pnumSyncPointsInWaitList); + os << *(params->ppropSize); os << ", "; - os << ".pSyncPointWaitList = "; - - ur_params::serializePtr(os, *(params->ppSyncPointWaitList)); + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; - os << ".pSyncPoint = "; + os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->ppSyncPoint)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_command_buffer_append_usm_advise_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_sampler_get_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_sampler_get_native_handle_params_t *params) { - os << ".hCommandBuffer = "; + os << ".hSampler = "; - ur_params::serializePtr(os, *(params->phCommandBuffer)); + details::printPtr(os, + *(params->phSampler)); os << ", "; - os << ".pMemory = "; + os << ".phNativeSampler = "; + + details::printPtr(os, + *(params->pphNativeSampler)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_sampler_create_with_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_sampler_create_with_native_handle_params_t *params) { - ur_params::serializePtr(os, *(params->ppMemory)); + os << ".hNativeSampler = "; + + details::printPtr(os, + *(params->phNativeSampler)); os << ", "; - os << ".size = "; + os << ".hContext = "; - os << *(params->psize); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".advice = "; + os << ".pProperties = "; - ur_params::serializeFlag(os, *(params->padvice)); + details::printPtr(os, + *(params->ppProperties)); os << ", "; - os << ".numSyncPointsInWaitList = "; + os << ".phSampler = "; - os << *(params->pnumSyncPointsInWaitList); + details::printPtr(os, + *(params->pphSampler)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_image_create_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_mem_image_create_params_t *params) { + + os << ".hContext = "; + + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".pSyncPointWaitList = "; + os << ".flags = "; - ur_params::serializePtr(os, *(params->ppSyncPointWaitList)); + details::printFlag(os, + *(params->pflags)); os << ", "; - os << ".pSyncPoint = "; + os << ".pImageFormat = "; + + details::printPtr(os, + *(params->ppImageFormat)); + + os << ", "; + os << ".pImageDesc = "; + + details::printPtr(os, + *(params->ppImageDesc)); + + os << ", "; + os << ".pHost = "; + + details::printPtr(os, + *(params->ppHost)); + + os << ", "; + os << ".phMem = "; - ur_params::serializePtr(os, *(params->ppSyncPoint)); + details::printPtr(os, + *(params->pphMem)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_command_buffer_enqueue_exp_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_buffer_create_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_mem_buffer_create_params_t *params) { - os << ".hCommandBuffer = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phCommandBuffer)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".hQueue = "; + os << ".flags = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printFlag(os, + *(params->pflags)); os << ", "; - os << ".numEventsInWaitList = "; + os << ".size = "; - os << *(params->pnumEventsInWaitList); + os << *(params->psize); os << ", "; - os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { - if (i != 0) { - os << ", "; - } + os << ".pProperties = "; - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); - } - os << "}"; + details::printPtr(os, + *(params->ppProperties)); os << ", "; - os << ".phEvent = "; + os << ".phBuffer = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphBuffer)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_context_create_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_retain_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_mem_retain_params_t *params) { - os << ".DeviceCount = "; + os << ".hMem = "; - os << *(params->pDeviceCount); + details::printPtr(os, + *(params->phMem)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_release_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_mem_release_params_t *params) { + + os << ".hMem = "; + + details::printPtr(os, + *(params->phMem)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_buffer_partition_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_mem_buffer_partition_params_t *params) { + + os << ".hBuffer = "; + + details::printPtr(os, + *(params->phBuffer)); os << ", "; - os << ".phDevices = {"; - for (size_t i = 0; - *(params->pphDevices) != NULL && i < *params->pDeviceCount; ++i) { - if (i != 0) { - os << ", "; - } + os << ".flags = "; - ur_params::serializePtr(os, (*(params->pphDevices))[i]); - } - os << "}"; + details::printFlag(os, + *(params->pflags)); os << ", "; - os << ".pProperties = "; + os << ".bufferCreateType = "; - ur_params::serializePtr(os, *(params->ppProperties)); + os << *(params->pbufferCreateType); os << ", "; - os << ".phContext = "; + os << ".pRegion = "; + + details::printPtr(os, + *(params->ppRegion)); - ur_params::serializePtr(os, *(params->pphContext)); + os << ", "; + os << ".phMem = "; + + details::printPtr(os, + *(params->pphMem)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_context_retain_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_get_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_mem_get_native_handle_params_t *params) { - os << ".hContext = "; + os << ".hMem = "; + + details::printPtr(os, + *(params->phMem)); + + os << ", "; + os << ".phNativeMem = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->pphNativeMem)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_context_release_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_buffer_create_with_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_mem_buffer_create_with_native_handle_params_t *params) { + + os << ".hNativeMem = "; + + details::printPtr(os, + *(params->phNativeMem)); + os << ", "; os << ".hContext = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phContext)); + + os << ", "; + os << ".pProperties = "; + + details::printPtr(os, + *(params->ppProperties)); + + os << ", "; + os << ".phMem = "; + + details::printPtr(os, + *(params->pphMem)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_context_get_info_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_image_create_with_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_mem_image_create_with_native_handle_params_t *params) { + + os << ".hNativeMem = "; + + details::printPtr(os, + *(params->phNativeMem)); + os << ", "; os << ".hContext = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phContext)); + + os << ", "; + os << ".pImageFormat = "; + + details::printPtr(os, + *(params->ppImageFormat)); + + os << ", "; + os << ".pImageDesc = "; + + details::printPtr(os, + *(params->ppImageDesc)); + + os << ", "; + os << ".pProperties = "; + + details::printPtr(os, + *(params->ppProperties)); + + os << ", "; + os << ".phMem = "; + + details::printPtr(os, + *(params->pphMem)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_mem_get_info_params_t *params) { + + os << ".hMemory = "; + + details::printPtr(os, + *(params->phMemory)); os << ", "; os << ".propName = "; @@ -11590,107 +11141,251 @@ operator<<(std::ostream &os, os << ", "; os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_context_get_native_handle_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_mem_image_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_mem_image_get_info_params_t *params) { - os << ".hContext = "; + os << ".hMemory = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phMemory)); os << ", "; - os << ".phNativeContext = "; + os << ".propName = "; + + os << *(params->ppropName); + + os << ", "; + os << ".propSize = "; + + os << *(params->ppropSize); + + os << ", "; + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); + + os << ", "; + os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->pphNativeContext)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_context_create_with_native_handle_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_physical_mem_create_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_physical_mem_create_params_t *params) { - os << ".hNativeContext = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phNativeContext)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".numDevices = "; + os << ".hDevice = "; - os << *(params->pnumDevices); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".phDevices = {"; - for (size_t i = 0; - *(params->pphDevices) != NULL && i < *params->pnumDevices; ++i) { + os << ".size = "; + + os << *(params->psize); + + os << ", "; + os << ".pProperties = "; + + details::printPtr(os, + *(params->ppProperties)); + + os << ", "; + os << ".phPhysicalMem = "; + + details::printPtr(os, + *(params->pphPhysicalMem)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_physical_mem_retain_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_physical_mem_retain_params_t *params) { + + os << ".hPhysicalMem = "; + + details::printPtr(os, + *(params->phPhysicalMem)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_physical_mem_release_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_physical_mem_release_params_t *params) { + + os << ".hPhysicalMem = "; + + details::printPtr(os, + *(params->phPhysicalMem)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_adapter_get_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_adapter_get_params_t *params) { + + os << ".NumEntries = "; + + os << *(params->pNumEntries); + + os << ", "; + os << ".phAdapters = {"; + for (size_t i = 0; *(params->pphAdapters) != NULL && i < *params->pNumEntries; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphDevices))[i]); + details::printPtr(os, + (*(params->pphAdapters))[i]); } os << "}"; os << ", "; - os << ".pProperties = "; + os << ".pNumAdapters = "; + + details::printPtr(os, + *(params->ppNumAdapters)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_adapter_release_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_adapter_release_params_t *params) { + + os << ".hAdapter = "; + + details::printPtr(os, + *(params->phAdapter)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_adapter_retain_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_adapter_retain_params_t *params) { + + os << ".hAdapter = "; + + details::printPtr(os, + *(params->phAdapter)); + + return os; +} - ur_params::serializePtr(os, *(params->ppProperties)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_adapter_get_last_error_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_adapter_get_last_error_params_t *params) { + + os << ".hAdapter = "; + + details::printPtr(os, + *(params->phAdapter)); os << ", "; - os << ".phContext = "; + os << ".ppMessage = "; + + details::printPtr(os, + *(params->pppMessage)); + + os << ", "; + os << ".pError = "; - ur_params::serializePtr(os, *(params->pphContext)); + details::printPtr(os, + *(params->ppError)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_context_set_extended_deleter_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_adapter_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_adapter_get_info_params_t *params) { - os << ".hContext = "; + os << ".hAdapter = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phAdapter)); os << ", "; - os << ".pfnDeleter = "; + os << ".propName = "; - os << reinterpret_cast(*(params->ppfnDeleter)); + os << *(params->ppropName); os << ", "; - os << ".pUserData = "; + os << ".propSize = "; + + os << *(params->ppropSize); + + os << ", "; + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); + + os << ", "; + os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->ppUserData)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_kernel_launch_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_kernel_launch_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_kernel_launch_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hKernel = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->phKernel)); os << ", "; os << ".workDim = "; @@ -11700,17 +11395,20 @@ inline std::ostream &operator<<( os << ", "; os << ".pGlobalWorkOffset = "; - ur_params::serializePtr(os, *(params->ppGlobalWorkOffset)); + details::printPtr(os, + *(params->ppGlobalWorkOffset)); os << ", "; os << ".pGlobalWorkSize = "; - ur_params::serializePtr(os, *(params->ppGlobalWorkSize)); + details::printPtr(os, + *(params->ppGlobalWorkSize)); os << ", "; os << ".pLocalWorkSize = "; - ur_params::serializePtr(os, *(params->ppLocalWorkSize)); + details::printPtr(os, + *(params->ppLocalWorkSize)); os << ", "; os << ".numEventsInWaitList = "; @@ -11719,32 +11417,35 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_events_wait_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_events_wait_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_events_wait_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".numEventsInWaitList = "; @@ -11753,33 +11454,35 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_events_wait_with_barrier_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_events_wait_with_barrier_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_events_wait_with_barrier_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".numEventsInWaitList = "; @@ -11788,37 +11491,41 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_mem_buffer_read_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_mem_buffer_read_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_mem_buffer_read_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hBuffer = "; - ur_params::serializePtr(os, *(params->phBuffer)); + details::printPtr(os, + *(params->phBuffer)); os << ", "; os << ".blockingRead = "; @@ -11838,7 +11545,8 @@ inline std::ostream &operator<<( os << ", "; os << ".pDst = "; - ur_params::serializePtr(os, *(params->ppDst)); + details::printPtr(os, + *(params->ppDst)); os << ", "; os << ".numEventsInWaitList = "; @@ -11847,38 +11555,41 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_mem_buffer_write_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_mem_buffer_write_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_mem_buffer_write_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hBuffer = "; - ur_params::serializePtr(os, *(params->phBuffer)); + details::printPtr(os, + *(params->phBuffer)); os << ", "; os << ".blockingWrite = "; @@ -11898,7 +11609,8 @@ operator<<(std::ostream &os, os << ", "; os << ".pSrc = "; - ur_params::serializePtr(os, *(params->ppSrc)); + details::printPtr(os, + *(params->ppSrc)); os << ", "; os << ".numEventsInWaitList = "; @@ -11907,38 +11619,41 @@ operator<<(std::ostream &os, os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_mem_buffer_read_rect_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_mem_buffer_read_rect_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_mem_buffer_read_rect_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hBuffer = "; - ur_params::serializePtr(os, *(params->phBuffer)); + details::printPtr(os, + *(params->phBuffer)); os << ", "; os << ".blockingRead = "; @@ -11983,7 +11698,8 @@ inline std::ostream &operator<<( os << ", "; os << ".pDst = "; - ur_params::serializePtr(os, *(params->ppDst)); + details::printPtr(os, + *(params->ppDst)); os << ", "; os << ".numEventsInWaitList = "; @@ -11992,38 +11708,41 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_mem_buffer_write_rect_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_mem_buffer_write_rect_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_mem_buffer_write_rect_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hBuffer = "; - ur_params::serializePtr(os, *(params->phBuffer)); + details::printPtr(os, + *(params->phBuffer)); os << ", "; os << ".blockingWrite = "; @@ -12068,7 +11787,8 @@ inline std::ostream &operator<<( os << ", "; os << ".pSrc = "; - ur_params::serializePtr(os, *(params->ppSrc)); + details::printPtr(os, + *(params->ppSrc)); os << ", "; os << ".numEventsInWaitList = "; @@ -12077,42 +11797,47 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_mem_buffer_copy_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_mem_buffer_copy_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_mem_buffer_copy_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hBufferSrc = "; - ur_params::serializePtr(os, *(params->phBufferSrc)); + details::printPtr(os, + *(params->phBufferSrc)); os << ", "; os << ".hBufferDst = "; - ur_params::serializePtr(os, *(params->phBufferDst)); + details::printPtr(os, + *(params->phBufferDst)); os << ", "; os << ".srcOffset = "; @@ -12136,43 +11861,47 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_mem_buffer_copy_rect_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_mem_buffer_copy_rect_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_mem_buffer_copy_rect_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hBufferSrc = "; - ur_params::serializePtr(os, *(params->phBufferSrc)); + details::printPtr(os, + *(params->phBufferSrc)); os << ", "; os << ".hBufferDst = "; - ur_params::serializePtr(os, *(params->phBufferDst)); + details::printPtr(os, + *(params->phBufferDst)); os << ", "; os << ".srcOrigin = "; @@ -12216,42 +11945,47 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_mem_buffer_fill_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_mem_buffer_fill_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_mem_buffer_fill_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hBuffer = "; - ur_params::serializePtr(os, *(params->phBuffer)); + details::printPtr(os, + *(params->phBuffer)); os << ", "; os << ".pPattern = "; - ur_params::serializePtr(os, *(params->ppPattern)); + details::printPtr(os, + *(params->ppPattern)); os << ", "; os << ".patternSize = "; @@ -12275,37 +12009,41 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_mem_image_read_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_mem_image_read_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_mem_image_read_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hImage = "; - ur_params::serializePtr(os, *(params->phImage)); + details::printPtr(os, + *(params->phImage)); os << ", "; os << ".blockingRead = "; @@ -12335,7 +12073,8 @@ inline std::ostream &operator<<( os << ", "; os << ".pDst = "; - ur_params::serializePtr(os, *(params->ppDst)); + details::printPtr(os, + *(params->ppDst)); os << ", "; os << ".numEventsInWaitList = "; @@ -12344,37 +12083,41 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_mem_image_write_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_mem_image_write_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_mem_image_write_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hImage = "; - ur_params::serializePtr(os, *(params->phImage)); + details::printPtr(os, + *(params->phImage)); os << ", "; os << ".blockingWrite = "; @@ -12404,7 +12147,8 @@ inline std::ostream &operator<<( os << ", "; os << ".pSrc = "; - ur_params::serializePtr(os, *(params->ppSrc)); + details::printPtr(os, + *(params->ppSrc)); os << ", "; os << ".numEventsInWaitList = "; @@ -12413,42 +12157,47 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_mem_image_copy_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_mem_image_copy_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_mem_image_copy_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hImageSrc = "; - ur_params::serializePtr(os, *(params->phImageSrc)); + details::printPtr(os, + *(params->phImageSrc)); os << ", "; os << ".hImageDst = "; - ur_params::serializePtr(os, *(params->phImageDst)); + details::printPtr(os, + *(params->phImageDst)); os << ", "; os << ".srcOrigin = "; @@ -12472,37 +12221,41 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_mem_buffer_map_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_mem_buffer_map_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_mem_buffer_map_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hBuffer = "; - ur_params::serializePtr(os, *(params->phBuffer)); + details::printPtr(os, + *(params->phBuffer)); os << ", "; os << ".blockingMap = "; @@ -12512,7 +12265,8 @@ inline std::ostream &operator<<( os << ", "; os << ".mapFlags = "; - ur_params::serializeFlag(os, *(params->pmapFlags)); + details::printFlag(os, + *(params->pmapFlags)); os << ", "; os << ".offset = "; @@ -12531,47 +12285,53 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); os << ", "; os << ".ppRetMap = "; - ur_params::serializePtr(os, *(params->pppRetMap)); + details::printPtr(os, + *(params->pppRetMap)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_mem_unmap_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_mem_unmap_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_mem_unmap_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hMem = "; - ur_params::serializePtr(os, *(params->phMem)); + details::printPtr(os, + *(params->phMem)); os << ", "; os << ".pMappedPtr = "; - ur_params::serializePtr(os, *(params->ppMappedPtr)); + details::printPtr(os, + *(params->ppMappedPtr)); os << ", "; os << ".numEventsInWaitList = "; @@ -12580,37 +12340,41 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_usm_fill_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_usm_fill_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_usm_fill_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".ptr = "; - ur_params::serializePtr(os, *(params->pptr)); + details::printPtr(os, + *(params->pptr)); os << ", "; os << ".patternSize = "; @@ -12620,7 +12384,8 @@ operator<<(std::ostream &os, os << ", "; os << ".pPattern = "; - ur_params::serializePtr(os, *(params->ppPattern)); + details::printPtr(os, + *(params->ppPattern)); os << ", "; os << ".size = "; @@ -12634,32 +12399,35 @@ operator<<(std::ostream &os, os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_usm_memcpy_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_usm_memcpy_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_usm_memcpy_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".blocking = "; @@ -12669,12 +12437,14 @@ inline std::ostream &operator<<( os << ", "; os << ".pDst = "; - ur_params::serializePtr(os, *(params->ppDst)); + details::printPtr(os, + *(params->ppDst)); os << ", "; os << ".pSrc = "; - ur_params::serializePtr(os, *(params->ppSrc)); + details::printPtr(os, + *(params->ppSrc)); os << ", "; os << ".size = "; @@ -12688,37 +12458,41 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_usm_prefetch_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_usm_prefetch_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_usm_prefetch_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".pMem = "; - ur_params::serializePtr(os, *(params->ppMem)); + details::printPtr(os, + *(params->ppMem)); os << ", "; os << ".size = "; @@ -12728,7 +12502,8 @@ inline std::ostream &operator<<( os << ", "; os << ".flags = "; - ur_params::serializeFlag(os, *(params->pflags)); + details::printFlag(os, + *(params->pflags)); os << ", "; os << ".numEventsInWaitList = "; @@ -12737,37 +12512,41 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_usm_advise_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_usm_advise_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_usm_advise_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".pMem = "; - ur_params::serializePtr(os, *(params->ppMem)); + details::printPtr(os, + *(params->ppMem)); os << ", "; os << ".size = "; @@ -12777,28 +12556,34 @@ inline std::ostream &operator<<( os << ", "; os << ".advice = "; - ur_params::serializeFlag(os, *(params->padvice)); + details::printFlag(os, + *(params->padvice)); os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_usm_fill_2d_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_usm_fill_2d_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_usm_fill_2d_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".pMem = "; - ur_params::serializePtr(os, *(params->ppMem)); + details::printPtr(os, + *(params->ppMem)); os << ", "; os << ".pitch = "; @@ -12813,7 +12598,8 @@ inline std::ostream &operator<<( os << ", "; os << ".pPattern = "; - ur_params::serializePtr(os, *(params->ppPattern)); + details::printPtr(os, + *(params->ppPattern)); os << ", "; os << ".width = "; @@ -12832,32 +12618,35 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_usm_memcpy_2d_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_usm_memcpy_2d_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_usm_memcpy_2d_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".blocking = "; @@ -12867,7 +12656,8 @@ inline std::ostream &operator<<( os << ", "; os << ".pDst = "; - ur_params::serializePtr(os, *(params->ppDst)); + details::printPtr(os, + *(params->ppDst)); os << ", "; os << ".dstPitch = "; @@ -12877,7 +12667,8 @@ inline std::ostream &operator<<( os << ", "; os << ".pSrc = "; - ur_params::serializePtr(os, *(params->ppSrc)); + details::printPtr(os, + *(params->ppSrc)); os << ", "; os << ".srcPitch = "; @@ -12901,42 +12692,47 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_enqueue_device_global_variable_write_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_device_global_variable_write_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_device_global_variable_write_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hProgram = "; - ur_params::serializePtr(os, *(params->phProgram)); + details::printPtr(os, + *(params->phProgram)); os << ", "; os << ".name = "; - ur_params::serializePtr(os, *(params->pname)); + details::printPtr(os, + *(params->pname)); os << ", "; os << ".blockingWrite = "; @@ -12956,7 +12752,8 @@ operator<<(std::ostream &os, [[maybe_unused]] const struct os << ", "; os << ".pSrc = "; - ur_params::serializePtr(os, *(params->ppSrc)); + details::printPtr(os, + *(params->ppSrc)); os << ", "; os << ".numEventsInWaitList = "; @@ -12965,42 +12762,47 @@ operator<<(std::ostream &os, [[maybe_unused]] const struct os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_enqueue_device_global_variable_read_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_device_global_variable_read_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_device_global_variable_read_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hProgram = "; - ur_params::serializePtr(os, *(params->phProgram)); + details::printPtr(os, + *(params->phProgram)); os << ", "; os << ".name = "; - ur_params::serializePtr(os, *(params->pname)); + details::printPtr(os, + *(params->pname)); os << ", "; os << ".blockingRead = "; @@ -13020,7 +12822,8 @@ operator<<(std::ostream &os, [[maybe_unused]] const struct os << ", "; os << ".pDst = "; - ur_params::serializePtr(os, *(params->ppDst)); + details::printPtr(os, + *(params->ppDst)); os << ", "; os << ".numEventsInWaitList = "; @@ -13029,42 +12832,47 @@ operator<<(std::ostream &os, [[maybe_unused]] const struct os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_read_host_pipe_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_read_host_pipe_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_read_host_pipe_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hProgram = "; - ur_params::serializePtr(os, *(params->phProgram)); + details::printPtr(os, + *(params->phProgram)); os << ", "; os << ".pipe_symbol = "; - ur_params::serializePtr(os, *(params->ppipe_symbol)); + details::printPtr(os, + *(params->ppipe_symbol)); os << ", "; os << ".blocking = "; @@ -13074,7 +12882,8 @@ inline std::ostream &operator<<( os << ", "; os << ".pDst = "; - ur_params::serializePtr(os, *(params->ppDst)); + details::printPtr(os, + *(params->ppDst)); os << ", "; os << ".size = "; @@ -13088,42 +12897,47 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_enqueue_write_host_pipe_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_write_host_pipe_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_write_host_pipe_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hProgram = "; - ur_params::serializePtr(os, *(params->phProgram)); + details::printPtr(os, + *(params->phProgram)); os << ", "; os << ".pipe_symbol = "; - ur_params::serializePtr(os, *(params->ppipe_symbol)); + details::printPtr(os, + *(params->ppipe_symbol)); os << ", "; os << ".blocking = "; @@ -13133,7 +12947,8 @@ inline std::ostream &operator<<( os << ", "; os << ".pSrc = "; - ur_params::serializePtr(os, *(params->ppSrc)); + details::printPtr(os, + *(params->ppSrc)); os << ", "; os << ".size = "; @@ -13147,37 +12962,41 @@ inline std::ostream &operator<<( os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_enqueue_cooperative_kernel_launch_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_enqueue_cooperative_kernel_launch_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_enqueue_cooperative_kernel_launch_exp_params_t *params) { os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".hKernel = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->phKernel)); os << ", "; os << ".workDim = "; @@ -13187,17 +13006,20 @@ operator<<(std::ostream &os, [[maybe_unused]] const struct os << ", "; os << ".pGlobalWorkOffset = "; - ur_params::serializePtr(os, *(params->ppGlobalWorkOffset)); + details::printPtr(os, + *(params->ppGlobalWorkOffset)); os << ", "; os << ".pGlobalWorkSize = "; - ur_params::serializePtr(os, *(params->ppGlobalWorkSize)); + details::printPtr(os, + *(params->ppGlobalWorkSize)); os << ", "; os << ".pLocalWorkSize = "; - ur_params::serializePtr(os, *(params->ppLocalWorkSize)); + details::printPtr(os, + *(params->ppLocalWorkSize)); os << ", "; os << ".numEventsInWaitList = "; @@ -13206,32 +13028,35 @@ operator<<(std::ostream &os, [[maybe_unused]] const struct os << ", "; os << ".phEventWaitList = {"; - for (size_t i = 0; *(params->pphEventWaitList) != NULL && - i < *params->pnumEventsInWaitList; - ++i) { + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); } os << "}"; os << ", "; os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_event_get_info_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_queue_get_info_params_t *params) { - os << ".hEvent = "; + os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phEvent)); + details::printPtr(os, + *(params->phQueue)); os << ", "; os << ".propName = "; @@ -13245,449 +13070,488 @@ operator<<(std::ostream &os, os << ", "; os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_event_get_profiling_info_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_create_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_queue_create_params_t *params) { - os << ".hEvent = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phEvent)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".propName = "; + os << ".hDevice = "; - os << *(params->ppropName); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".propSize = "; - - os << *(params->ppropSize); + os << ".pProperties = "; - os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printPtr(os, + *(params->ppProperties)); os << ", "; - os << ".pPropSizeRet = "; + os << ".phQueue = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->pphQueue)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_event_wait_params_t *params) { - - os << ".numEvents = "; - - os << *(params->pnumEvents); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_retain_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_queue_retain_params_t *params) { - os << ", "; - os << ".phEventWaitList = {"; - for (size_t i = 0; - *(params->pphEventWaitList) != NULL && i < *params->pnumEvents; ++i) { - if (i != 0) { - os << ", "; - } + os << ".hQueue = "; - ur_params::serializePtr(os, (*(params->pphEventWaitList))[i]); - } - os << "}"; + details::printPtr(os, + *(params->phQueue)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_event_retain_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_release_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_queue_release_params_t *params) { - os << ".hEvent = "; + os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phEvent)); + details::printPtr(os, + *(params->phQueue)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_event_release_params_t *params) { - - os << ".hEvent = "; - - ur_params::serializePtr(os, *(params->phEvent)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_get_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_queue_get_native_handle_params_t *params) { - return os; -} + os << ".hQueue = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_event_get_native_handle_params_t *params) { + details::printPtr(os, + *(params->phQueue)); - os << ".hEvent = "; + os << ", "; + os << ".pDesc = "; - ur_params::serializePtr(os, *(params->phEvent)); + details::printPtr(os, + *(params->ppDesc)); os << ", "; - os << ".phNativeEvent = "; + os << ".phNativeQueue = "; - ur_params::serializePtr(os, *(params->pphNativeEvent)); + details::printPtr(os, + *(params->pphNativeQueue)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_event_create_with_native_handle_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_create_with_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_queue_create_with_native_handle_params_t *params) { - os << ".hNativeEvent = "; + os << ".hNativeQueue = "; - ur_params::serializePtr(os, *(params->phNativeEvent)); + details::printPtr(os, + *(params->phNativeQueue)); os << ", "; os << ".hContext = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phContext)); + + os << ", "; + os << ".hDevice = "; + + details::printPtr(os, + *(params->phDevice)); os << ", "; os << ".pProperties = "; - ur_params::serializePtr(os, *(params->ppProperties)); + details::printPtr(os, + *(params->ppProperties)); os << ", "; - os << ".phEvent = "; + os << ".phQueue = "; - ur_params::serializePtr(os, *(params->pphEvent)); + details::printPtr(os, + *(params->pphQueue)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_event_set_callback_params_t *params) { - - os << ".hEvent = "; - - ur_params::serializePtr(os, *(params->phEvent)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_finish_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_queue_finish_params_t *params) { - os << ", "; - os << ".execStatus = "; + os << ".hQueue = "; - os << *(params->pexecStatus); + details::printPtr(os, + *(params->phQueue)); - os << ", "; - os << ".pfnNotify = "; + return os; +} - os << reinterpret_cast(*(params->ppfnNotify)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_queue_flush_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_queue_flush_params_t *params) { - os << ", "; - os << ".pUserData = "; + os << ".hQueue = "; - ur_params::serializePtr(os, *(params->ppUserData)); + details::printPtr(os, + *(params->phQueue)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_kernel_create_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_unsampled_image_handle_destroy_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_unsampled_image_handle_destroy_exp_params_t *params) { - os << ".hProgram = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phProgram)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".pKernelName = "; + os << ".hDevice = "; - ur_params::serializePtr(os, *(params->ppKernelName)); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".phKernel = "; + os << ".hImage = "; - ur_params::serializePtr(os, *(params->pphKernel)); + details::printPtr(os, + *(params->phImage)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_kernel_get_info_params_t *params) { - - os << ".hKernel = "; - - ur_params::serializePtr(os, *(params->phKernel)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_sampled_image_handle_destroy_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_sampled_image_handle_destroy_exp_params_t *params) { - os << ", "; - os << ".propName = "; + os << ".hContext = "; - os << *(params->ppropName); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".propSize = "; - - os << *(params->ppropSize); + os << ".hDevice = "; - os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".pPropSizeRet = "; + os << ".hImage = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->phImage)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_get_group_info_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_image_allocate_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_image_allocate_exp_params_t *params) { - os << ".hKernel = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->phContext)); os << ", "; os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".propName = "; + os << ".pImageFormat = "; - os << *(params->ppropName); + details::printPtr(os, + *(params->ppImageFormat)); os << ", "; - os << ".propSize = "; - - os << *(params->ppropSize); + os << ".pImageDesc = "; - os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printPtr(os, + *(params->ppImageDesc)); os << ", "; - os << ".pPropSizeRet = "; + os << ".phImageMem = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->pphImageMem)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_kernel_get_sub_group_info_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_image_free_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_image_free_exp_params_t *params) { - os << ".hKernel = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->phContext)); os << ", "; os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".propName = "; + os << ".hImageMem = "; - os << *(params->ppropName); + details::printPtr(os, + *(params->phImageMem)); - os << ", "; - os << ".propSize = "; + return os; +} - os << *(params->ppropSize); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_unsampled_image_create_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_unsampled_image_create_exp_params_t *params) { + + os << ".hContext = "; + + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + os << ".hDevice = "; + + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".pPropSizeRet = "; + os << ".hImageMem = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->phImageMem)); - return os; -} + os << ", "; + os << ".pImageFormat = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_kernel_retain_params_t *params) { + details::printPtr(os, + *(params->ppImageFormat)); - os << ".hKernel = "; + os << ", "; + os << ".pImageDesc = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->ppImageDesc)); - return os; -} + os << ", "; + os << ".phMem = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_kernel_release_params_t *params) { + details::printPtr(os, + *(params->pphMem)); - os << ".hKernel = "; + os << ", "; + os << ".phImage = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->pphImage)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_kernel_get_native_handle_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_sampled_image_create_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_sampled_image_create_exp_params_t *params) { - os << ".hKernel = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".phNativeKernel = "; + os << ".hDevice = "; - ur_params::serializePtr(os, *(params->pphNativeKernel)); + details::printPtr(os, + *(params->phDevice)); - return os; -} + os << ", "; + os << ".hImageMem = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_create_with_native_handle_params_t - *params) { + details::printPtr(os, + *(params->phImageMem)); - os << ".hNativeKernel = "; + os << ", "; + os << ".pImageFormat = "; - ur_params::serializePtr(os, *(params->phNativeKernel)); + details::printPtr(os, + *(params->ppImageFormat)); os << ", "; - os << ".hContext = "; + os << ".pImageDesc = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->ppImageDesc)); os << ", "; - os << ".hProgram = "; + os << ".hSampler = "; - ur_params::serializePtr(os, *(params->phProgram)); + details::printPtr(os, + *(params->phSampler)); os << ", "; - os << ".pProperties = "; + os << ".phMem = "; - ur_params::serializePtr(os, *(params->ppProperties)); + details::printPtr(os, + *(params->pphMem)); os << ", "; - os << ".phKernel = "; + os << ".phImage = "; - ur_params::serializePtr(os, *(params->pphKernel)); + details::printPtr(os, + *(params->pphImage)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_set_arg_value_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_image_copy_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_image_copy_exp_params_t *params) { - os << ".hKernel = "; + os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->phQueue)); os << ", "; - os << ".argIndex = "; + os << ".pDst = "; - os << *(params->pargIndex); + details::printPtr(os, + *(params->ppDst)); os << ", "; - os << ".argSize = "; + os << ".pSrc = "; - os << *(params->pargSize); + details::printPtr(os, + *(params->ppSrc)); os << ", "; - os << ".pProperties = "; + os << ".pImageFormat = "; - ur_params::serializePtr(os, *(params->ppProperties)); + details::printPtr(os, + *(params->ppImageFormat)); os << ", "; - os << ".pArgValue = "; - - ur_params::serializePtr(os, *(params->ppArgValue)); - - return os; -} - -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_set_arg_local_params_t *params) { - - os << ".hKernel = "; + os << ".pImageDesc = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->ppImageDesc)); os << ", "; - os << ".argIndex = "; + os << ".imageCopyFlags = "; - os << *(params->pargIndex); + details::printFlag(os, + *(params->pimageCopyFlags)); os << ", "; - os << ".argSize = "; + os << ".srcOffset = "; - os << *(params->pargSize); + os << *(params->psrcOffset); os << ", "; - os << ".pProperties = "; + os << ".dstOffset = "; - ur_params::serializePtr(os, *(params->ppProperties)); + os << *(params->pdstOffset); - return os; -} + os << ", "; + os << ".copyExtent = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_set_arg_pointer_params_t *params) { + os << *(params->pcopyExtent); - os << ".hKernel = "; + os << ", "; + os << ".hostExtent = "; - ur_params::serializePtr(os, *(params->phKernel)); + os << *(params->phostExtent); os << ", "; - os << ".argIndex = "; + os << ".numEventsInWaitList = "; - os << *(params->pargIndex); + os << *(params->pnumEventsInWaitList); os << ", "; - os << ".pProperties = "; + os << ".phEventWaitList = {"; + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { + if (i != 0) { + os << ", "; + } - ur_params::serializePtr(os, *(params->ppProperties)); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); + } + os << "}"; os << ", "; - os << ".pArgValue = "; + os << ".phEvent = "; - ur_params::serializePtr(os, *(params->ppArgValue)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_set_exec_info_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_image_get_info_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_image_get_info_exp_params_t *params) { - os << ".hKernel = "; + os << ".hImageMem = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->phImageMem)); os << ", "; os << ".propName = "; @@ -13695,443 +13559,581 @@ inline std::ostream &operator<<( os << *(params->ppropName); os << ", "; - os << ".propSize = "; + os << ".pPropValue = "; - os << *(params->ppropSize); + details::printPtr(os, + *(params->ppPropValue)); os << ", "; - os << ".pProperties = "; - - ur_params::serializePtr(os, *(params->ppProperties)); + os << ".pPropSizeRet = "; - os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_set_arg_sampler_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_mipmap_get_level_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_mipmap_get_level_exp_params_t *params) { - os << ".hKernel = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".argIndex = "; + os << ".hDevice = "; - os << *(params->pargIndex); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".pProperties = "; + os << ".hImageMem = "; - ur_params::serializePtr(os, *(params->ppProperties)); + details::printPtr(os, + *(params->phImageMem)); os << ", "; - os << ".hArgValue = "; + os << ".mipmapLevel = "; - ur_params::serializePtr(os, *(params->phArgValue)); + os << *(params->pmipmapLevel); - return os; -} + os << ", "; + os << ".phImageMem = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_kernel_set_arg_mem_obj_params_t *params) { + details::printPtr(os, + *(params->pphImageMem)); - os << ".hKernel = "; + return os; +} - ur_params::serializePtr(os, *(params->phKernel)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_mipmap_free_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_mipmap_free_exp_params_t *params) { - os << ", "; - os << ".argIndex = "; + os << ".hContext = "; - os << *(params->pargIndex); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".pProperties = "; + os << ".hDevice = "; - ur_params::serializePtr(os, *(params->ppProperties)); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".hArgValue = "; + os << ".hMem = "; - ur_params::serializePtr(os, *(params->phArgValue)); + details::printPtr(os, + *(params->phMem)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_kernel_set_specialization_constants_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_import_opaque_fd_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_import_opaque_fd_exp_params_t *params) { - os << ".hKernel = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".count = "; + os << ".hDevice = "; - os << *(params->pcount); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".pSpecConstants = "; - - ur_params::serializePtr(os, *(params->ppSpecConstants)); - - return os; -} + os << ".size = "; -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_kernel_suggest_max_cooperative_group_count_exp_params_t *params) { + os << *(params->psize); - os << ".hKernel = "; + os << ", "; + os << ".pInteropMemDesc = "; - ur_params::serializePtr(os, *(params->phKernel)); + details::printPtr(os, + *(params->ppInteropMemDesc)); os << ", "; - os << ".pGroupCountRet = "; + os << ".phInteropMem = "; - ur_params::serializePtr(os, *(params->ppGroupCountRet)); + details::printPtr(os, + *(params->pphInteropMem)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_loader_init_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_map_external_array_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_map_external_array_exp_params_t *params) { - os << ".device_flags = "; + os << ".hContext = "; - ur_params::serializeFlag(os, - *(params->pdevice_flags)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".hLoaderConfig = "; + os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phLoaderConfig)); + details::printPtr(os, + *(params->phDevice)); - return os; -} + os << ", "; + os << ".pImageFormat = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_loader_tear_down_params_t *params) { + details::printPtr(os, + *(params->ppImageFormat)); - return os; -} + os << ", "; + os << ".pImageDesc = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_loader_config_create_params_t *params) { + details::printPtr(os, + *(params->ppImageDesc)); - os << ".phLoaderConfig = "; + os << ", "; + os << ".hInteropMem = "; + + details::printPtr(os, + *(params->phInteropMem)); - ur_params::serializePtr(os, *(params->pphLoaderConfig)); + os << ", "; + os << ".phImageMem = "; + + details::printPtr(os, + *(params->pphImageMem)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_loader_config_retain_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_release_interop_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_release_interop_exp_params_t *params) { - os << ".hLoaderConfig = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phLoaderConfig)); + details::printPtr(os, + *(params->phContext)); - return os; -} + os << ", "; + os << ".hDevice = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_loader_config_release_params_t *params) { + details::printPtr(os, + *(params->phDevice)); - os << ".hLoaderConfig = "; + os << ", "; + os << ".hInteropMem = "; - ur_params::serializePtr(os, *(params->phLoaderConfig)); + details::printPtr(os, + *(params->phInteropMem)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_loader_config_get_info_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_import_external_semaphore_opaque_fd_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_import_external_semaphore_opaque_fd_exp_params_t *params) { - os << ".hLoaderConfig = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phLoaderConfig)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".propName = "; + os << ".hDevice = "; - os << *(params->ppropName); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".propSize = "; - - os << *(params->ppropSize); + os << ".pInteropSemaphoreDesc = "; - os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printPtr(os, + *(params->ppInteropSemaphoreDesc)); os << ", "; - os << ".pPropSizeRet = "; + os << ".phInteropSemaphore = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->pphInteropSemaphore)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_loader_config_enable_layer_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_destroy_external_semaphore_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_destroy_external_semaphore_exp_params_t *params) { - os << ".hLoaderConfig = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phLoaderConfig)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".pLayerName = "; + os << ".hDevice = "; + + details::printPtr(os, + *(params->phDevice)); + + os << ", "; + os << ".hInteropSemaphore = "; - ur_params::serializePtr(os, *(params->ppLayerName)); + details::printPtr(os, + *(params->phInteropSemaphore)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_loader_config_set_code_location_callback_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_wait_external_semaphore_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_wait_external_semaphore_exp_params_t *params) { - os << ".hLoaderConfig = "; + os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phLoaderConfig)); + details::printPtr(os, + *(params->phQueue)); os << ", "; - os << ".pfnCodeloc = "; + os << ".hSemaphore = "; - os << reinterpret_cast(*(params->ppfnCodeloc)); + details::printPtr(os, + *(params->phSemaphore)); os << ", "; - os << ".pUserData = "; + os << ".numEventsInWaitList = "; - ur_params::serializePtr(os, *(params->ppUserData)); + os << *(params->pnumEventsInWaitList); - return os; -} + os << ", "; + os << ".phEventWaitList = {"; + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { + if (i != 0) { + os << ", "; + } + + details::printPtr(os, + (*(params->pphEventWaitList))[i]); + } + os << "}"; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_mem_image_create_params_t *params) { + os << ", "; + os << ".phEvent = "; - os << ".hContext = "; + details::printPtr(os, + *(params->pphEvent)); - ur_params::serializePtr(os, *(params->phContext)); + return os; +} - os << ", "; - os << ".flags = "; +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_bindless_images_signal_external_semaphore_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_bindless_images_signal_external_semaphore_exp_params_t *params) { - ur_params::serializeFlag(os, *(params->pflags)); + os << ".hQueue = "; + + details::printPtr(os, + *(params->phQueue)); os << ", "; - os << ".pImageFormat = "; + os << ".hSemaphore = "; - ur_params::serializePtr(os, *(params->ppImageFormat)); + details::printPtr(os, + *(params->phSemaphore)); os << ", "; - os << ".pImageDesc = "; + os << ".numEventsInWaitList = "; - ur_params::serializePtr(os, *(params->ppImageDesc)); + os << *(params->pnumEventsInWaitList); os << ", "; - os << ".pHost = "; + os << ".phEventWaitList = {"; + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { + if (i != 0) { + os << ", "; + } - ur_params::serializePtr(os, *(params->ppHost)); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); + } + os << "}"; os << ", "; - os << ".phMem = "; + os << ".phEvent = "; - ur_params::serializePtr(os, *(params->pphMem)); + details::printPtr(os, + *(params->pphEvent)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_mem_buffer_create_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_host_alloc_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_host_alloc_params_t *params) { os << ".hContext = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".flags = "; + os << ".pUSMDesc = "; - ur_params::serializeFlag(os, *(params->pflags)); + details::printPtr(os, + *(params->ppUSMDesc)); os << ", "; - os << ".size = "; + os << ".pool = "; - os << *(params->psize); + details::printPtr(os, + *(params->ppool)); os << ", "; - os << ".pProperties = "; + os << ".size = "; - ur_params::serializePtr(os, *(params->ppProperties)); + os << *(params->psize); os << ", "; - os << ".phBuffer = "; + os << ".ppMem = "; - ur_params::serializePtr(os, *(params->pphBuffer)); + details::printPtr(os, + *(params->pppMem)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_mem_retain_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_device_alloc_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_device_alloc_params_t *params) { - os << ".hMem = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phMem)); + details::printPtr(os, + *(params->phContext)); - return os; -} + os << ", "; + os << ".hDevice = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_mem_release_params_t *params) { + details::printPtr(os, + *(params->phDevice)); - os << ".hMem = "; + os << ", "; + os << ".pUSMDesc = "; + + details::printPtr(os, + *(params->ppUSMDesc)); + + os << ", "; + os << ".pool = "; - ur_params::serializePtr(os, *(params->phMem)); + details::printPtr(os, + *(params->ppool)); + + os << ", "; + os << ".size = "; + + os << *(params->psize); + + os << ", "; + os << ".ppMem = "; + + details::printPtr(os, + *(params->pppMem)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_mem_buffer_partition_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_shared_alloc_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_shared_alloc_params_t *params) { - os << ".hBuffer = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phBuffer)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".flags = "; + os << ".hDevice = "; - ur_params::serializeFlag(os, *(params->pflags)); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".bufferCreateType = "; + os << ".pUSMDesc = "; - os << *(params->pbufferCreateType); + details::printPtr(os, + *(params->ppUSMDesc)); os << ", "; - os << ".pRegion = "; + os << ".pool = "; - ur_params::serializePtr(os, *(params->ppRegion)); + details::printPtr(os, + *(params->ppool)); os << ", "; - os << ".phMem = "; + os << ".size = "; + + os << *(params->psize); + + os << ", "; + os << ".ppMem = "; - ur_params::serializePtr(os, *(params->pphMem)); + details::printPtr(os, + *(params->pppMem)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_mem_get_native_handle_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_free_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_free_params_t *params) { - os << ".hMem = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phMem)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".phNativeMem = "; + os << ".pMem = "; - ur_params::serializePtr(os, *(params->pphNativeMem)); + details::printPtr(os, + *(params->ppMem)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_mem_buffer_create_with_native_handle_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_get_mem_alloc_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_get_mem_alloc_info_params_t *params) { - os << ".hNativeMem = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phNativeMem)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".hContext = "; + os << ".pMem = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->ppMem)); os << ", "; - os << ".pProperties = "; + os << ".propName = "; - ur_params::serializePtr(os, *(params->ppProperties)); + os << *(params->ppropName); os << ", "; - os << ".phMem = "; + os << ".propSize = "; + + os << *(params->ppropSize); + + os << ", "; + os << ".pPropValue = "; + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); + + os << ", "; + os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->pphMem)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_mem_image_create_with_native_handle_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_pool_create_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_pool_create_params_t *params) { - os << ".hNativeMem = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phNativeMem)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".hContext = "; + os << ".pPoolDesc = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->ppPoolDesc)); os << ", "; - os << ".pImageFormat = "; + os << ".ppPool = "; - ur_params::serializePtr(os, *(params->ppImageFormat)); + details::printPtr(os, + *(params->pppPool)); - os << ", "; - os << ".pImageDesc = "; + return os; +} - ur_params::serializePtr(os, *(params->ppImageDesc)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_pool_retain_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_pool_retain_params_t *params) { - os << ", "; - os << ".pProperties = "; + os << ".pPool = "; - ur_params::serializePtr(os, *(params->ppProperties)); + details::printPtr(os, + *(params->ppPool)); - os << ", "; - os << ".phMem = "; + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_pool_release_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_pool_release_params_t *params) { + + os << ".pPool = "; - ur_params::serializePtr(os, *(params->pphMem)); + details::printPtr(os, + *(params->ppPool)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_mem_get_info_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_pool_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_pool_get_info_params_t *params) { - os << ".hMemory = "; + os << ".hPool = "; - ur_params::serializePtr(os, *(params->phMemory)); + details::printPtr(os, + *(params->phPool)); os << ", "; os << ".propName = "; @@ -14145,299 +14147,277 @@ operator<<(std::ostream &os, os << ", "; os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_mem_image_get_info_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_pitched_alloc_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_pitched_alloc_exp_params_t *params) { - os << ".hMemory = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phMemory)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".propName = "; + os << ".hDevice = "; - os << *(params->ppropName); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".propSize = "; - - os << *(params->ppropSize); + os << ".pUSMDesc = "; - os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printPtr(os, + *(params->ppUSMDesc)); os << ", "; - os << ".pPropSizeRet = "; - - ur_params::serializePtr(os, *(params->ppPropSizeRet)); - - return os; -} + os << ".pool = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_physical_mem_create_params_t *params) { + details::printPtr(os, + *(params->ppool)); - os << ".hContext = "; + os << ", "; + os << ".widthInBytes = "; - ur_params::serializePtr(os, *(params->phContext)); + os << *(params->pwidthInBytes); os << ", "; - os << ".hDevice = "; + os << ".height = "; - ur_params::serializePtr(os, *(params->phDevice)); + os << *(params->pheight); os << ", "; - os << ".size = "; + os << ".elementSizeBytes = "; - os << *(params->psize); + os << *(params->pelementSizeBytes); os << ", "; - os << ".pProperties = "; + os << ".ppMem = "; - ur_params::serializePtr(os, *(params->ppProperties)); + details::printPtr(os, + *(params->pppMem)); os << ", "; - os << ".phPhysicalMem = "; + os << ".pResultPitch = "; - ur_params::serializePtr(os, *(params->pphPhysicalMem)); + details::printPtr(os, + *(params->ppResultPitch)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_physical_mem_retain_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_import_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_import_exp_params_t *params) { - os << ".hPhysicalMem = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phPhysicalMem)); + details::printPtr(os, + *(params->phContext)); - return os; -} + os << ", "; + os << ".pMem = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_physical_mem_release_params_t *params) { + details::printPtr(os, + *(params->ppMem)); - os << ".hPhysicalMem = "; + os << ", "; + os << ".size = "; - ur_params::serializePtr(os, *(params->phPhysicalMem)); + os << *(params->psize); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_platform_get_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_release_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_release_exp_params_t *params) { - os << ".phAdapters = {"; - for (size_t i = 0; - *(params->pphAdapters) != NULL && i < *params->pNumAdapters; ++i) { - if (i != 0) { - os << ", "; - } + os << ".hContext = "; - ur_params::serializePtr(os, (*(params->pphAdapters))[i]); - } - os << "}"; + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".NumAdapters = "; + os << ".pMem = "; - os << *(params->pNumAdapters); - - os << ", "; - os << ".NumEntries = "; - - os << *(params->pNumEntries); - - os << ", "; - os << ".phPlatforms = {"; - for (size_t i = 0; - *(params->pphPlatforms) != NULL && i < *params->pNumEntries; ++i) { - if (i != 0) { - os << ", "; - } - - ur_params::serializePtr(os, (*(params->pphPlatforms))[i]); - } - os << "}"; - - os << ", "; - os << ".pNumPlatforms = "; - - ur_params::serializePtr(os, *(params->ppNumPlatforms)); + details::printPtr(os, + *(params->ppMem)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_platform_get_info_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_create_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_create_exp_params_t *params) { - os << ".hPlatform = "; + os << ".hContext = "; - ur_params::serializePtr(os, *(params->phPlatform)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".propName = "; + os << ".hDevice = "; - os << *(params->ppropName); + details::printPtr(os, + *(params->phDevice)); os << ", "; - os << ".propSize = "; - - os << *(params->ppropSize); + os << ".pCommandBufferDesc = "; - os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printPtr(os, + *(params->ppCommandBufferDesc)); os << ", "; - os << ".pPropSizeRet = "; + os << ".phCommandBuffer = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->pphCommandBuffer)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_platform_get_native_handle_params_t - *params) { - - os << ".hPlatform = "; - - ur_params::serializePtr(os, *(params->phPlatform)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_retain_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_retain_exp_params_t *params) { - os << ", "; - os << ".phNativePlatform = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->pphNativePlatform)); + details::printPtr(os, + *(params->phCommandBuffer)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_platform_create_with_native_handle_params_t - *params) { - - os << ".hNativePlatform = "; - - ur_params::serializePtr(os, *(params->phNativePlatform)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_release_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_release_exp_params_t *params) { - os << ", "; - os << ".pProperties = "; - - ur_params::serializePtr(os, *(params->ppProperties)); - - os << ", "; - os << ".phPlatform = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->pphPlatform)); + details::printPtr(os, + *(params->phCommandBuffer)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_platform_get_api_version_params_t - *params) { - - os << ".hPlatform = "; - - ur_params::serializePtr(os, *(params->phPlatform)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_finalize_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_finalize_exp_params_t *params) { - os << ", "; - os << ".pVersion = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->ppVersion)); + details::printPtr(os, + *(params->phCommandBuffer)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_platform_get_backend_option_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_append_kernel_launch_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_append_kernel_launch_exp_params_t *params) { - os << ".hPlatform = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->phPlatform)); + details::printPtr(os, + *(params->phCommandBuffer)); os << ", "; - os << ".pFrontendOption = "; + os << ".hKernel = "; - ur_params::serializePtr(os, *(params->ppFrontendOption)); + details::printPtr(os, + *(params->phKernel)); os << ", "; - os << ".ppPlatformOption = "; + os << ".workDim = "; - ur_params::serializePtr(os, *(params->pppPlatformOption)); + os << *(params->pworkDim); - return os; -} + os << ", "; + os << ".pGlobalWorkOffset = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_program_create_with_il_params_t *params) { + details::printPtr(os, + *(params->ppGlobalWorkOffset)); - os << ".hContext = "; + os << ", "; + os << ".pGlobalWorkSize = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->ppGlobalWorkSize)); os << ", "; - os << ".pIL = "; + os << ".pLocalWorkSize = "; - ur_params::serializePtr(os, *(params->ppIL)); + details::printPtr(os, + *(params->ppLocalWorkSize)); os << ", "; - os << ".length = "; + os << ".numSyncPointsInWaitList = "; - os << *(params->plength); + os << *(params->pnumSyncPointsInWaitList); os << ", "; - os << ".pProperties = "; + os << ".pSyncPointWaitList = "; - ur_params::serializePtr(os, *(params->ppProperties)); + details::printPtr(os, + *(params->ppSyncPointWaitList)); os << ", "; - os << ".phProgram = "; + os << ".pSyncPoint = "; - ur_params::serializePtr(os, *(params->pphProgram)); + details::printPtr(os, + *(params->ppSyncPoint)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_program_create_with_binary_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_append_usm_memcpy_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_append_usm_memcpy_exp_params_t *params) { - os << ".hContext = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phCommandBuffer)); os << ", "; - os << ".hDevice = "; + os << ".pDst = "; + + details::printPtr(os, + *(params->ppDst)); + + os << ", "; + os << ".pSrc = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->ppSrc)); os << ", "; os << ".size = "; @@ -14445,580 +14425,598 @@ operator<<(std::ostream &os, os << *(params->psize); os << ", "; - os << ".pBinary = "; + os << ".numSyncPointsInWaitList = "; - ur_params::serializePtr(os, *(params->ppBinary)); + os << *(params->pnumSyncPointsInWaitList); os << ", "; - os << ".pProperties = "; + os << ".pSyncPointWaitList = "; - ur_params::serializePtr(os, *(params->ppProperties)); + details::printPtr(os, + *(params->ppSyncPointWaitList)); os << ", "; - os << ".phProgram = "; + os << ".pSyncPoint = "; - ur_params::serializePtr(os, *(params->pphProgram)); + details::printPtr(os, + *(params->ppSyncPoint)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_program_build_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_append_usm_fill_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_append_usm_fill_exp_params_t *params) { - os << ".hContext = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phCommandBuffer)); os << ", "; - os << ".hProgram = "; + os << ".pMemory = "; - ur_params::serializePtr(os, *(params->phProgram)); + details::printPtr(os, + *(params->ppMemory)); os << ", "; - os << ".pOptions = "; + os << ".pPattern = "; - ur_params::serializePtr(os, *(params->ppOptions)); + details::printPtr(os, + *(params->ppPattern)); - return os; -} + os << ", "; + os << ".patternSize = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_program_compile_params_t *params) { + os << *(params->ppatternSize); - os << ".hContext = "; + os << ", "; + os << ".size = "; - ur_params::serializePtr(os, *(params->phContext)); + os << *(params->psize); os << ", "; - os << ".hProgram = "; + os << ".numSyncPointsInWaitList = "; - ur_params::serializePtr(os, *(params->phProgram)); + os << *(params->pnumSyncPointsInWaitList); os << ", "; - os << ".pOptions = "; + os << ".pSyncPointWaitList = "; + + details::printPtr(os, + *(params->ppSyncPointWaitList)); + + os << ", "; + os << ".pSyncPoint = "; - ur_params::serializePtr(os, *(params->ppOptions)); + details::printPtr(os, + *(params->ppSyncPoint)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_program_link_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_append_mem_buffer_copy_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_append_mem_buffer_copy_exp_params_t *params) { - os << ".hContext = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phCommandBuffer)); os << ", "; - os << ".count = "; + os << ".hSrcMem = "; - os << *(params->pcount); + details::printPtr(os, + *(params->phSrcMem)); os << ", "; - os << ".phPrograms = {"; - for (size_t i = 0; *(params->pphPrograms) != NULL && i < *params->pcount; - ++i) { - if (i != 0) { - os << ", "; - } + os << ".hDstMem = "; - ur_params::serializePtr(os, (*(params->pphPrograms))[i]); - } - os << "}"; + details::printPtr(os, + *(params->phDstMem)); os << ", "; - os << ".pOptions = "; + os << ".srcOffset = "; - ur_params::serializePtr(os, *(params->ppOptions)); + os << *(params->psrcOffset); os << ", "; - os << ".phProgram = "; + os << ".dstOffset = "; - ur_params::serializePtr(os, *(params->pphProgram)); + os << *(params->pdstOffset); - return os; -} + os << ", "; + os << ".size = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_program_retain_params_t *params) { + os << *(params->psize); - os << ".hProgram = "; + os << ", "; + os << ".numSyncPointsInWaitList = "; - ur_params::serializePtr(os, *(params->phProgram)); + os << *(params->pnumSyncPointsInWaitList); - return os; -} + os << ", "; + os << ".pSyncPointWaitList = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_program_release_params_t *params) { + details::printPtr(os, + *(params->ppSyncPointWaitList)); - os << ".hProgram = "; + os << ", "; + os << ".pSyncPoint = "; - ur_params::serializePtr(os, *(params->phProgram)); + details::printPtr(os, + *(params->ppSyncPoint)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_program_get_function_pointer_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_append_mem_buffer_write_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_append_mem_buffer_write_exp_params_t *params) { - os << ".hDevice = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phCommandBuffer)); os << ", "; - os << ".hProgram = "; + os << ".hBuffer = "; - ur_params::serializePtr(os, *(params->phProgram)); + details::printPtr(os, + *(params->phBuffer)); os << ", "; - os << ".pFunctionName = "; + os << ".offset = "; - ur_params::serializePtr(os, *(params->ppFunctionName)); + os << *(params->poffset); os << ", "; - os << ".ppFunctionPointer = "; - - ur_params::serializePtr(os, *(params->pppFunctionPointer)); - - return os; -} - -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_program_get_info_params_t *params) { - - os << ".hProgram = "; + os << ".size = "; - ur_params::serializePtr(os, *(params->phProgram)); + os << *(params->psize); os << ", "; - os << ".propName = "; + os << ".pSrc = "; - os << *(params->ppropName); + details::printPtr(os, + *(params->ppSrc)); os << ", "; - os << ".propSize = "; + os << ".numSyncPointsInWaitList = "; - os << *(params->ppropSize); + os << *(params->pnumSyncPointsInWaitList); os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + os << ".pSyncPointWaitList = "; + + details::printPtr(os, + *(params->ppSyncPointWaitList)); os << ", "; - os << ".pPropSizeRet = "; + os << ".pSyncPoint = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->ppSyncPoint)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_program_get_build_info_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_append_mem_buffer_read_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_append_mem_buffer_read_exp_params_t *params) { - os << ".hProgram = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->phProgram)); + details::printPtr(os, + *(params->phCommandBuffer)); os << ", "; - os << ".hDevice = "; + os << ".hBuffer = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phBuffer)); os << ", "; - os << ".propName = "; + os << ".offset = "; - os << *(params->ppropName); + os << *(params->poffset); os << ", "; - os << ".propSize = "; - - os << *(params->ppropSize); + os << ".size = "; - os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + os << *(params->psize); os << ", "; - os << ".pPropSizeRet = "; - - ur_params::serializePtr(os, *(params->ppPropSizeRet)); - - return os; -} + os << ".pDst = "; -inline std::ostream & -operator<<(std::ostream &os, [[maybe_unused]] const struct - ur_program_set_specialization_constants_params_t *params) { + details::printPtr(os, + *(params->ppDst)); - os << ".hProgram = "; + os << ", "; + os << ".numSyncPointsInWaitList = "; - ur_params::serializePtr(os, *(params->phProgram)); + os << *(params->pnumSyncPointsInWaitList); os << ", "; - os << ".count = "; + os << ".pSyncPointWaitList = "; - os << *(params->pcount); + details::printPtr(os, + *(params->ppSyncPointWaitList)); os << ", "; - os << ".pSpecConstants = {"; - for (size_t i = 0; - *(params->ppSpecConstants) != NULL && i < *params->pcount; ++i) { - if (i != 0) { - os << ", "; - } + os << ".pSyncPoint = "; - os << (*(params->ppSpecConstants))[i]; - } - os << "}"; + details::printPtr(os, + *(params->ppSyncPoint)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_program_get_native_handle_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_append_mem_buffer_copy_rect_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_append_mem_buffer_copy_rect_exp_params_t *params) { - os << ".hProgram = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->phProgram)); + details::printPtr(os, + *(params->phCommandBuffer)); os << ", "; - os << ".phNativeProgram = "; - - ur_params::serializePtr(os, *(params->pphNativeProgram)); - - return os; -} + os << ".hSrcMem = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_program_create_with_native_handle_params_t - *params) { + details::printPtr(os, + *(params->phSrcMem)); - os << ".hNativeProgram = "; + os << ", "; + os << ".hDstMem = "; - ur_params::serializePtr(os, *(params->phNativeProgram)); + details::printPtr(os, + *(params->phDstMem)); os << ", "; - os << ".hContext = "; + os << ".srcOrigin = "; - ur_params::serializePtr(os, *(params->phContext)); + os << *(params->psrcOrigin); os << ", "; - os << ".pProperties = "; + os << ".dstOrigin = "; - ur_params::serializePtr(os, *(params->ppProperties)); + os << *(params->pdstOrigin); os << ", "; - os << ".phProgram = "; + os << ".region = "; - ur_params::serializePtr(os, *(params->pphProgram)); + os << *(params->pregion); - return os; -} + os << ", "; + os << ".srcRowPitch = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_queue_get_info_params_t *params) { + os << *(params->psrcRowPitch); - os << ".hQueue = "; + os << ", "; + os << ".srcSlicePitch = "; - ur_params::serializePtr(os, *(params->phQueue)); + os << *(params->psrcSlicePitch); os << ", "; - os << ".propName = "; + os << ".dstRowPitch = "; - os << *(params->ppropName); + os << *(params->pdstRowPitch); os << ", "; - os << ".propSize = "; + os << ".dstSlicePitch = "; - os << *(params->ppropSize); + os << *(params->pdstSlicePitch); os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + os << ".numSyncPointsInWaitList = "; + + os << *(params->pnumSyncPointsInWaitList); os << ", "; - os << ".pPropSizeRet = "; + os << ".pSyncPointWaitList = "; + + details::printPtr(os, + *(params->ppSyncPointWaitList)); + + os << ", "; + os << ".pSyncPoint = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->ppSyncPoint)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_queue_create_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_append_mem_buffer_write_rect_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_append_mem_buffer_write_rect_exp_params_t *params) { - os << ".hContext = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phCommandBuffer)); os << ", "; - os << ".hDevice = "; + os << ".hBuffer = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phBuffer)); os << ", "; - os << ".pProperties = "; + os << ".bufferOffset = "; - ur_params::serializePtr(os, *(params->ppProperties)); + os << *(params->pbufferOffset); os << ", "; - os << ".phQueue = "; + os << ".hostOffset = "; - ur_params::serializePtr(os, *(params->pphQueue)); + os << *(params->phostOffset); - return os; -} + os << ", "; + os << ".region = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_queue_retain_params_t *params) { + os << *(params->pregion); - os << ".hQueue = "; + os << ", "; + os << ".bufferRowPitch = "; - ur_params::serializePtr(os, *(params->phQueue)); + os << *(params->pbufferRowPitch); - return os; -} + os << ", "; + os << ".bufferSlicePitch = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_queue_release_params_t *params) { + os << *(params->pbufferSlicePitch); - os << ".hQueue = "; + os << ", "; + os << ".hostRowPitch = "; - ur_params::serializePtr(os, *(params->phQueue)); + os << *(params->phostRowPitch); - return os; -} + os << ", "; + os << ".hostSlicePitch = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_queue_get_native_handle_params_t *params) { + os << *(params->phostSlicePitch); - os << ".hQueue = "; + os << ", "; + os << ".pSrc = "; - ur_params::serializePtr(os, *(params->phQueue)); + details::printPtr(os, + *(params->ppSrc)); os << ", "; - os << ".pDesc = "; + os << ".numSyncPointsInWaitList = "; - ur_params::serializePtr(os, *(params->ppDesc)); + os << *(params->pnumSyncPointsInWaitList); os << ", "; - os << ".phNativeQueue = "; + os << ".pSyncPointWaitList = "; + + details::printPtr(os, + *(params->ppSyncPointWaitList)); + + os << ", "; + os << ".pSyncPoint = "; - ur_params::serializePtr(os, *(params->pphNativeQueue)); + details::printPtr(os, + *(params->ppSyncPoint)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_queue_create_with_native_handle_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_append_mem_buffer_read_rect_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_append_mem_buffer_read_rect_exp_params_t *params) { - os << ".hNativeQueue = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->phNativeQueue)); + details::printPtr(os, + *(params->phCommandBuffer)); os << ", "; - os << ".hContext = "; + os << ".hBuffer = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phBuffer)); os << ", "; - os << ".hDevice = "; + os << ".bufferOffset = "; - ur_params::serializePtr(os, *(params->phDevice)); + os << *(params->pbufferOffset); os << ", "; - os << ".pProperties = "; + os << ".hostOffset = "; - ur_params::serializePtr(os, *(params->ppProperties)); + os << *(params->phostOffset); os << ", "; - os << ".phQueue = "; + os << ".region = "; - ur_params::serializePtr(os, *(params->pphQueue)); + os << *(params->pregion); - return os; -} + os << ", "; + os << ".bufferRowPitch = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_queue_finish_params_t *params) { + os << *(params->pbufferRowPitch); - os << ".hQueue = "; + os << ", "; + os << ".bufferSlicePitch = "; - ur_params::serializePtr(os, *(params->phQueue)); + os << *(params->pbufferSlicePitch); - return os; -} + os << ", "; + os << ".hostRowPitch = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_queue_flush_params_t *params) { + os << *(params->phostRowPitch); - os << ".hQueue = "; + os << ", "; + os << ".hostSlicePitch = "; - ur_params::serializePtr(os, *(params->phQueue)); + os << *(params->phostSlicePitch); - return os; -} + os << ", "; + os << ".pDst = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_sampler_create_params_t *params) { + details::printPtr(os, + *(params->ppDst)); - os << ".hContext = "; + os << ", "; + os << ".numSyncPointsInWaitList = "; - ur_params::serializePtr(os, *(params->phContext)); + os << *(params->pnumSyncPointsInWaitList); os << ", "; - os << ".pDesc = "; + os << ".pSyncPointWaitList = "; - ur_params::serializePtr(os, *(params->ppDesc)); + details::printPtr(os, + *(params->ppSyncPointWaitList)); os << ", "; - os << ".phSampler = "; + os << ".pSyncPoint = "; - ur_params::serializePtr(os, *(params->pphSampler)); + details::printPtr(os, + *(params->ppSyncPoint)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_sampler_retain_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_append_mem_buffer_fill_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_append_mem_buffer_fill_exp_params_t *params) { - os << ".hSampler = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->phSampler)); + details::printPtr(os, + *(params->phCommandBuffer)); - return os; -} + os << ", "; + os << ".hBuffer = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_sampler_release_params_t *params) { + details::printPtr(os, + *(params->phBuffer)); - os << ".hSampler = "; + os << ", "; + os << ".pPattern = "; - ur_params::serializePtr(os, *(params->phSampler)); + details::printPtr(os, + *(params->ppPattern)); - return os; -} + os << ", "; + os << ".patternSize = "; -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_sampler_get_info_params_t *params) { + os << *(params->ppatternSize); - os << ".hSampler = "; + os << ", "; + os << ".offset = "; - ur_params::serializePtr(os, *(params->phSampler)); + os << *(params->poffset); os << ", "; - os << ".propName = "; + os << ".size = "; - os << *(params->ppropName); + os << *(params->psize); os << ", "; - os << ".propSize = "; + os << ".numSyncPointsInWaitList = "; - os << *(params->ppropSize); + os << *(params->pnumSyncPointsInWaitList); os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + os << ".pSyncPointWaitList = "; + + details::printPtr(os, + *(params->ppSyncPointWaitList)); os << ", "; - os << ".pPropSizeRet = "; + os << ".pSyncPoint = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->ppSyncPoint)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_sampler_get_native_handle_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_append_usm_prefetch_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_append_usm_prefetch_exp_params_t *params) { - os << ".hSampler = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->phSampler)); + details::printPtr(os, + *(params->phCommandBuffer)); os << ", "; - os << ".phNativeSampler = "; + os << ".pMemory = "; - ur_params::serializePtr(os, *(params->pphNativeSampler)); + details::printPtr(os, + *(params->ppMemory)); - return os; -} + os << ", "; + os << ".size = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_sampler_create_with_native_handle_params_t - *params) { + os << *(params->psize); - os << ".hNativeSampler = "; + os << ", "; + os << ".flags = "; - ur_params::serializePtr(os, *(params->phNativeSampler)); + details::printFlag(os, + *(params->pflags)); os << ", "; - os << ".hContext = "; + os << ".numSyncPointsInWaitList = "; - ur_params::serializePtr(os, *(params->phContext)); + os << *(params->pnumSyncPointsInWaitList); os << ", "; - os << ".pProperties = "; + os << ".pSyncPointWaitList = "; - ur_params::serializePtr(os, *(params->ppProperties)); + details::printPtr(os, + *(params->ppSyncPointWaitList)); os << ", "; - os << ".phSampler = "; + os << ".pSyncPoint = "; - ur_params::serializePtr(os, *(params->pphSampler)); + details::printPtr(os, + *(params->ppSyncPoint)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_host_alloc_params_t *params) { - - os << ".hContext = "; - - ur_params::serializePtr(os, *(params->phContext)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_append_usm_advise_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_append_usm_advise_exp_params_t *params) { - os << ", "; - os << ".pUSMDesc = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->ppUSMDesc)); + details::printPtr(os, + *(params->phCommandBuffer)); os << ", "; - os << ".pool = "; + os << ".pMemory = "; - ur_params::serializePtr(os, *(params->ppool)); + details::printPtr(os, + *(params->ppMemory)); os << ", "; os << ".size = "; @@ -15026,113 +15024,130 @@ operator<<(std::ostream &os, os << *(params->psize); os << ", "; - os << ".ppMem = "; - - ur_params::serializePtr(os, *(params->pppMem)); - - return os; -} - -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_device_alloc_params_t *params) { - - os << ".hContext = "; - - ur_params::serializePtr(os, *(params->phContext)); - - os << ", "; - os << ".hDevice = "; - - ur_params::serializePtr(os, *(params->phDevice)); - - os << ", "; - os << ".pUSMDesc = "; + os << ".advice = "; - ur_params::serializePtr(os, *(params->ppUSMDesc)); + details::printFlag(os, + *(params->padvice)); os << ", "; - os << ".pool = "; + os << ".numSyncPointsInWaitList = "; - ur_params::serializePtr(os, *(params->ppool)); + os << *(params->pnumSyncPointsInWaitList); os << ", "; - os << ".size = "; + os << ".pSyncPointWaitList = "; - os << *(params->psize); + details::printPtr(os, + *(params->ppSyncPointWaitList)); os << ", "; - os << ".ppMem = "; + os << ".pSyncPoint = "; - ur_params::serializePtr(os, *(params->pppMem)); + details::printPtr(os, + *(params->ppSyncPoint)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_shared_alloc_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_command_buffer_enqueue_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_command_buffer_enqueue_exp_params_t *params) { - os << ".hContext = "; + os << ".hCommandBuffer = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phCommandBuffer)); os << ", "; - os << ".hDevice = "; + os << ".hQueue = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phQueue)); os << ", "; - os << ".pUSMDesc = "; + os << ".numEventsInWaitList = "; - ur_params::serializePtr(os, *(params->ppUSMDesc)); + os << *(params->pnumEventsInWaitList); os << ", "; - os << ".pool = "; + os << ".phEventWaitList = {"; + for (size_t i = 0; *(params->pphEventWaitList) != NULL && i < *params->pnumEventsInWaitList; ++i) { + if (i != 0) { + os << ", "; + } - ur_params::serializePtr(os, *(params->ppool)); + details::printPtr(os, + (*(params->pphEventWaitList))[i]); + } + os << "}"; os << ", "; - os << ".size = "; + os << ".phEvent = "; - os << *(params->psize); + details::printPtr(os, + *(params->pphEvent)); + + return os; +} + +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_p2p_enable_peer_access_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_p2p_enable_peer_access_exp_params_t *params) { + + os << ".commandDevice = "; + + details::printPtr(os, + *(params->pcommandDevice)); os << ", "; - os << ".ppMem = "; + os << ".peerDevice = "; - ur_params::serializePtr(os, *(params->pppMem)); + details::printPtr(os, + *(params->ppeerDevice)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_free_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_p2p_disable_peer_access_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_p2p_disable_peer_access_exp_params_t *params) { - os << ".hContext = "; + os << ".commandDevice = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->pcommandDevice)); os << ", "; - os << ".pMem = "; + os << ".peerDevice = "; - ur_params::serializePtr(os, *(params->ppMem)); + details::printPtr(os, + *(params->ppeerDevice)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_usm_get_mem_alloc_info_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_usm_p2p_peer_access_get_info_exp_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_usm_p2p_peer_access_get_info_exp_params_t *params) { - os << ".hContext = "; + os << ".commandDevice = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->pcommandDevice)); os << ", "; - os << ".pMem = "; + os << ".peerDevice = "; - ur_params::serializePtr(os, *(params->ppMem)); + details::printPtr(os, + *(params->ppeerDevice)); os << ", "; os << ".propName = "; @@ -15146,67 +15161,62 @@ inline std::ostream &operator<<( os << ", "; os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_pool_create_params_t *params) { - - os << ".hContext = "; - - ur_params::serializePtr(os, *(params->phContext)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_loader_init_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_loader_init_params_t *params) { - os << ", "; - os << ".pPoolDesc = "; + os << ".device_flags = "; - ur_params::serializePtr(os, *(params->ppPoolDesc)); + details::printFlag(os, + *(params->pdevice_flags)); os << ", "; - os << ".ppPool = "; + os << ".hLoaderConfig = "; - ur_params::serializePtr(os, *(params->pppPool)); + details::printPtr(os, + *(params->phLoaderConfig)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_pool_retain_params_t *params) { - - os << ".pPool = "; - - ur_params::serializePtr(os, *(params->ppPool)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_loader_tear_down_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_loader_tear_down_params_t *params) { return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_pool_release_params_t *params) { - - os << ".pPool = "; - - ur_params::serializePtr(os, *(params->ppPool)); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_virtual_mem_granularity_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_virtual_mem_granularity_get_info_params_t *params) { - return os; -} + os << ".hContext = "; -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_usm_pool_get_info_params_t *params) { + details::printPtr(os, + *(params->phContext)); - os << ".hPool = "; + os << ", "; + os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phPool)); + details::printPtr(os, + *(params->phDevice)); os << ", "; os << ".propName = "; @@ -15220,251 +15230,64 @@ inline std::ostream &operator<<( os << ", "; os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_usm_pitched_alloc_exp_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_virtual_mem_reserve_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_virtual_mem_reserve_params_t *params) { os << ".hContext = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phContext)); os << ", "; - os << ".hDevice = "; + os << ".pStart = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->ppStart)); os << ", "; - os << ".pUSMDesc = "; + os << ".size = "; - ur_params::serializePtr(os, *(params->ppUSMDesc)); + os << *(params->psize); os << ", "; - os << ".pool = "; + os << ".ppStart = "; - ur_params::serializePtr(os, *(params->ppool)); + details::printPtr(os, + *(params->pppStart)); - os << ", "; - os << ".widthInBytes = "; + return os; +} - os << *(params->pwidthInBytes); +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_virtual_mem_free_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_virtual_mem_free_params_t *params) { - os << ", "; - os << ".height = "; + os << ".hContext = "; - os << *(params->pheight); - - os << ", "; - os << ".elementSizeBytes = "; - - os << *(params->pelementSizeBytes); - - os << ", "; - os << ".ppMem = "; - - ur_params::serializePtr(os, *(params->pppMem)); - - os << ", "; - os << ".pResultPitch = "; - - ur_params::serializePtr(os, *(params->ppResultPitch)); - - return os; -} - -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_import_exp_params_t *params) { - - os << ".hContext = "; - - ur_params::serializePtr(os, *(params->phContext)); - - os << ", "; - os << ".pMem = "; - - ur_params::serializePtr(os, *(params->ppMem)); - - os << ", "; - os << ".size = "; - - os << *(params->psize); - - return os; -} - -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_usm_release_exp_params_t *params) { - - os << ".hContext = "; - - ur_params::serializePtr(os, *(params->phContext)); - - os << ", "; - os << ".pMem = "; - - ur_params::serializePtr(os, *(params->ppMem)); - - return os; -} - -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_usm_p2p_enable_peer_access_exp_params_t - *params) { - - os << ".commandDevice = "; - - ur_params::serializePtr(os, *(params->pcommandDevice)); - - os << ", "; - os << ".peerDevice = "; - - ur_params::serializePtr(os, *(params->ppeerDevice)); - - return os; -} - -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_usm_p2p_disable_peer_access_exp_params_t - *params) { - - os << ".commandDevice = "; - - ur_params::serializePtr(os, *(params->pcommandDevice)); - - os << ", "; - os << ".peerDevice = "; - - ur_params::serializePtr(os, *(params->ppeerDevice)); - - return os; -} - -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_usm_p2p_peer_access_get_info_exp_params_t - *params) { - - os << ".commandDevice = "; - - ur_params::serializePtr(os, *(params->pcommandDevice)); - - os << ", "; - os << ".peerDevice = "; - - ur_params::serializePtr(os, *(params->ppeerDevice)); - - os << ", "; - os << ".propName = "; - - os << *(params->ppropName); - - os << ", "; - os << ".propSize = "; - - os << *(params->ppropSize); - - os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); - - os << ", "; - os << ".pPropSizeRet = "; - - ur_params::serializePtr(os, *(params->ppPropSizeRet)); - - return os; -} - -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_virtual_mem_granularity_get_info_params_t - *params) { - - os << ".hContext = "; - - ur_params::serializePtr(os, *(params->phContext)); - - os << ", "; - os << ".hDevice = "; - - ur_params::serializePtr(os, *(params->phDevice)); - - os << ", "; - os << ".propName = "; - - os << *(params->ppropName); - - os << ", "; - os << ".propSize = "; - - os << *(params->ppropSize); - - os << ", "; - os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); - - os << ", "; - os << ".pPropSizeRet = "; - - ur_params::serializePtr(os, *(params->ppPropSizeRet)); - - return os; -} - -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_virtual_mem_reserve_params_t *params) { - - os << ".hContext = "; - - ur_params::serializePtr(os, *(params->phContext)); - - os << ", "; - os << ".pStart = "; - - ur_params::serializePtr(os, *(params->ppStart)); - - os << ", "; - os << ".size = "; - - os << *(params->psize); - - os << ", "; - os << ".ppStart = "; - - ur_params::serializePtr(os, *(params->pppStart)); - - return os; -} - -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_virtual_mem_free_params_t *params) { - - os << ".hContext = "; - - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phContext)); os << ", "; os << ".pStart = "; - ur_params::serializePtr(os, *(params->ppStart)); + details::printPtr(os, + *(params->ppStart)); os << ", "; os << ".size = "; @@ -15474,18 +15297,22 @@ operator<<(std::ostream &os, return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_virtual_mem_map_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_virtual_mem_map_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_virtual_mem_map_params_t *params) { os << ".hContext = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phContext)); os << ", "; os << ".pStart = "; - ur_params::serializePtr(os, *(params->ppStart)); + details::printPtr(os, + *(params->ppStart)); os << ", "; os << ".size = "; @@ -15495,7 +15322,8 @@ operator<<(std::ostream &os, os << ", "; os << ".hPhysicalMem = "; - ur_params::serializePtr(os, *(params->phPhysicalMem)); + details::printPtr(os, + *(params->phPhysicalMem)); os << ", "; os << ".offset = "; @@ -15505,24 +15333,28 @@ operator<<(std::ostream &os, os << ", "; os << ".flags = "; - ur_params::serializeFlag(os, - *(params->pflags)); + details::printFlag(os, + *(params->pflags)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_virtual_mem_unmap_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_virtual_mem_unmap_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_virtual_mem_unmap_params_t *params) { os << ".hContext = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phContext)); os << ", "; os << ".pStart = "; - ur_params::serializePtr(os, *(params->ppStart)); + details::printPtr(os, + *(params->ppStart)); os << ", "; os << ".size = "; @@ -15532,18 +15364,22 @@ inline std::ostream &operator<<( return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_virtual_mem_set_access_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_virtual_mem_set_access_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_virtual_mem_set_access_params_t *params) { os << ".hContext = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phContext)); os << ", "; os << ".pStart = "; - ur_params::serializePtr(os, *(params->ppStart)); + details::printPtr(os, + *(params->ppStart)); os << ", "; os << ".size = "; @@ -15553,24 +15389,28 @@ inline std::ostream &operator<<( os << ", "; os << ".flags = "; - ur_params::serializeFlag(os, - *(params->pflags)); + details::printFlag(os, + *(params->pflags)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_virtual_mem_get_info_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_virtual_mem_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_virtual_mem_get_info_params_t *params) { os << ".hContext = "; - ur_params::serializePtr(os, *(params->phContext)); + details::printPtr(os, + *(params->phContext)); os << ", "; os << ".pStart = "; - ur_params::serializePtr(os, *(params->ppStart)); + details::printPtr(os, + *(params->ppStart)); os << ", "; os << ".size = "; @@ -15589,24 +15429,27 @@ inline std::ostream &operator<<( os << ", "; os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_device_get_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_get_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_device_get_params_t *params) { os << ".hPlatform = "; - ur_params::serializePtr(os, *(params->phPlatform)); + details::printPtr(os, + *(params->phPlatform)); os << ", "; os << ".DeviceType = "; @@ -15620,31 +15463,35 @@ operator<<(std::ostream &os, os << ", "; os << ".phDevices = {"; - for (size_t i = 0; - *(params->pphDevices) != NULL && i < *params->pNumEntries; ++i) { + for (size_t i = 0; *(params->pphDevices) != NULL && i < *params->pNumEntries; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphDevices))[i]); + details::printPtr(os, + (*(params->pphDevices))[i]); } os << "}"; os << ", "; os << ".pNumDevices = "; - ur_params::serializePtr(os, *(params->ppNumDevices)); + details::printPtr(os, + *(params->ppNumDevices)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_device_get_info_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_get_info_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_device_get_info_params_t *params) { os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phDevice)); os << ", "; os << ".propName = "; @@ -15658,51 +15505,61 @@ operator<<(std::ostream &os, os << ", "; os << ".pPropValue = "; - ur_params::serializeTagged(os, *(params->ppPropValue), *(params->ppropName), - *(params->ppropSize)); + details::printTagged(os, *(params->ppPropValue), *(params->ppropName), *(params->ppropSize)); os << ", "; os << ".pPropSizeRet = "; - ur_params::serializePtr(os, *(params->ppPropSizeRet)); + details::printPtr(os, + *(params->ppPropSizeRet)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_device_retain_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_retain_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_device_retain_params_t *params) { os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phDevice)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_device_release_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_release_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_device_release_params_t *params) { os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phDevice)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_device_partition_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_partition_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_device_partition_params_t *params) { os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phDevice)); os << ", "; os << ".pProperties = "; - ur_params::serializePtr(os, *(params->ppProperties)); + details::printPtr(os, + *(params->ppProperties)); os << ", "; os << ".NumDevices = "; @@ -15711,36 +15568,41 @@ operator<<(std::ostream &os, os << ", "; os << ".phSubDevices = {"; - for (size_t i = 0; - *(params->pphSubDevices) != NULL && i < *params->pNumDevices; ++i) { + for (size_t i = 0; *(params->pphSubDevices) != NULL && i < *params->pNumDevices; ++i) { if (i != 0) { os << ", "; } - ur_params::serializePtr(os, (*(params->pphSubDevices))[i]); + details::printPtr(os, + (*(params->pphSubDevices))[i]); } os << "}"; os << ", "; os << ".pNumDevicesRet = "; - ur_params::serializePtr(os, *(params->ppNumDevicesRet)); + details::printPtr(os, + *(params->ppNumDevicesRet)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_device_select_binary_params_t *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_select_binary_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_device_select_binary_params_t *params) { os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phDevice)); os << ", "; os << ".pBinaries = "; - ur_params::serializePtr(os, *(params->ppBinaries)); + details::printPtr(os, + *(params->ppBinaries)); os << ", "; os << ".NumBinaries = "; @@ -15750,85 +15612,100 @@ inline std::ostream &operator<<( os << ", "; os << ".pSelectedBinary = "; - ur_params::serializePtr(os, *(params->ppSelectedBinary)); + details::printPtr(os, + *(params->ppSelectedBinary)); return os; } -inline std::ostream & -operator<<(std::ostream &os, - [[maybe_unused]] const struct ur_device_get_native_handle_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_get_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_device_get_native_handle_params_t *params) { os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phDevice)); os << ", "; os << ".phNativeDevice = "; - ur_params::serializePtr(os, *(params->pphNativeDevice)); + details::printPtr(os, + *(params->pphNativeDevice)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_device_create_with_native_handle_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_create_with_native_handle_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_device_create_with_native_handle_params_t *params) { os << ".hNativeDevice = "; - ur_params::serializePtr(os, *(params->phNativeDevice)); + details::printPtr(os, + *(params->phNativeDevice)); os << ", "; os << ".hPlatform = "; - ur_params::serializePtr(os, *(params->phPlatform)); + details::printPtr(os, + *(params->phPlatform)); os << ", "; os << ".pProperties = "; - ur_params::serializePtr(os, *(params->ppProperties)); + details::printPtr(os, + *(params->ppProperties)); os << ", "; os << ".phDevice = "; - ur_params::serializePtr(os, *(params->pphDevice)); + details::printPtr(os, + *(params->pphDevice)); return os; } -inline std::ostream &operator<<( - std::ostream &os, - [[maybe_unused]] const struct ur_device_get_global_timestamps_params_t - *params) { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ur_device_get_global_timestamps_params_t type +/// @returns +/// std::ostream & +inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ur_device_get_global_timestamps_params_t *params) { os << ".hDevice = "; - ur_params::serializePtr(os, *(params->phDevice)); + details::printPtr(os, + *(params->phDevice)); os << ", "; os << ".pDeviceTimestamp = "; - ur_params::serializePtr(os, *(params->ppDeviceTimestamp)); + details::printPtr(os, + *(params->ppDeviceTimestamp)); os << ", "; os << ".pHostTimestamp = "; - ur_params::serializePtr(os, *(params->ppHostTimestamp)); + details::printPtr(os, + *(params->ppHostTimestamp)); return os; } -namespace ur_params { - -template inline void serializePtr(std::ostream &os, const T *ptr) { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +// @brief Print pointer value +template +inline ur_result_t printPtr(std::ostream &os, const T *ptr) { if (ptr == nullptr) { os << "nullptr"; } else if constexpr (std::is_pointer_v) { os << (const void *)(ptr) << " ("; - serializePtr(os, *ptr); + printPtr(os, *ptr); os << ")"; } else if constexpr (std::is_void_v || is_handle_v) { os << (const void *)ptr; @@ -15841,291 +15718,147 @@ template inline void serializePtr(std::ostream &os, const T *ptr) { os << *ptr; os << ")"; } + + return UR_RESULT_SUCCESS; } +} // namespace details +} // namespace print -inline int serializeFunctionParams(std::ostream &os, uint32_t function, - const void *params) { - switch ((enum ur_function_t)function) { - case UR_FUNCTION_ADAPTER_GET: { - os << (const struct ur_adapter_get_params_t *)params; - } break; - case UR_FUNCTION_ADAPTER_RELEASE: { - os << (const struct ur_adapter_release_params_t *)params; +namespace extras { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print function parameters +/// @returns +/// - ::UR_RESULT_SUCCESS +/// - ::UR_RESULT_ERROR_INVALID_ENUMERATION +/// - ::UR_RESULT_ERROR_INVALID_NULL_POINTER +/// - `NULL == params` +UR_APIEXPORT inline ur_result_t UR_APICALL printFunctionParams(std::ostream &os, ur_function_t function, const void *params) { + using namespace print; + + if (!params) { + return UR_RESULT_ERROR_INVALID_NULL_POINTER; + } + + switch (function) { + case UR_FUNCTION_LOADER_CONFIG_CREATE: { + os << (const struct ur_loader_config_create_params_t *)params; } break; - case UR_FUNCTION_ADAPTER_RETAIN: { - os << (const struct ur_adapter_retain_params_t *)params; + case UR_FUNCTION_LOADER_CONFIG_RETAIN: { + os << (const struct ur_loader_config_retain_params_t *)params; } break; - case UR_FUNCTION_ADAPTER_GET_LAST_ERROR: { - os << (const struct ur_adapter_get_last_error_params_t *)params; + case UR_FUNCTION_LOADER_CONFIG_RELEASE: { + os << (const struct ur_loader_config_release_params_t *)params; } break; - case UR_FUNCTION_ADAPTER_GET_INFO: { - os << (const struct ur_adapter_get_info_params_t *)params; + case UR_FUNCTION_LOADER_CONFIG_GET_INFO: { + os << (const struct ur_loader_config_get_info_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_UNSAMPLED_IMAGE_HANDLE_DESTROY_EXP: { - os << (const struct - ur_bindless_images_unsampled_image_handle_destroy_exp_params_t *) - params; + case UR_FUNCTION_LOADER_CONFIG_ENABLE_LAYER: { + os << (const struct ur_loader_config_enable_layer_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_SAMPLED_IMAGE_HANDLE_DESTROY_EXP: { - os << (const struct - ur_bindless_images_sampled_image_handle_destroy_exp_params_t *) - params; + case UR_FUNCTION_LOADER_CONFIG_SET_CODE_LOCATION_CALLBACK: { + os << (const struct ur_loader_config_set_code_location_callback_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_IMAGE_ALLOCATE_EXP: { - os << (const struct ur_bindless_images_image_allocate_exp_params_t *) - params; + case UR_FUNCTION_PLATFORM_GET: { + os << (const struct ur_platform_get_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_IMAGE_FREE_EXP: { - os << (const struct ur_bindless_images_image_free_exp_params_t *)params; + case UR_FUNCTION_PLATFORM_GET_INFO: { + os << (const struct ur_platform_get_info_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_UNSAMPLED_IMAGE_CREATE_EXP: { - os << (const struct - ur_bindless_images_unsampled_image_create_exp_params_t *)params; + case UR_FUNCTION_PLATFORM_GET_NATIVE_HANDLE: { + os << (const struct ur_platform_get_native_handle_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_SAMPLED_IMAGE_CREATE_EXP: { - os << (const struct ur_bindless_images_sampled_image_create_exp_params_t - *)params; + case UR_FUNCTION_PLATFORM_CREATE_WITH_NATIVE_HANDLE: { + os << (const struct ur_platform_create_with_native_handle_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_IMAGE_COPY_EXP: { - os << (const struct ur_bindless_images_image_copy_exp_params_t *)params; + case UR_FUNCTION_PLATFORM_GET_API_VERSION: { + os << (const struct ur_platform_get_api_version_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_IMAGE_GET_INFO_EXP: { - os << (const struct ur_bindless_images_image_get_info_exp_params_t *) - params; + case UR_FUNCTION_PLATFORM_GET_BACKEND_OPTION: { + os << (const struct ur_platform_get_backend_option_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_MIPMAP_GET_LEVEL_EXP: { - os << (const struct ur_bindless_images_mipmap_get_level_exp_params_t *) - params; + case UR_FUNCTION_CONTEXT_CREATE: { + os << (const struct ur_context_create_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_MIPMAP_FREE_EXP: { - os << (const struct ur_bindless_images_mipmap_free_exp_params_t *) - params; + case UR_FUNCTION_CONTEXT_RETAIN: { + os << (const struct ur_context_retain_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_OPAQUE_FD_EXP: { - os << (const struct ur_bindless_images_import_opaque_fd_exp_params_t *) - params; + case UR_FUNCTION_CONTEXT_RELEASE: { + os << (const struct ur_context_release_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_MAP_EXTERNAL_ARRAY_EXP: { - os << (const struct ur_bindless_images_map_external_array_exp_params_t - *)params; + case UR_FUNCTION_CONTEXT_GET_INFO: { + os << (const struct ur_context_get_info_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_RELEASE_INTEROP_EXP: { - os << (const struct ur_bindless_images_release_interop_exp_params_t *) - params; + case UR_FUNCTION_CONTEXT_GET_NATIVE_HANDLE: { + os << (const struct ur_context_get_native_handle_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_SEMAPHORE_OPAQUE_FD_EXP: { - os << (const struct - ur_bindless_images_import_external_semaphore_opaque_fd_exp_params_t - *)params; + case UR_FUNCTION_CONTEXT_CREATE_WITH_NATIVE_HANDLE: { + os << (const struct ur_context_create_with_native_handle_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_DESTROY_EXTERNAL_SEMAPHORE_EXP: { - os << (const struct - ur_bindless_images_destroy_external_semaphore_exp_params_t *) - params; + case UR_FUNCTION_CONTEXT_SET_EXTENDED_DELETER: { + os << (const struct ur_context_set_extended_deleter_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_WAIT_EXTERNAL_SEMAPHORE_EXP: { - os << (const struct - ur_bindless_images_wait_external_semaphore_exp_params_t *)params; + case UR_FUNCTION_EVENT_GET_INFO: { + os << (const struct ur_event_get_info_params_t *)params; } break; - case UR_FUNCTION_BINDLESS_IMAGES_SIGNAL_EXTERNAL_SEMAPHORE_EXP: { - os << (const struct - ur_bindless_images_signal_external_semaphore_exp_params_t *) - params; + case UR_FUNCTION_EVENT_GET_PROFILING_INFO: { + os << (const struct ur_event_get_profiling_info_params_t *)params; } break; - case UR_FUNCTION_COMMAND_BUFFER_CREATE_EXP: { - os << (const struct ur_command_buffer_create_exp_params_t *)params; + case UR_FUNCTION_EVENT_WAIT: { + os << (const struct ur_event_wait_params_t *)params; } break; - case UR_FUNCTION_COMMAND_BUFFER_RETAIN_EXP: { - os << (const struct ur_command_buffer_retain_exp_params_t *)params; + case UR_FUNCTION_EVENT_RETAIN: { + os << (const struct ur_event_retain_params_t *)params; } break; - case UR_FUNCTION_COMMAND_BUFFER_RELEASE_EXP: { - os << (const struct ur_command_buffer_release_exp_params_t *)params; + case UR_FUNCTION_EVENT_RELEASE: { + os << (const struct ur_event_release_params_t *)params; } break; - case UR_FUNCTION_COMMAND_BUFFER_FINALIZE_EXP: { - os << (const struct ur_command_buffer_finalize_exp_params_t *)params; + case UR_FUNCTION_EVENT_GET_NATIVE_HANDLE: { + os << (const struct ur_event_get_native_handle_params_t *)params; } break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_KERNEL_LAUNCH_EXP: { - os << (const struct ur_command_buffer_append_kernel_launch_exp_params_t - *)params; + case UR_FUNCTION_EVENT_CREATE_WITH_NATIVE_HANDLE: { + os << (const struct ur_event_create_with_native_handle_params_t *)params; } break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_MEMCPY_EXP: { - os << (const struct ur_command_buffer_append_usm_memcpy_exp_params_t *) - params; + case UR_FUNCTION_EVENT_SET_CALLBACK: { + os << (const struct ur_event_set_callback_params_t *)params; } break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_FILL_EXP: { - os << (const struct ur_command_buffer_append_usm_fill_exp_params_t *) - params; + case UR_FUNCTION_PROGRAM_CREATE_WITH_IL: { + os << (const struct ur_program_create_with_il_params_t *)params; } break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_COPY_EXP: { - os << (const struct - ur_command_buffer_append_mem_buffer_copy_exp_params_t *)params; - } break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_WRITE_EXP: { - os << (const struct - ur_command_buffer_append_mem_buffer_write_exp_params_t *)params; - } break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_READ_EXP: { - os << (const struct - ur_command_buffer_append_mem_buffer_read_exp_params_t *)params; - } break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_COPY_RECT_EXP: { - os << (const struct - ur_command_buffer_append_mem_buffer_copy_rect_exp_params_t *) - params; - } break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_WRITE_RECT_EXP: { - os << (const struct - ur_command_buffer_append_mem_buffer_write_rect_exp_params_t *) - params; - } break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_READ_RECT_EXP: { - os << (const struct - ur_command_buffer_append_mem_buffer_read_rect_exp_params_t *) - params; - } break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_FILL_EXP: { - os << (const struct - ur_command_buffer_append_mem_buffer_fill_exp_params_t *)params; - } break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_PREFETCH_EXP: { - os << (const struct ur_command_buffer_append_usm_prefetch_exp_params_t - *)params; - } break; - case UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_ADVISE_EXP: { - os << (const struct ur_command_buffer_append_usm_advise_exp_params_t *) - params; - } break; - case UR_FUNCTION_COMMAND_BUFFER_ENQUEUE_EXP: { - os << (const struct ur_command_buffer_enqueue_exp_params_t *)params; - } break; - case UR_FUNCTION_CONTEXT_CREATE: { - os << (const struct ur_context_create_params_t *)params; - } break; - case UR_FUNCTION_CONTEXT_RETAIN: { - os << (const struct ur_context_retain_params_t *)params; - } break; - case UR_FUNCTION_CONTEXT_RELEASE: { - os << (const struct ur_context_release_params_t *)params; - } break; - case UR_FUNCTION_CONTEXT_GET_INFO: { - os << (const struct ur_context_get_info_params_t *)params; - } break; - case UR_FUNCTION_CONTEXT_GET_NATIVE_HANDLE: { - os << (const struct ur_context_get_native_handle_params_t *)params; - } break; - case UR_FUNCTION_CONTEXT_CREATE_WITH_NATIVE_HANDLE: { - os << (const struct ur_context_create_with_native_handle_params_t *) - params; - } break; - case UR_FUNCTION_CONTEXT_SET_EXTENDED_DELETER: { - os << (const struct ur_context_set_extended_deleter_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_KERNEL_LAUNCH: { - os << (const struct ur_enqueue_kernel_launch_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_EVENTS_WAIT: { - os << (const struct ur_enqueue_events_wait_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_EVENTS_WAIT_WITH_BARRIER: { - os << (const struct ur_enqueue_events_wait_with_barrier_params_t *) - params; - } break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_READ: { - os << (const struct ur_enqueue_mem_buffer_read_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_WRITE: { - os << (const struct ur_enqueue_mem_buffer_write_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_READ_RECT: { - os << (const struct ur_enqueue_mem_buffer_read_rect_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_WRITE_RECT: { - os << (const struct ur_enqueue_mem_buffer_write_rect_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_COPY: { - os << (const struct ur_enqueue_mem_buffer_copy_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_COPY_RECT: { - os << (const struct ur_enqueue_mem_buffer_copy_rect_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_FILL: { - os << (const struct ur_enqueue_mem_buffer_fill_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_MEM_IMAGE_READ: { - os << (const struct ur_enqueue_mem_image_read_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_MEM_IMAGE_WRITE: { - os << (const struct ur_enqueue_mem_image_write_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_MEM_IMAGE_COPY: { - os << (const struct ur_enqueue_mem_image_copy_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_MEM_BUFFER_MAP: { - os << (const struct ur_enqueue_mem_buffer_map_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_MEM_UNMAP: { - os << (const struct ur_enqueue_mem_unmap_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_USM_FILL: { - os << (const struct ur_enqueue_usm_fill_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_USM_MEMCPY: { - os << (const struct ur_enqueue_usm_memcpy_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_USM_PREFETCH: { - os << (const struct ur_enqueue_usm_prefetch_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_USM_ADVISE: { - os << (const struct ur_enqueue_usm_advise_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_USM_FILL_2D: { - os << (const struct ur_enqueue_usm_fill_2d_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_USM_MEMCPY_2D: { - os << (const struct ur_enqueue_usm_memcpy_2d_params_t *)params; - } break; - case UR_FUNCTION_ENQUEUE_DEVICE_GLOBAL_VARIABLE_WRITE: { - os << (const struct ur_enqueue_device_global_variable_write_params_t *) - params; - } break; - case UR_FUNCTION_ENQUEUE_DEVICE_GLOBAL_VARIABLE_READ: { - os << (const struct ur_enqueue_device_global_variable_read_params_t *) - params; + case UR_FUNCTION_PROGRAM_CREATE_WITH_BINARY: { + os << (const struct ur_program_create_with_binary_params_t *)params; } break; - case UR_FUNCTION_ENQUEUE_READ_HOST_PIPE: { - os << (const struct ur_enqueue_read_host_pipe_params_t *)params; + case UR_FUNCTION_PROGRAM_BUILD: { + os << (const struct ur_program_build_params_t *)params; } break; - case UR_FUNCTION_ENQUEUE_WRITE_HOST_PIPE: { - os << (const struct ur_enqueue_write_host_pipe_params_t *)params; + case UR_FUNCTION_PROGRAM_COMPILE: { + os << (const struct ur_program_compile_params_t *)params; } break; - case UR_FUNCTION_ENQUEUE_COOPERATIVE_KERNEL_LAUNCH_EXP: { - os << (const struct ur_enqueue_cooperative_kernel_launch_exp_params_t *) - params; + case UR_FUNCTION_PROGRAM_LINK: { + os << (const struct ur_program_link_params_t *)params; } break; - case UR_FUNCTION_EVENT_GET_INFO: { - os << (const struct ur_event_get_info_params_t *)params; + case UR_FUNCTION_PROGRAM_RETAIN: { + os << (const struct ur_program_retain_params_t *)params; } break; - case UR_FUNCTION_EVENT_GET_PROFILING_INFO: { - os << (const struct ur_event_get_profiling_info_params_t *)params; + case UR_FUNCTION_PROGRAM_RELEASE: { + os << (const struct ur_program_release_params_t *)params; } break; - case UR_FUNCTION_EVENT_WAIT: { - os << (const struct ur_event_wait_params_t *)params; + case UR_FUNCTION_PROGRAM_GET_FUNCTION_POINTER: { + os << (const struct ur_program_get_function_pointer_params_t *)params; } break; - case UR_FUNCTION_EVENT_RETAIN: { - os << (const struct ur_event_retain_params_t *)params; + case UR_FUNCTION_PROGRAM_GET_INFO: { + os << (const struct ur_program_get_info_params_t *)params; } break; - case UR_FUNCTION_EVENT_RELEASE: { - os << (const struct ur_event_release_params_t *)params; + case UR_FUNCTION_PROGRAM_GET_BUILD_INFO: { + os << (const struct ur_program_get_build_info_params_t *)params; } break; - case UR_FUNCTION_EVENT_GET_NATIVE_HANDLE: { - os << (const struct ur_event_get_native_handle_params_t *)params; + case UR_FUNCTION_PROGRAM_SET_SPECIALIZATION_CONSTANTS: { + os << (const struct ur_program_set_specialization_constants_params_t *)params; } break; - case UR_FUNCTION_EVENT_CREATE_WITH_NATIVE_HANDLE: { - os << (const struct ur_event_create_with_native_handle_params_t *) - params; + case UR_FUNCTION_PROGRAM_GET_NATIVE_HANDLE: { + os << (const struct ur_program_get_native_handle_params_t *)params; } break; - case UR_FUNCTION_EVENT_SET_CALLBACK: { - os << (const struct ur_event_set_callback_params_t *)params; + case UR_FUNCTION_PROGRAM_CREATE_WITH_NATIVE_HANDLE: { + os << (const struct ur_program_create_with_native_handle_params_t *)params; } break; case UR_FUNCTION_KERNEL_CREATE: { os << (const struct ur_kernel_create_params_t *)params; @@ -16149,8 +15882,7 @@ inline int serializeFunctionParams(std::ostream &os, uint32_t function, os << (const struct ur_kernel_get_native_handle_params_t *)params; } break; case UR_FUNCTION_KERNEL_CREATE_WITH_NATIVE_HANDLE: { - os << (const struct ur_kernel_create_with_native_handle_params_t *) - params; + os << (const struct ur_kernel_create_with_native_handle_params_t *)params; } break; case UR_FUNCTION_KERNEL_SET_ARG_VALUE: { os << (const struct ur_kernel_set_arg_value_params_t *)params; @@ -16171,38 +15903,28 @@ inline int serializeFunctionParams(std::ostream &os, uint32_t function, os << (const struct ur_kernel_set_arg_mem_obj_params_t *)params; } break; case UR_FUNCTION_KERNEL_SET_SPECIALIZATION_CONSTANTS: { - os << (const struct ur_kernel_set_specialization_constants_params_t *) - params; + os << (const struct ur_kernel_set_specialization_constants_params_t *)params; } break; case UR_FUNCTION_KERNEL_SUGGEST_MAX_COOPERATIVE_GROUP_COUNT_EXP: { - os << (const struct - ur_kernel_suggest_max_cooperative_group_count_exp_params_t *) - params; + os << (const struct ur_kernel_suggest_max_cooperative_group_count_exp_params_t *)params; } break; - case UR_FUNCTION_LOADER_INIT: { - os << (const struct ur_loader_init_params_t *)params; - } break; - case UR_FUNCTION_LOADER_TEAR_DOWN: { - os << (const struct ur_loader_tear_down_params_t *)params; - } break; - case UR_FUNCTION_LOADER_CONFIG_CREATE: { - os << (const struct ur_loader_config_create_params_t *)params; + case UR_FUNCTION_SAMPLER_CREATE: { + os << (const struct ur_sampler_create_params_t *)params; } break; - case UR_FUNCTION_LOADER_CONFIG_RETAIN: { - os << (const struct ur_loader_config_retain_params_t *)params; + case UR_FUNCTION_SAMPLER_RETAIN: { + os << (const struct ur_sampler_retain_params_t *)params; } break; - case UR_FUNCTION_LOADER_CONFIG_RELEASE: { - os << (const struct ur_loader_config_release_params_t *)params; + case UR_FUNCTION_SAMPLER_RELEASE: { + os << (const struct ur_sampler_release_params_t *)params; } break; - case UR_FUNCTION_LOADER_CONFIG_GET_INFO: { - os << (const struct ur_loader_config_get_info_params_t *)params; + case UR_FUNCTION_SAMPLER_GET_INFO: { + os << (const struct ur_sampler_get_info_params_t *)params; } break; - case UR_FUNCTION_LOADER_CONFIG_ENABLE_LAYER: { - os << (const struct ur_loader_config_enable_layer_params_t *)params; + case UR_FUNCTION_SAMPLER_GET_NATIVE_HANDLE: { + os << (const struct ur_sampler_get_native_handle_params_t *)params; } break; - case UR_FUNCTION_LOADER_CONFIG_SET_CODE_LOCATION_CALLBACK: { - os << (const struct ur_loader_config_set_code_location_callback_params_t - *)params; + case UR_FUNCTION_SAMPLER_CREATE_WITH_NATIVE_HANDLE: { + os << (const struct ur_sampler_create_with_native_handle_params_t *)params; } break; case UR_FUNCTION_MEM_IMAGE_CREATE: { os << (const struct ur_mem_image_create_params_t *)params; @@ -16223,12 +15945,10 @@ inline int serializeFunctionParams(std::ostream &os, uint32_t function, os << (const struct ur_mem_get_native_handle_params_t *)params; } break; case UR_FUNCTION_MEM_BUFFER_CREATE_WITH_NATIVE_HANDLE: { - os << (const struct ur_mem_buffer_create_with_native_handle_params_t *) - params; + os << (const struct ur_mem_buffer_create_with_native_handle_params_t *)params; } break; case UR_FUNCTION_MEM_IMAGE_CREATE_WITH_NATIVE_HANDLE: { - os << (const struct ur_mem_image_create_with_native_handle_params_t *) - params; + os << (const struct ur_mem_image_create_with_native_handle_params_t *)params; } break; case UR_FUNCTION_MEM_GET_INFO: { os << (const struct ur_mem_get_info_params_t *)params; @@ -16245,65 +15965,98 @@ inline int serializeFunctionParams(std::ostream &os, uint32_t function, case UR_FUNCTION_PHYSICAL_MEM_RELEASE: { os << (const struct ur_physical_mem_release_params_t *)params; } break; - case UR_FUNCTION_PLATFORM_GET: { - os << (const struct ur_platform_get_params_t *)params; + case UR_FUNCTION_ADAPTER_GET: { + os << (const struct ur_adapter_get_params_t *)params; } break; - case UR_FUNCTION_PLATFORM_GET_INFO: { - os << (const struct ur_platform_get_info_params_t *)params; + case UR_FUNCTION_ADAPTER_RELEASE: { + os << (const struct ur_adapter_release_params_t *)params; } break; - case UR_FUNCTION_PLATFORM_GET_NATIVE_HANDLE: { - os << (const struct ur_platform_get_native_handle_params_t *)params; + case UR_FUNCTION_ADAPTER_RETAIN: { + os << (const struct ur_adapter_retain_params_t *)params; } break; - case UR_FUNCTION_PLATFORM_CREATE_WITH_NATIVE_HANDLE: { - os << (const struct ur_platform_create_with_native_handle_params_t *) - params; + case UR_FUNCTION_ADAPTER_GET_LAST_ERROR: { + os << (const struct ur_adapter_get_last_error_params_t *)params; } break; - case UR_FUNCTION_PLATFORM_GET_API_VERSION: { - os << (const struct ur_platform_get_api_version_params_t *)params; + case UR_FUNCTION_ADAPTER_GET_INFO: { + os << (const struct ur_adapter_get_info_params_t *)params; } break; - case UR_FUNCTION_PLATFORM_GET_BACKEND_OPTION: { - os << (const struct ur_platform_get_backend_option_params_t *)params; + case UR_FUNCTION_ENQUEUE_KERNEL_LAUNCH: { + os << (const struct ur_enqueue_kernel_launch_params_t *)params; } break; - case UR_FUNCTION_PROGRAM_CREATE_WITH_IL: { - os << (const struct ur_program_create_with_il_params_t *)params; + case UR_FUNCTION_ENQUEUE_EVENTS_WAIT: { + os << (const struct ur_enqueue_events_wait_params_t *)params; } break; - case UR_FUNCTION_PROGRAM_CREATE_WITH_BINARY: { - os << (const struct ur_program_create_with_binary_params_t *)params; + case UR_FUNCTION_ENQUEUE_EVENTS_WAIT_WITH_BARRIER: { + os << (const struct ur_enqueue_events_wait_with_barrier_params_t *)params; } break; - case UR_FUNCTION_PROGRAM_BUILD: { - os << (const struct ur_program_build_params_t *)params; + case UR_FUNCTION_ENQUEUE_MEM_BUFFER_READ: { + os << (const struct ur_enqueue_mem_buffer_read_params_t *)params; } break; - case UR_FUNCTION_PROGRAM_COMPILE: { - os << (const struct ur_program_compile_params_t *)params; + case UR_FUNCTION_ENQUEUE_MEM_BUFFER_WRITE: { + os << (const struct ur_enqueue_mem_buffer_write_params_t *)params; } break; - case UR_FUNCTION_PROGRAM_LINK: { - os << (const struct ur_program_link_params_t *)params; + case UR_FUNCTION_ENQUEUE_MEM_BUFFER_READ_RECT: { + os << (const struct ur_enqueue_mem_buffer_read_rect_params_t *)params; } break; - case UR_FUNCTION_PROGRAM_RETAIN: { - os << (const struct ur_program_retain_params_t *)params; + case UR_FUNCTION_ENQUEUE_MEM_BUFFER_WRITE_RECT: { + os << (const struct ur_enqueue_mem_buffer_write_rect_params_t *)params; } break; - case UR_FUNCTION_PROGRAM_RELEASE: { - os << (const struct ur_program_release_params_t *)params; + case UR_FUNCTION_ENQUEUE_MEM_BUFFER_COPY: { + os << (const struct ur_enqueue_mem_buffer_copy_params_t *)params; } break; - case UR_FUNCTION_PROGRAM_GET_FUNCTION_POINTER: { - os << (const struct ur_program_get_function_pointer_params_t *)params; + case UR_FUNCTION_ENQUEUE_MEM_BUFFER_COPY_RECT: { + os << (const struct ur_enqueue_mem_buffer_copy_rect_params_t *)params; } break; - case UR_FUNCTION_PROGRAM_GET_INFO: { - os << (const struct ur_program_get_info_params_t *)params; + case UR_FUNCTION_ENQUEUE_MEM_BUFFER_FILL: { + os << (const struct ur_enqueue_mem_buffer_fill_params_t *)params; } break; - case UR_FUNCTION_PROGRAM_GET_BUILD_INFO: { - os << (const struct ur_program_get_build_info_params_t *)params; + case UR_FUNCTION_ENQUEUE_MEM_IMAGE_READ: { + os << (const struct ur_enqueue_mem_image_read_params_t *)params; } break; - case UR_FUNCTION_PROGRAM_SET_SPECIALIZATION_CONSTANTS: { - os << (const struct ur_program_set_specialization_constants_params_t *) - params; + case UR_FUNCTION_ENQUEUE_MEM_IMAGE_WRITE: { + os << (const struct ur_enqueue_mem_image_write_params_t *)params; } break; - case UR_FUNCTION_PROGRAM_GET_NATIVE_HANDLE: { - os << (const struct ur_program_get_native_handle_params_t *)params; + case UR_FUNCTION_ENQUEUE_MEM_IMAGE_COPY: { + os << (const struct ur_enqueue_mem_image_copy_params_t *)params; } break; - case UR_FUNCTION_PROGRAM_CREATE_WITH_NATIVE_HANDLE: { - os << (const struct ur_program_create_with_native_handle_params_t *) - params; + case UR_FUNCTION_ENQUEUE_MEM_BUFFER_MAP: { + os << (const struct ur_enqueue_mem_buffer_map_params_t *)params; + } break; + case UR_FUNCTION_ENQUEUE_MEM_UNMAP: { + os << (const struct ur_enqueue_mem_unmap_params_t *)params; + } break; + case UR_FUNCTION_ENQUEUE_USM_FILL: { + os << (const struct ur_enqueue_usm_fill_params_t *)params; + } break; + case UR_FUNCTION_ENQUEUE_USM_MEMCPY: { + os << (const struct ur_enqueue_usm_memcpy_params_t *)params; + } break; + case UR_FUNCTION_ENQUEUE_USM_PREFETCH: { + os << (const struct ur_enqueue_usm_prefetch_params_t *)params; + } break; + case UR_FUNCTION_ENQUEUE_USM_ADVISE: { + os << (const struct ur_enqueue_usm_advise_params_t *)params; + } break; + case UR_FUNCTION_ENQUEUE_USM_FILL_2D: { + os << (const struct ur_enqueue_usm_fill_2d_params_t *)params; + } break; + case UR_FUNCTION_ENQUEUE_USM_MEMCPY_2D: { + os << (const struct ur_enqueue_usm_memcpy_2d_params_t *)params; + } break; + case UR_FUNCTION_ENQUEUE_DEVICE_GLOBAL_VARIABLE_WRITE: { + os << (const struct ur_enqueue_device_global_variable_write_params_t *)params; + } break; + case UR_FUNCTION_ENQUEUE_DEVICE_GLOBAL_VARIABLE_READ: { + os << (const struct ur_enqueue_device_global_variable_read_params_t *)params; + } break; + case UR_FUNCTION_ENQUEUE_READ_HOST_PIPE: { + os << (const struct ur_enqueue_read_host_pipe_params_t *)params; + } break; + case UR_FUNCTION_ENQUEUE_WRITE_HOST_PIPE: { + os << (const struct ur_enqueue_write_host_pipe_params_t *)params; + } break; + case UR_FUNCTION_ENQUEUE_COOPERATIVE_KERNEL_LAUNCH_EXP: { + os << (const struct ur_enqueue_cooperative_kernel_launch_exp_params_t *)params; } break; case UR_FUNCTION_QUEUE_GET_INFO: { os << (const struct ur_queue_get_info_params_t *)params; @@ -16321,8 +16074,7 @@ inline int serializeFunctionParams(std::ostream &os, uint32_t function, os << (const struct ur_queue_get_native_handle_params_t *)params; } break; case UR_FUNCTION_QUEUE_CREATE_WITH_NATIVE_HANDLE: { - os << (const struct ur_queue_create_with_native_handle_params_t *) - params; + os << (const struct ur_queue_create_with_native_handle_params_t *)params; } break; case UR_FUNCTION_QUEUE_FINISH: { os << (const struct ur_queue_finish_params_t *)params; @@ -16330,24 +16082,56 @@ inline int serializeFunctionParams(std::ostream &os, uint32_t function, case UR_FUNCTION_QUEUE_FLUSH: { os << (const struct ur_queue_flush_params_t *)params; } break; - case UR_FUNCTION_SAMPLER_CREATE: { - os << (const struct ur_sampler_create_params_t *)params; + case UR_FUNCTION_BINDLESS_IMAGES_UNSAMPLED_IMAGE_HANDLE_DESTROY_EXP: { + os << (const struct ur_bindless_images_unsampled_image_handle_destroy_exp_params_t *)params; } break; - case UR_FUNCTION_SAMPLER_RETAIN: { - os << (const struct ur_sampler_retain_params_t *)params; + case UR_FUNCTION_BINDLESS_IMAGES_SAMPLED_IMAGE_HANDLE_DESTROY_EXP: { + os << (const struct ur_bindless_images_sampled_image_handle_destroy_exp_params_t *)params; } break; - case UR_FUNCTION_SAMPLER_RELEASE: { - os << (const struct ur_sampler_release_params_t *)params; + case UR_FUNCTION_BINDLESS_IMAGES_IMAGE_ALLOCATE_EXP: { + os << (const struct ur_bindless_images_image_allocate_exp_params_t *)params; } break; - case UR_FUNCTION_SAMPLER_GET_INFO: { - os << (const struct ur_sampler_get_info_params_t *)params; + case UR_FUNCTION_BINDLESS_IMAGES_IMAGE_FREE_EXP: { + os << (const struct ur_bindless_images_image_free_exp_params_t *)params; } break; - case UR_FUNCTION_SAMPLER_GET_NATIVE_HANDLE: { - os << (const struct ur_sampler_get_native_handle_params_t *)params; + case UR_FUNCTION_BINDLESS_IMAGES_UNSAMPLED_IMAGE_CREATE_EXP: { + os << (const struct ur_bindless_images_unsampled_image_create_exp_params_t *)params; } break; - case UR_FUNCTION_SAMPLER_CREATE_WITH_NATIVE_HANDLE: { - os << (const struct ur_sampler_create_with_native_handle_params_t *) - params; + case UR_FUNCTION_BINDLESS_IMAGES_SAMPLED_IMAGE_CREATE_EXP: { + os << (const struct ur_bindless_images_sampled_image_create_exp_params_t *)params; + } break; + case UR_FUNCTION_BINDLESS_IMAGES_IMAGE_COPY_EXP: { + os << (const struct ur_bindless_images_image_copy_exp_params_t *)params; + } break; + case UR_FUNCTION_BINDLESS_IMAGES_IMAGE_GET_INFO_EXP: { + os << (const struct ur_bindless_images_image_get_info_exp_params_t *)params; + } break; + case UR_FUNCTION_BINDLESS_IMAGES_MIPMAP_GET_LEVEL_EXP: { + os << (const struct ur_bindless_images_mipmap_get_level_exp_params_t *)params; + } break; + case UR_FUNCTION_BINDLESS_IMAGES_MIPMAP_FREE_EXP: { + os << (const struct ur_bindless_images_mipmap_free_exp_params_t *)params; + } break; + case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_OPAQUE_FD_EXP: { + os << (const struct ur_bindless_images_import_opaque_fd_exp_params_t *)params; + } break; + case UR_FUNCTION_BINDLESS_IMAGES_MAP_EXTERNAL_ARRAY_EXP: { + os << (const struct ur_bindless_images_map_external_array_exp_params_t *)params; + } break; + case UR_FUNCTION_BINDLESS_IMAGES_RELEASE_INTEROP_EXP: { + os << (const struct ur_bindless_images_release_interop_exp_params_t *)params; + } break; + case UR_FUNCTION_BINDLESS_IMAGES_IMPORT_EXTERNAL_SEMAPHORE_OPAQUE_FD_EXP: { + os << (const struct ur_bindless_images_import_external_semaphore_opaque_fd_exp_params_t *)params; + } break; + case UR_FUNCTION_BINDLESS_IMAGES_DESTROY_EXTERNAL_SEMAPHORE_EXP: { + os << (const struct ur_bindless_images_destroy_external_semaphore_exp_params_t *)params; + } break; + case UR_FUNCTION_BINDLESS_IMAGES_WAIT_EXTERNAL_SEMAPHORE_EXP: { + os << (const struct ur_bindless_images_wait_external_semaphore_exp_params_t *)params; + } break; + case UR_FUNCTION_BINDLESS_IMAGES_SIGNAL_EXTERNAL_SEMAPHORE_EXP: { + os << (const struct ur_bindless_images_signal_external_semaphore_exp_params_t *)params; } break; case UR_FUNCTION_USM_HOST_ALLOC: { os << (const struct ur_usm_host_alloc_params_t *)params; @@ -16385,20 +16169,74 @@ inline int serializeFunctionParams(std::ostream &os, uint32_t function, case UR_FUNCTION_USM_RELEASE_EXP: { os << (const struct ur_usm_release_exp_params_t *)params; } break; + case UR_FUNCTION_COMMAND_BUFFER_CREATE_EXP: { + os << (const struct ur_command_buffer_create_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_RETAIN_EXP: { + os << (const struct ur_command_buffer_retain_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_RELEASE_EXP: { + os << (const struct ur_command_buffer_release_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_FINALIZE_EXP: { + os << (const struct ur_command_buffer_finalize_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_APPEND_KERNEL_LAUNCH_EXP: { + os << (const struct ur_command_buffer_append_kernel_launch_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_MEMCPY_EXP: { + os << (const struct ur_command_buffer_append_usm_memcpy_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_FILL_EXP: { + os << (const struct ur_command_buffer_append_usm_fill_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_COPY_EXP: { + os << (const struct ur_command_buffer_append_mem_buffer_copy_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_WRITE_EXP: { + os << (const struct ur_command_buffer_append_mem_buffer_write_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_READ_EXP: { + os << (const struct ur_command_buffer_append_mem_buffer_read_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_COPY_RECT_EXP: { + os << (const struct ur_command_buffer_append_mem_buffer_copy_rect_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_WRITE_RECT_EXP: { + os << (const struct ur_command_buffer_append_mem_buffer_write_rect_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_READ_RECT_EXP: { + os << (const struct ur_command_buffer_append_mem_buffer_read_rect_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_APPEND_MEM_BUFFER_FILL_EXP: { + os << (const struct ur_command_buffer_append_mem_buffer_fill_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_PREFETCH_EXP: { + os << (const struct ur_command_buffer_append_usm_prefetch_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_APPEND_USM_ADVISE_EXP: { + os << (const struct ur_command_buffer_append_usm_advise_exp_params_t *)params; + } break; + case UR_FUNCTION_COMMAND_BUFFER_ENQUEUE_EXP: { + os << (const struct ur_command_buffer_enqueue_exp_params_t *)params; + } break; case UR_FUNCTION_USM_P2P_ENABLE_PEER_ACCESS_EXP: { os << (const struct ur_usm_p2p_enable_peer_access_exp_params_t *)params; } break; case UR_FUNCTION_USM_P2P_DISABLE_PEER_ACCESS_EXP: { - os << (const struct ur_usm_p2p_disable_peer_access_exp_params_t *) - params; + os << (const struct ur_usm_p2p_disable_peer_access_exp_params_t *)params; } break; case UR_FUNCTION_USM_P2P_PEER_ACCESS_GET_INFO_EXP: { - os << (const struct ur_usm_p2p_peer_access_get_info_exp_params_t *) - params; + os << (const struct ur_usm_p2p_peer_access_get_info_exp_params_t *)params; + } break; + case UR_FUNCTION_LOADER_INIT: { + os << (const struct ur_loader_init_params_t *)params; + } break; + case UR_FUNCTION_LOADER_TEAR_DOWN: { + os << (const struct ur_loader_tear_down_params_t *)params; } break; case UR_FUNCTION_VIRTUAL_MEM_GRANULARITY_GET_INFO: { - os << (const struct ur_virtual_mem_granularity_get_info_params_t *) - params; + os << (const struct ur_virtual_mem_granularity_get_info_params_t *)params; } break; case UR_FUNCTION_VIRTUAL_MEM_RESERVE: { os << (const struct ur_virtual_mem_reserve_params_t *)params; @@ -16440,17 +16278,17 @@ inline int serializeFunctionParams(std::ostream &os, uint32_t function, os << (const struct ur_device_get_native_handle_params_t *)params; } break; case UR_FUNCTION_DEVICE_CREATE_WITH_NATIVE_HANDLE: { - os << (const struct ur_device_create_with_native_handle_params_t *) - params; + os << (const struct ur_device_create_with_native_handle_params_t *)params; } break; case UR_FUNCTION_DEVICE_GET_GLOBAL_TIMESTAMPS: { os << (const struct ur_device_get_global_timestamps_params_t *)params; } break; default: - return -1; + return UR_RESULT_ERROR_INVALID_ENUMERATION; } - return 0; + return UR_RESULT_SUCCESS; } -} // namespace ur_params +} // namespace extras +} // namespace ur -#endif /* UR_PARAMS_HPP */ +#endif /* UR_PRINT_HPP */ diff --git a/scripts/Doxyfile b/scripts/Doxyfile index 0134f27418..199fd6afdc 100644 --- a/scripts/Doxyfile +++ b/scripts/Doxyfile @@ -848,7 +848,8 @@ RECURSIVE = YES # Note that relative paths are relative to the directory from which doxygen is # run. -EXCLUDE = README.md +EXCLUDE = README.md \ + ../include/ur_print.hpp # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded diff --git a/scripts/core/INTRO.rst b/scripts/core/INTRO.rst index d3a862ad87..255fe84e50 100644 --- a/scripts/core/INTRO.rst +++ b/scripts/core/INTRO.rst @@ -145,6 +145,14 @@ and followed by a digit or uppercase letter are reserved for use by the implemen Applications which use Unified Runtime must not provide definitions of these symbols. This allows the Unified Runtime shared library to be updated with additional symbols for new API versions or extensions without causing symbol conflicts with existing applications. +Printing API +------------ +## --validate=off +The header "${x}_print.hpp" contains the "${x}::print" namespace with the output stream operator (<<) overloads for Unified Runtime objects. +There is also the "${x}::extras::printFunctionParams" function for printing function parameters. These parameters have to be provided in a \*params_t struct format suitable for +a given function. +## --validate=on + Tracing --------------------- diff --git a/scripts/generate_code.py b/scripts/generate_code.py index 3c4b3107a3..1cf6a986e3 100644 --- a/scripts/generate_code.py +++ b/scripts/generate_code.py @@ -97,6 +97,7 @@ def _generate_api_cpp(incpath, srcpath, namespace, tags, version, revision, spec loc = _mako_api_h(incpath, namespace, tags, version, revision, specs, meta) loc += _mako_api_cpp(srcpath, namespace, tags, version, revision, specs, meta) loc += _mako_ddi_h(incpath, namespace, tags, version, revision, specs, meta) + loc += _mako_print_hpp(incpath, namespace, tags, version, revision, specs, meta) return loc @@ -278,11 +279,11 @@ def _mako_tracing_layer_cpp(path, namespace, tags, version, specs, meta): """ generates c/c++ files from the specification documents """ -def _mako_params_hpp(path, namespace, tags, version, specs, meta): - template = "params.hpp.mako" +def _mako_print_hpp(path, namespace, tags, version, revision, specs, meta): + template = "print.hpp.mako" fin = os.path.join(templates_dir, template) - name = "%s_params"%(namespace) + name = "%s_print"%(namespace) filename = "%s.hpp"%(name) fout = os.path.join(path, filename) @@ -291,6 +292,7 @@ def _mako_params_hpp(path, namespace, tags, version, specs, meta): fin, fout, name=name, ver=version, + rev=revision, namespace=namespace, tags=tags, specs=specs, @@ -361,6 +363,5 @@ def generate_common(path, section, namespace, tags, version, specs, meta): os.makedirs(layer_dstpath, exist_ok=True) loc = 0 - loc += _mako_params_hpp(layer_dstpath, namespace, tags, version, specs, meta) print("COMMON Generated %s lines of code.\n"%loc) diff --git a/scripts/templates/params.hpp.mako b/scripts/templates/print.hpp.mako similarity index 61% rename from scripts/templates/params.hpp.mako rename to scripts/templates/print.hpp.mako index 42fbf61d1f..b4976eaf6b 100644 --- a/scripts/templates/params.hpp.mako +++ b/scripts/templates/print.hpp.mako @@ -16,26 +16,28 @@ from templates import helper as th * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception * * @file ${name}.hpp + * @version v${ver}-r${rev} * */ -#ifndef ${X}_PARAMS_HPP -#define ${X}_PARAMS_HPP 1 +#ifndef ${X}_PRINT_HPP +#define ${X}_PRINT_HPP 1 #include "${x}_api.h" #include #include +## Mako helper functions ###################################################### <%def name="member(iname, itype, loop)"> %if iname == "pNext": - ${x}_params::serializeStruct(os, ${caller.body()}); + details::printStruct(os, ${caller.body()}); %elif th.type_traits.is_flags(itype): - ${x}_params::serializeFlag<${th.type_traits.get_flag_type(itype)}>(os, ${caller.body()}); + details::printFlag<${th.type_traits.get_flag_type(itype)}>(os, ${caller.body()}); %elif not loop and th.type_traits.is_pointer(itype): - ${x}_params::serializePtr(os, ${caller.body()}); + details::printPtr(os, ${caller.body()}); %elif loop and th.type_traits.is_pointer_to_pointer(itype): - ${x}_params::serializePtr(os, ${caller.body()}); + details::printPtr(os, ${caller.body()}); %elif th.type_traits.is_handle(itype): - ${x}_params::serializePtr(os, ${caller.body()}); + details::printPtr(os, ${caller.body()}); %elif iname and iname.startswith("pfn"): os << reinterpret_cast(${caller.body()}); %else: @@ -83,7 +85,7 @@ def findMemberType(_item): os << "}"; %elif findMemberType(item) is not None and findMemberType(item)['type'] == "union": os << ".${iname} = "; - ${x}_params::serializeUnion(os, ${deref}(params${access}${item['name']}), params${access}${th.param_traits.tagged_member(item)}); + details::printUnion(os, ${deref}(params${access}${item['name']}), params${access}${th.param_traits.tagged_member(item)}); %elif th.type_traits.is_array(item['type']): os << ".${iname} = {"; for(auto i = 0; i < ${th.type_traits.get_array_length(item['type'])}; i++){ @@ -97,7 +99,7 @@ def findMemberType(_item): os << "}"; %elif typename is not None: os << ".${iname} = "; - ${x}_params::serializeTagged(os, ${deref}(params${access}${pname}), ${deref}(params${access}${prefix}${typename}), ${deref}(params${access}${prefix}${typename_size})); + details::printTagged(os, ${deref}(params${access}${pname}), ${deref}(params${access}${prefix}${typename}), ${deref}(params${access}${prefix}${typename_size})); %else: os << ".${iname} = "; <%call expr="member(iname, itype, False)"> @@ -106,7 +108,10 @@ def findMemberType(_item): %endif -namespace ${x}_params { +namespace ${x} { +namespace print { +## API functions declarations ################################################# +namespace details { template struct is_handle : std::false_type {}; %for spec in specs: %for obj in spec['objects']: @@ -117,66 +122,70 @@ template <> struct is_handle<${th.make_type_name(n, tags, obj)}> : std::true_typ %endfor template inline constexpr bool is_handle_v = is_handle::value; -template inline void serializePtr(std::ostream &os, const T *ptr); -template inline void serializeFlag(std::ostream &os, uint32_t flag); -template inline void serializeTagged(std::ostream &os, const void *ptr, T value, size_t size); +template inline ${x}_result_t printPtr(std::ostream &os, const T *ptr); +template inline ${x}_result_t printFlag(std::ostream &os, uint32_t flag); +template inline ${x}_result_t printTagged(std::ostream &os, const void *ptr, T value, size_t size); %for spec in specs: %for obj in spec['objects']: ## ENUM ####################################################################### %if re.match(r"enum", obj['type']): %if obj.get('typed_etors', False) is True: - template <> inline void serializeTagged(std::ostream &os, const void *ptr, ${th.make_enum_name(n, tags, obj)} value, size_t size); + template <> inline ${x}_result_t printTagged(std::ostream &os, const void *ptr, ${th.make_enum_name(n, tags, obj)} value, size_t size); %elif "structure_type" in obj['name']: - inline void serializeStruct(std::ostream &os, const void *ptr); + inline ${x}_result_t printStruct(std::ostream &os, const void *ptr); %endif %endif +## UNION ###################################################################### %if re.match(r"union", obj['type']) and obj['name']: <% tag = [_obj for _s in specs for _obj in _s['objects'] if _obj['name'] == obj['tag']][0] %> - inline void serializeUnion( + inline ${x}_result_t printUnion( std::ostream &os, const ${obj['type']} ${th.make_type_name(n, tags, obj)} params, const ${tag['type']} ${th.make_type_name(n, tags, tag)} tag ); %endif - +## FLAG ####################################################################### %if th.type_traits.is_flags(obj['name']): - template<> inline void serializeFlag<${th.make_enum_name(n, tags, obj)}>(std::ostream &os, uint32_t flag); + template<> inline ${x}_result_t printFlag<${th.make_enum_name(n, tags, obj)}>(std::ostream &os, uint32_t flag); %endif %endfor # obj in spec['objects'] %endfor -} // namespace ${x}_params +} // namespace details %for spec in specs: %for obj in spec['objects']: -## ENUM ####################################################################### %if re.match(r"enum", obj['type']): - inline std::ostream &operator<<(std::ostream &os, enum ${th.make_enum_name(n, tags, obj)} value); + ${X}_APIEXPORT inline std::ostream &operator<<(std::ostream &os, ${th.make_enum_name(n, tags, obj)} value); %elif re.match(r"struct", obj['type']): - inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const ${obj['type']} ${th.make_type_name(n, tags, obj)} params); + ${X}_APIEXPORT inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const ${obj['type']} ${th.make_type_name(n, tags, obj)} params); %endif %endfor # obj in spec['objects'] %endfor +## API functions definitions ################################################## %for spec in specs: %for obj in spec['objects']: ## ENUM ####################################################################### %if re.match(r"enum", obj['type']): + /////////////////////////////////////////////////////////////////////////////// + /// @brief Print operator for the ${th.make_enum_name(n, tags, obj)} type + /// @returns + /// std::ostream & %if "api_version" in obj['name']: - inline std::ostream &operator<<(std::ostream &os, enum ${th.make_enum_name(n, tags, obj)} value) { + inline std::ostream &operator<<(std::ostream &os, ${th.make_enum_name(n, tags, obj)} value) { os << UR_MAJOR_VERSION(value) << "." << UR_MINOR_VERSION(value); return os; } %else: - inline std::ostream &operator<<(std::ostream &os, enum ${th.make_enum_name(n, tags, obj)} value) { + inline std::ostream &operator<<(std::ostream &os, ${th.make_enum_name(n, tags, obj)} value) { switch (value) { %for n, item in enumerate(obj['etors']): <% ename = th.make_etor_name(n, tags, obj['name'], item['name']) - %> - case ${ename}: + %>case ${ename}: os << "${ename}"; break; %endfor @@ -188,12 +197,13 @@ template inline void serializeTagged(std::ostream &os, const void * } %endif %if obj.get('typed_etors', False) is True: - namespace ${x}_params { + namespace details { + /////////////////////////////////////////////////////////////////////////////// + /// @brief Print ${th.make_enum_name(n, tags, obj)} enum value template <> - inline void serializeTagged(std::ostream &os, const void *ptr, ${th.make_enum_name(n, tags, obj)} value, size_t size) { + inline ${x}_result_t printTagged(std::ostream &os, const void *ptr, ${th.make_enum_name(n, tags, obj)} value, size_t size) { if (ptr == NULL) { - serializePtr(os, ptr); - return; + return printPtr(os, ptr); } switch (value) { @@ -201,8 +211,7 @@ template inline void serializeTagged(std::ostream &os, const void * <% ename = th.make_etor_name(n, tags, obj['name'], item['name']) vtype = th.etor_get_associated_type(n, tags, item) - %> - case ${ename}: { + %>case ${ename}: { %if th.value_traits.is_array(vtype): <% atype = th.value_traits.get_array_name(vtype) %> %if 'void' in atype: @@ -211,7 +220,7 @@ template inline void serializeTagged(std::ostream &os, const void * const ${atype} *tptr = (const ${atype} *)ptr; %endif %if "char" in atype: ## print char* arrays as simple NULL-terminated strings - serializePtr(os, tptr); + printPtr(os, tptr); %else: os << "{"; size_t nelems = size / sizeof(${atype}); @@ -233,7 +242,7 @@ template inline void serializeTagged(std::ostream &os, const void * %endif if (sizeof(${vtype}) > size) { os << "invalid size (is: " << size << ", expected: >=" << sizeof(${vtype}) << ")"; - return; + return ${X}_RESULT_ERROR_INVALID_SIZE; } os << (const void *)(tptr) << " ("; <%call expr="member(tptr, vtype, False)"> @@ -245,16 +254,19 @@ template inline void serializeTagged(std::ostream &os, const void * %endfor default: os << "unknown enumerator"; - break; + return ${X}_RESULT_ERROR_INVALID_ENUMERATION; } + return ${X}_RESULT_SUCCESS; } - } + } // namespace details + %elif "structure_type" in obj['name']: - namespace ${x}_params { - inline void serializeStruct(std::ostream &os, const void *ptr) { + namespace details { + /////////////////////////////////////////////////////////////////////////////// + /// @brief Print ${th.make_enum_name(n, tags, obj)} struct + inline ${x}_result_t printStruct(std::ostream &os, const void *ptr) { if (ptr == NULL) { - ${x}_params::serializePtr(os, ptr); - return; + return printPtr(os, ptr); } ## structure type enum value must be first @@ -266,54 +278,62 @@ template inline void serializeTagged(std::ostream &os, const void * %> case ${ename}: { const ${th.subt(n, tags, item['desc'])} *pstruct = (const ${th.subt(n, tags, item['desc'])} *)ptr; - ${x}_params::serializePtr(os, pstruct); + printPtr(os, pstruct); } break; %endfor default: os << "unknown enumerator"; - break; + return ${X}_RESULT_ERROR_INVALID_ENUMERATION; } + return ${X}_RESULT_SUCCESS; } - } // namespace ${x}_params + } // namespace details %endif -%if th.type_traits.is_flags(obj['name']): -namespace ${x}_params { + %if th.type_traits.is_flags(obj['name']): -template<> -inline void serializeFlag<${th.make_enum_name(n, tags, obj)}>(std::ostream &os, uint32_t flag) { - uint32_t val = flag; - bool first = true; - %for n, item in enumerate(obj['etors']): - <% - ename = th.make_etor_name(n, tags, obj['name'], item['name']) - %> - if ((val & ${ename}) == (uint32_t)${ename}) { - ## toggle the bits to avoid printing overlapping values - ## instead of e.g., FLAG_FOO | FLAG_BAR | FLAG_ALL, this will just - ## print FLAG_FOO | FLAG_BAR (or just FLAG_ALL, depending on order). - val ^= (uint32_t)${ename}; + namespace details { + /////////////////////////////////////////////////////////////////////////////// + /// @brief Print ${th.make_enum_name(n, tags, obj)} flag + template<> + inline ${x}_result_t printFlag<${th.make_enum_name(n, tags, obj)}>(std::ostream &os, uint32_t flag) { + uint32_t val = flag; + bool first = true; + %for n, item in enumerate(obj['etors']): + <% + ename = th.make_etor_name(n, tags, obj['name'], item['name']) + %> + if ((val & ${ename}) == (uint32_t)${ename}) { + ## toggle the bits to avoid printing overlapping values + ## instead of e.g., FLAG_FOO | FLAG_BAR | FLAG_ALL, this will just + ## print FLAG_FOO | FLAG_BAR (or just FLAG_ALL, depending on order). + val ^= (uint32_t)${ename}; + if (!first) { + os << " | "; + } else { + first = false; + } + os << ${ename}; + } + %endfor + if (val != 0) { + std::bitset<32> bits(val); if (!first) { os << " | "; - } else { - first = false; } - os << ${ename}; + os << "unknown bit flags " << bits; + } else if (first) { + os << "0"; } - %endfor - if (val != 0) { - std::bitset<32> bits(val); - if (!first) { - os << " | "; - } - os << "unknown bit flags " << bits; - } else if (first) { - os << "0"; + return ${X}_RESULT_SUCCESS; } -} -} // namespace ${x}_params -%endif -## STRUCT/UNION ############################################################### + } // namespace details + %endif +## STRUCT ##################################################################### %elif re.match(r"struct", obj['type']): +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ${th.make_type_name(n, tags, obj)} type +/// @returns +/// std::ostream & inline std::ostream &operator<<(std::ostream &os, const ${obj['type']} ${th.make_type_name(n, tags, obj)} params) { os << "(${obj['type']} ${th.make_type_name(n, tags, obj)}){"; <% @@ -330,9 +350,13 @@ inline std::ostream &operator<<(std::ostream &os, const ${obj['type']} ${th.make os << "}"; return os; } +## UNION ###################################################################### %elif re.match(r"union", obj['type']) and obj['name']: +namespace details { <% tag = findUnionTag(obj) %> -inline void ${x}_params::serializeUnion( + /////////////////////////////////////////////////////////////////////////////// + // @brief Print ${th.make_type_name(n, tags, obj)} union + inline ${x}_result_t printUnion( std::ostream &os, const ${obj['type']} ${th.make_type_name(n, tags, obj)} params, const ${tag['type']} ${th.make_type_name(n, tags, tag)} tag @@ -353,10 +377,12 @@ for item in obj['members']: %endfor default: os << ""; - break; + return ${X}_RESULT_ERROR_INVALID_ENUMERATION; } os << "}"; + return ${X}_RESULT_SUCCESS; } +} // namespace details %endif %endfor # obj in spec['objects'] %endfor @@ -364,6 +390,10 @@ for item in obj['members']: %for tbl in th.get_pfncbtables(specs, meta, n, tags): %for obj in tbl['functions']: +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print operator for the ${th.make_pfncb_param_type(n, tags, obj)} type +/// @returns +/// std::ostream & inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct ${th.make_pfncb_param_type(n, tags, obj)} *params) { <% params_dict = dict() @@ -381,14 +411,15 @@ inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct %endfor %endfor -namespace ${x}_params { - -template inline void serializePtr(std::ostream &os, const T *ptr) { +namespace details { +/////////////////////////////////////////////////////////////////////////////// +// @brief Print pointer value +template inline ${x}_result_t printPtr(std::ostream &os, const T *ptr) { if (ptr == nullptr) { os << "nullptr"; } else if constexpr (std::is_pointer_v) { os << (const void *)(ptr) << " ("; - serializePtr(os, *ptr); + printPtr(os, *ptr); os << ")"; } else if constexpr (std::is_void_v || is_handle_v) { os << (const void *)ptr; @@ -401,10 +432,28 @@ template inline void serializePtr(std::ostream &os, const T *ptr) { os << *ptr; os << ")"; } + + return ${X}_RESULT_SUCCESS; } +} // namespace details +} // namespace print + +namespace extras { +/////////////////////////////////////////////////////////////////////////////// +/// @brief Print function parameters +/// @returns +/// - ::${X}_RESULT_SUCCESS +/// - ::${X}_RESULT_ERROR_INVALID_ENUMERATION +/// - ::${X}_RESULT_ERROR_INVALID_NULL_POINTER +/// - `NULL == params` +${X}_APIEXPORT inline ${x}_result_t ${X}_APICALL printFunctionParams(std::ostream &os, ur_function_t function, const void *params) { + using namespace print; + + if (!params) { + return ${X}_RESULT_ERROR_INVALID_NULL_POINTER; + } -inline int serializeFunctionParams(std::ostream &os, uint32_t function, const void *params) { - switch((enum ${x}_function_t)function) { + switch(function) { %for tbl in th.get_pfncbtables(specs, meta, n, tags): %for obj in tbl['functions']: case ${th.make_func_etor(n, tags, obj)}: { @@ -412,10 +461,11 @@ inline int serializeFunctionParams(std::ostream &os, uint32_t function, const vo } break; %endfor %endfor - default: return -1; + default: return ${X}_RESULT_ERROR_INVALID_ENUMERATION; } - return 0; + return ${X}_RESULT_SUCCESS; } -} // namespace ur_params +} // namespace extras +} // namespace ${x} -#endif /* ${X}_PARAMS_HPP */ +#endif /* ${X}_PRINT_HPP */ diff --git a/source/common/logger/ur_sinks.hpp b/source/common/logger/ur_sinks.hpp index 66322e98a6..f63d30d809 100644 --- a/source/common/logger/ur_sinks.hpp +++ b/source/common/logger/ur_sinks.hpp @@ -13,8 +13,10 @@ #include "ur_filesystem_resolved.hpp" #include "ur_level.hpp" +#include "ur_print.hpp" namespace logger { +using namespace ur::print; class Sink { public: diff --git a/test/conformance/testing/include/uur/checks.h b/test/conformance/testing/include/uur/checks.h index 649edfefe0..2ad3925842 100644 --- a/test/conformance/testing/include/uur/checks.h +++ b/test/conformance/testing/include/uur/checks.h @@ -8,7 +8,7 @@ #include #include -#include +#include #include namespace uur { diff --git a/test/loader/loader_lifetime/urLoaderInit.cpp b/test/loader/loader_lifetime/urLoaderInit.cpp index 48060240b8..693cf273f2 100644 --- a/test/loader/loader_lifetime/urLoaderInit.cpp +++ b/test/loader/loader_lifetime/urLoaderInit.cpp @@ -3,7 +3,7 @@ // See LICENSE.TXT // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception #include "fixtures.hpp" -#include +#include using urLoaderInitTestWithParam = ::testing::TestWithParam; @@ -17,7 +17,7 @@ INSTANTIATE_TEST_SUITE_P( UR_DEVICE_INIT_FLAG_FPGA | UR_DEVICE_INIT_FLAG_VPU), [](const ::testing::TestParamInfo &info) { std::stringstream ss; - ur_params::serializeFlag(ss, info.param); + ur::print::details::printFlag(ss, info.param); return GTestSanitizeString(ss.str()); }); diff --git a/test/loader/platforms/platforms.cpp b/test/loader/platforms/platforms.cpp index 8c8f5d7db5..0e3dd527e8 100644 --- a/test/loader/platforms/platforms.cpp +++ b/test/loader/platforms/platforms.cpp @@ -11,7 +11,7 @@ #include #include -#include +#include #include "ur_api.h" diff --git a/test/unit/utils/params.cpp b/test/unit/utils/params.cpp index d6310f8bbd..82a7d946d4 100644 --- a/test/unit/utils/params.cpp +++ b/test/unit/utils/params.cpp @@ -10,7 +10,7 @@ #include #include "ur_api.h" -#include "ur_params.hpp" +#include "ur_print.hpp" template class ParamsTest : public testing::Test { protected: @@ -405,22 +405,22 @@ typedef Typesparams.get_struct(); EXPECT_THAT(out.str(), MatchesRegex(this->params.get_expected())); } -TEST(SerializePtr, nested_void_ptrs) { +TEST(PrintPtr, nested_void_ptrs) { void *real = (void *)0xFEEDCAFEull; void **preal = ℜ void ***ppreal = &preal; void ****pppreal = &ppreal; std::ostringstream out; - serializePtr(out, pppreal); + details::printPtr(out, pppreal); EXPECT_THAT(out.str(), MatchesRegex(".+ \\(.+ \\(.+ \\(.+\\)\\)\\)")); } diff --git a/tools/urtrace/collector.cpp b/tools/urtrace/collector.cpp index 2d454afc37..a78cb82d08 100644 --- a/tools/urtrace/collector.cpp +++ b/tools/urtrace/collector.cpp @@ -28,7 +28,7 @@ #include "logger/ur_logger.hpp" #include "ur_api.h" -#include "ur_params.hpp" +#include "ur_print.hpp" #include "ur_util.hpp" #include "xpti/xpti_trace_framework.h" @@ -288,8 +288,6 @@ static std::unique_ptr &writer() { return writer; } -using namespace ur_params; - struct fn_context { uint64_t instance; std::optional start; @@ -333,8 +331,8 @@ XPTI_CALLBACK_API void trace_cb(uint16_t trace_type, xpti::trace_event_data_t *, if (cli_args.no_args) { args_str << "..."; } else { - ur_params::serializeFunctionParams(args_str, args->function_id, - args->args_data); + ur::extras::printFunctionParams( + args_str, (enum ur_function_t)args->function_id, args->args_data); } if (trace_type == TRACE_FN_BEGIN) {