@@ -146,12 +146,12 @@ else if ("false".equals(prop) || "0".equals(env))
146146 * User events allow applications to enqueue commands that wait on a user event to finish before the command is executed by the device.
147147 * @since OpenCL 1.1
148148 */
149- public CLEvent createUserEvent () {
149+ public CLUserEvent createUserEvent () {
150150 try {
151151 #declareReusablePtrsAndPErr ()
152152 long evt = CL .clCreateUserEvent (getEntity (), getPeer (pErr ));
153153 #checkPErr ()
154- return CLEvent .createEvent (null , evt , true );
154+ return ( CLUserEvent ) CLEvent .createEvent (null , evt , true );
155155 } catch (Throwable th ) {
156156 // TODO throw if supposed to handle OpenCL 1.1
157157 return null ;
@@ -683,15 +683,21 @@ private <T> CLBuffer<T> createBuffer(PointerIO<T> io, Pointer<T> data, long byte
683683 return new CLBuffer <T >(this , byteCount , mem , retainBufferReference ? data : null , io );
684684 }
685685
686- /**
687- * @deprecated Use {@link CLContext#getByteOrder()}
688- */
689- @ Deprecated
690686 public ByteOrder getKernelsDefaultByteOrder () {
691- return getByteOrder ();
687+ if (kernelsDefaultByteOrder == null ) {
688+ ByteOrder order = null ;
689+ for (CLDevice device : getDevices ()) {
690+ ByteOrder devOrder = device .getKernelsDefaultByteOrder ();
691+ if (order != null && devOrder != order )
692+ return null ;
693+ order = devOrder ;
694+ }
695+ kernelsDefaultByteOrder = order ;
696+ }
697+ return kernelsDefaultByteOrder ;
692698 }
693699
694- private volatile ByteOrder byteOrder ;
700+ private volatile ByteOrder byteOrder , kernelsDefaultByteOrder ;
695701
696702 /**
697703 * Get the endianness common to all devices of this context, or null if the devices have mismatching endiannesses.
0 commit comments