/* MACHINE GENERATED FILE, DO NOT EDIT */
package org.lwjgl.opencl;
public final class CLCapabilities {
static final boolean CL_APPLE_ContextLoggingFunctions;
static final long clLogMessagesToSystemLogAPPLE = CL.getFunctionAddress("clLogMessagesToSystemLogAPPLE");
static final long clLogMessagesToStdoutAPPLE = CL.getFunctionAddress("clLogMessagesToStdoutAPPLE");
static final long clLogMessagesToStderrAPPLE = CL.getFunctionAddress("clLogMessagesToStderrAPPLE");
static final boolean CL_APPLE_SetMemObjectDestructor;
static final long clSetMemObjectDestructorAPPLE = CL.getFunctionAddress("clSetMemObjectDestructorAPPLE");
static final boolean CL_APPLE_gl_sharing;
static final long clGetGLContextInfoAPPLE = CL.getFunctionAddress("clGetGLContextInfoAPPLE");
static final boolean OpenCL10;
static final long clGetPlatformIDs = CL.getFunctionAddress("clGetPlatformIDs");
static final long clGetPlatformInfo = CL.getFunctionAddress("clGetPlatformInfo");
static final long clGetDeviceIDs = CL.getFunctionAddress("clGetDeviceIDs");
static final long clGetDeviceInfo = CL.getFunctionAddress("clGetDeviceInfo");
static final long clCreateContext = CL.getFunctionAddress("clCreateContext");
static final long clCreateContextFromType = CL.getFunctionAddress("clCreateContextFromType");
static final long clRetainContext = CL.getFunctionAddress("clRetainContext");
static final long clReleaseContext = CL.getFunctionAddress("clReleaseContext");
static final long clGetContextInfo = CL.getFunctionAddress("clGetContextInfo");
static final long clCreateCommandQueue = CL.getFunctionAddress("clCreateCommandQueue");
static final long clRetainCommandQueue = CL.getFunctionAddress("clRetainCommandQueue");
static final long clReleaseCommandQueue = CL.getFunctionAddress("clReleaseCommandQueue");
static final long clGetCommandQueueInfo = CL.getFunctionAddress("clGetCommandQueueInfo");
static final long clCreateBuffer = CL.getFunctionAddress("clCreateBuffer");
static final long clEnqueueReadBuffer = CL.getFunctionAddress("clEnqueueReadBuffer");
static final long clEnqueueWriteBuffer = CL.getFunctionAddress("clEnqueueWriteBuffer");
static final long clEnqueueCopyBuffer = CL.getFunctionAddress("clEnqueueCopyBuffer");
static final long clEnqueueMapBuffer = CL.getFunctionAddress("clEnqueueMapBuffer");
static final long clCreateImage2D = CL.getFunctionAddress("clCreateImage2D");
static final long clCreateImage3D = CL.getFunctionAddress("clCreateImage3D");
static final long clGetSupportedImageFormats = CL.getFunctionAddress("clGetSupportedImageFormats");
static final long clEnqueueReadImage = CL.getFunctionAddress("clEnqueueReadImage");
static final long clEnqueueWriteImage = CL.getFunctionAddress("clEnqueueWriteImage");
static final long clEnqueueCopyImage = CL.getFunctionAddress("clEnqueueCopyImage");
static final long clEnqueueCopyImageToBuffer = CL.getFunctionAddress("clEnqueueCopyImageToBuffer");
static final long clEnqueueCopyBufferToImage = CL.getFunctionAddress("clEnqueueCopyBufferToImage");
static final long clEnqueueMapImage = CL.getFunctionAddress("clEnqueueMapImage");
static final long clGetImageInfo = CL.getFunctionAddress("clGetImageInfo");
static final long clRetainMemObject = CL.getFunctionAddress("clRetainMemObject");
static final long clReleaseMemObject = CL.getFunctionAddress("clReleaseMemObject");
static final long clEnqueueUnmapMemObject = CL.getFunctionAddress("clEnqueueUnmapMemObject");
static final long clGetMemObjectInfo = CL.getFunctionAddress("clGetMemObjectInfo");
static final long clCreateSampler = CL.getFunctionAddress("clCreateSampler");
static final long clRetainSampler = CL.getFunctionAddress("clRetainSampler");
static final long clReleaseSampler = CL.getFunctionAddress("clReleaseSampler");
static final long clGetSamplerInfo = CL.getFunctionAddress("clGetSamplerInfo");
static final long clCreateProgramWithSource = CL.getFunctionAddress("clCreateProgramWithSource");
static final long clCreateProgramWithBinary = CL.getFunctionAddress("clCreateProgramWithBinary");
static final long clRetainProgram = CL.getFunctionAddress("clRetainProgram");
static final long clReleaseProgram = CL.getFunctionAddress("clReleaseProgram");
static final long clBuildProgram = CL.getFunctionAddress("clBuildProgram");
static final long clUnloadCompiler = CL.getFunctionAddress("clUnloadCompiler");
static final long clGetProgramInfo = CL.getFunctionAddress("clGetProgramInfo");
static final long clGetProgramBuildInfo = CL.getFunctionAddress("clGetProgramBuildInfo");
static final long clCreateKernel = CL.getFunctionAddress("clCreateKernel");
static final long clCreateKernelsInProgram = CL.getFunctionAddress("clCreateKernelsInProgram");
static final long clRetainKernel = CL.getFunctionAddress("clRetainKernel");
static final long clReleaseKernel = CL.getFunctionAddress("clReleaseKernel");
static final long clSetKernelArg = CL.getFunctionAddress("clSetKernelArg");
static final long clGetKernelInfo = CL.getFunctionAddress("clGetKernelInfo");
static final long clGetKernelWorkGroupInfo = CL.getFunctionAddress("clGetKernelWorkGroupInfo");
static final long clEnqueueNDRangeKernel = CL.getFunctionAddress("clEnqueueNDRangeKernel");
static final long clEnqueueTask = CL.getFunctionAddress("clEnqueueTask");
static final long clEnqueueNativeKernel = CL.getFunctionAddress("clEnqueueNativeKernel");
static final long clWaitForEvents = CL.getFunctionAddress("clWaitForEvents");
static final long clGetEventInfo = CL.getFunctionAddress("clGetEventInfo");
static final long clRetainEvent = CL.getFunctionAddress("clRetainEvent");
static final long clReleaseEvent = CL.getFunctionAddress("clReleaseEvent");
static final long clEnqueueMarker = CL.getFunctionAddress("clEnqueueMarker");
static final long clEnqueueBarrier = CL.getFunctionAddress("clEnqueueBarrier");
static final long clEnqueueWaitForEvents = CL.getFunctionAddress("clEnqueueWaitForEvents");
static final long clGetEventProfilingInfo = CL.getFunctionAddress("clGetEventProfilingInfo");
static final long clFlush = CL.getFunctionAddress("clFlush");
static final long clFinish = CL.getFunctionAddress("clFinish");
static final long clGetExtensionFunctionAddress = CL.getFunctionAddress("clGetExtensionFunctionAddress");
static final boolean OpenCL10GL;
static final long clCreateFromGLBuffer = CL.getFunctionAddress("clCreateFromGLBuffer");
static final long clCreateFromGLTexture2D = CL.getFunctionAddress("clCreateFromGLTexture2D");
static final long clCreateFromGLTexture3D = CL.getFunctionAddress("clCreateFromGLTexture3D");
static final long clCreateFromGLRenderbuffer = CL.getFunctionAddress("clCreateFromGLRenderbuffer");
static final long clGetGLObjectInfo = CL.getFunctionAddress("clGetGLObjectInfo");
static final long clGetGLTextureInfo = CL.getFunctionAddress("clGetGLTextureInfo");
static final long clEnqueueAcquireGLObjects = CL.getFunctionAddress("clEnqueueAcquireGLObjects");
static final long clEnqueueReleaseGLObjects = CL.getFunctionAddress("clEnqueueReleaseGLObjects");
static final boolean OpenCL11;
static final long clCreateSubBuffer = CL.getFunctionAddress("clCreateSubBuffer");
static final long clSetMemObjectDestructorCallback = CL.getFunctionAddress("clSetMemObjectDestructorCallback");
static final long clEnqueueReadBufferRect = CL.getFunctionAddress("clEnqueueReadBufferRect");
static final long clEnqueueWriteBufferRect = CL.getFunctionAddress("clEnqueueWriteBufferRect");
static final long clEnqueueCopyBufferRect = CL.getFunctionAddress("clEnqueueCopyBufferRect");
static final long clCreateUserEvent = CL.getFunctionAddress("clCreateUserEvent");
static final long clSetUserEventStatus = CL.getFunctionAddress("clSetUserEventStatus");
static final long clSetEventCallback = CL.getFunctionAddress("clSetEventCallback");
static final boolean OpenCL12;
static final long clRetainDevice = CL.getFunctionAddress("clRetainDevice");
static final long clReleaseDevice = CL.getFunctionAddress("clReleaseDevice");
static final long clCreateSubDevices = CL.getFunctionAddress("clCreateSubDevices");
static final long clCreateImage = CL.getFunctionAddress("clCreateImage");
static final long clCreateProgramWithBuiltInKernels = CL.getFunctionAddress("clCreateProgramWithBuiltInKernels");
static final long clCompileProgram = CL.getFunctionAddress("clCompileProgram");
static final long clLinkProgram = CL.getFunctionAddress("clLinkProgram");
static final long clUnloadPlatformCompiler = CL.getFunctionAddress("clUnloadPlatformCompiler");
static final long clGetKernelArgInfo = CL.getFunctionAddress("clGetKernelArgInfo");
static final long clEnqueueFillBuffer = CL.getFunctionAddress("clEnqueueFillBuffer");
static final long clEnqueueFillImage = CL.getFunctionAddress("clEnqueueFillImage");
static final long clEnqueueMigrateMemObjects = CL.getFunctionAddress("clEnqueueMigrateMemObjects");
static final long clEnqueueMarkerWithWaitList = CL.getFunctionAddress("clEnqueueMarkerWithWaitList");
static final long clEnqueueBarrierWithWaitList = CL.getFunctionAddress("clEnqueueBarrierWithWaitList");
static final long clSetPrintfCallback = CL.getFunctionAddress("clSetPrintfCallback");
static final long clGetExtensionFunctionAddressForPlatform = CL.getFunctionAddress("clGetExtensionFunctionAddressForPlatform");
static final boolean OpenCL12GL;
static final long clCreateFromGLTexture = CL.getFunctionAddress("clCreateFromGLTexture");
static final boolean CL_EXT_device_fission;
static final long clRetainDeviceEXT = CL.getFunctionAddress("clRetainDeviceEXT");
static final long clReleaseDeviceEXT = CL.getFunctionAddress("clReleaseDeviceEXT");
static final long clCreateSubDevicesEXT = CL.getFunctionAddress("clCreateSubDevicesEXT");
static final boolean CL_EXT_migrate_memobject;
static final long clEnqueueMigrateMemObjectEXT = CL.getFunctionAddress("clEnqueueMigrateMemObjectEXT");
static final boolean CL_KHR_gl_event;
static final long clCreateEventFromGLsyncKHR = CL.getFunctionAddress("clCreateEventFromGLsyncKHR");
static final boolean CL_KHR_gl_sharing;
static final long clGetGLContextInfoKHR = CL.getFunctionAddress("clGetGLContextInfoKHR");
static final boolean CL_KHR_icd;
static final long clIcdGetPlatformIDsKHR = CL.getFunctionAddress("clIcdGetPlatformIDsKHR");
private CLCapabilities() {}
static {
CL_APPLE_ContextLoggingFunctions = isAPPLE_ContextLoggingFunctionsSupported();
CL_APPLE_SetMemObjectDestructor = isAPPLE_SetMemObjectDestructorSupported();
CL_APPLE_gl_sharing = isAPPLE_gl_sharingSupported();
OpenCL10 = isCL10Supported();
OpenCL10GL = isCL10GLSupported();
OpenCL11 = isCL11Supported();
OpenCL12 = isCL12Supported();
OpenCL12GL = isCL12GLSupported();
CL_EXT_device_fission = isEXT_device_fissionSupported();
CL_EXT_migrate_memobject = isEXT_migrate_memobjectSupported();
CL_KHR_gl_event = isKHR_gl_eventSupported();
CL_KHR_gl_sharing = isKHR_gl_sharingSupported();
CL_KHR_icd = isKHR_icdSupported();
}
public static CLPlatformCapabilities getPlatformCapabilities(final CLPlatform platform) {
platform.checkValid();
CLPlatformCapabilities caps = (CLPlatformCapabilities)platform.getCapabilities();
if ( caps == null )
platform.setCapabilities(caps = new CLPlatformCapabilities(platform));
return caps;
}
public static CLDeviceCapabilities getDeviceCapabilities(final CLDevice device) {
device.checkValid();
CLDeviceCapabilities caps = (CLDeviceCapabilities)device.getCapabilities();
if ( caps == null )
device.setCapabilities(caps = new CLDeviceCapabilities(device));
return caps;
}
private static boolean isAPPLE_ContextLoggingFunctionsSupported() {
return
clLogMessagesToSystemLogAPPLE != 0 &
clLogMessagesToStdoutAPPLE != 0 &
clLogMessagesToStderrAPPLE != 0;
}
private static boolean isAPPLE_SetMemObjectDestructorSupported() {
return
clSetMemObjectDestructorAPPLE != 0;
}
private static boolean isAPPLE_gl_sharingSupported() {
return
clGetGLContextInfoAPPLE != 0;
}
private static boolean isCL10Supported() {
return
clGetPlatformIDs != 0 &
clGetPlatformInfo != 0 &
clGetDeviceIDs != 0 &
clGetDeviceInfo != 0 &
clCreateContext != 0 &
clCreateContextFromType != 0 &
clRetainContext != 0 &
clReleaseContext != 0 &
clGetContextInfo != 0 &
clCreateCommandQueue != 0 &
clRetainCommandQueue != 0 &
clReleaseCommandQueue != 0 &
clGetCommandQueueInfo != 0 &
clCreateBuffer != 0 &
clEnqueueReadBuffer != 0 &
clEnqueueWriteBuffer != 0 &
clEnqueueCopyBuffer != 0 &
clEnqueueMapBuffer != 0 &
clCreateImage2D != 0 &
clCreateImage3D != 0 &
clGetSupportedImageFormats != 0 &
clEnqueueReadImage != 0 &
clEnqueueWriteImage != 0 &
clEnqueueCopyImage != 0 &
clEnqueueCopyImageToBuffer != 0 &
clEnqueueCopyBufferToImage != 0 &
clEnqueueMapImage != 0 &
clGetImageInfo != 0 &
clRetainMemObject != 0 &
clReleaseMemObject != 0 &
clEnqueueUnmapMemObject != 0 &
clGetMemObjectInfo != 0 &
clCreateSampler != 0 &
clRetainSampler != 0 &
clReleaseSampler != 0 &
clGetSamplerInfo != 0 &
clCreateProgramWithSource != 0 &
clCreateProgramWithBinary != 0 &
clRetainProgram != 0 &
clReleaseProgram != 0 &
clBuildProgram != 0 &
clUnloadCompiler != 0 &
clGetProgramInfo != 0 &
clGetProgramBuildInfo != 0 &
clCreateKernel != 0 &
clCreateKernelsInProgram != 0 &
clRetainKernel != 0 &
clReleaseKernel != 0 &
clSetKernelArg != 0 &
clGetKernelInfo != 0 &
clGetKernelWorkGroupInfo != 0 &
clEnqueueNDRangeKernel != 0 &
clEnqueueTask != 0 &
clEnqueueNativeKernel != 0 &
clWaitForEvents != 0 &
clGetEventInfo != 0 &
clRetainEvent != 0 &
clReleaseEvent != 0 &
clEnqueueMarker != 0 &
clEnqueueBarrier != 0 &
clEnqueueWaitForEvents != 0 &
clGetEventProfilingInfo != 0 &
clFlush != 0 &
clFinish != 0 &
clGetExtensionFunctionAddress != 0;
}
private static boolean isCL10GLSupported() {
return
clCreateFromGLBuffer != 0 &
clCreateFromGLTexture2D != 0 &
clCreateFromGLTexture3D != 0 &
clCreateFromGLRenderbuffer != 0 &
clGetGLObjectInfo != 0 &
clGetGLTextureInfo != 0 &
clEnqueueAcquireGLObjects != 0 &
clEnqueueReleaseGLObjects != 0;
}
private static boolean isCL11Supported() {
return
clCreateSubBuffer != 0 &
clSetMemObjectDestructorCallback != 0 &
clEnqueueReadBufferRect != 0 &
clEnqueueWriteBufferRect != 0 &
clEnqueueCopyBufferRect != 0 &
clCreateUserEvent != 0 &
clSetUserEventStatus != 0 &
clSetEventCallback != 0;
}
private static boolean isCL12Supported() {
return
clRetainDevice != 0 &
clReleaseDevice != 0 &
clCreateSubDevices != 0 &
clCreateImage != 0 &
clCreateProgramWithBuiltInKernels != 0 &
clCompileProgram != 0 &
clLinkProgram != 0 &
clUnloadPlatformCompiler != 0 &
clGetKernelArgInfo != 0 &
clEnqueueFillBuffer != 0 &
clEnqueueFillImage != 0 &
clEnqueueMigrateMemObjects != 0 &
clEnqueueMarkerWithWaitList != 0 &
clEnqueueBarrierWithWaitList != 0 &
(clSetPrintfCallback != 0 || true) &
clGetExtensionFunctionAddressForPlatform != 0;
}
private static boolean isCL12GLSupported() {
return
clCreateFromGLTexture != 0;
}
private static boolean isEXT_device_fissionSupported() {
return
clRetainDeviceEXT != 0 &
clReleaseDeviceEXT != 0 &
clCreateSubDevicesEXT != 0;
}
private static boolean isEXT_migrate_memobjectSupported() {
return
clEnqueueMigrateMemObjectEXT != 0;
}
private static boolean isKHR_gl_eventSupported() {
return
clCreateEventFromGLsyncKHR != 0;
}
private static boolean isKHR_gl_sharingSupported() {
return
clGetGLContextInfoKHR != 0;
}
private static boolean isKHR_icdSupported() {
return
(clIcdGetPlatformIDsKHR != 0 || true);
}
}