aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/jogamp/opencl/util/CLPlatformFilters.java8
-rw-r--r--test/com/jogamp/opencl/gl/CLGLTest.java6
2 files changed, 8 insertions, 6 deletions
diff --git a/src/com/jogamp/opencl/util/CLPlatformFilters.java b/src/com/jogamp/opencl/util/CLPlatformFilters.java
index 14e1507e..451c6b1f 100644
--- a/src/com/jogamp/opencl/util/CLPlatformFilters.java
+++ b/src/com/jogamp/opencl/util/CLPlatformFilters.java
@@ -100,15 +100,17 @@ public class CLPlatformFilters {
}
/**
- * We need this test because on at least some AMD cards, the GL vendor is ATI,
- * but the CL vendor is AMD.
+ * We need this test because:
+ * - On at least some AMD cards, the GL vendor is ATI, but the CL vendor is AMD.
+ * - On at least some Macs, the GL vendor is Nvidia, but the CL vendor is Apple.
* @param glVendor OpenGL vendor string.
* @param clVendor OpenCL vendor string.
* @return true if the strings are either the same, or indicate that they're part of the same card.
*/
private static boolean areVendorsCompatible(final String glVendor, final String clVendor) {
return( clVendor.equals(glVendor)
- || (glVendor.contains("ATI Technologies") && clVendor.contains("Advanced Micro Devices")));
+ || (glVendor.contains("ATI Technologies") && clVendor.contains("Advanced Micro Devices"))
+ || (glVendor.contains("NVIDIA Corporation") && clVendor.contains("Apple")));
}
/**
diff --git a/test/com/jogamp/opencl/gl/CLGLTest.java b/test/com/jogamp/opencl/gl/CLGLTest.java
index 8c729c08..8c477002 100644
--- a/test/com/jogamp/opencl/gl/CLGLTest.java
+++ b/test/com/jogamp/opencl/gl/CLGLTest.java
@@ -284,13 +284,13 @@ public class CLGLTest extends UITestCase {
// create CLGL buffer
ByteBuffer bufferCL = Buffers.newDirectByteBuffer(texWidth*texHeight*4);
- CLGLTexture2d<ByteBuffer> clTexture = clglcontext.createFromGLTexture2d(bufferCL, GL2.GL_TEXTURE_2D, id[0], 0, CLBuffer.Mem.READ_ONLY);
+ CLGLTexture2d<ByteBuffer> clTexture = clglcontext.createFromGLTexture2d(bufferCL, GL2.GL_TEXTURE_2D, id[0], 0, CLBuffer.Mem.WRITE_ONLY);
// set texel values to a formula that can be read back and verified
String sourceCL = "__kernel void writeTexture (__write_only image2d_t imageTex, unsigned w, unsigned h ) \n" +
"{ \n" +
- " for(int y=1; y<=h; ++y) { \n" +
- " for(int x=1; x<=w; ++x) { \n" +
+ " for(unsigned y=1; y<=h; ++y) { \n" +
+ " for(unsigned x=1; x<=w; ++x) { \n" +
" write_imagef(imageTex, (int2)(x-1,y-1), (float4)(((float)x)/((float)(4*w)), ((float)y)/((float)(4*h)), 0.0f, 1.0f)); \n" +
" } \n" +
" } \n" +