Skip to content

Commit 947794f

Browse files
pwilmaCompute-Runtime-Automation
authored andcommitted
Fix for setting context flags in AubDump
Change-Id: Ia5fba17aac19fbcbfa6676557d1af0889f538b90
1 parent 9ba8f18 commit 947794f

File tree

7 files changed

+36
-15
lines changed

7 files changed

+36
-15
lines changed

runtime/aub_mem_dump/aub_mem_dump.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
/*
2-
* Copyright (C) 2017-2018 Intel Corporation
2+
* Copyright (C) 2017-2019 Intel Corporation
33
*
44
* SPDX-License-Identifier: MIT
55
*
66
*/
77

88
#include "aub_mem_dump.h"
9+
#include "runtime/aub/aub_helper.h"
910
#include "runtime/helpers/ptr_math.h"
1011
#include "runtime/helpers/debug_helpers.h"
1112
#include "runtime/os_interface/debug_settings_manager.h"

runtime/command_stream/command_stream_receiver_simulated_common_hw.inl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,13 @@ void CommandStreamReceiverSimulatedCommonHw<GfxFamily>::setupContext(OsContext &
8585
CommandStreamReceiverHw<GfxFamily>::setupContext(osContext);
8686

8787
engineIndex = getEngineIndex(osContext.getEngineType());
88+
uint32_t flags = 0;
89+
getCsTraits(osContext.getEngineType()).setContextSaveRestoreFlags(flags);
90+
8891
auto &engineType = osContext.getEngineType();
8992
if (aubManager && !(engineType.type == lowPriorityGpgpuEngine.type && engineType.id == lowPriorityGpgpuEngine.id)) {
9093
hardwareContext = std::unique_ptr<aub_stream::HardwareContext>(aubManager->createHardwareContext(deviceIndex,
91-
engineIndex));
94+
engineIndex, flags));
9295
}
9396
}
9497
} // namespace OCLRT

third_party/aub_stream/headers/aub_manager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ struct HardwareContext;
1616
class AubManager {
1717
public:
1818
virtual ~AubManager() = default;
19-
virtual HardwareContext *createHardwareContext(uint32_t device, uint32_t engine) = 0;
19+
virtual HardwareContext *createHardwareContext(uint32_t device, uint32_t engine, uint32_t flags) = 0;
2020
virtual void writeMemory(uint64_t gfxAddress, const void *memory, size_t size, uint32_t memoryBanks, int hint, size_t pageSize) = 0;
2121

2222
static AubManager *create(uint32_t gfxFamily, uint32_t devicesCount, uint64_t memoryBankSize, bool localMemorySupported, const std::string &aubFileName, uint32_t streamMode);

unit_tests/aub/aub_helper_tests.inl

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "runtime/helpers/basic_math.h"
1414
#include "unit_tests/fixtures/device_fixture.h"
1515
#include "unit_tests/helpers/debug_manager_state_restore.h"
16+
#include "unit_tests/mocks/mock_lrca_helper.h"
1617
#include "test.h"
1718

1819
using namespace OCLRT;
@@ -127,15 +128,6 @@ HWTEST_F(AubHelperHwTest, GivenEnabledLocalMemoryWhenGetMemTraceForPtEntryIsCall
127128
EXPECT_EQ(AubMemDump::AddressSpaceValues::TraceLocal, addressSpace);
128129
}
129130

130-
struct MockLrcaHelper : AubMemDump::LrcaHelper {
131-
mutable uint32_t setContextSaveRestoreFlagsCalled = 0;
132-
MockLrcaHelper(uint32_t base) : AubMemDump::LrcaHelper(base) {}
133-
void setContextSaveRestoreFlags(uint32_t &value) const override {
134-
setContextSaveRestoreFlagsCalled++;
135-
AubMemDump::LrcaHelper::setContextSaveRestoreFlags(value);
136-
}
137-
};
138-
139131
HWTEST_F(AubHelperHwTest, giverLrcaHelperWhenContextIsInitializedThenContextFlagsAreSet) {
140132
const auto &csTraits = CommandStreamReceiverSimulatedCommonHw<FamilyType>::getCsTraits(EngineType::ENGINE_RCS);
141133
MockLrcaHelper lrcaHelper(csTraits.mmioBase);
@@ -144,4 +136,4 @@ HWTEST_F(AubHelperHwTest, giverLrcaHelperWhenContextIsInitializedThenContextFlag
144136

145137
lrcaHelper.initialize(lrcaBase.get());
146138
ASSERT_NE(0u, lrcaHelper.setContextSaveRestoreFlagsCalled);
147-
}
139+
}

unit_tests/mocks/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (C) 2018 Intel Corporation
2+
# Copyright (C) 2018-2019 Intel Corporation
33
#
44
# SPDX-License-Identifier: MIT
55
#
@@ -52,6 +52,7 @@ set(IGDRCL_SRCS_tests_mocks
5252
${CMAKE_CURRENT_SOURCE_DIR}/mock_image.h
5353
${CMAKE_CURRENT_SOURCE_DIR}/mock_kernel.cpp
5454
${CMAKE_CURRENT_SOURCE_DIR}/mock_kernel.h
55+
${CMAKE_CURRENT_SOURCE_DIR}/mock_lrca_helper.h
5556
${CMAKE_CURRENT_SOURCE_DIR}/mock_memory_manager.cpp
5657
${CMAKE_CURRENT_SOURCE_DIR}/mock_memory_manager.h
5758
${CMAKE_CURRENT_SOURCE_DIR}/mock_ostime.h

unit_tests/mocks/mock_aub_manager.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,15 @@ class MockAubManager : public aub_stream::AubManager {
4242
MockAubManager(){};
4343
~MockAubManager() override {}
4444

45-
HardwareContext *createHardwareContext(uint32_t device, uint32_t engine) override { return new MockHardwareContext(device, engine); }
45+
HardwareContext *createHardwareContext(uint32_t device, uint32_t engine) { return createHardwareContext(device, engine, 0); }
46+
HardwareContext *createHardwareContext(uint32_t device, uint32_t engine, uint32_t flags) override {
47+
contextFlags = flags;
48+
return new MockHardwareContext(device, engine);
49+
}
4650
void writeMemory(uint64_t gfxAddress, const void *memory, size_t size, uint32_t memoryBanks, int hint, size_t pageSize = 65536) override { writeMemoryCalled = true; }
4751

4852
bool writeMemoryCalled = false;
53+
uint32_t contextFlags = 0;
4954

5055
protected:
5156
HardwareContext *hardwareContext = nullptr;

unit_tests/mocks/mock_lrca_helper.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* Copyright (C) 2019 Intel Corporation
3+
*
4+
* SPDX-License-Identifier: MIT
5+
*
6+
*/
7+
8+
#pragma once
9+
10+
#include "runtime/aub_mem_dump/aub_mem_dump.h"
11+
12+
struct MockLrcaHelper : AubMemDump::LrcaHelper {
13+
mutable uint32_t setContextSaveRestoreFlagsCalled = 0;
14+
MockLrcaHelper(uint32_t base) : AubMemDump::LrcaHelper(base) {}
15+
void setContextSaveRestoreFlags(uint32_t &value) const override {
16+
setContextSaveRestoreFlagsCalled++;
17+
AubMemDump::LrcaHelper::setContextSaveRestoreFlags(value);
18+
}
19+
};

0 commit comments

Comments
 (0)