2019-09-19 01:32:33 +08:00
|
|
|
/*
|
2021-01-28 16:41:56 +08:00
|
|
|
* Copyright (C) 2019-2021 Intel Corporation
|
2019-09-19 01:32:33 +08:00
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2020-02-24 05:44:01 +08:00
|
|
|
#include "shared/source/gen12lp/hw_cmds_base.h"
|
2019-09-19 01:32:33 +08:00
|
|
|
|
|
|
|
namespace AubMemDump {
|
|
|
|
struct AubStream;
|
|
|
|
}
|
|
|
|
struct AubGTTData;
|
|
|
|
|
|
|
|
namespace NEO {
|
|
|
|
class CommandStreamReceiver;
|
|
|
|
class GraphicsAllocation;
|
2020-10-15 19:18:34 +08:00
|
|
|
struct HardwareInfo;
|
2019-09-19 01:32:33 +08:00
|
|
|
struct PipelineSelectArgs;
|
2019-10-09 23:32:35 +08:00
|
|
|
class Image;
|
2020-10-30 16:02:18 +08:00
|
|
|
enum class LocalMemoryAccessMode;
|
2019-09-19 01:32:33 +08:00
|
|
|
|
|
|
|
namespace Gen12LPHelpers {
|
|
|
|
bool pipeControlWaRequired(PRODUCT_FAMILY productFamily);
|
|
|
|
bool imagePitchAlignmentWaRequired(PRODUCT_FAMILY productFamily);
|
|
|
|
void adjustCoherencyFlag(PRODUCT_FAMILY productFamily, bool &coherencyFlag);
|
|
|
|
bool isLocalMemoryEnabled(const HardwareInfo &hwInfo);
|
|
|
|
void initAdditionalGlobalMMIO(const CommandStreamReceiver &commandStreamReceiver, AubMemDump::AubStream &stream);
|
|
|
|
uint64_t getPPGTTAdditionalBits(GraphicsAllocation *graphicsAllocation);
|
|
|
|
void adjustAubGTTData(const CommandStreamReceiver &commandStreamReceiver, AubGTTData &data);
|
2020-01-27 22:42:06 +08:00
|
|
|
bool isOffsetToSkipSetFFIDGPWARequired(const HardwareInfo &hwInfo);
|
|
|
|
bool isForceEmuInt32DivRemSPWARequired(const HardwareInfo &hwInfo);
|
2020-03-19 22:15:51 +08:00
|
|
|
bool is3DPipelineSelectWARequired(const HardwareInfo &hwInfo);
|
2021-08-04 08:04:09 +08:00
|
|
|
inline void adjustPlatformForProductFamily(PLATFORM &platform, GFXCORE_FAMILY newCoreFamily) {
|
|
|
|
platform.eRenderCoreFamily = IGFX_GEN12LP_CORE;
|
|
|
|
platform.eDisplayCoreFamily = IGFX_GEN12LP_CORE;
|
|
|
|
}
|
2020-01-27 22:42:06 +08:00
|
|
|
|
2019-09-19 01:32:33 +08:00
|
|
|
} // namespace Gen12LPHelpers
|
|
|
|
} // namespace NEO
|