From 42b097ab4f543f0696aa304df6b379d7dbd829d9 Mon Sep 17 00:00:00 2001 From: Brandon Yates Date: Fri, 18 Apr 2025 15:56:14 +0000 Subject: [PATCH] fix: Only expose THREAD_SCRATCH dbg reg in heapless mode Related-to: NEO-14653 Signed-off-by: Brandon Yates --- level_zero/tools/source/debug/debug_session_imp.cpp | 4 +++- .../test/unit_tests/sources/debug/debug_session_common.h | 2 +- .../test/unit_tests/sources/debug/test_debug_api.cpp | 9 ++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/level_zero/tools/source/debug/debug_session_imp.cpp b/level_zero/tools/source/debug/debug_session_imp.cpp index bd7a8f25f9..3725c3af1f 100644 --- a/level_zero/tools/source/debug/debug_session_imp.cpp +++ b/level_zero/tools/source/debug/debug_session_imp.cpp @@ -1443,7 +1443,9 @@ ze_result_t DebugSession::getRegisterSetProperties(Device *device, uint32_t *pCo parseRegsetDesc(pStateSaveArea->regHeaderV3.msg, ZET_DEBUG_REGSET_TYPE_MSG_INTEL_GPU); parseRegsetDesc(*DebugSessionImp::getModeFlagsRegsetDesc(), ZET_DEBUG_REGSET_TYPE_MODE_FLAGS_INTEL_GPU); parseRegsetDesc(*DebugSessionImp::getDebugScratchRegsetDesc(), ZET_DEBUG_REGSET_TYPE_DEBUG_SCRATCH_INTEL_GPU); - parseRegsetDesc(*DebugSessionImp::getThreadScratchRegsetDesc(), ZET_DEBUG_REGSET_TYPE_THREAD_SCRATCH_INTEL_GPU); + if (DebugSessionImp::isHeaplessMode(pStateSaveArea->regHeaderV3)) { + parseRegsetDesc(*DebugSessionImp::getThreadScratchRegsetDesc(), ZET_DEBUG_REGSET_TYPE_THREAD_SCRATCH_INTEL_GPU); + } parseRegsetDesc(pStateSaveArea->regHeaderV3.scalar, ZET_DEBUG_REGSET_TYPE_SCALAR_INTEL_GPU); } else if (pStateSaveArea->versionHeader.version.major < 3) { diff --git a/level_zero/tools/test/unit_tests/sources/debug/debug_session_common.h b/level_zero/tools/test/unit_tests/sources/debug/debug_session_common.h index a4c158d625..010b72f297 100644 --- a/level_zero/tools/test/unit_tests/sources/debug/debug_session_common.h +++ b/level_zero/tools/test/unit_tests/sources/debug/debug_session_common.h @@ -34,7 +34,7 @@ struct DebugApiFixture : public DeviceFixture { void setUpV3Header() { mockBuiltins->stateSaveAreaHeader = MockSipData::createStateSaveAreaHeader(3); } - void setUpV3HeaderHeapless() { + void setUpV3HeaderWithoutHeapless() { mockBuiltins->stateSaveAreaHeader = MockSipData::createStateSaveAreaHeader(3); auto pStateSaveArea = reinterpret_cast(mockBuiltins->stateSaveAreaHeader.data()); pStateSaveArea->regHeaderV3.sip_flags = 0; diff --git a/level_zero/tools/test/unit_tests/sources/debug/test_debug_api.cpp b/level_zero/tools/test/unit_tests/sources/debug/test_debug_api.cpp index 59ddd799c8..72180f0e5b 100644 --- a/level_zero/tools/test/unit_tests/sources/debug/test_debug_api.cpp +++ b/level_zero/tools/test/unit_tests/sources/debug/test_debug_api.cpp @@ -400,15 +400,15 @@ TEST_F(DebugApiTest, givenGetRegisterSetPropertiesCalledWithV3HeaderCorrectPrope TEST_F(DebugApiTest, givenGetRegisterSetPropertiesCalledWhenV3HeaderHeaplessThenCorrectPropertiesReturned) { - setUpV3HeaderHeapless(); + setUpV3HeaderWithoutHeapless(); uint32_t count = 0; EXPECT_EQ(ZE_RESULT_SUCCESS, zetDebugGetRegisterSetProperties(device->toHandle(), &count, nullptr)); - EXPECT_EQ(18u, count); + EXPECT_EQ(17u, count); std::vector regsetProps(count); EXPECT_EQ(ZE_RESULT_SUCCESS, zetDebugGetRegisterSetProperties(device->toHandle(), &count, regsetProps.data())); - EXPECT_EQ(18u, count); + EXPECT_EQ(17u, count); auto validateRegsetProps = [](const zet_debug_regset_properties_t ®setProps, zet_debug_regset_type_intel_gpu_t type, zet_debug_regset_flags_t flags, @@ -439,8 +439,7 @@ TEST_F(DebugApiTest, givenGetRegisterSetPropertiesCalledWhenV3HeaderHeaplessThen validateRegsetProps(regsetProps[13], ZET_DEBUG_REGSET_TYPE_MSG_INTEL_GPU, ZET_DEBUG_REGSET_FLAG_READABLE | ZET_DEBUG_REGSET_FLAG_WRITEABLE, 1, 64, 8); validateRegsetProps(regsetProps[14], ZET_DEBUG_REGSET_TYPE_MODE_FLAGS_INTEL_GPU, ZET_DEBUG_REGSET_FLAG_READABLE, 1, 32, 4); validateRegsetProps(regsetProps[15], ZET_DEBUG_REGSET_TYPE_DEBUG_SCRATCH_INTEL_GPU, ZET_DEBUG_REGSET_FLAG_READABLE, 2, 64, 8); - validateRegsetProps(regsetProps[16], ZET_DEBUG_REGSET_TYPE_THREAD_SCRATCH_INTEL_GPU, ZET_DEBUG_REGSET_FLAG_READABLE, 2, 64, 8); - validateRegsetProps(regsetProps[17], ZET_DEBUG_REGSET_TYPE_SCALAR_INTEL_GPU, ZET_DEBUG_REGSET_FLAG_READABLE | ZET_DEBUG_REGSET_FLAG_WRITEABLE, 1, 64, 8); + validateRegsetProps(regsetProps[16], ZET_DEBUG_REGSET_TYPE_SCALAR_INTEL_GPU, ZET_DEBUG_REGSET_FLAG_READABLE | ZET_DEBUG_REGSET_FLAG_WRITEABLE, 1, 64, 8); } TEST_F(DebugApiTest, givenGetRegisterSetPropertiesCalledCorrectPropertiesReturned) {