mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-26 15:03:02 +08:00
Add flag to emit pipe control prior to walker.
Change-Id: Ief410664b09d758394744ebdf011923556864035
This commit is contained in:
committed by
sys_ocldev
parent
8324317f90
commit
49a7fb4b19
@@ -315,6 +315,7 @@ struct MemorySynchronizationCommands {
|
||||
static void addAdditionalSynchronization(LinearStream &commandStream, uint64_t gpuAddress, const HardwareInfo &hwInfo);
|
||||
|
||||
static void addPipeControl(LinearStream &commandStream, PipeControlArgs &args);
|
||||
static void addPipeControlWithCSStallOnly(LinearStream &commandStream, PipeControlArgs &args);
|
||||
|
||||
static void addFullCacheFlush(LinearStream &commandStream);
|
||||
static void setCacheFlushExtraProperties(PIPE_CONTROL &pipeControl);
|
||||
|
||||
@@ -234,7 +234,6 @@ void MemorySynchronizationCommands<GfxFamily>::setPipeControl(typename GfxFamily
|
||||
pipeControl.setStateCacheInvalidationEnable(args.stateCacheInvalidationEnable);
|
||||
pipeControl.setTextureCacheInvalidationEnable(args.textureCacheInvalidationEnable);
|
||||
pipeControl.setVfCacheInvalidationEnable(args.vfCacheInvalidationEnable);
|
||||
pipeControl.setVfCacheInvalidationEnable(args.vfCacheInvalidationEnable);
|
||||
pipeControl.setGenericMediaStateClear(args.genericMediaStateClear);
|
||||
|
||||
setPipeControlExtraProperties(pipeControl, args);
|
||||
@@ -260,6 +259,15 @@ void MemorySynchronizationCommands<GfxFamily>::addPipeControl(LinearStream &comm
|
||||
*pipeControl = cmd;
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
void MemorySynchronizationCommands<GfxFamily>::addPipeControlWithCSStallOnly(LinearStream &commandStream, PipeControlArgs &args) {
|
||||
using PIPE_CONTROL = typename GfxFamily::PIPE_CONTROL;
|
||||
PIPE_CONTROL cmd = GfxFamily::cmdInitPipeControl;
|
||||
cmd.setCommandStreamerStallEnable(true);
|
||||
auto pipeControl = commandStream.getSpaceForCmd<PIPE_CONTROL>();
|
||||
*pipeControl = cmd;
|
||||
}
|
||||
|
||||
template <typename GfxFamily>
|
||||
size_t MemorySynchronizationCommands<GfxFamily>::getSizeForSinglePipeControl() {
|
||||
return sizeof(typename GfxFamily::PIPE_CONTROL);
|
||||
|
||||
Reference in New Issue
Block a user