Refactor Gen12lp programVfeState

Change-Id: I845d6d1f1bffb5289d37a1c789ca33e17ff83a10
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
This commit is contained in:
Kamil Kopryk
2019-10-01 11:51:31 +02:00
committed by sys_ocldev
parent a0617ebe09
commit d0d113a05d
10 changed files with 36 additions and 27 deletions

View File

@@ -26,6 +26,7 @@ template <typename GfxFamily>
struct PreambleHelper {
using MI_LOAD_REGISTER_IMM = typename GfxFamily::MI_LOAD_REGISTER_IMM;
using PIPE_CONTROL = typename GfxFamily::PIPE_CONTROL;
using VFE_STATE_TYPE = typename GfxFamily::VFE_STATE_TYPE;
static void programL3(LinearStream *pCommandStream, uint32_t l3Config);
static void programPipelineSelect(LinearStream *pCommandStream,
@@ -40,6 +41,7 @@ struct PreambleHelper {
int scratchSize,
uint64_t scratchAddress,
uint32_t maxFrontEndThreads);
static void programAdditionalFieldsInVfeState(VFE_STATE_TYPE *mediaVfeState);
static void programPreamble(LinearStream *pCommandStream, Device &device, uint32_t l3Config,
uint32_t requiredThreadArbitrationPolicy, GraphicsAllocation *preemptionCsr, GraphicsAllocation *perDssBackedBuffer);
static void programKernelDebugging(LinearStream *pCommandStream);
@@ -52,9 +54,7 @@ struct PreambleHelper {
static size_t getKernelDebuggingCommandsSize(bool debuggingActive);
static void programGenSpecificPreambleWorkArounds(LinearStream *pCommandStream, const HardwareInfo &hwInfo);
static uint32_t getUrbEntryAllocationSize();
static size_t getPerDssBackedBufferCommandsSize(const HardwareInfo &hwInfo);
static size_t getCmdSizeForPipelineSelect(const HardwareInfo &hwInfo);
};

View File

@@ -111,4 +111,8 @@ bool PreambleHelper<GfxFamily>::isL3Configurable(const HardwareInfo &hwInfo) {
return false;
}
template <typename GfxFamily>
void PreambleHelper<GfxFamily>::programAdditionalFieldsInVfeState(VFE_STATE_TYPE *mediaVfeState) {
}
} // namespace NEO

View File

@@ -48,6 +48,8 @@ uint64_t PreambleHelper<GfxFamily>::programVFEState(LinearStream *pCommandStream
pMediaVfeState->setScratchSpaceBasePointer(lowAddress);
pMediaVfeState->setScratchSpaceBasePointerHigh(highAddress);
programAdditionalFieldsInVfeState(pMediaVfeState);
return scratchSpaceAddressOffset;
}