mirror of
https://github.com/intel/compute-runtime.git
synced 2025-09-15 13:01:45 +08:00
Move sku_info tests to shared
Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
This commit is contained in:

committed by
Compute-Runtime-Automation

parent
939d109362
commit
fd121d8b6b
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (C) 2018-2021 Intel Corporation
|
||||
# Copyright (C) 2018-2022 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
@ -14,7 +14,6 @@ set(IGDRCL_SRCS_tests_sharings_va
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/kernel_va_image_arg_tests.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/mock_va_sharing.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/va_base_object_tests.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/va_device_tests.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/va_sharing_linux_tests.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/va_sharing_tests.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/va_sharing_factory_tests.cpp
|
||||
|
@ -1,6 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2020-2021 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
@ -1,18 +0,0 @@
|
||||
#
|
||||
# Copyright (C) 2018-2021 Intel Corporation
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
set(IGDRCL_SRCS_tests_sku_info
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/sku_info_base_reference.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}${BRANCH_DIR_SUFFIX}sku_info_transfer_tests.cpp
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
list(APPEND IGDRCL_SRCS_tests_sku_info
|
||||
${CMAKE_CURRENT_SOURCE_DIR}${BRANCH_DIR_SUFFIX}sku_info_receiver_tests.cpp
|
||||
)
|
||||
endif()
|
||||
target_sources(igdrcl_tests PRIVATE ${IGDRCL_SRCS_tests_sku_info})
|
@ -1,172 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "shared/source/gmm_helper/gmm_lib.h"
|
||||
|
||||
#include "sku_info.h"
|
||||
|
||||
namespace NEO {
|
||||
struct SkuInfoBaseReference {
|
||||
static void fillReferenceFtrForTransfer(_SKU_FEATURE_TABLE &refFtrTable) {
|
||||
memset(&refFtrTable, 0, sizeof(refFtrTable));
|
||||
refFtrTable.FtrStandardMipTailFormat = 1;
|
||||
refFtrTable.FtrULT = 1;
|
||||
refFtrTable.FtrEDram = 1;
|
||||
refFtrTable.FtrFrameBufferLLC = 1;
|
||||
refFtrTable.FtrCrystalwell = 1;
|
||||
refFtrTable.FtrDisplayEngineS3d = 1;
|
||||
refFtrTable.FtrTileY = 1;
|
||||
refFtrTable.FtrDisplayYTiling = 1;
|
||||
refFtrTable.FtrFbc = 1;
|
||||
refFtrTable.FtrLCIA = 1;
|
||||
refFtrTable.FtrIA32eGfxPTEs = 1;
|
||||
refFtrTable.FtrWddm2GpuMmu = 1;
|
||||
refFtrTable.FtrWddm2_1_64kbPages = 1;
|
||||
|
||||
refFtrTable.FtrTranslationTable = 1;
|
||||
refFtrTable.FtrUserModeTranslationTable = 1;
|
||||
refFtrTable.FtrWddm2Svm = 1;
|
||||
refFtrTable.FtrLLCBypass = 1;
|
||||
|
||||
refFtrTable.FtrE2ECompression = 1;
|
||||
refFtrTable.FtrLinearCCS = 1;
|
||||
refFtrTable.FtrCCSRing = 1;
|
||||
refFtrTable.FtrCCSNode = 1;
|
||||
refFtrTable.FtrMemTypeMocsDeferPAT = 1;
|
||||
refFtrTable.FtrLocalMemory = 1;
|
||||
refFtrTable.FtrLocalMemoryAllows4KB = 1;
|
||||
refFtrTable.FtrSVM = 1;
|
||||
refFtrTable.FtrFlatPhysCCS = 1;
|
||||
refFtrTable.FtrMultiTileArch = 1;
|
||||
refFtrTable.FtrCCSMultiInstance = 1;
|
||||
refFtrTable.FtrPpgtt64KBWalkOptimization = 1;
|
||||
refFtrTable.FtrUnified3DMediaCompressionFormats = 1;
|
||||
refFtrTable.Ftr57bGPUAddressing = 1;
|
||||
}
|
||||
|
||||
static void fillReferenceWaForTransfer(_WA_TABLE &refWaTable) {
|
||||
memset(&refWaTable, 0, sizeof(refWaTable));
|
||||
refWaTable.WaFbcLinearSurfaceStride = 1;
|
||||
refWaTable.WaDisableEdramForDisplayRT = 1;
|
||||
refWaTable.WaEncryptedEdramOnlyPartials = 1;
|
||||
refWaTable.WaLosslessCompressionSurfaceStride = 1;
|
||||
refWaTable.WaRestrictPitch128KB = 1;
|
||||
refWaTable.WaLimit128BMediaCompr = 1;
|
||||
refWaTable.WaUntypedBufferCompression = 1;
|
||||
refWaTable.WaAuxTable16KGranular = 1;
|
||||
refWaTable.WaAuxTable64KGranular = 1;
|
||||
}
|
||||
|
||||
static void fillReferenceFtrToReceive(FeatureTable &refFtrTable) {
|
||||
refFtrTable = {};
|
||||
refFtrTable.flags.ftrDesktop = true;
|
||||
refFtrTable.flags.ftrChannelSwizzlingXOREnabled = true;
|
||||
|
||||
refFtrTable.flags.ftrIVBM0M1Platform = true;
|
||||
refFtrTable.flags.ftrSGTPVSKUStrapPresent = true;
|
||||
refFtrTable.flags.ftr5Slice = true;
|
||||
|
||||
refFtrTable.flags.ftrGpGpuMidBatchPreempt = true;
|
||||
refFtrTable.flags.ftrGpGpuThreadGroupLevelPreempt = true;
|
||||
refFtrTable.flags.ftrGpGpuMidThreadLevelPreempt = true;
|
||||
|
||||
refFtrTable.flags.ftrIoMmuPageFaulting = true;
|
||||
refFtrTable.flags.ftrWddm2Svm = true;
|
||||
refFtrTable.flags.ftrPooledEuEnabled = true;
|
||||
|
||||
refFtrTable.flags.ftrResourceStreamer = true;
|
||||
|
||||
refFtrTable.flags.ftrPPGTT = true;
|
||||
refFtrTable.flags.ftrSVM = true;
|
||||
refFtrTable.flags.ftrEDram = true;
|
||||
refFtrTable.flags.ftrL3IACoherency = true;
|
||||
refFtrTable.flags.ftrIA32eGfxPTEs = true;
|
||||
|
||||
refFtrTable.flags.ftr3dMidBatchPreempt = true;
|
||||
refFtrTable.flags.ftr3dObjectLevelPreempt = true;
|
||||
refFtrTable.flags.ftrPerCtxtPreemptionGranularityControl = true;
|
||||
|
||||
refFtrTable.flags.ftrTileY = true;
|
||||
refFtrTable.flags.ftrDisplayYTiling = true;
|
||||
refFtrTable.flags.ftrTranslationTable = true;
|
||||
refFtrTable.flags.ftrUserModeTranslationTable = true;
|
||||
|
||||
refFtrTable.flags.ftrEnableGuC = true;
|
||||
|
||||
refFtrTable.flags.ftrFbc = true;
|
||||
refFtrTable.flags.ftrFbc2AddressTranslation = true;
|
||||
refFtrTable.flags.ftrFbcBlitterTracking = true;
|
||||
refFtrTable.flags.ftrFbcCpuTracking = true;
|
||||
|
||||
refFtrTable.flags.ftrULT = true;
|
||||
refFtrTable.flags.ftrLCIA = true;
|
||||
refFtrTable.flags.ftrGttCacheInvalidation = true;
|
||||
refFtrTable.flags.ftrTileMappedResource = true;
|
||||
refFtrTable.flags.ftrAstcHdr2D = true;
|
||||
refFtrTable.flags.ftrAstcLdr2D = true;
|
||||
|
||||
refFtrTable.flags.ftrStandardMipTailFormat = true;
|
||||
refFtrTable.flags.ftrFrameBufferLLC = true;
|
||||
refFtrTable.flags.ftrCrystalwell = true;
|
||||
refFtrTable.flags.ftrLLCBypass = true;
|
||||
refFtrTable.flags.ftrDisplayEngineS3d = true;
|
||||
refFtrTable.flags.ftrWddm2GpuMmu = true;
|
||||
refFtrTable.flags.ftrWddm2_1_64kbPages = true;
|
||||
|
||||
refFtrTable.flags.ftrKmdDaf = true;
|
||||
refFtrTable.flags.ftrSimulationMode = true;
|
||||
|
||||
refFtrTable.flags.ftrE2ECompression = true;
|
||||
refFtrTable.flags.ftrLinearCCS = true;
|
||||
refFtrTable.flags.ftrCCSRing = true;
|
||||
refFtrTable.flags.ftrCCSNode = true;
|
||||
refFtrTable.flags.ftrRcsNode = true;
|
||||
refFtrTable.flags.ftrMemTypeMocsDeferPAT = true;
|
||||
refFtrTable.flags.ftrLocalMemory = true;
|
||||
refFtrTable.flags.ftrLocalMemoryAllows4KB = true;
|
||||
|
||||
refFtrTable.flags.ftrFlatPhysCCS = true;
|
||||
refFtrTable.flags.ftrMultiTileArch = true;
|
||||
refFtrTable.flags.ftrCCSMultiInstance = true;
|
||||
refFtrTable.flags.ftrPpgtt64KBWalkOptimization = true;
|
||||
refFtrTable.flags.ftrUnified3DMediaCompressionFormats = true;
|
||||
refFtrTable.flags.ftr57bGPUAddressing = true;
|
||||
}
|
||||
|
||||
static void fillReferenceWaToReceive(WorkaroundTable &refWaTable) {
|
||||
refWaTable = {};
|
||||
refWaTable.flags.waDoNotUseMIReportPerfCount = true;
|
||||
|
||||
refWaTable.flags.waEnablePreemptionGranularityControlByUMD = true;
|
||||
refWaTable.flags.waSendMIFLUSHBeforeVFE = true;
|
||||
refWaTable.flags.waReportPerfCountUseGlobalContextID = true;
|
||||
refWaTable.flags.waDisableLSQCROPERFforOCL = true;
|
||||
refWaTable.flags.waMsaa8xTileYDepthPitchAlignment = true;
|
||||
refWaTable.flags.waLosslessCompressionSurfaceStride = true;
|
||||
refWaTable.flags.waFbcLinearSurfaceStride = true;
|
||||
refWaTable.flags.wa4kAlignUVOffsetNV12LinearSurface = true;
|
||||
refWaTable.flags.waEncryptedEdramOnlyPartials = true;
|
||||
refWaTable.flags.waDisableEdramForDisplayRT = true;
|
||||
refWaTable.flags.waForcePcBbFullCfgRestore = true;
|
||||
refWaTable.flags.waCompressedResourceRequiresConstVA21 = true;
|
||||
refWaTable.flags.waDisablePerCtxtPreemptionGranularityControl = true;
|
||||
refWaTable.flags.waLLCCachingUnsupported = true;
|
||||
refWaTable.flags.waUseVAlign16OnTileXYBpp816 = true;
|
||||
refWaTable.flags.waModifyVFEStateAfterGPGPUPreemption = true;
|
||||
refWaTable.flags.waCSRUncachable = true;
|
||||
refWaTable.flags.waSamplerCacheFlushBetweenRedescribedSurfaceReads = true;
|
||||
refWaTable.flags.waRestrictPitch128KB = true;
|
||||
refWaTable.flags.waLimit128BMediaCompr = true;
|
||||
refWaTable.flags.waUntypedBufferCompression = true;
|
||||
refWaTable.flags.waAuxTable16KGranular = true;
|
||||
refWaTable.flags.waDisableFusedThreadScheduling = true;
|
||||
refWaTable.flags.waAuxTable64KGranular = true;
|
||||
}
|
||||
}; // namespace SkuInfoBaseReference
|
||||
} // namespace NEO
|
@ -1,98 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/sku_info/operations/windows/sku_info_receiver.h"
|
||||
|
||||
#include "opencl/test/unit_test/sku_info/sku_info_base_reference.h"
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
using namespace NEO;
|
||||
|
||||
inline bool operator==(const FeatureTable &lhs, const FeatureTable &rhs) {
|
||||
return lhs.ftrBcsInfo == rhs.ftrBcsInfo && lhs.packed == rhs.packed;
|
||||
}
|
||||
|
||||
TEST(SkuInfoReceiverTest, givenAdapterInfoWhenReceivingThenUpdateFtrTable) {
|
||||
FeatureTable refFeatureTable = {};
|
||||
FeatureTable requestedFeatureTable = {};
|
||||
ADAPTER_INFO adapterInfo = {};
|
||||
memset(&adapterInfo.SkuTable, ~0, sizeof(adapterInfo.SkuTable));
|
||||
|
||||
EXPECT_EQ(1lu, requestedFeatureTable.ftrBcsInfo.to_ulong());
|
||||
|
||||
SkuInfoReceiver::receiveFtrTableFromAdapterInfo(&requestedFeatureTable, &adapterInfo);
|
||||
|
||||
SkuInfoBaseReference::fillReferenceFtrToReceive(refFeatureTable);
|
||||
|
||||
EXPECT_EQ(1lu, requestedFeatureTable.ftrBcsInfo.to_ulong());
|
||||
|
||||
EXPECT_TRUE(refFeatureTable == requestedFeatureTable);
|
||||
|
||||
refFeatureTable.flags.ftr3dMidBatchPreempt = false;
|
||||
requestedFeatureTable.flags.ftr3dMidBatchPreempt = true;
|
||||
|
||||
EXPECT_FALSE(refFeatureTable == requestedFeatureTable);
|
||||
}
|
||||
|
||||
TEST(SkuInfoReceiverTest, givenFeatureTableWhenDifferentDataThenEqualityOperatorReturnsCorrectScore) {
|
||||
FeatureTable refFeatureTable = {};
|
||||
FeatureTable requestedFeatureTable = {};
|
||||
|
||||
refFeatureTable.ftrBcsInfo = 1;
|
||||
requestedFeatureTable.ftrBcsInfo = 0;
|
||||
|
||||
EXPECT_FALSE(refFeatureTable == requestedFeatureTable);
|
||||
|
||||
refFeatureTable.ftrBcsInfo = 0;
|
||||
requestedFeatureTable.ftrBcsInfo = 1;
|
||||
|
||||
EXPECT_FALSE(refFeatureTable == requestedFeatureTable);
|
||||
|
||||
refFeatureTable.ftrBcsInfo = 1;
|
||||
requestedFeatureTable.ftrBcsInfo = 1;
|
||||
refFeatureTable.packed[0] = 1u;
|
||||
requestedFeatureTable.packed[0] = 0;
|
||||
|
||||
EXPECT_FALSE(refFeatureTable == requestedFeatureTable);
|
||||
|
||||
refFeatureTable.packed[0] = 0;
|
||||
requestedFeatureTable.packed[0] = 1;
|
||||
|
||||
EXPECT_FALSE(refFeatureTable == requestedFeatureTable);
|
||||
|
||||
refFeatureTable.packed[0] = 0;
|
||||
requestedFeatureTable.packed[0] = 0;
|
||||
refFeatureTable.packed[1] = 0;
|
||||
requestedFeatureTable.packed[1] = 1;
|
||||
|
||||
EXPECT_FALSE(refFeatureTable == requestedFeatureTable);
|
||||
|
||||
refFeatureTable.packed[0] = 0;
|
||||
requestedFeatureTable.packed[0] = 0;
|
||||
refFeatureTable.packed[1] = 1;
|
||||
requestedFeatureTable.packed[1] = 0;
|
||||
|
||||
EXPECT_FALSE(refFeatureTable == requestedFeatureTable);
|
||||
|
||||
refFeatureTable.packed[1] = 1;
|
||||
requestedFeatureTable.packed[1] = 1;
|
||||
|
||||
EXPECT_TRUE(refFeatureTable == requestedFeatureTable);
|
||||
}
|
||||
|
||||
TEST(SkuInfoReceiverTest, givenAdapterInfoWhenReceivingThenUpdateWaTable) {
|
||||
WorkaroundTable refWaTable = {};
|
||||
WorkaroundTable requestedWaTable = {};
|
||||
ADAPTER_INFO adapterInfo = {};
|
||||
memset(&adapterInfo.WaTable, ~0, sizeof(adapterInfo.WaTable));
|
||||
SkuInfoReceiver::receiveWaTableFromAdapterInfo(&requestedWaTable, &adapterInfo);
|
||||
|
||||
SkuInfoBaseReference::fillReferenceWaToReceive(refWaTable);
|
||||
|
||||
EXPECT_TRUE(memcmp(&requestedWaTable, &refWaTable, sizeof(WorkaroundTable)) == 0);
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2018-2021 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include "shared/source/sku_info/operations/sku_info_transfer.h"
|
||||
|
||||
#include "opencl/test/unit_test/sku_info/sku_info_base_reference.h"
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
using namespace NEO;
|
||||
|
||||
TEST(SkuInfoTransferTest, givenFeatureTableWhenFillingStructureForGmmThenCopyOnlySelectedValues) {
|
||||
_SKU_FEATURE_TABLE requestedFtrTable = {};
|
||||
_SKU_FEATURE_TABLE refFtrTable = {};
|
||||
FeatureTable featureTable;
|
||||
|
||||
for (auto &e : featureTable.packed) {
|
||||
e = std::numeric_limits<uint32_t>::max();
|
||||
}
|
||||
|
||||
SkuInfoTransfer::transferFtrTableForGmm(&requestedFtrTable, &featureTable);
|
||||
|
||||
SkuInfoBaseReference::fillReferenceFtrForTransfer(refFtrTable);
|
||||
|
||||
EXPECT_TRUE(memcmp(&requestedFtrTable, &refFtrTable, sizeof(_SKU_FEATURE_TABLE)) == 0);
|
||||
}
|
||||
|
||||
TEST(SkuInfoTransferTest, givenWaTableWhenFillingStructureForGmmThenCopyOnlySelectedValues) {
|
||||
_WA_TABLE requestedWaTable = {};
|
||||
_WA_TABLE refWaTable = {};
|
||||
WorkaroundTable waTable;
|
||||
refWaTable = {};
|
||||
|
||||
for (auto &e : waTable.packed) {
|
||||
e = std::numeric_limits<uint32_t>::max();
|
||||
}
|
||||
|
||||
SkuInfoTransfer::transferWaTableForGmm(&requestedWaTable, &waTable);
|
||||
|
||||
SkuInfoBaseReference::fillReferenceWaForTransfer(refWaTable);
|
||||
|
||||
EXPECT_TRUE(memcmp(&requestedWaTable, &refWaTable, sizeof(_WA_TABLE)) == 0);
|
||||
}
|
Reference in New Issue
Block a user