Program barrierTimestampPacketNodes only on first unblocked command

Change-Id: I8ebba9f8326e3da2365c001b0c350efb372a3774
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
This commit is contained in:
Dunajski, Bartosz
2019-11-12 09:37:16 +01:00
committed by sys_ocldev
parent 44bc1057d1
commit 80407aec15
8 changed files with 71 additions and 28 deletions

View File

@@ -345,7 +345,6 @@ class CommandQueueHw : public CommandQueue {
size_t surfacesCount,
const MultiDispatchInfo &multiDispatchInfo,
TimestampPacketContainer &previousTimestampPacketNodes,
TimestampPacketContainer &barrierTimestampPacketNode,
std::unique_ptr<KernelOperation> &blockedCommandsData,
const EnqueueProperties &enqueueProperties,
EventsRequest &eventsRequest,
@@ -359,7 +358,7 @@ class CommandQueueHw : public CommandQueue {
bool &blocking,
const EnqueueProperties &enqueueProperties,
TimestampPacketContainer *previousTimestampPacketNodes,
const TimestampPacketContainer &barrierTimestampPacketNodes,
TimestampPacketContainer &barrierTimestampPacketNodes,
EventsRequest &eventsRequest,
EventBuilder &eventBuilder,
uint32_t taskLevel);

View File

@@ -205,7 +205,7 @@ void CommandQueueHw<GfxFamily>::enqueueHandler(Surface **surfacesForResidency,
nodesCount = estimateTimestampPacketNodesCount(multiDispatchInfo);
}
if (blitEnqueue && getGpgpuCommandStreamReceiver().isStallingPipeControlOnNextFlushRequired()) {
if (blitEnqueue && !blockQueue && getGpgpuCommandStreamReceiver().isStallingPipeControlOnNextFlushRequired()) {
auto allocator = getGpgpuCommandStreamReceiver().getTimestampPacketAllocator();
barrierTimestampPacketNode.add(allocator->getTag());
}
@@ -346,7 +346,6 @@ void CommandQueueHw<GfxFamily>::enqueueHandler(Surface **surfacesForResidency,
numSurfaceForResidency,
multiDispatchInfo,
previousTimestampPacketNodes,
barrierTimestampPacketNode,
blockedCommandsData,
enqueueProperties,
eventsRequest,
@@ -741,7 +740,6 @@ void CommandQueueHw<GfxFamily>::enqueueBlocked(
size_t surfaceCount,
const MultiDispatchInfo &multiDispatchInfo,
TimestampPacketContainer &previousTimestampPacketNodes,
TimestampPacketContainer &barrierTimestampPacketNode,
std::unique_ptr<KernelOperation> &blockedCommandsData,
const EnqueueProperties &enqueueProperties,
EventsRequest &eventsRequest,
@@ -820,8 +818,7 @@ void CommandQueueHw<GfxFamily>::enqueueBlocked(
auto event = castToObjectOrAbort<Event>(eventsRequest.eventWaitList[i]);
event->incRefInternal();
}
command->setTimestampPacketNode(*timestampPacketContainer, std::move(previousTimestampPacketNodes),
std::move(barrierTimestampPacketNode));
command->setTimestampPacketNode(*timestampPacketContainer, std::move(previousTimestampPacketNodes));
command->setEventsRequest(eventsRequest);
}
outEvent->setCommand(std::move(command));
@@ -846,7 +843,7 @@ CompletionStamp CommandQueueHw<GfxFamily>::enqueueCommandWithoutKernel(
bool &blocking,
const EnqueueProperties &enqueueProperties,
TimestampPacketContainer *previousTimestampPacketNodes,
const TimestampPacketContainer &barrierTimestampPacketNodes,
TimestampPacketContainer &barrierTimestampPacketNodes,
EventsRequest &eventsRequest,
EventBuilder &eventBuilder,
uint32_t taskLevel) {