@@ -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);
@@ -2665,6 +2669,9 @@ inline std::ostream &operator<<(std::ostream &os, enum ur_device_info_t value) {
26652669 case UR_DEVICE_INFO_LOW_POWER_EVENTS_EXP:
26662670 os << "UR_DEVICE_INFO_LOW_POWER_EVENTS_EXP";
26672671 break;
2672+ case UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP:
2673+ os << "UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP";
2674+ break;
26682675 default:
26692676 os << "unknown enumerator";
26702677 break;
@@ -4472,6 +4479,19 @@ inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_device_info
44724479
44734480 os << ")";
44744481 } break;
4482+ case UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP: {
4483+ const ur_exp_device_2d_block_array_capability_flags_t *tptr = (const ur_exp_device_2d_block_array_capability_flags_t *)ptr;
4484+ if (sizeof(ur_exp_device_2d_block_array_capability_flags_t) > size) {
4485+ os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_exp_device_2d_block_array_capability_flags_t) << ")";
4486+ return UR_RESULT_ERROR_INVALID_SIZE;
4487+ }
4488+ os << (const void *)(tptr) << " (";
4489+
4490+ ur::details::printFlag<ur_exp_device_2d_block_array_capability_flag_t>(os,
4491+ *tptr);
4492+
4493+ os << ")";
4494+ } break;
44754495 default:
44764496 os << "unknown enumerator";
44774497 return UR_RESULT_ERROR_INVALID_ENUMERATION;
@@ -9455,6 +9475,64 @@ inline ur_result_t printFlag<ur_usm_migration_flag_t>(std::ostream &os, uint32_t
94559475}
94569476} // namespace ur::details
94579477///////////////////////////////////////////////////////////////////////////////
9478+ /// @brief Print operator for the ur_exp_device_2d_block_array_capability_flag_t type
9479+ /// @returns
9480+ /// std::ostream &
9481+ inline std::ostream &operator<<(std::ostream &os, enum ur_exp_device_2d_block_array_capability_flag_t value) {
9482+ switch (value) {
9483+ case UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD:
9484+ os << "UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD";
9485+ break;
9486+ case UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE:
9487+ os << "UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE";
9488+ break;
9489+ default:
9490+ os << "unknown enumerator";
9491+ break;
9492+ }
9493+ return os;
9494+ }
9495+
9496+ namespace ur::details {
9497+ ///////////////////////////////////////////////////////////////////////////////
9498+ /// @brief Print ur_exp_device_2d_block_array_capability_flag_t flag
9499+ template <>
9500+ inline ur_result_t printFlag<ur_exp_device_2d_block_array_capability_flag_t>(std::ostream &os, uint32_t flag) {
9501+ uint32_t val = flag;
9502+ bool first = true;
9503+
9504+ if ((val & UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD) == (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD) {
9505+ val ^= (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD;
9506+ if (!first) {
9507+ os << " | ";
9508+ } else {
9509+ first = false;
9510+ }
9511+ os << UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD;
9512+ }
9513+
9514+ if ((val & UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE) == (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE) {
9515+ val ^= (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE;
9516+ if (!first) {
9517+ os << " | ";
9518+ } else {
9519+ first = false;
9520+ }
9521+ os << UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE;
9522+ }
9523+ if (val != 0) {
9524+ std::bitset<32> bits(val);
9525+ if (!first) {
9526+ os << " | ";
9527+ }
9528+ os << "unknown bit flags " << bits;
9529+ } else if (first) {
9530+ os << "0";
9531+ }
9532+ return UR_RESULT_SUCCESS;
9533+ }
9534+ } // namespace ur::details
9535+ ///////////////////////////////////////////////////////////////////////////////
94589536/// @brief Print operator for the ur_exp_image_copy_flag_t type
94599537/// @returns
94609538/// std::ostream &
0 commit comments