Hello,
I am developping a short application to downsampling images on my samsung alpha.
I use OpenCL to develop on my GPU.
I have a problem when I use a sampler_t. Just when I decrare a sampler_t variable in my kernel, the program crash and gave me that error:
<CODE>
12-03 13:50:05.411: E/AndroidRuntime(990): FATAL EXCEPTION: main
12-03 13:50:05.411: E/AndroidRuntime(990): Process: com.example.subsamplecamera, PID: 990
12-03 13:50:05.411: E/AndroidRuntime(990): java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
12-03 13:50:05.411: E/AndroidRuntime(990): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
12-03 13:50:05.411: E/AndroidRuntime(990): at dalvik.system.NativeStart.main(Native Method)
12-03 13:50:05.411: E/AndroidRuntime(990): Caused by: java.lang.reflect.InvocationTargetException
12-03 13:50:05.411: E/AndroidRuntime(990): at java.lang.reflect.Method.invokeNative(Native Method)
12-03 13:50:05.411: E/AndroidRuntime(990): at java.lang.reflect.Method.invoke(Method.java:515)
12-03 13:50:05.411: E/AndroidRuntime(990): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
12-03 13:50:05.411: E/AndroidRuntime(990): ... 2 more
12-03 13:50:05.411: E/AndroidRuntime(990): Caused by: java.lang.Exception: @decode: clBuildProgram -11
12-03 13:50:05.411: E/AndroidRuntime(990): at com.example.subsamplecamera.MainActivity.compileKernels(Native Method)
12-03 13:50:05.411: E/AndroidRuntime(990): at com.example.subsamplecamera.MainActivity.onSurfaceTextureAvailable(MainActivity.java:119)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.TextureView.getHardwareLayer(TextureView.java:396)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.View.getDisplayList(View.java:14215)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.View.getDisplayList(View.java:14292)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.View.draw(View.java:15070)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.ViewGroup.drawChild(ViewGroup.java:3340)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3176)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.View.getDisplayList(View.java:14245)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.View.draw(View.java:15359)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.widget.FrameLayout.draw(FrameLayout.java:472)
12-03 13:50:05.411: E/AndroidRuntime(990): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2621)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.View.getDisplayList(View.java:14250)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.HardwareRenderer$GlRenderer.buildDisplayList(HardwareRenderer.java:1597)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1469)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.ViewRootImpl.draw(ViewRootImpl.java:2786)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2652)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2223)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1259)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6537)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:813)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.Choreographer.doCallbacks(Choreographer.java:613)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.Choreographer.doFrame(Choreographer.java:583)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:799)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.os.Handler.handleCallback(Handler.java:733)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.os.Handler.dispatchMessage(Handler.java:95)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.os.Looper.loop(Looper.java:146)
12-03 13:50:05.411: E/AndroidRuntime(990): at android.app.ActivityThread.main(ActivityThread.java:5635)
12-03 13:50:05.411: E/AndroidRuntime(990): ... 5 more
</CODE>
Can someone give me a hand?
Best regard.
In fact I found a piece of program go get information so this is what I have:
12-03 15:33:46.291: E/JNIProcessor(13974): Build log
12-03 15:33:46.291: E/JNIProcessor(13974):
12-03 15:33:46.291: E/JNIProcessor(13974): Build status
12-03 15:33:46.291: E/JNIProcessor(13974): 0
12-03 15:33:46.291: E/JNIProcessor(13974): Build option
12-03 15:33:46.296: D/AndroidRuntime(13974): Shutting down VM
12-03 15:33:46.296: W/dalvikvm(13974): threadid=1: thread exiting with uncaught exception (group=0x4187fc08)
12-03 15:33:46.296: E/AndroidRuntime(13974): FATAL EXCEPTION: main
12-03 15:33:46.296: E/AndroidRuntime(13974): Process: com.example.subsamplecamera, PID: 13974
12-03 15:33:46.296: E/AndroidRuntime(13974): java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
12-03 15:33:46.296: E/AndroidRuntime(13974): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
12-03 15:33:46.296: E/AndroidRuntime(13974): at dalvik.system.NativeStart.main(Native Method)
12-03 15:33:46.296: E/AndroidRuntime(13974): Caused by: java.lang.reflect.InvocationTargetException
12-03 15:33:46.296: E/AndroidRuntime(13974): at java.lang.reflect.Method.invokeNative(Native Method)
12-03 15:33:46.296: E/AndroidRuntime(13974): at java.lang.reflect.Method.invoke(Method.java:515)
12-03 15:33:46.296: E/AndroidRuntime(13974): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
12-03 15:33:46.296: E/AndroidRuntime(13974): ... 2 more
12-03 15:33:46.296: E/AndroidRuntime(13974): Caused by: java.lang.Exception: @decode: clBuildProgram -11
12-03 15:33:46.296: E/AndroidRuntime(13974): at com.example.subsamplecamera.MainActivity.compileKernels(Native Method)
12-03 15:33:46.296: E/AndroidRuntime(13974): at com.example.subsamplecamera.MainActivity.onSurfaceTextureAvailable(MainActivity.java:119)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.TextureView.getHardwareLayer(TextureView.java:396)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.View.getDisplayList(View.java:14215)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.View.getDisplayList(View.java:14292)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.View.draw(View.java:15070)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.ViewGroup.drawChild(ViewGroup.java:3340)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3176)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.View.getDisplayList(View.java:14245)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.View.draw(View.java:15359)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.widget.FrameLayout.draw(FrameLayout.java:472)
12-03 15:33:46.296: E/AndroidRuntime(13974): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2621)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.View.getDisplayList(View.java:14250)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.HardwareRenderer$GlRenderer.buildDisplayList(HardwareRenderer.java:1597)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1469)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.ViewRootImpl.draw(ViewRootImpl.java:2786)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2652)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2223)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1259)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6537)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:813)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.Choreographer.doCallbacks(Choreographer.java:613)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.Choreographer.doFrame(Choreographer.java:583)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:799)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.os.Handler.handleCallback(Handler.java:733)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.os.Handler.dispatchMessage(Handler.java:95)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.os.Looper.loop(Looper.java:146)
12-03 15:33:46.296: E/AndroidRuntime(13974): at android.app.ActivityThread.main(ActivityThread.java:5635)
12-03 15:33:46.296: E/AndroidRuntime(13974): ... 5 more
12-03 15:33:46.316: I/Process(13974): Sending signal. PID: 13974 SIG: 9
Looks like you're printing the log then clBuildProgram throw an exception which suggests you're checking the log before you actually called clBuildProgram which would explain why the log is empty. (Or did you catch the exception, print the log, then re-threw the exception ?)
It would be easier if you pasted your code here.