Revision: 3560
http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3560&view=rev
Author: spasi
Date: 2011-07-10 10:26:36 +0000 (Sun, 10 Jul 2011)
Log Message:
-----------
Merge preparation.
Modified Paths:
--------------
branches/opengles/LWJGL/src/java/org/lwjgl/opencl/CallbackUtil.java
branches/opengles/LWJGL/src/native/common/extcl.h
branches/opengles/LWJGL/src/native/common/org_lwjgl_opencl_CallbackUtil.c
Modified: branches/opengles/LWJGL/src/java/org/lwjgl/opencl/CallbackUtil.java
===================================================================
--- branches/opengles/LWJGL/src/java/org/lwjgl/opencl/CallbackUtil.java 2011-07-10 00:31:16 UTC (rev 3559)
+++ branches/opengles/LWJGL/src/java/org/lwjgl/opencl/CallbackUtil.java 2011-07-10 10:26:36 UTC (rev 3560)
@@ -107,14 +107,13 @@
* @param user_data the global reference pointer
*/
static void registerCallback(final CLContext context, final long user_data) {
- if ( context.getPointerUnsafe() == 0 ) {
- if ( user_data != 0 )
- deleteGlobalRef(user_data);
+ if ( user_data == 0 )
return;
- }
- if ( user_data != 0 )
+ if ( context.isValid() )
contextUserData.put(context, user_data);
+ else
+ deleteGlobalRef(user_data);
}
/**
Modified: branches/opengles/LWJGL/src/native/common/extcl.h
===================================================================
--- branches/opengles/LWJGL/src/native/common/extcl.h 2011-07-10 00:31:16 UTC (rev 3559)
+++ branches/opengles/LWJGL/src/native/common/extcl.h 2011-07-10 10:26:36 UTC (rev 3560)
@@ -59,18 +59,11 @@
#define CL_CALLBACK
#endif
-// TODO: This is a bug in current CL implementations (AMD's only?), remove when fixed. (used for cl_native_kernel_func)
-#if defined(_WIN32)
- #define CL_USER_FUNC_CALLBACK __cdecl
-#else
- #define CL_USER_FUNC_CALLBACK CL_CALLBACK
-#endif
-
typedef void (CL_CALLBACK * cl_create_context_callback)(const char *errinfo, const void *private_info, size_t cb, void *user_data);
typedef void (CL_CALLBACK * cl_mem_object_destructor_callback)(cl_mem memobj, void *user_data);
typedef void (CL_CALLBACK * cl_build_program_callback)(cl_program program, void *user_data);
typedef void (CL_CALLBACK * cl_event_callback)(cl_event event, cl_int event_command_exec_status, void *user_data);
-typedef void (CL_USER_FUNC_CALLBACK * cl_native_kernel_func)(void *args);
+typedef void (CL_CALLBACK * cl_native_kernel_func)(void *args);
// -----------------[ Cross-platform functions ]-----------------
Modified: branches/opengles/LWJGL/src/native/common/org_lwjgl_opencl_CallbackUtil.c
===================================================================
--- branches/opengles/LWJGL/src/native/common/org_lwjgl_opencl_CallbackUtil.c 2011-07-10 00:31:16 UTC (rev 3559)
+++ branches/opengles/LWJGL/src/native/common/org_lwjgl_opencl_CallbackUtil.c 2011-07-10 10:26:36 UTC (rev 3560)
@@ -142,7 +142,7 @@
// ----------------- [ NATIVE KERNEL CALLBACK ] -----------------
-static void CL_USER_FUNC_CALLBACK nativeKernelCallback(void *args) {
+static void CL_CALLBACK nativeKernelCallback(void *args) {
JNIEnv *env = attachCurrentThread();
jobject user_func = (jobject)(intptr_t)*(jlong *)args;
jint num_mem_objects = *(jint *)((char *)args + 8);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|