mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-29 09:03:14 +08:00
Map/unmap enqueue fixes [6/n]: Support multiple map operations
- Dont make cpu/gpu writes on read-only unmap - Read/Write on limited map range only - Overlaps checks for non read-only maps - Fixed cmd type on returned event Change-Id: I98ca542e8d369d2426a87279f86cadb0bf3db299
This commit is contained in:
committed by
sys_ocldev
parent
42baecd2d4
commit
dd44a87d5f
@@ -842,13 +842,13 @@ Image *Image::redescribe() {
|
||||
return image;
|
||||
}
|
||||
|
||||
void Image::transferDataToHostPtr(std::array<size_t, 3> copySize, std::array<size_t, 3> copyOffset) {
|
||||
void Image::transferDataToHostPtr(MemObjSizeArray ©Size, MemObjOffsetArray ©Offset) {
|
||||
transferData(hostPtr, hostPtrRowPitch, hostPtrSlicePitch,
|
||||
graphicsAllocation->getUnderlyingBuffer(), imageDesc.image_row_pitch, imageDesc.image_slice_pitch,
|
||||
copySize, copyOffset);
|
||||
}
|
||||
|
||||
void Image::transferDataFromHostPtr(std::array<size_t, 3> copySize, std::array<size_t, 3> copyOffset) {
|
||||
void Image::transferDataFromHostPtr(MemObjSizeArray ©Size, MemObjOffsetArray ©Offset) {
|
||||
transferData(memoryStorage, imageDesc.image_row_pitch, imageDesc.image_slice_pitch,
|
||||
hostPtr, hostPtrRowPitch, hostPtrSlicePitch,
|
||||
copySize, copyOffset);
|
||||
@@ -1189,7 +1189,7 @@ bool Image::hasAlphaChannel(const cl_image_format *imageFormat) {
|
||||
(channelOrder == CL_ABGR);
|
||||
}
|
||||
|
||||
size_t Image::calculateOffsetForMapping(size_t *origin) const {
|
||||
size_t Image::calculateOffsetForMapping(const MemObjOffsetArray &origin) const {
|
||||
size_t rowPitch = mappingOnCpuAllowed() ? imageDesc.image_row_pitch : getHostPtrRowPitch();
|
||||
size_t slicePitch = mappingOnCpuAllowed() ? imageDesc.image_slice_pitch : getHostPtrSlicePitch();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user