@@ -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;
@@ -4471,6 +4478,19 @@ inline ur_result_t printTagged(std::ostream &os, const void *ptr, ur_device_info
44714478
44724479 os << ")";
44734480 } break;
4481+ case UR_DEVICE_INFO_2D_BLOCK_ARRAY_CAPABILITIES_EXP: {
4482+ const ur_exp_device_2d_block_array_capability_flags_t *tptr = (const ur_exp_device_2d_block_array_capability_flags_t *)ptr;
4483+ if (sizeof(ur_exp_device_2d_block_array_capability_flags_t) > size) {
4484+ os << "invalid size (is: " << size << ", expected: >=" << sizeof(ur_exp_device_2d_block_array_capability_flags_t) << ")";
4485+ return UR_RESULT_ERROR_INVALID_SIZE;
4486+ }
4487+ os << (const void *)(tptr) << " (";
4488+
4489+ ur::details::printFlag<ur_exp_device_2d_block_array_capability_flag_t>(os,
4490+ *tptr);
4491+
4492+ os << ")";
4493+ } break;
44744494 default:
44754495 os << "unknown enumerator";
44764496 return UR_RESULT_ERROR_INVALID_ENUMERATION;
@@ -9450,6 +9470,64 @@ inline ur_result_t printFlag<ur_usm_migration_flag_t>(std::ostream &os, uint32_t
94509470}
94519471} // namespace ur::details
94529472///////////////////////////////////////////////////////////////////////////////
9473+ /// @brief Print operator for the ur_exp_device_2d_block_array_capability_flag_t type
9474+ /// @returns
9475+ /// std::ostream &
9476+ inline std::ostream &operator<<(std::ostream &os, enum ur_exp_device_2d_block_array_capability_flag_t value) {
9477+ switch (value) {
9478+ case UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD:
9479+ os << "UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD";
9480+ break;
9481+ case UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE:
9482+ os << "UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE";
9483+ break;
9484+ default:
9485+ os << "unknown enumerator";
9486+ break;
9487+ }
9488+ return os;
9489+ }
9490+
9491+ namespace ur::details {
9492+ ///////////////////////////////////////////////////////////////////////////////
9493+ /// @brief Print ur_exp_device_2d_block_array_capability_flag_t flag
9494+ template <>
9495+ inline ur_result_t printFlag<ur_exp_device_2d_block_array_capability_flag_t>(std::ostream &os, uint32_t flag) {
9496+ uint32_t val = flag;
9497+ bool first = true;
9498+
9499+ if ((val & UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD) == (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD) {
9500+ val ^= (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD;
9501+ if (!first) {
9502+ os << " | ";
9503+ } else {
9504+ first = false;
9505+ }
9506+ os << UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_LOAD;
9507+ }
9508+
9509+ if ((val & UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE) == (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE) {
9510+ val ^= (uint32_t)UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE;
9511+ if (!first) {
9512+ os << " | ";
9513+ } else {
9514+ first = false;
9515+ }
9516+ os << UR_EXP_DEVICE_2D_BLOCK_ARRAY_CAPABILITY_FLAG_STORE;
9517+ }
9518+ if (val != 0) {
9519+ std::bitset<32> bits(val);
9520+ if (!first) {
9521+ os << " | ";
9522+ }
9523+ os << "unknown bit flags " << bits;
9524+ } else if (first) {
9525+ os << "0";
9526+ }
9527+ return UR_RESULT_SUCCESS;
9528+ }
9529+ } // namespace ur::details
9530+ ///////////////////////////////////////////////////////////////////////////////
94539531/// @brief Print operator for the ur_exp_image_copy_flag_t type
94549532/// @returns
94559533/// std::ostream &
0 commit comments