Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -131,14 +131,22 @@ struct formatter<hsa_access_permission_t>
auto format(hsa_access_permission_t v, Ctx& ctx) const
{
auto label = [v]() -> std::string_view {
switch(v)
// Older HSA headers do not define HSA_ACCESS_PERMISSION_EX (1 << 2).
// Use the integer value to support those headers and combined permissions.
constexpr uint32_t execute = 1U << 2;
Comment thread
venkat1361 marked this conversation as resolved.
Resolved

switch(static_cast<uint32_t>(v))
{
case HSA_ACCESS_PERMISSION_NONE: return "NONE";
case HSA_ACCESS_PERMISSION_RO: return "READ_ONLY";
case HSA_ACCESS_PERMISSION_WO: return "WRITE_ONLY";
case HSA_ACCESS_PERMISSION_RW: return "READ_WRITE";
case execute: return "EXECUTE";
case HSA_ACCESS_PERMISSION_RO | execute: return "READ_EXECUTE";
case HSA_ACCESS_PERMISSION_WO | execute: return "WRITE_EXECUTE";
case HSA_ACCESS_PERMISSION_RW | execute: return "READ_WRITE_EXECUTE";
default: return "UNKNOWN";
}
return "NONE";
}();
return fmt::format_to(ctx.out(), "{}", label);
}
Expand Down
Loading