      parent-device
      partition-affinity-domain
      ^long partition-max-sub-devices
-     ;;:partition-properties partition-properties ;;TODO raises exception when called on CPU
+     partition-properties
      partition-type
-     pipe-max-active-reservations
-     pipe-max-packet-size
+     ^long pipe-max-active-reservations
+     ^long pipe-max-packet-size
      platform
-     preferred-global-atomic-alignment
+     ^long preferred-global-atomic-alignment
      preferred-interop-user-sync
-     preferred-local-atomic-alignment
-     preferred-platform-atomic-alignment
+     ^long preferred-local-atomic-alignment
+     ^long preferred-platform-atomic-alignment
      ^long preferred-vector-width-char
      ^long preferred-vector-width-short
      ^long preferred-vector-width-int

       :parent-device (parent-device d)
       :partition-affinity-domain (partition-affinity-domain d)
       :partition-max-sub-devices (partition-max-sub-devices d)
       ;;:partition-properties partition-properties ;;TODO raises exception when called on CPU
       :partition-type (partition-type d)
       :pipe-max-active-reservations (pipe-max-active-reservations d)
       :pipe-max-packet-size (pipe-max-packet-size d)

(defn image-max-buffer-size ^long [device]
  (info-size* CL/clGetDeviceInfo device CL/CL_DEVICE_IMAGE_MAX_BUFFER_SIZE))

(defn image-pitch-alignment ^long [device]
  (info-int* CL/clGetDeviceInfo device CL_DEVICE_IMAGE_PITCH_ALIGNMENT))

(defn image-support [device]
  (info-bool* CL/clGetDeviceInfo device CL/CL_DEVICE_IMAGE_SUPPORT))
