From: <sp...@us...> - 2011-07-10 10:26:43
|
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. |