Files
compute-runtime/runtime/gen12lp/helpers_gen12lp.h
Maciej Dziuban 100f888b85 Enable setting additional params for gen12lp image compression
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
Change-Id: I6228413938930f36c120523818649cde1a717cf2
Related-To: NEO-3564
2019-10-11 07:25:38 +02:00

42 lines
1.5 KiB
C++

/*
* Copyright (C) 2019 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include "runtime/gen12lp/hw_cmds_base.h"
#include "hw_info.h"
namespace AubMemDump {
struct AubStream;
}
struct AubGTTData;
namespace NEO {
class CommandStreamReceiver;
class GraphicsAllocation;
struct PipelineSelectArgs;
class Image;
namespace Gen12LPHelpers {
bool hdcFlushForPipeControlBeforeStateBaseAddressRequired(PRODUCT_FAMILY productFamily);
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);
void setAdditionalPipelineSelectFields(void *pipelineSelectCmd,
const PipelineSelectArgs &pipelineSelectArgs,
const HardwareInfo &hwInfo);
bool isPageTableManagerSupported(const HardwareInfo &hwInfo);
bool obtainRenderBufferCompressionPreference(const HardwareInfo &hwInfo, const size_t size);
void setAdditionalSurfaceStateParamsForImageCompression(Image &image, typename TGLLPFamily::RENDER_SURFACE_STATE *surfaceState);
} // namespace Gen12LPHelpers
} // namespace NEO