mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-19 06:24:51 +08:00
fix: Only expose THREAD_SCATCH dbg reg in heapless mode
Related-to: NEO-14653 Signed-off-by: Brandon Yates <brandon.yates@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
1816c8eac4
commit
e981e85c31
@@ -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(pStateSaveArea->regHeaderV3.msg, ZET_DEBUG_REGSET_TYPE_MSG_INTEL_GPU);
|
||||||
parseRegsetDesc(*DebugSessionImp::getModeFlagsRegsetDesc(), ZET_DEBUG_REGSET_TYPE_MODE_FLAGS_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::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);
|
parseRegsetDesc(pStateSaveArea->regHeaderV3.scalar, ZET_DEBUG_REGSET_TYPE_SCALAR_INTEL_GPU);
|
||||||
|
|
||||||
} else if (pStateSaveArea->versionHeader.version.major < 3) {
|
} else if (pStateSaveArea->versionHeader.version.major < 3) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2022-2024 Intel Corporation
|
* Copyright (C) 2022-2025 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@@ -34,7 +34,7 @@ struct DebugApiFixture : public DeviceFixture {
|
|||||||
void setUpV3Header() {
|
void setUpV3Header() {
|
||||||
mockBuiltins->stateSaveAreaHeader = MockSipData::createStateSaveAreaHeader(3);
|
mockBuiltins->stateSaveAreaHeader = MockSipData::createStateSaveAreaHeader(3);
|
||||||
}
|
}
|
||||||
void setUpV3HeaderHeapless() {
|
void setUpV3HeaderWithoutHeapless() {
|
||||||
mockBuiltins->stateSaveAreaHeader = MockSipData::createStateSaveAreaHeader(3);
|
mockBuiltins->stateSaveAreaHeader = MockSipData::createStateSaveAreaHeader(3);
|
||||||
auto pStateSaveArea = reinterpret_cast<NEO::StateSaveAreaHeader *>(mockBuiltins->stateSaveAreaHeader.data());
|
auto pStateSaveArea = reinterpret_cast<NEO::StateSaveAreaHeader *>(mockBuiltins->stateSaveAreaHeader.data());
|
||||||
pStateSaveArea->regHeaderV3.sip_flags = 0;
|
pStateSaveArea->regHeaderV3.sip_flags = 0;
|
||||||
|
|||||||
@@ -400,15 +400,15 @@ TEST_F(DebugApiTest, givenGetRegisterSetPropertiesCalledWithV3HeaderCorrectPrope
|
|||||||
|
|
||||||
TEST_F(DebugApiTest, givenGetRegisterSetPropertiesCalledWhenV3HeaderHeaplessThenCorrectPropertiesReturned) {
|
TEST_F(DebugApiTest, givenGetRegisterSetPropertiesCalledWhenV3HeaderHeaplessThenCorrectPropertiesReturned) {
|
||||||
|
|
||||||
setUpV3HeaderHeapless();
|
setUpV3HeaderWithoutHeapless();
|
||||||
uint32_t count = 0;
|
uint32_t count = 0;
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, zetDebugGetRegisterSetProperties(device->toHandle(), &count, nullptr));
|
EXPECT_EQ(ZE_RESULT_SUCCESS, zetDebugGetRegisterSetProperties(device->toHandle(), &count, nullptr));
|
||||||
EXPECT_EQ(18u, count);
|
EXPECT_EQ(17u, count);
|
||||||
|
|
||||||
std::vector<zet_debug_regset_properties_t> regsetProps(count);
|
std::vector<zet_debug_regset_properties_t> regsetProps(count);
|
||||||
EXPECT_EQ(ZE_RESULT_SUCCESS, zetDebugGetRegisterSetProperties(device->toHandle(), &count, regsetProps.data()));
|
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,
|
auto validateRegsetProps = [](const zet_debug_regset_properties_t ®setProps,
|
||||||
zet_debug_regset_type_intel_gpu_t type, zet_debug_regset_flags_t flags,
|
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[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[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[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[16], ZET_DEBUG_REGSET_TYPE_SCALAR_INTEL_GPU, ZET_DEBUG_REGSET_FLAG_READABLE | ZET_DEBUG_REGSET_FLAG_WRITEABLE, 1, 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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_F(DebugApiTest, givenGetRegisterSetPropertiesCalledCorrectPropertiesReturned) {
|
TEST_F(DebugApiTest, givenGetRegisterSetPropertiesCalledCorrectPropertiesReturned) {
|
||||||
|
|||||||
Reference in New Issue
Block a user