mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-23 11:03:02 +08:00
Fixes for misaligned hostPtr enqueueReadWrite
- use getGpuAddress for BuiltinOpParams - fix read/writeImage Change-Id: I2e6e9a1d91871fa9f22851f31eb5a7b337b5aecc
This commit is contained in:
committed by
sys_ocldev
parent
3c59bae5a4
commit
64ff9d30b7
@@ -89,13 +89,6 @@ cl_int CommandQueueHw<GfxFamily>::enqueueWriteBuffer(
|
||||
BuiltInOwnershipWrapper builtInLock(builder, this->context);
|
||||
|
||||
void *srcPtr = const_cast<void *>(ptr);
|
||||
void *alignedSrcPtr = srcPtr;
|
||||
size_t srcPtrOffset = 0;
|
||||
|
||||
if (!isAligned<4>(srcPtr)) {
|
||||
alignedSrcPtr = alignDown(srcPtr, 4);
|
||||
srcPtrOffset = ptrDiff(srcPtr, alignedSrcPtr);
|
||||
}
|
||||
|
||||
HostPtrSurface hostPtrSurf(srcPtr, size, true);
|
||||
MemObjSurface bufferSurf(buffer);
|
||||
@@ -106,8 +99,12 @@ cl_int CommandQueueHw<GfxFamily>::enqueueWriteBuffer(
|
||||
if (!status) {
|
||||
return CL_OUT_OF_RESOURCES;
|
||||
}
|
||||
srcPtr = reinterpret_cast<void *>(hostPtrSurf.getAllocation()->getGpuAddress());
|
||||
}
|
||||
|
||||
void *alignedSrcPtr = alignDown(srcPtr, 4);
|
||||
size_t srcPtrOffset = ptrDiff(srcPtr, alignedSrcPtr);
|
||||
|
||||
BuiltinDispatchInfoBuilder::BuiltinOpParams dc;
|
||||
dc.srcPtr = alignedSrcPtr;
|
||||
dc.srcOffset = {srcPtrOffset, 0, 0};
|
||||
|
||||
Reference in New Issue
Block a user