From cf979c3bc0917059d4323ca038f907473c4c2ab5 Mon Sep 17 00:00:00 2001 From: "Dunajski, Bartosz" Date: Wed, 4 Sep 2019 09:10:18 +0200 Subject: [PATCH] Remove getWaTable() method Change-Id: I508103a0d46ae94b55891c8a7ef104fb47b0b3e0 Signed-off-by: Dunajski, Bartosz --- .../command_stream_receiver_hw_base.inl | 4 ++-- runtime/command_stream/preemption.cpp | 2 +- runtime/command_stream/preemption.inl | 6 +++--- runtime/device/device.cpp | 2 -- runtime/device/device.h | 1 - ...and_stream_receiver_flush_task_1_tests.cpp | 20 ++++--------------- ...and_stream_receiver_flush_task_2_tests.cpp | 4 +--- unit_tests/fixtures/preemption_fixture.cpp | 2 +- unit_tests/gen8/test_preemption_gen8.cpp | 8 ++++---- unit_tests/gen9/test_preemption_gen9.cpp | 16 +++++++-------- unit_tests/mocks/mock_device.cpp | 1 - unit_tests/mocks/mock_device.h | 5 ----- 12 files changed, 24 insertions(+), 47 deletions(-) diff --git a/runtime/command_stream/command_stream_receiver_hw_base.inl b/runtime/command_stream/command_stream_receiver_hw_base.inl index d4a946941a..5196a7120f 100644 --- a/runtime/command_stream/command_stream_receiver_hw_base.inl +++ b/runtime/command_stream/command_stream_receiver_hw_base.inl @@ -325,7 +325,7 @@ CompletionStamp CommandStreamReceiverHw::flushTask( DBG_LOG(LogTaskCounts, __FUNCTION__, "Line: ", __LINE__, "this->taskLevel", (uint32_t)this->taskLevel); - if (device.getWaTable()->waSamplerCacheFlushBetweenRedescribedSurfaceReads) { + if (executionEnvironment.getHardwareInfo()->workaroundTable.waSamplerCacheFlushBetweenRedescribedSurfaceReads) { if (this->samplerCacheFlushRequired != SamplerCacheFlushState::samplerCacheFlushNotRequired) { auto pCmd = addPipeControlCmd(commandStreamCSR); pCmd->setTextureCacheInvalidationEnable(true); @@ -599,7 +599,7 @@ size_t CommandStreamReceiverHw::getRequiredCmdStreamSize(const Dispat size += getCmdSizeForPreemption(dispatchFlags); size += getCmdSizeForEpilogue(dispatchFlags); - if (device.getWaTable()->waSamplerCacheFlushBetweenRedescribedSurfaceReads) { + if (executionEnvironment.getHardwareInfo()->workaroundTable.waSamplerCacheFlushBetweenRedescribedSurfaceReads) { if (this->samplerCacheFlushRequired != SamplerCacheFlushState::samplerCacheFlushNotRequired) { size += sizeof(typename GfxFamily::PIPE_CONTROL); } diff --git a/runtime/command_stream/preemption.cpp b/runtime/command_stream/preemption.cpp index 67abcff69d..a9a31021f8 100644 --- a/runtime/command_stream/preemption.cpp +++ b/runtime/command_stream/preemption.cpp @@ -55,7 +55,7 @@ PreemptionMode PreemptionHelper::taskPreemptionMode(Device &device, Kernel *kern } if (device.getPreemptionMode() >= PreemptionMode::ThreadGroup && - allowThreadGroupPreemption(kernel, device.getWaTable())) { + allowThreadGroupPreemption(kernel, &device.getHardwareInfo().workaroundTable)) { return PreemptionMode::ThreadGroup; } diff --git a/runtime/command_stream/preemption.inl b/runtime/command_stream/preemption.inl index 6528594806..69c00fe4aa 100644 --- a/runtime/command_stream/preemption.inl +++ b/runtime/command_stream/preemption.inl @@ -22,7 +22,7 @@ size_t PreemptionHelper::getPreemptionWaCsSize(const Device &device) { PreemptionMode preemptionMode = device.getPreemptionMode(); if (preemptionMode == PreemptionMode::ThreadGroup || preemptionMode == PreemptionMode::MidThread) { - if (device.getWaTable()->waModifyVFEStateAfterGPGPUPreemption) { + if (device.getHardwareInfo().workaroundTable.waModifyVFEStateAfterGPGPUPreemption) { size += 2 * sizeof(MI_LOAD_REGISTER_IMM); } } @@ -35,7 +35,7 @@ void PreemptionHelper::applyPreemptionWaCmdsBegin(LinearStream *pCommandStream, PreemptionMode preemptionMode = device.getPreemptionMode(); if (preemptionMode == PreemptionMode::ThreadGroup || preemptionMode == PreemptionMode::MidThread) { - if (device.getWaTable()->waModifyVFEStateAfterGPGPUPreemption) { + if (device.getHardwareInfo().workaroundTable.waModifyVFEStateAfterGPGPUPreemption) { auto pCmd = reinterpret_cast(pCommandStream->getSpace(sizeof(MI_LOAD_REGISTER_IMM))); *pCmd = GfxFamily::cmdInitLoadRegisterImm; pCmd->setRegisterOffset(CS_GPR_R0); @@ -50,7 +50,7 @@ void PreemptionHelper::applyPreemptionWaCmdsEnd(LinearStream *pCommandStream, co PreemptionMode preemptionMode = device.getPreemptionMode(); if (preemptionMode == PreemptionMode::ThreadGroup || preemptionMode == PreemptionMode::MidThread) { - if (device.getWaTable()->waModifyVFEStateAfterGPGPUPreemption) { + if (device.getHardwareInfo().workaroundTable.waModifyVFEStateAfterGPGPUPreemption) { auto pCmd = reinterpret_cast(pCommandStream->getSpace(sizeof(MI_LOAD_REGISTER_IMM))); *pCmd = GfxFamily::cmdInitLoadRegisterImm; pCmd->setRegisterOffset(CS_GPR_R0); diff --git a/runtime/device/device.cpp b/runtime/device/device.cpp index 3afacd01d3..767bc39960 100644 --- a/runtime/device/device.cpp +++ b/runtime/device/device.cpp @@ -167,8 +167,6 @@ bool Device::createEngine(uint32_t deviceIndex, uint32_t deviceCsrIndex, aub_str const HardwareInfo &Device::getHardwareInfo() const { return *executionEnvironment->getHardwareInfo(); } -const WorkaroundTable *Device::getWaTable() const { return &getHardwareInfo().workaroundTable; } - const DeviceInfo &Device::getDeviceInfo() const { return deviceInfo; } diff --git a/runtime/device/device.h b/runtime/device/device.h index b883d294f0..ba6b16f002 100644 --- a/runtime/device/device.h +++ b/runtime/device/device.h @@ -49,7 +49,6 @@ class Device : public BaseObject<_cl_device_id> { // Helper functions const HardwareInfo &getHardwareInfo() const; const DeviceInfo &getDeviceInfo() const; - MOCKABLE_VIRTUAL const WorkaroundTable *getWaTable() const; EngineControl &getEngine(aub_stream::EngineType engineType, bool lowPriority); EngineControl &getDefaultEngine(); diff --git a/unit_tests/command_stream/command_stream_receiver_flush_task_1_tests.cpp b/unit_tests/command_stream/command_stream_receiver_flush_task_1_tests.cpp index 26caff37d6..d30b1ff859 100644 --- a/unit_tests/command_stream/command_stream_receiver_flush_task_1_tests.cpp +++ b/unit_tests/command_stream/command_stream_receiver_flush_task_1_tests.cpp @@ -311,15 +311,13 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, givenHigherTaskLevelWhenTimestampP HWTEST_F(CommandStreamReceiverFlushTaskTests, whenSamplerCacheFlushNotRequiredThenDontSendPipecontrol) { auto &commandStreamReceiver = pDevice->getUltCommandStreamReceiver(); - NEO::WorkaroundTable *waTable = nullptr; - waTable = const_cast(pDevice->getWaTable()); + NEO::WorkaroundTable *waTable = &pDevice->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable; commandStreamReceiver.isPreambleSent = true; commandStreamReceiver.lastPreemptionMode = pDevice->getPreemptionMode(); commandStreamReceiver.setSamplerCacheFlushRequired(CommandStreamReceiver::SamplerCacheFlushState::samplerCacheFlushNotRequired); configureCSRtoNonDirtyState(); commandStreamReceiver.taskLevel = taskLevel; - bool tmp = waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads; waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = true; flushTask(commandStreamReceiver); @@ -330,7 +328,6 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, whenSamplerCacheFlushNotRequiredTh auto itorPC = find(cmdList.begin(), cmdList.end()); EXPECT_EQ(cmdList.end(), itorPC); - waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = tmp; } HWTEST_F(CommandStreamReceiverFlushTaskTests, whenSamplerCacheFlushBeforeThenSendPipecontrol) { @@ -339,10 +336,8 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, whenSamplerCacheFlushBeforeThenSen commandStreamReceiver.setSamplerCacheFlushRequired(CommandStreamReceiver::SamplerCacheFlushState::samplerCacheFlushBefore); configureCSRtoNonDirtyState(); commandStreamReceiver.taskLevel = taskLevel; - NEO::WorkaroundTable *waTable = nullptr; - waTable = const_cast(pDevice->getWaTable()); + NEO::WorkaroundTable *waTable = &pDevice->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable; - bool tmp = waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads; waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = true; flushTask(commandStreamReceiver); @@ -356,7 +351,6 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, whenSamplerCacheFlushBeforeThenSen EXPECT_NE(cmdList.end(), itorPC); auto pipeControlCmd = (typename FamilyType::PIPE_CONTROL *)*itorPC; EXPECT_TRUE(pipeControlCmd->getTextureCacheInvalidationEnable()); - waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = tmp; } HWTEST_F(CommandStreamReceiverFlushTaskTests, whenSamplerCacheFlushBeforeAndWaSamplerCacheFlushBetweenRedescribedSurfaceReadsDasabledThenDontSendPipecontrol) { @@ -365,10 +359,8 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, whenSamplerCacheFlushBeforeAndWaSa commandStreamReceiver.setSamplerCacheFlushRequired(CommandStreamReceiver::SamplerCacheFlushState::samplerCacheFlushBefore); configureCSRtoNonDirtyState(); commandStreamReceiver.taskLevel = taskLevel; - NEO::WorkaroundTable *waTable = nullptr; - waTable = const_cast(pDevice->getWaTable()); + NEO::WorkaroundTable *waTable = &pDevice->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable; - bool tmp = waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads; waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = false; flushTask(commandStreamReceiver); @@ -380,7 +372,6 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, whenSamplerCacheFlushBeforeAndWaSa auto itorPC = find(cmdList.begin(), cmdList.end()); EXPECT_EQ(cmdList.end(), itorPC); - waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = tmp; } HWTEST_F(CommandStreamReceiverFlushTaskTests, whenSamplerCacheFlushAfterThenSendPipecontrol) { @@ -389,10 +380,8 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, whenSamplerCacheFlushAfterThenSend commandStreamReceiver.setSamplerCacheFlushRequired(CommandStreamReceiver::SamplerCacheFlushState::samplerCacheFlushAfter); configureCSRtoNonDirtyState(); commandStreamReceiver.taskLevel = taskLevel; - NEO::WorkaroundTable *waTable = nullptr; - waTable = const_cast(pDevice->getWaTable()); + NEO::WorkaroundTable *waTable = &pDevice->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable; - bool tmp = waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads; waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = true; flushTask(commandStreamReceiver); @@ -406,7 +395,6 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, whenSamplerCacheFlushAfterThenSend EXPECT_NE(cmdList.end(), itorPC); auto pipeControlCmd = (typename FamilyType::PIPE_CONTROL *)*itorPC; EXPECT_TRUE(pipeControlCmd->getTextureCacheInvalidationEnable()); - waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = tmp; } HWTEST_F(CommandStreamReceiverFlushTaskTests, completionStampValid) { diff --git a/unit_tests/command_stream/command_stream_receiver_flush_task_2_tests.cpp b/unit_tests/command_stream/command_stream_receiver_flush_task_2_tests.cpp index ec04d5f276..149b05609b 100644 --- a/unit_tests/command_stream/command_stream_receiver_flush_task_2_tests.cpp +++ b/unit_tests/command_stream/command_stream_receiver_flush_task_2_tests.cpp @@ -1040,15 +1040,13 @@ HWTEST_F(CommandStreamReceiverFlushTaskTests, givenCsrWhenSamplerCacheFlushSentT auto samplerCacheFlushBeforeSize = commandStreamReceiver.getRequiredCmdStreamSize(flags, *pDevice); EXPECT_EQ(samplerCacheNotFlushedSize, samplerCacheFlushBeforeSize); - NEO::WorkaroundTable *waTable = const_cast(pDevice->getWaTable()); - bool tmp = waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads; + NEO::WorkaroundTable *waTable = &pDevice->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable; waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = true; samplerCacheFlushBeforeSize = commandStreamReceiver.getRequiredCmdStreamSize(flags, *pDevice); auto difference = samplerCacheFlushBeforeSize - samplerCacheNotFlushedSize; EXPECT_EQ(sizeof(typename FamilyType::PIPE_CONTROL), difference); - waTable->waSamplerCacheFlushBetweenRedescribedSurfaceReads = tmp; } HWTEST_F(CommandStreamReceiverFlushTaskTests, givenCsrInNonDirtyStateWhenflushTaskIsCalledThenNoFlushIsCalled) { diff --git a/unit_tests/fixtures/preemption_fixture.cpp b/unit_tests/fixtures/preemption_fixture.cpp index 963752a4f0..d822240252 100644 --- a/unit_tests/fixtures/preemption_fixture.cpp +++ b/unit_tests/fixtures/preemption_fixture.cpp @@ -49,7 +49,7 @@ void DevicePreemptionTests::SetUp() { ASSERT_NE(nullptr, context); ASSERT_NE(nullptr, cmdQ); - waTable = const_cast(device->getWaTable()); + waTable = &device->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable; } void DevicePreemptionTests::TearDown() { diff --git a/unit_tests/gen8/test_preemption_gen8.cpp b/unit_tests/gen8/test_preemption_gen8.cpp index 55062aa267..51783cf612 100644 --- a/unit_tests/gen8/test_preemption_gen8.cpp +++ b/unit_tests/gen8/test_preemption_gen8.cpp @@ -129,7 +129,7 @@ GEN8TEST_F(Gen8PreemptionTests, getPreemptionWaCsSizeMidBatch) { GEN8TEST_F(Gen8PreemptionTests, getPreemptionWaCsSizeThreadGroupNoWa) { size_t expectedSize = 0; device->setPreemptionMode(PreemptionMode::ThreadGroup); - const_cast(device->getWaTable())->waModifyVFEStateAfterGPGPUPreemption = false; + device->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable.waModifyVFEStateAfterGPGPUPreemption = false; size_t size = PreemptionHelper::getPreemptionWaCsSize(*device); EXPECT_EQ(expectedSize, size); } @@ -138,7 +138,7 @@ GEN8TEST_F(Gen8PreemptionTests, getPreemptionWaCsSizeThreadGroupWa) { typedef typename FamilyType::MI_LOAD_REGISTER_IMM MI_LOAD_REGISTER_IMM; size_t expectedSize = 2 * sizeof(MI_LOAD_REGISTER_IMM); device->setPreemptionMode(PreemptionMode::ThreadGroup); - const_cast(device->getWaTable())->waModifyVFEStateAfterGPGPUPreemption = true; + device->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable.waModifyVFEStateAfterGPGPUPreemption = true; size_t size = PreemptionHelper::getPreemptionWaCsSize(*device); EXPECT_EQ(expectedSize, size); } @@ -146,7 +146,7 @@ GEN8TEST_F(Gen8PreemptionTests, getPreemptionWaCsSizeThreadGroupWa) { GEN8TEST_F(Gen8PreemptionTests, getPreemptionWaCsSizeMidThreadNoWa) { size_t expectedSize = 0; device->setPreemptionMode(PreemptionMode::MidThread); - const_cast(device->getWaTable())->waModifyVFEStateAfterGPGPUPreemption = false; + device->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable.waModifyVFEStateAfterGPGPUPreemption = false; size_t size = PreemptionHelper::getPreemptionWaCsSize(*device); EXPECT_EQ(expectedSize, size); } @@ -155,7 +155,7 @@ GEN8TEST_F(Gen8PreemptionTests, getPreemptionWaCsSizeMidThreadWa) { typedef typename FamilyType::MI_LOAD_REGISTER_IMM MI_LOAD_REGISTER_IMM; size_t expectedSize = 2 * sizeof(MI_LOAD_REGISTER_IMM); device->setPreemptionMode(PreemptionMode::MidThread); - const_cast(device->getWaTable())->waModifyVFEStateAfterGPGPUPreemption = true; + device->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable.waModifyVFEStateAfterGPGPUPreemption = true; size_t size = PreemptionHelper::getPreemptionWaCsSize(*device); EXPECT_EQ(expectedSize, size); } diff --git a/unit_tests/gen9/test_preemption_gen9.cpp b/unit_tests/gen9/test_preemption_gen9.cpp index 0aef339d41..ef93ec19bd 100644 --- a/unit_tests/gen9/test_preemption_gen9.cpp +++ b/unit_tests/gen9/test_preemption_gen9.cpp @@ -88,7 +88,7 @@ GEN9TEST_F(Gen9PreemptionTests, whenMidThreadPreemptionIsAvailableThenStateSipIs GEN9TEST_F(Gen9ThreadGroupPreemptionEnqueueKernelTest, givenSecondEnqueueWithTheSamePreemptionRequestThenDontReprogramThreadGroupNoWa) { pDevice->setPreemptionMode(PreemptionMode::ThreadGroup); - const_cast(pDevice->getWaTable())->waModifyVFEStateAfterGPGPUPreemption = false; + pDevice->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable.waModifyVFEStateAfterGPGPUPreemption = false; auto &csr = pDevice->getUltCommandStreamReceiver(); csr.getMemoryManager()->setForce32BitAllocations(false); csr.setMediaVFEStateDirty(false); @@ -120,7 +120,7 @@ GEN9TEST_F(Gen9ThreadGroupPreemptionEnqueueKernelTest, givenSecondEnqueueWithThe GEN9TEST_F(Gen9ThreadGroupPreemptionEnqueueKernelTest, givenSecondEnqueueWithTheSamePreemptionRequestThenDontReprogramThreadGroupWa) { pDevice->setPreemptionMode(PreemptionMode::ThreadGroup); - const_cast(pDevice->getWaTable())->waModifyVFEStateAfterGPGPUPreemption = true; + pDevice->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable.waModifyVFEStateAfterGPGPUPreemption = true; auto &csr = pDevice->getUltCommandStreamReceiver(); csr.getMemoryManager()->setForce32BitAllocations(false); csr.setMediaVFEStateDirty(false); @@ -249,7 +249,7 @@ GEN9TEST_F(Gen9MidThreadPreemptionEnqueueKernelTest, givenSecondEnqueueWithTheSa typedef typename FamilyType::MI_LOAD_REGISTER_IMM MI_LOAD_REGISTER_IMM; typedef typename FamilyType::GPGPU_CSR_BASE_ADDRESS GPGPU_CSR_BASE_ADDRESS; - const_cast(pDevice->getWaTable())->waModifyVFEStateAfterGPGPUPreemption = false; + pDevice->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable.waModifyVFEStateAfterGPGPUPreemption = false; auto &csr = pDevice->getUltCommandStreamReceiver(); csr.getMemoryManager()->setForce32BitAllocations(false); @@ -326,7 +326,7 @@ GEN9TEST_F(Gen9MidThreadPreemptionEnqueueKernelTest, givenSecondEnqueueWithTheSa typedef typename FamilyType::MI_LOAD_REGISTER_IMM MI_LOAD_REGISTER_IMM; typedef typename FamilyType::GPGPU_CSR_BASE_ADDRESS GPGPU_CSR_BASE_ADDRESS; - const_cast(pDevice->getWaTable())->waModifyVFEStateAfterGPGPUPreemption = true; + pDevice->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable.waModifyVFEStateAfterGPGPUPreemption = true; auto &csr = pDevice->getUltCommandStreamReceiver(); csr.getMemoryManager()->setForce32BitAllocations(false); @@ -450,7 +450,7 @@ GEN9TEST_F(Gen9PreemptionTests, getPreemptionWaCsSizeMidBatch) { GEN9TEST_F(Gen9PreemptionTests, getPreemptionWaCsSizeThreadGroupNoWa) { size_t expectedSize = 0; device->setPreemptionMode(PreemptionMode::ThreadGroup); - const_cast(device->getWaTable())->waModifyVFEStateAfterGPGPUPreemption = false; + device->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable.waModifyVFEStateAfterGPGPUPreemption = false; size_t size = PreemptionHelper::getPreemptionWaCsSize(*device); EXPECT_EQ(expectedSize, size); } @@ -459,7 +459,7 @@ GEN9TEST_F(Gen9PreemptionTests, getPreemptionWaCsSizeThreadGroupWa) { typedef typename FamilyType::MI_LOAD_REGISTER_IMM MI_LOAD_REGISTER_IMM; size_t expectedSize = 2 * sizeof(MI_LOAD_REGISTER_IMM); device->setPreemptionMode(PreemptionMode::ThreadGroup); - const_cast(device->getWaTable())->waModifyVFEStateAfterGPGPUPreemption = true; + device->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable.waModifyVFEStateAfterGPGPUPreemption = true; size_t size = PreemptionHelper::getPreemptionWaCsSize(*device); EXPECT_EQ(expectedSize, size); } @@ -467,7 +467,7 @@ GEN9TEST_F(Gen9PreemptionTests, getPreemptionWaCsSizeThreadGroupWa) { GEN9TEST_F(Gen9PreemptionTests, getPreemptionWaCsSizeMidThreadNoWa) { size_t expectedSize = 0; device->setPreemptionMode(PreemptionMode::MidThread); - const_cast(device->getWaTable())->waModifyVFEStateAfterGPGPUPreemption = false; + device->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable.waModifyVFEStateAfterGPGPUPreemption = false; size_t size = PreemptionHelper::getPreemptionWaCsSize(*device); EXPECT_EQ(expectedSize, size); } @@ -476,7 +476,7 @@ GEN9TEST_F(Gen9PreemptionTests, getPreemptionWaCsSizeMidThreadWa) { typedef typename FamilyType::MI_LOAD_REGISTER_IMM MI_LOAD_REGISTER_IMM; size_t expectedSize = 2 * sizeof(MI_LOAD_REGISTER_IMM); device->setPreemptionMode(PreemptionMode::MidThread); - const_cast(device->getWaTable())->waModifyVFEStateAfterGPGPUPreemption = true; + device->getExecutionEnvironment()->getMutableHardwareInfo()->workaroundTable.waModifyVFEStateAfterGPGPUPreemption = true; size_t size = PreemptionHelper::getPreemptionWaCsSize(*device); EXPECT_EQ(expectedSize, size); } diff --git a/unit_tests/mocks/mock_device.cpp b/unit_tests/mocks/mock_device.cpp index af7cd8cee3..9da3c04682 100644 --- a/unit_tests/mocks/mock_device.cpp +++ b/unit_tests/mocks/mock_device.cpp @@ -34,7 +34,6 @@ MockDevice::MockDevice(ExecutionEnvironment *executionEnvironment, uint32_t devi bool aubUsage = (testMode == TestMode::AubTests) || (testMode == TestMode::AubTestsWithTbx); this->mockMemoryManager.reset(new MemoryManagerCreate(false, enableLocalMemory, aubUsage, *executionEnvironment)); this->osTime = MockOSTime::create(); - mockWaTable = hwInfo.workaroundTable; executionEnvironment->setHwInfo(&hwInfo); executionEnvironment->initializeMemoryManager(); } diff --git a/unit_tests/mocks/mock_device.h b/unit_tests/mocks/mock_device.h index 07ba39c616..48109b6593 100644 --- a/unit_tests/mocks/mock_device.h +++ b/unit_tests/mocks/mock_device.h @@ -40,8 +40,6 @@ class MockDevice : public RootDevice { preemptionMode = mode; } - const WorkaroundTable *getWaTable() const override { return &mockWaTable; } - void injectMemoryManager(MemoryManager *); void setPerfCounters(PerformanceCounters *perfCounters) { @@ -87,9 +85,6 @@ class MockDevice : public RootDevice { } std::unique_ptr mockMemoryManager; - - private: - WorkaroundTable mockWaTable = {}; }; template <>