From c490fecfa8afc12e41f12e84632d65869bf20b26 Mon Sep 17 00:00:00 2001
From: Florian Roesler <florian.roesler@wooga.net>
Date: Wed, 23 Nov 2016 12:23:04 +0100
Subject: [PATCH] added opencl device method for name

---
 CHANGELOG.md                                  |  1 +
 .../java/com/aparapi/device/OpenCLDevice.java | 52 +++++++++++++++----
 2 files changed, 42 insertions(+), 11 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0b3c7a14..a83a96f9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@
 
 * Kernels of the same class are now eligible to be run on different devices
 * Added method to set execution mode without any fallback.
+* Added opencl device method for name
 
 ## 1.1.2
 
diff --git a/src/main/java/com/aparapi/device/OpenCLDevice.java b/src/main/java/com/aparapi/device/OpenCLDevice.java
index d3983a85..fbd86e40 100644
--- a/src/main/java/com/aparapi/device/OpenCLDevice.java
+++ b/src/main/java/com/aparapi/device/OpenCLDevice.java
@@ -15,16 +15,35 @@
  */
 package com.aparapi.device;
 
-import com.aparapi.*;
-import com.aparapi.internal.opencl.*;
-import com.aparapi.opencl.*;
-import com.aparapi.opencl.OpenCL.*;
 import com.aparapi.opencl.OpenCL.Kernel;
 
-import java.io.*;
-import java.lang.annotation.*;
-import java.lang.reflect.*;
-import java.util.*;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.lang.annotation.Annotation;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import com.aparapi.Range;
+import com.aparapi.internal.opencl.OpenCLArgDescriptor;
+import com.aparapi.internal.opencl.OpenCLKernel;
+import com.aparapi.internal.opencl.OpenCLPlatform;
+import com.aparapi.internal.opencl.OpenCLProgram;
+import com.aparapi.opencl.OpenCL;
+import com.aparapi.opencl.OpenCL.Arg;
+import com.aparapi.opencl.OpenCL.Constant;
+import com.aparapi.opencl.OpenCL.GlobalReadOnly;
+import com.aparapi.opencl.OpenCL.GlobalReadWrite;
+import com.aparapi.opencl.OpenCL.GlobalWriteOnly;
+import com.aparapi.opencl.OpenCL.Local;
+import com.aparapi.opencl.OpenCL.Resource;
+import com.aparapi.opencl.OpenCL.Source;
 
 public class OpenCLDevice extends Device{
 
@@ -42,9 +61,11 @@ public class OpenCLDevice extends Device{
 
    private String shortDescription = null;
 
+   private String name = null;
+
    /**
     * Minimal constructor
-    * 
+    *
     * @param _platform
     * @param _deviceId
     * @param _type
@@ -95,7 +116,16 @@ public class OpenCLDevice extends Device{
       maxWorkItemSize[_dim] = _value;
    }
 
-   public long getDeviceId() {
+   public String getName() {
+    return name;
+  }
+
+  public void setName(String name) {
+    this.name = name;
+  }
+
+  @Override
+  public long getDeviceId() {
       return (deviceId);
    }
 
@@ -192,7 +222,7 @@ public class OpenCLDevice extends Device{
             } else if (method.getName().equals("end")) {
                System.out.println("end not implemented");
             }  else if (method.getName().equals("getProfileInfo")){
-               proxy = (Object)program.getProfileInfo();
+               proxy = program.getProfileInfo();
             }
          }
          return proxy;
-- 
GitLab