diff --git a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/device/Device.java b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/device/Device.java
index f1c2f68e09c0d578956ed0b43c74b6360a368ea8..3799c8918c68821cd95ff70197b52e3696d68429 100644
--- a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/device/Device.java
+++ b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/device/Device.java
@@ -39,13 +39,13 @@ public abstract class Device{
public static Device getDevice(String platformName, String deviceTypeName, int deviceId)
{
- List<OpenCLPlatform> platforms = (new OpenCLPlatform()).getOpenCLPlatforms();
+ List<OpenCLPlatform> platforms = (new OpenCLPlatform()).getOpenCLPlatformsFilteredBy(platformName); //getOpenCLPlatforms();
int platformc = 0;
for (OpenCLPlatform platform : platforms)
{
- if(platform.getName().contains(platformName))
- {
+ //if(platform.getName().contains(platformName))
+ //{
System.out.println("Platform " + platformc + "{");
@@ -104,7 +104,7 @@ public abstract class Device{
}
- }
+ //}
// return not found !!!
return null;
}
diff --git a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLPlatform.java b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLPlatform.java
index 178b1a196d44e038d8a79cbc3e4a221c94bbf460..99e1b2443e2528bc0c3b3328b694e30d75d31ef9 100644
--- a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLPlatform.java
+++ b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLPlatform.java
@@ -81,13 +81,17 @@ public class OpenCLPlatform extends OpenCLJNI{
System.out.println("Filtering Platforms using: " + filter );
for (Iterator<OpenCLPlatform> iterator = platformList.iterator(); iterator.hasNext(); )
{
- String platformIName = iterator.next().getName();
- System.out.println("Checking Platform: " + platformIName );
- if (!platformIName.contains(filter))
+ String platformName = iterator.next().getName();
+ if (filter.equals("*") || platformName.contains(filter))
{
- System.out.println("Filtering Out Platform: " + platformIName);
+ System.out.println("Adding Platform: " + platformName );
+ }
+ else
+ {
+ System.out.println("Discarding Platform: " + platformName);
iterator.remove();
- }
+ }
+
}
}
return (platformList);