mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-24 21:18:24 +08:00
fix(l0): do not memcpy on cpu if need unlock ptr
Do not use cpu memory copy on windows if need to unlock locked ptr. Related-To: NEO-7553 Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
2484c7ceb2
commit
8da362afae
@@ -1349,7 +1349,8 @@ HWTEST_F(GfxCoreHelperTest, givenGfxCoreHelperWhenAskingForRelaxedOrderingSuppor
|
||||
|
||||
HWTEST2_F(GfxCoreHelperTest, givenGfxCoreHelperWhenCallCopyThroughLockedPtrEnabledThenReturnFalse, IsNotXeHpgOrXeHpcCore) {
|
||||
const auto &gfxCoreHelper = getHelper<GfxCoreHelper>();
|
||||
EXPECT_FALSE(gfxCoreHelper.copyThroughLockedPtrEnabled(*defaultHwInfo));
|
||||
const auto &productHelper = getHelper<ProductHelper>();
|
||||
EXPECT_FALSE(gfxCoreHelper.copyThroughLockedPtrEnabled(*defaultHwInfo, productHelper));
|
||||
}
|
||||
|
||||
HWTEST2_F(GfxCoreHelperTest, givenGfxCoreHelperWhenCallGetAmountOfAllocationsToFillThenReturnFalse, IsNotXeHpcCore) {
|
||||
@@ -1360,11 +1361,12 @@ HWTEST2_F(GfxCoreHelperTest, givenGfxCoreHelperWhenCallGetAmountOfAllocationsToF
|
||||
HWTEST_F(GfxCoreHelperTest, givenGfxCoreHelperWhenFlagSetAndCallCopyThroughLockedPtrEnabledThenReturnCorrectValue) {
|
||||
DebugManagerStateRestore restorer;
|
||||
const auto &gfxCoreHelper = getHelper<GfxCoreHelper>();
|
||||
const auto &productHelper = getHelper<ProductHelper>();
|
||||
DebugManager.flags.ExperimentalCopyThroughLock.set(0);
|
||||
EXPECT_FALSE(gfxCoreHelper.copyThroughLockedPtrEnabled(*defaultHwInfo));
|
||||
EXPECT_FALSE(gfxCoreHelper.copyThroughLockedPtrEnabled(*defaultHwInfo, productHelper));
|
||||
|
||||
DebugManager.flags.ExperimentalCopyThroughLock.set(1);
|
||||
EXPECT_TRUE(gfxCoreHelper.copyThroughLockedPtrEnabled(*defaultHwInfo));
|
||||
EXPECT_TRUE(gfxCoreHelper.copyThroughLockedPtrEnabled(*defaultHwInfo, productHelper));
|
||||
}
|
||||
|
||||
HWTEST_F(GfxCoreHelperTest, givenGfxCoreHelperWhenFlagSetAndCallGetAmountOfAllocationsToFillThenReturnCorrectValue) {
|
||||
|
||||
@@ -81,8 +81,9 @@ XE_HPC_CORETEST_F(ProductHelperTestXeHpcCore, givenProductHelperWhenCheckTimesta
|
||||
}
|
||||
|
||||
XE_HPC_CORETEST_F(GfxCoreHelperTest, givenGfxCoreHelperWhenCallCopyThroughLockedPtrEnabledThenReturnTrue) {
|
||||
auto &gfxCoreHelper = getHelper<GfxCoreHelper>();
|
||||
EXPECT_TRUE(gfxCoreHelper.copyThroughLockedPtrEnabled(*defaultHwInfo));
|
||||
const auto &gfxCoreHelper = getHelper<GfxCoreHelper>();
|
||||
const auto &productHelper = getHelper<ProductHelper>();
|
||||
EXPECT_TRUE(gfxCoreHelper.copyThroughLockedPtrEnabled(*defaultHwInfo, productHelper));
|
||||
}
|
||||
|
||||
XE_HPC_CORETEST_F(GfxCoreHelperTest, givenGfxCoreHelperWhenCallGetAmountOfAllocationsToFillThenReturnTrue) {
|
||||
|
||||
@@ -635,6 +635,5 @@ DG2TEST_F(ProductHelperTestDg2, givenDebugFlagWhenCheckingIsResolveDependenciesB
|
||||
}
|
||||
|
||||
DG2TEST_F(ProductHelperTestDg2, givenProductHelperWhenCheckingIsBufferPoolAllocatorSupportedThenCorrectValueIsReturned) {
|
||||
|
||||
EXPECT_TRUE(productHelper->isBufferPoolAllocatorSupported());
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "shared/test/common/fixtures/device_fixture.h"
|
||||
#include "shared/test/common/helpers/debug_manager_state_restore.h"
|
||||
#include "shared/test/common/helpers/gfx_core_helper_tests.h"
|
||||
#include "shared/test/common/helpers/mock_hw_info_config_hw.h"
|
||||
#include "shared/test/common/helpers/unit_test_helper.h"
|
||||
#include "shared/test/common/mocks/mock_device.h"
|
||||
#include "shared/test/common/mocks/mock_execution_environment.h"
|
||||
@@ -295,11 +296,27 @@ XE_HPG_CORETEST_F(GfxCoreHelperTestXeHpgCore,
|
||||
EXPECT_EQ(immediateValue, pipeControl->getImmediateData());
|
||||
}
|
||||
|
||||
XE_HPG_CORETEST_F(GfxCoreHelperTestXeHpgCore, givenGfxCoreHelperWhenCallCopyThroughLockedPtrEnabledThenReturnFalse) {
|
||||
auto &gfxCoreHelper = getHelper<GfxCoreHelper>();
|
||||
if (gfxCoreHelper.isLocalMemoryEnabled(*defaultHwInfo)) {
|
||||
EXPECT_TRUE(gfxCoreHelper.copyThroughLockedPtrEnabled(*defaultHwInfo));
|
||||
} else {
|
||||
EXPECT_FALSE(gfxCoreHelper.copyThroughLockedPtrEnabled(*defaultHwInfo));
|
||||
XE_HPG_CORETEST_F(GfxCoreHelperTestXeHpgCore, givenGfxCoreHelperWhenCallCopyThroughLockedPtrEnabledThenReturnCorrectValue) {
|
||||
const auto &gfxCoreHelper = getHelper<GfxCoreHelper>();
|
||||
MockProductHelperHw<IGFX_UNKNOWN> mockProductHelper;
|
||||
{
|
||||
hardwareInfo.featureTable.flags.ftrLocalMemory = false;
|
||||
mockProductHelper.returnedIsUnlockingLockedPtrNecessary = false;
|
||||
EXPECT_FALSE(gfxCoreHelper.copyThroughLockedPtrEnabled(hardwareInfo, mockProductHelper));
|
||||
}
|
||||
{
|
||||
hardwareInfo.featureTable.flags.ftrLocalMemory = true;
|
||||
mockProductHelper.returnedIsUnlockingLockedPtrNecessary = false;
|
||||
EXPECT_TRUE(gfxCoreHelper.copyThroughLockedPtrEnabled(hardwareInfo, mockProductHelper));
|
||||
}
|
||||
{
|
||||
hardwareInfo.featureTable.flags.ftrLocalMemory = false;
|
||||
mockProductHelper.returnedIsUnlockingLockedPtrNecessary = true;
|
||||
EXPECT_FALSE(gfxCoreHelper.copyThroughLockedPtrEnabled(hardwareInfo, mockProductHelper));
|
||||
}
|
||||
{
|
||||
hardwareInfo.featureTable.flags.ftrLocalMemory = true;
|
||||
mockProductHelper.returnedIsUnlockingLockedPtrNecessary = true;
|
||||
EXPECT_FALSE(gfxCoreHelper.copyThroughLockedPtrEnabled(hardwareInfo, mockProductHelper));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user