P4 to Git Change 1325741 by cpaquot@hog-ocl on 2016/10/12 18:18:44

SWDEV-102937, SWDEV-103130 - Set agent acquire fence all the time in dispatch
	Misunderstanding of fence acquire and release: The fence release doesn't mean another dispatch will wait. So we need to set the acquire in the dispatch kernel even if we insert a barrier packet to try to sync.
	We could try to fix this by including the memory tracking to all the image/buffer operations provided by OpenCL (ReadImage, WriteImage, etc.) but that's a much bigger change and not what it's in place right now at all.

	ReviewBoardURL = http://ocltc.amd.com/reviews/r/11508/diff/

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#15 edit


[ROCm/clr commit: da9d770820]
This commit is contained in:
foreman
2016-10-12 18:27:35 -04:00
parent a4b508cea8
commit 1a5a90160a
@@ -47,7 +47,7 @@ namespace roc {
static const uint16_t kDispatchPacketHeaderNoSync =
(HSA_PACKET_TYPE_KERNEL_DISPATCH << HSA_PACKET_HEADER_TYPE) |
(HSA_FENCE_SCOPE_NONE << HSA_PACKET_HEADER_ACQUIRE_FENCE_SCOPE) |
(HSA_FENCE_SCOPE_AGENT << HSA_PACKET_HEADER_ACQUIRE_FENCE_SCOPE) |
(HSA_FENCE_SCOPE_NONE << HSA_PACKET_HEADER_RELEASE_FENCE_SCOPE);
static const uint16_t kDispatchPacketHeader =