看一下LWJGL docs的OpenCL端口,可以看到,为了使用createPlatfromCapabilities
类中的方法CL.class
创建OpenCL功能,您需要传递较长的cl_platform_id
。这是从哪里得到的?
我尝试传递Platform.WINDOWS
,如下所示:
但是,Platform.WINDOWS
中没有任何字段会产生很长的时间。
考虑到变量被命名为“平台” ID,我想它并没有要求LWJGL通常会发出一个窗口,并且因为“ CL”也是名称,所以我假设它也是由内部OpenCL之一发出的课程。
我已经广泛搜索了文档,并且“ cl_platform_id
”仅出现在该方法中。文档只说了以下内容:
“ @ param cl_platform_id:要查询的平台”
老兄。很有帮助。
cl_platform_id
方法中的createPlatfromCapabilities
参数表示什么,在哪里可以找到?
答案 0 :(得分:1)
您需要使用从clGetPlatformIDs获得的平台ID。第一个参数是存储ID的缓冲区(或null
),第二个参数是存储读取的ID数(或null
)的缓冲区。您需要一次传递函数null
和第二个参数1 IntBuffer
来调用该函数,然后使用存储在缓冲区中的int分配一个PointerBuffer
并再次调用它以实际读取ID。