Version roadmap
---------------

High priority (1.0 blockers):
    * make NVIDIA OpenCL SDK examples to work 
    * make Intel OpenCL SDK examples to work

Medium priority:
    * device supporting AMD GPU cards.

Known ambiguous OpenCL 1.2 features
-----------------------------------

The OpenCL 1.2 and later standards are very ambiguous when it
comes to sub-devices. On the one hand, they claim that sub-devices
can be used wherever their parent devices can be used, on the
other hand various parts of the standard hint that they should be
treated independently.

In particular, it's not clear whether sub-devices can be used
within a context that only holds their parent device, or not. This
might even depend on whether the context was created "from type"
or not.

The implementation of subdevices in pocl currently converts
subdevices to their parents in most places, with the exception
being clEnqueueNDRangeKernel. This means, for example, that
sub-devices can be used in a context that does not contain
them (but contains their parent device). Note this is equivalent
to the AMD behavior (which is tested in the DeviceFission AMD APP
SDK example), but differs from e.g. Intel's behavior. Clarification
from the standard body is needed on which behavior is correct.

Known missing OpenCL 1.2 features
---------------------------------

Missing APIs used by the tested OpenCL example suites are
entered here.

  OpenCL 1.2 Extensions

* 9.7 Sharing Memory Objects with OpenGL / OpenGL
  ES Buffer, Texture and Renderbuffer Objects

* 9.7.6 Sharing memory objects that map to GL objects 
  between GL and CL contexts
