aboutsummaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorWade Walker <[email protected]>2014-03-08 16:17:36 -0600
committerWade Walker <[email protected]>2014-03-08 16:17:36 -0600
commit7a7f87a1fc7419f758ba9b134764ae544fd6d566 (patch)
treeb640a9e29883b46444d6f01334f8e8cacf1a8431 /src/com
parent7ab26044167c84fc6386cc179e8a8736d8978c91 (diff)
Fix crashes due to AMD driver bugs.
programBinariesTest() failure was due to AMD drivers crashing in clCreateKernelsInProgram() when the program is not built yet, instead of returning error code CL_INVALID_PROGRAM_EXECUTABLE as they should. lowLevelVectorAddTest() failure was apparently due to the AMD drivers writing past the end of a direct byte buffer in such a way that it made System.gc() crash when called during teardown (this crash didn't even dump stack). Making the buffer larger solved the problem.
Diffstat (limited to 'src/com')
-rw-r--r--src/com/jogamp/opencl/CLPlatform.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/com/jogamp/opencl/CLPlatform.java b/src/com/jogamp/opencl/CLPlatform.java
index b7b7389c..95e02333 100644
--- a/src/com/jogamp/opencl/CLPlatform.java
+++ b/src/com/jogamp/opencl/CLPlatform.java
@@ -451,6 +451,12 @@ public class CLPlatform {
}
/**
+ * @return true if the vendor is AMD.
+ */
+ public boolean isVendorAMD() {
+ return getVendor().contains("Advanced Micro Devices");
+ }
+ /**
* Returns the ICD suffix.
*/
@CLProperty("CL_PLATFORM_ICD_SUFFIX_KHR")