@@ -194,6 +194,9 @@ inline ur_result_t printFlag<ur_map_flag_t>(std::ostream &os, uint32_t flag);
194194template <>
195195inline ur_result_t printFlag<ur_usm_migration_flag_t>(std::ostream &os, uint32_t flag);
196196
197+ template <>
198+ inline ur_result_t printFlag<ur_exp_device_2d_block_array_capability_flag_t>(std::ostream &os, uint32_t flag);
199+
197200template <>
198201inline ur_result_t printFlag<ur_exp_image_copy_flag_t>(std::ostream &os, uint32_t flag);
199202
@@ -328,6 +331,7 @@ inline std::ostream &operator<<(std::ostream &os, [[maybe_unused]] const struct
328331inline std::ostream &operator<<(std::ostream &os, enum ur_execution_info_t value);
329332inline std::ostream &operator<<(std::ostream &os, enum ur_map_flag_t value);
330333inline std::ostream &operator<<(std::ostream &os, enum ur_usm_migration_flag_t value);
334+ inline std::ostream &operator<<(std::ostream &os, enum ur_exp_device_2d_block_array_capability_flag_t value);
331335inline std::ostream &operator<<(std::ostream &os, enum ur_exp_image_copy_flag_t value);
332336inline std::ostream &operator<<(std::ostream &os, enum ur_exp_sampler_cubemap_filter_mode_t value);
333337inline std::ostream &operator<<(std::ostream &os, enum ur_exp_external_mem_type_t value);
@@ -1918,6 +1922,9 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_adapter_info_t value)
19181922 case UR_ADAPTER_INFO_REFERENCE_COUNT:
19191923 os << "UR_ADAPTER_INFO_REFERENCE_COUNT";
19201924 break;
1925+ case UR_ADAPTER_INFO_VERSION:
1926+ os << "UR_ADAPTER_INFO_VERSION";
1927+ break;
19211928 default:
19221929 os << "unknown enumerator";
19231930 break;
@@ -1958,6 +1965,18 @@ inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_adapter_inf
19581965
19591966 os << ")";
19601967 } break;
1968+ case UR_ADAPTER_INFO_VERSION: {
1969+ const uint32_t *tptr = (const uint32_t *)ptr;
1970+ if (sizeof(uint32_t) > size) {
1971+ os << "invalid size (is: " << size << ", expected: >=" << sizeof(uint32_t) << ")";
1972+ return UR_RESULT_ERROR_INVALID_SIZE;
1973+ }
1974+ os << (const void *)(tptr) << " (";
1975+
1976+ os << *tptr;
1977+
1978+ os << ")";
1979+ } break;
19611980 default:
19621981 os << "unknown enumerator";
19631982 return UR_RESULT_ERROR_INVALID_ENUMERATION;
@@ -2665,6 +2684,9 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_device_info_t value) {
26652684 case UR_DEVICE_INFO_LOW_POWER_EVENTS_EXP:
26662685 os << "UR_DEVICE_INFO_LOW_POWER_EVENTS_EXP";
26672686 break;
2687+ case UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP:
2688+ os << "UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP";
2689+ break;
26682690 default:
26692691 os << "unknown enumerator";
26702692 break;
@@ -4472,6 +4494,19 @@ inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_device_info
44724494
44734495 os << ")";
44744496 } break;
4497+ case UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP: {
4498+ const ur_exp_device_2d_block_array_capability_flags_t *tptr = (const ur_exp_device_2d_block_array_capability_flags_t *)ptr;
4499+ if (sizeof(ur_exp_device_2d_block_array_capability_flags_t) > size) {
4500+ os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_exp_device_2d_block_array_capability_flags_t) << ")";
4501+ return UR_RESULT_ERROR_INVALID_SIZE;
4502+ }
4503+ os << (const void *)(tptr) << " (";
4504+
4505+ ur::details::printFlag<ur_exp_device_2d_block_array_capability_flag_t>(os,
4506+ *tptr);
4507+
4508+ os << ")";
4509+ } break;
44754510 default:
44764511 os << "unknown enumerator";
44774512 return UR_RESULT_ERROR_INVALID_ENUMERATION;
@@ -9455,6 +9490,64 @@ inline ur_result_t printFlag<ur_usm_migration_flag_t>(std::ostream &os, uint32_t
94559490}
94569491} // namespace ur::details
94579492///////////////////////////////////////////////////////////////////////////////
9493+ /// @brief Print operator for the ur_exp_device_2d_block_array_capability_flag_t type
9494+ /// @returns
9495+ /// std::ostream &
9496+ inline std::ostream &operator<<(std::ostream &os, enum ur_exp_device_2d_block_array_capability_flag_t value) {
9497+ switch (value) {
9498+ case UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD:
9499+ os << "UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD";
9500+ break;
9501+ case UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE:
9502+ os << "UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE";
9503+ break;
9504+ default:
9505+ os << "unknown enumerator";
9506+ break;
9507+ }
9508+ return os;
9509+ }
9510+
9511+ namespace ur::details {
9512+ ///////////////////////////////////////////////////////////////////////////////
9513+ /// @brief Print ur_exp_device_2d_block_array_capability_flag_t flag
9514+ template <>
9515+ inline ur_result_t printFlag<ur_exp_device_2d_block_array_capability_flag_t>(std::ostream &os, uint32_t flag) {
9516+ uint32_t val = flag;
9517+ bool first = true;
9518+
9519+ if ((val & UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD) == (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD) {
9520+ val ^= (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD;
9521+ if (!first) {
9522+ os << " | ";
9523+ } else {
9524+ first = false;
9525+ }
9526+ os << UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD;
9527+ }
9528+
9529+ if ((val & UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE) == (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE) {
9530+ val ^= (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE;
9531+ if (!first) {
9532+ os << " | ";
9533+ } else {
9534+ first = false;
9535+ }
9536+ os << UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE;
9537+ }
9538+ if (val != 0) {
9539+ std::bitset<32> bits(val);
9540+ if (!first) {
9541+ os << " | ";
9542+ }
9543+ os << "unknown bit flags " << bits;
9544+ } else if (first) {
9545+ os << "0";
9546+ }
9547+ return UR_RESULT_SUCCESS;
9548+ }
9549+ } // namespace ur::details
9550+ ///////////////////////////////////////////////////////////////////////////////
94589551/// @brief Print operator for the ur_exp_image_copy_flag_t type
94599552/// @returns
94609553/// std::ostream &
0 commit comments