2018-05-08 19:51:31 +08:00
|
|
|
/*
|
2018-11-28 22:32:13 +08:00
|
|
|
* Copyright (C) 2018-2019 Intel Corporation
|
2018-05-08 19:51:31 +08:00
|
|
|
*
|
2018-09-18 15:11:08 +08:00
|
|
|
* SPDX-License-Identifier: MIT
|
2018-05-08 19:51:31 +08:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2019-11-29 22:41:47 +08:00
|
|
|
#include "core/helpers/hw_cmds.h"
|
2019-11-22 16:50:10 +08:00
|
|
|
#include "runtime/helpers/properties_helper.h"
|
2019-08-29 16:42:17 +08:00
|
|
|
|
2019-03-26 18:59:46 +08:00
|
|
|
namespace NEO {
|
2018-05-08 19:51:31 +08:00
|
|
|
|
2018-08-22 01:55:20 +08:00
|
|
|
class Kernel;
|
2018-10-03 01:10:29 +08:00
|
|
|
struct HardwareInfo;
|
2018-08-22 01:55:20 +08:00
|
|
|
|
2018-05-08 19:51:31 +08:00
|
|
|
template <typename GfxFamily>
|
2018-08-21 19:58:37 +08:00
|
|
|
struct UnitTestHelper {
|
2018-05-08 19:51:31 +08:00
|
|
|
static bool isL3ConfigProgrammable();
|
2018-08-22 01:55:20 +08:00
|
|
|
|
|
|
|
static bool evaluateDshUsage(size_t sizeBeforeEnqueue, size_t sizeAfterEnqueue, Kernel *kernel);
|
2018-10-03 01:10:29 +08:00
|
|
|
|
|
|
|
static bool isPageTableManagerSupported(const HardwareInfo &hwInfo);
|
2018-10-18 19:40:53 +08:00
|
|
|
|
2018-11-14 22:29:10 +08:00
|
|
|
static bool isTimestampPacketWriteSupported();
|
2018-11-28 22:32:13 +08:00
|
|
|
|
|
|
|
static bool isExpectMemoryNotEqualSupported();
|
2019-01-04 00:52:08 +08:00
|
|
|
|
|
|
|
static uint32_t getDefaultSshUsage();
|
|
|
|
|
|
|
|
static bool evaluateGshAddressForScratchSpace(uint64_t usedScratchGpuAddress, uint64_t retrievedGshAddress);
|
2019-08-14 15:33:51 +08:00
|
|
|
|
|
|
|
static bool isPipeControlWArequired(const HardwareInfo &hwInfo);
|
2019-08-29 16:42:17 +08:00
|
|
|
|
|
|
|
static uint64_t getMemoryAddress(const typename GfxFamily::MI_ATOMIC &atomic);
|
2019-09-06 16:25:14 +08:00
|
|
|
|
|
|
|
static const bool tiledImagesSupported;
|
2019-10-01 14:35:02 +08:00
|
|
|
|
|
|
|
static const uint32_t smallestTestableSimdSize;
|
2019-11-22 16:50:10 +08:00
|
|
|
|
|
|
|
static const AuxTranslationMode requiredAuxTranslationMode;
|
2018-05-08 19:51:31 +08:00
|
|
|
};
|
2019-03-26 18:59:46 +08:00
|
|
|
} // namespace NEO
|