    :extensions CL/CL_PLATFORM_EXTENSIONS
    :icd-suffix-khr CL/CL_PLATFORM_ICD_SUFFIX_KHR})
 
+;;TODO update for JOCL 2.0
 (def context-prop-table
   {:platform CL/CL_CONTEXT_PLATFORM
    :interop-user-sync CL/CL_CONTEXT_INTEROP_USER_SYNC
-   :gl CL/CL_GL_CONTEXT_KHR
-   :cgl CL/CL_CGL_SHAREGROUP_KHR
-   :egl CL/CL_EGL_DISPLAY_KHR
-   :glx CL/CL_GLX_DISPLAY_KHR
-   :wgl CL/CL_WGL_HDC_KHR})
+   :gl-context-khr CL/CL_GL_CONTEXT_KHR
+   :cgl-sharegroup-khr CL/CL_CGL_SHAREGROUP_KHR
+   :egl-display-khr CL/CL_EGL_DISPLAY_KHR
+   :glx-display-khr CL/CL_GLX_DISPLAY_KHR
+   :wgl-hdc-khr CL/CL_WGL_HDC_KHR})
 
 (def error-codes
   {CL/CL_INVALID_VALUE "CL_INVALID_VALUE"

           (String. res# 0 (dec size#))
           (throw (error err#))))
       (throw (error err#)))))

(defmacro info-mask* [method clobject info table]
  `(let [mask# (info-long* ~method ~clobject ~info)]

              CL/CL_DEVICE_DOUBLE_FP_CONFIG
              exec-capabilities-table))

(defn info-extensions [clid]
  (str/split
   (cond
    (instance? cl_device_id clid)
    (info-string* CL/clGetDeviceInfo clid CL/CL_DEVICE_EXTENSIONS)
    (instance? cl_platform_id clid)
    (info-string* CL/clGetPlatformInfo clid CL/CL_PLATFORM_EXTENSIONS)
    :default nil)
   #" "))

(defn info-global-mem-cache-size [device]
  (info-long* CL/clGetDeviceInfo device CL/CL_DEVICE_GLOBAL_MEM_CACHE_SIZE))
