Shaders and materials are something I haven’t tested yet but I will. Our characters has a custom shaders and material, but the background doesn’t have these but still something new to test. Thanks! And yes we have a custom render script, but it is working on the empty test project without any problems.
Have you tried it on any other platforms?
E.g. HTML5?
Different graphics drivers log differently when it comes to the portability of shaders, so it might be good to check there as well (or windows if you can)
iOS is working flawlessly so as is Android with newer devices like OnePlus 6 and even old ZTE Blade V6 with Android 5.0.2 but for some reason the problem is (at least )with Zenpad 10 with Android 5.0.2. All of these devices works well with the build from November but Zenpad has this issue with now built bundle even with same codebase as on November, which makes this pretty difficult to figure out
Only differences between these ZTE and Zenpad devices are that Zenpad is of course bigger, but also less performant and has Intel instead of ARM processor. And maybe a difference with openGL support, but earlier it was working.
Btw, when you say you can’t get the logcat, what do you mean?
You’ve already posted some of the logcat in the first post?
Perhaps there are something else relevant prior to those lines?
Run with: $ adb logcat
and it should print it out to your console.
Has it updated during this time? E.g. with new drivers?
I have updated the BETA build with a small log improvement that lets me know what function and line number is failing the glGeterror() check.
Please try it out and report that log to me.
Thanks, I have to try it out. I meant that the game crashes immediately if I made a debuggable build so that I couldn’t get as far to see any missing game objects and to see if there is a more detailed logs about that issue.
The Zenpad device has not been updated and if I now install the old package, it is working flawlessly and when I install a new package from the old codes but with the latest editor, it is having the issue and missing the game objects.
I tested our shaders and sprite materials on the empty project and it is still working, so these are not causing problems with the main project.
I also tested the 166 BETA client but I cannot get a debug build done because Firebase seems to miss something with this new editor. Error seems similar as in this thread Errors in building a project for Android
I cannot send a screenshot maybe because the forum’s certificate is expired but I copied the Build Errors log here:
/firebase/src/firebase.cpp
Line 3: ‘DLIB_LOG_DOMAIN’ macro redefined [-Wmacro-redefined]
#define DLIB_LOG_DOMAIN LIB_NAME
^
Line 3: previous definition is here
#define DLIB_LOG_DOMAIN “FIREBASE”
^
Line 36: extra tokens at end of #else directive [-Wextra-tokens]
#else if defined(DM_PLATFORM_IOS)
^
//
Line 165: format string is not a string literal (potentially insecure) [-Wformat-security]
luaL_error(L, msg);
^~~
Line 165: treat the string as an argument to avoid this
luaL_error(L, msg);
^
“%s”,
Line 185: format string is not a string literal (potentially insecure) [-Wformat-security]
luaL_error(L, msg);
^~~
Line 185: treat the string as an argument to avoid this
luaL_error(L, msg);
^
“%s”,
Unknown source:
warning: [options] bootstrap class path not set in conjunction with -source 6
warning: [options] source value 6 is obsolete and will be removed in a future release
warning: [options] target value 1.6 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
And I am using the latest 1.3.2 version of Firebase as mentioned on the first post.
Your log snippet doesn’t seem to contain any errors.
Please post the log.txt you’ll find in your project/build folder so I can take a look at the build error.
Here, thanks!
armv7_log.txt (14.0 KB)
arm64_log.txt (13.6 KB)
They doesn’t seem to have a specific error either, but actually now when I tested again it was successful! So now I can test with beta build and Zenpad to get the logs.
Yes, it was most likely due to an expired certificate which we fixed today.
Here are now the logs from debuggable build with the latest Beta editor
Full unfiltered log, which contains also most likely so much unnecessary trash
full_logs.txt (10.8 KB)
Defold filtered logs (adb logcat -s defold)
defold_logs.txt (1.4 KB)
As a quick look, I didn’t notice any special compared to the original log from older editor posted earlier. It is weird that debuggable build crashes like this on startup and a release build does not crash. I have enabled debuggable from Android build dialog and added android:debuggable="{{android.debuggable}}" to the manifest.
Thanks for your help!
If you can try a specially built editor/bob, I’ve added some more debug info for those types of errors, and also your problem in particular:
Thanks, I tested with that special editor and here are the logs.
Full logs from Zenpad:
full_logs2.txt (12.8 KB)
Defold logs from Zenpad:
defold_logs2.txt (1.4 KB)
Defold logs from other Android device (ZTE Blade v6) where everything works:
working_device_logs.txt (1.0 KB)
When I run game on the editor I can see a lots of prints like this
MAWE: DrawElements:
MAWE: prim_type: 4
MAWE: count: 36 00000024
MAWE: type: 5125
MAWE: first: 0 00000000
MAWE: DrawElements:
MAWE: prim_type: 4
MAWE: count: 36 00000024
MAWE: type: 5125
MAWE: first: 0 00000000
MAWE: DrawElements:
MAWE: prim_type: 4
MAWE: count: 36 00000024
MAWE: type: 5125
MAWE: first: 0 00000000
MAWE: DrawElements:
MAWE: prim_type: 4
MAWE: count: 36 00000024
MAWE: type: 5125
MAWE: first: 0 00000000
MAWE: DrawElements:
MAWE: prim_type: 4
MAWE: count: 36 00000024
MAWE: type: 5125
MAWE: first: 0 00000000
but on the device logs I cannot see these.
Ah, that’s probably because I used the wrong print function on android (each platform always does something slightly weird)
I’ll make new editor
Thanks, now I see the loggings with logcat. Here are Defold logs from crash and from working device. Those full logs with all the device loggings were most likely useless anyway.
Crash
defold_logs3.txt (1.8 KB)
Working device
working_device_logs2.txt (3.7 KB)
Alright, thank you so much for this info!
So, this is the input to the erring glDrawElements
:
W/defold (24492): WARNING:GRAPHICS: MAWE: DrawElements:
W/defold (24492): WARNING:GRAPHICS: MAWE: prim_type: 4
W/defold (24492): WARNING:GRAPHICS: MAWE: count: 36 00000024
W/defold (24492): WARNING:GRAPHICS: MAWE: type: 5125
W/defold (24492): WARNING:GRAPHICS: MAWE: first: 0 00000000
E/defold (24492): ERROR:GRAPHICS: DrawElements(1311): gl error 1280: 'GL_INVALID_ENUM' from glDrawElements
The error it gives is GL_INVALID_ENUM
, and looking at the input enums prim_type
, a.k.a mode in the documentation, and type
:
-
Prim type
4
corresponds to GL_TRIANGLES -
And type
5125
(or1405
in hexadecimal), is GL_UNSIGNED_INT.
Although, in thegl.h
I looked at in our current Android SDK, that enum isn’t defined(!)
The GL_UNSIGNED_INT
means that there are indices higher than 65535, which is quite a lot.
By the looks of your game, I guess you’re not using 3d models, but only sprites?
Have you by any chance increased the game project setting sprite.max_count
to something high?
Thank you very much! These are excellent news indeed!
When I decreased the sprite max count from 16384 (which seemed to be the maximum in editor when we added this value) to 4000 everything started working on Zenpad also. We maxed those values when the first default count of some resource was exceeded and they didn’t seem to cause any harm being so high
We are not using any 3d models but only sprites in the game.
Good to hear you found a solution!