mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 06:49:52 +08:00
Map/unmap enqueue fixes [2/n]: CPU operations on limited range
- Curently each non-zerocopy CPU operation on map/unmap make a full copy using hostPtr - This commit adds functionality to select specific range of copy - Multiple mapping with different size is not supported yet, so copy will be made on full range for now. This is for future usage. Change-Id: I7652e85482ba6fffb2474169447baf9b080dcd1e
This commit is contained in:
committed by
sys_ocldev
parent
ff44e9922d
commit
4f2a05ac88
@@ -100,7 +100,8 @@ class Buffer : public MemObj {
|
||||
|
||||
static size_t calculateHostPtrSize(const size_t *origin, const size_t *region, size_t rowPitch, size_t slicePitch);
|
||||
|
||||
void *transferDataToHostPtr() override;
|
||||
void transferDataToHostPtr(std::array<size_t, 3> copySize, std::array<size_t, 3> copyOffset) override;
|
||||
void transferDataFromHostPtr(std::array<size_t, 3> copySize, std::array<size_t, 3> copyOffset) override;
|
||||
|
||||
bool isReadWriteOnCpuAllowed(cl_bool blocking, cl_uint numEventsInWaitList, void *ptr, size_t size);
|
||||
|
||||
@@ -125,6 +126,8 @@ class Buffer : public MemObj {
|
||||
bool &allocateMemory,
|
||||
bool ©MemoryFromHostPtr,
|
||||
MemoryManager *memMngr);
|
||||
|
||||
void transferData(void *dst, void *src, size_t copySize, size_t copyOffset);
|
||||
};
|
||||
|
||||
template <typename GfxFamily>
|
||||
|
||||
Reference in New Issue
Block a user