diff --git a/source/lib/rocprofiler-sdk-att/att_decoder.h b/source/lib/rocprofiler-sdk-att/att_decoder.h index 038456fdab..39c1cc1730 100644 --- a/source/lib/rocprofiler-sdk-att/att_decoder.h +++ b/source/lib/rocprofiler-sdk-att/att_decoder.h @@ -102,7 +102,7 @@ typedef enum typedef enum { ATT_INST_NONE = 0, - ATT_INST_LAST = 11, + ATT_INST_LAST = 15, } att_wave_inst_category_t; typedef struct diff --git a/source/lib/rocprofiler-sdk-att/waitcnt/gfx12.cpp b/source/lib/rocprofiler-sdk-att/waitcnt/gfx12.cpp index 6895c5c752..09b2fed849 100644 --- a/source/lib/rocprofiler-sdk-att/waitcnt/gfx12.cpp +++ b/source/lib/rocprofiler-sdk-att/waitcnt/gfx12.cpp @@ -109,7 +109,11 @@ classify(const std::string& inst) return MemoryInstType::TYPE_NOT_MEM; } - if(inst.find("ds_") <= 1) + if(inst.find("_bvh") != npos) + { + return MemoryInstType::TYPE_BVH; + } + else if(inst.find("ds_") <= 1) { if(inst.find("param_load") != npos || inst.find("ds_direct") != npos) return MemoryInstType::TYPE_LDS_DIRECT; @@ -123,8 +127,6 @@ classify(const std::string& inst) return bStore ? MemoryInstType::TYPE_GLOBAL_STOR : MemoryInstType::TYPE_GLOBAL_LOAD; else if(inst.find("flat_") == 0) return bStore ? MemoryInstType::TYPE_FLAT_STOR : MemoryInstType::TYPE_FLAT_LOAD; - else if(inst.find("bvh_") != npos) - return MemoryInstType::TYPE_BVH; else return MemoryInstType::TYPE_NOT_MEM; } diff --git a/source/lib/rocprofiler-sdk-att/waitcnt/tests/att_decoder_waitcnt_test.cpp b/source/lib/rocprofiler-sdk-att/waitcnt/tests/att_decoder_waitcnt_test.cpp index 9f28b586b5..f012a096f1 100644 --- a/source/lib/rocprofiler-sdk-att/waitcnt/tests/att_decoder_waitcnt_test.cpp +++ b/source/lib/rocprofiler-sdk-att/waitcnt/tests/att_decoder_waitcnt_test.cpp @@ -277,8 +277,8 @@ TEST(att_decoder_waitcnt_test, gfx12) // ds vs exp vs bvh append_isa(31, "ds_store"); - append_isa(32, "bvh_"); - append_isa(33, "bvh_"); + append_isa(32, "_bvh_"); + append_isa(33, "_bvh_"); append_isa(34, "ds_param_load"); append_isa(35, "ds_direct"); append_isa(36, "ds_load");