fix: Adjust ULLS init vector for MTL

Related-To: NEO-8067

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
This commit is contained in:
Lukasz Jobczyk 2023-06-23 08:28:45 +00:00 committed by Compute-Runtime-Automation
parent 2d01bdec81
commit 51d922f5a1
2 changed files with 73 additions and 49 deletions

View File

@ -33,55 +33,54 @@ const PLATFORM MTL::platform = {
const RuntimeCapabilityTable MTL::capabilityTable{
EngineDirectSubmissionInitVec{
{aub_stream::ENGINE_RCS, {true, true}},
{aub_stream::ENGINE_CCS, {true, true}}}, // directSubmissionEngines
{0, 0, 0, 0, false, false, false, false}, // kmdNotifyProperties
MemoryConstants::max48BitAddress, // gpuAddressSpace
0, // sharedSystemMemCapabilities
83.333, // defaultProfilingTimerResolution
MemoryConstants::pageSize, // requiredPreemptionSurfaceSize
"", // deviceName
PreemptionMode::ThreadGroup, // defaultPreemptionMode
aub_stream::ENGINE_CCS, // defaultEngineType
0, // maxRenderFrequency
30, // clVersionSupport
CmdServicesMemTraceVersion::DeviceValues::Mtl, // aubDeviceId
0, // extraQuantityThreadsPerEU
64, // slmSize
sizeof(MTL::GRF), // grfSize
36u, // timestampValidBits
32u, // kernelTimestampValidBits
false, // blitterOperationsSupported
true, // ftrSupportsInteger64BitAtomics
true, // ftrSupportsFP64
false, // ftrSupportsFP64Emulation
true, // ftrSupports64BitMath
true, // ftrSvm
false, // ftrSupportsCoherency
false, // ftrSupportsVmeAvcTextureSampler
false, // ftrSupportsVmeAvcPreemption
false, // ftrRenderCompressedBuffers
false, // ftrRenderCompressedImages
true, // ftr64KBpages
true, // instrumentationEnabled
false, // sourceLevelDebuggerSupported
false, // supportsVme
true, // supportCacheFlushAfterWalker
true, // supportsImages
false, // supportsDeviceEnqueue
false, // supportsPipes
true, // supportsOcl21Features
false, // supportsOnDemandPageFaults
false, // supportsIndependentForwardProgress
false, // hostPtrTrackingEnabled
true, // levelZeroSupported
true, // isIntegratedDevice
true, // supportsMediaBlock
false, // p2pAccessSupported
false, // p2pAtomicAccessSupported
true, // fusedEuEnabled
true, // l0DebuggerSupported
true // supportsFloatAtomics
{aub_stream::ENGINE_CCS, {true, false, false, true}}}, // directSubmissionEngines
{0, 0, 0, 0, false, false, false, false}, // kmdNotifyProperties
MemoryConstants::max48BitAddress, // gpuAddressSpace
0, // sharedSystemMemCapabilities
83.333, // defaultProfilingTimerResolution
MemoryConstants::pageSize, // requiredPreemptionSurfaceSize
"", // deviceName
PreemptionMode::ThreadGroup, // defaultPreemptionMode
aub_stream::ENGINE_CCS, // defaultEngineType
0, // maxRenderFrequency
30, // clVersionSupport
CmdServicesMemTraceVersion::DeviceValues::Mtl, // aubDeviceId
0, // extraQuantityThreadsPerEU
64, // slmSize
sizeof(MTL::GRF), // grfSize
36u, // timestampValidBits
32u, // kernelTimestampValidBits
false, // blitterOperationsSupported
true, // ftrSupportsInteger64BitAtomics
true, // ftrSupportsFP64
false, // ftrSupportsFP64Emulation
true, // ftrSupports64BitMath
true, // ftrSvm
false, // ftrSupportsCoherency
false, // ftrSupportsVmeAvcTextureSampler
false, // ftrSupportsVmeAvcPreemption
false, // ftrRenderCompressedBuffers
false, // ftrRenderCompressedImages
true, // ftr64KBpages
true, // instrumentationEnabled
false, // sourceLevelDebuggerSupported
false, // supportsVme
true, // supportCacheFlushAfterWalker
true, // supportsImages
false, // supportsDeviceEnqueue
false, // supportsPipes
true, // supportsOcl21Features
false, // supportsOnDemandPageFaults
false, // supportsIndependentForwardProgress
false, // hostPtrTrackingEnabled
true, // levelZeroSupported
true, // isIntegratedDevice
true, // supportsMediaBlock
false, // p2pAccessSupported
false, // p2pAtomicAccessSupported
true, // fusedEuEnabled
true, // l0DebuggerSupported
true // supportsFloatAtomics
};
WorkaroundTable MTL::workaroundTable = {};

View File

@ -55,6 +55,31 @@ MTLTEST_F(MtlHwInfoTests, WhenSetupHardwareInfoWithSetupFeatureTableFlagTrueOrFa
EXPECT_TRUE(workaroundTable.flags.waUntypedBufferCompression);
}
MTLTEST_F(MtlHwInfoTests, givenMtlCapabilityTableWhenCheckDirectSubmissionEnginesThenProperValuesAreSetToTrue) {
HardwareInfo hwInfo = *defaultHwInfo;
const auto &directSubmissionEngines = hwInfo.capabilityTable.directSubmissionEngines;
for (uint32_t i = 0; i < aub_stream::NUM_ENGINES; i++) {
switch (i) {
case aub_stream::ENGINE_CCS:
EXPECT_TRUE(directSubmissionEngines.data[i].engineSupported);
EXPECT_FALSE(directSubmissionEngines.data[i].submitOnInit);
EXPECT_FALSE(directSubmissionEngines.data[i].useNonDefault);
EXPECT_TRUE(directSubmissionEngines.data[i].useRootDevice);
EXPECT_FALSE(directSubmissionEngines.data[i].useInternal);
EXPECT_FALSE(directSubmissionEngines.data[i].useLowPriority);
break;
default:
EXPECT_FALSE(directSubmissionEngines.data[i].engineSupported);
EXPECT_FALSE(directSubmissionEngines.data[i].submitOnInit);
EXPECT_FALSE(directSubmissionEngines.data[i].useNonDefault);
EXPECT_FALSE(directSubmissionEngines.data[i].useRootDevice);
EXPECT_FALSE(directSubmissionEngines.data[i].useInternal);
EXPECT_FALSE(directSubmissionEngines.data[i].useLowPriority);
}
}
}
MTLTEST_F(MtlHwInfoTests, WhenSetupHardwareInfoWithSetupFeatureTableFlagTrueOrFalseIsCalledThenFeatureTableHasCorrectValueOfFtrLinearCCS) {
HardwareInfo hwInfo = *defaultHwInfo;
auto compilerProductHelper = CompilerProductHelper::create(hwInfo.platform.eProductFamily);