Skip to content

Commit 4b8a560

Browse files
committed
JavaCL: added MapFlags.WriteInvalidateRegion (CL_MAP_WRITE_INVALIDATE_REGION from OpenCL 1.2) (issue #232)
1 parent 37daace commit 4b8a560

3 files changed

Lines changed: 8 additions & 1 deletion

File tree

libraries/OpenCL/Core/src/main/velocity/com/nativelibs4java/opencl/CLBuffer.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,9 @@ public CLEvent copyTo(CLQueue queue, long srcOffset, long length, CLMem destinat
223223
#documentCallsFunction("clEnqueueMapBuffer")
224224
*/
225225
protected Pair<Pointer<T>, CLEvent> map(CLQueue queue, MapFlags flags, long offset, long length, boolean blocking, CLEvent... eventsToWaitFor) {
226+
if (flags == MapFlags.WriteInvalidateRegion) {
227+
context.getPlatform().requireMinVersionValue("CL_MAP_WRITE_INVALIDATE_REGION", 1.2);
228+
}
226229
checkBounds(offset, length);
227230
#declareReusablePtrsAndEventsInOutBlockable()
228231
#declarePErr()

libraries/OpenCL/Core/src/main/velocity/com/nativelibs4java/opencl/CLImage.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,9 @@ protected Pair<ByteBuffer, CLEvent> map(CLQueue queue, MapFlags flags,
190190
Long imageSlicePitch,
191191
boolean blocking, CLEvent... eventsToWaitFor)
192192
{
193+
if (flags == MapFlags.WriteInvalidateRegion) {
194+
context.getPlatform().requireMinVersionValue("CL_MAP_WRITE_INVALIDATE_REGION", 1.2);
195+
}
193196
#declareReusablePtrsAndEventsInOutBlockable()
194197
#declarePErr()
195198
long mappedPeer = CL.clEnqueueMapImage(

libraries/OpenCL/Core/src/main/velocity/com/nativelibs4java/opencl/CLMem.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,8 @@ public GLObjectInfo getGLObjectInfo() {
243243
public enum MapFlags implements com.nativelibs4java.util.ValuedEnum {
244244
Read(CL_MAP_READ),
245245
Write(CL_MAP_WRITE),
246-
ReadWrite(CL_MAP_READ | CL_MAP_WRITE);
246+
ReadWrite(CL_MAP_READ | CL_MAP_WRITE),
247+
WriteInvalidateRegion(CL_MAP_WRITE_INVALIDATE_REGION);
247248

248249
MapFlags(long value) { this.value = value; }
249250
long value;

0 commit comments

Comments
 (0)