Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GLES2 crash with errors 502/506 on iOS [iPhone 5s, 6 and iPad Pro] #26450

Closed
tomnahooy opened this Issue Mar 1, 2019 · 56 comments

Comments

Projects
None yet
10 participants
@tomnahooy
Copy link

tomnahooy commented Mar 1, 2019

Godot version:
3.1 (tested beta 7 through beta 9)

OS/device including version:
iPhone 5s - iOS 11.4

Issue description:
Simple 2D projects crash instantly right after the launch image is shown. Screen turns dark grey. Does not occur when exporting as a GLES3 project.

XCode output:

2019-03-01 18:15:27.556089+0100 GLES2_TEST[295:13172] [DYMTLInitPlatform] platform initialization successful
*********** main.m
running app main
after init super 0x102bd0450
******** screen size 640, 1136
after init gles 0x102bd0450
******** adding observer for sound routing changes
******** adding observer for keyboard show/hide
glview is 0x102bd0450
Path: /var/containers/Bundle/Application/7DF1E009-FFCA-4227-B882-763032EF57A2/GLES2_TEST.app
godot_iphone /var/containers/Bundle/Application/7DF1E009-FFCA-4227-B882-763032EF57A2/GLES2_TEST.app/GLES2_TEST
cwd /private/var/containers/Bundle/Application/7DF1E009-FFCA-4227-B882-763032EF57A2/GLES2_TEST.app
os created
setting data dir to /var/mobile/Containers/Data/Application/CF445435-3FD3-4F46-89FC-A286B2707960/Documents from /var/mobile/Containers/Data/Application/CF445435-3FD3-4F46-89FC-A286B2707960/Documents
setup 0
cadisaplylink: 1start animation!
******** screen size 640, 1136
2019-03-01 18:15:28.211989+0100 GLES2_TEST[295:12957] [App] UIWindow->__registeredPreCommitHandler was abandoned !!!! this would have caused a cascade of blown fences - proactively clearing but a bug exists here somewhere between UIKit and CoreAnimation
2019-03-01 18:15:28.212285+0100 GLES2_TEST[295:12957] +[CATransaction synchronize] called within transaction
2019-03-01 18:15:28.218528+0100 GLES2_TEST[295:12957] +[CATransaction synchronize] called within transaction
2019-03-01 18:15:28.263400+0100 GLES2_TEST[295:12957] +[CATransaction synchronize] called within transaction
2019-03-01 18:15:28.322041+0100 GLES2_TEST[295:12957] OpenGL ES 2.0 Renderer: Apple A7 GPU
OpenGL ES 2.0 Renderer: Apple A7 GPU
2019-03-01 18:15:28.370377+0100 GLES2_TEST[295:12957] **ERROR**: Directional shadow framebuffer status invalid
2019-03-01 18:15:28.370805+0100 GLES2_TEST[295:12957]    At: drivers/gles2/rasterizer_scene_gles2.cpp:3330:initialize() - Directional shadow framebuffer status invalid
**ERROR**: Directional shadow framebuffer status invalid
   At: drivers/gles2/rasterizer_scene_gles2.cpp:3330:initialize() - Directional shadow framebuffer status invalid
2019-03-01 18:15:28.539121+0100 GLES2_TEST[295:12957] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2019-03-01 18:15:28.539908+0100 GLES2_TEST[295:12957] [MC] Reading from public effective user settings.
2019-03-01 18:15:29.165566+0100 GLES2_TEST[295:12957] 502 error
2019-03-01 18:15:29.203475+0100 GLES2_TEST[295:12957] **WARNING**: Could not create framebuffer!!
2019-03-01 18:15:29.203574+0100 GLES2_TEST[295:12957]    At: drivers/gles2/rasterizer_storage_gles2.cpp:4333:_render_target_allocate() - Could not create framebuffer!!
**WARNING**: Could not create framebuffer!!
   At: drivers/gles2/rasterizer_storage_gles2.cpp:4333:_render_target_allocate() - Could not create framebuffer!!
2019-03-01 18:15:29.231660+0100 GLES2_TEST[295:12957] 502 error
AGXGLDriver`___lldb_unnamed_symbol544$$AGXGLDriver:
    0x1a5906ac8 <+0>:  orr    w8, wzr, #0x1
    0x1a5906acc <+4>:  mov    w9, #0xbeef
    0x1a5906ad0 <+8>:  movk   w9, #0xdead, lsl #16
->  0x1a5906ad4 <+12>: str    w9, [x8]
    0x1a5906ad8 <+16>: ret    

The second one is marked 'Thread 1: EXC_BAD_ACCESS (code=1, address=0x1)' where the arrow is (see screenshot).

Steps to reproduce:
Make a new GLES2 project -> add Node2D -> export for iOS -> run on device

Minimal reproduction project:
GLES2_TEST.zip
(Included basic Images.xcassets with valid images to replace the xcassets Godot generates)

XCode screenshot:
screen shot 2019-03-01 at 18 25 13

@tomnahooy

This comment has been minimized.

Copy link
Author

tomnahooy commented Mar 1, 2019

Don't know if it is relevant, but XCode version used is 10.0

@akien-mga akien-mga added this to the 3.1 milestone Mar 1, 2019

@akien-mga

This comment has been minimized.

Copy link
Member

akien-mga commented Mar 1, 2019

This might have been fixed today by 8799f69, it will be available in 3.1 beta 10.

@tomnahooy

This comment has been minimized.

Copy link
Author

tomnahooy commented Mar 1, 2019

Ok cool, I'll try again when beta 10 is released and I'll let you know! Thanks!

@tomnahooy

This comment has been minimized.

Copy link
Author

tomnahooy commented Mar 3, 2019

It seems the issue persists in 3.1 beta 10, albeit with slightly different output in Xcode:

2019-03-03 12:26:04.113744+0100 GLES2_TEST[284:10057] [DYMTLInitPlatform] platform initialization successful
*********** main.m
running app main
after init super 0x102f6dff0
******** screen size 640, 1136
after init gles 0x102f6dff0
******** adding observer for sound routing changes
******** adding observer for keyboard show/hide
glview is 0x102f6dff0
Path: /var/containers/Bundle/Application/59DB892E-6DD7-458E-856C-AF2B3DBDB258/GLES2_TEST.app
godot_iphone /var/containers/Bundle/Application/59DB892E-6DD7-458E-856C-AF2B3DBDB258/GLES2_TEST.app/GLES2_TEST
cwd /private/var/containers/Bundle/Application/59DB892E-6DD7-458E-856C-AF2B3DBDB258/GLES2_TEST.app
os created
setting data dir to /var/mobile/Containers/Data/Application/AB43CFC3-E465-43F2-BB0F-F3CAC0F7E47B/Documents from /var/mobile/Containers/Data/Application/AB43CFC3-E465-43F2-BB0F-F3CAC0F7E47B/Documents
setup 0
cadisaplylink: 1start animation!
******** screen size 640, 1136
2019-03-03 12:26:04.669331+0100 GLES2_TEST[284:9922] [App] UIWindow->__registeredPreCommitHandler was abandoned !!!! this would have caused a cascade of blown fences - proactively clearing but a bug exists here somewhere between UIKit and CoreAnimation
2019-03-03 12:26:04.669605+0100 GLES2_TEST[284:9922] +[CATransaction synchronize] called within transaction
2019-03-03 12:26:04.679553+0100 GLES2_TEST[284:9922] +[CATransaction synchronize] called within transaction
2019-03-03 12:26:04.739634+0100 GLES2_TEST[284:9922] +[CATransaction synchronize] called within transaction
2019-03-03 12:26:04.780987+0100 GLES2_TEST[284:9922] OpenGL ES 2.0 Renderer: Apple A7 GPU
OpenGL ES 2.0 Renderer: Apple A7 GPU
2019-03-03 12:26:04.971276+0100 GLES2_TEST[284:9922] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2019-03-03 12:26:04.974813+0100 GLES2_TEST[284:9922] [MC] Reading from public effective user settings.
2019-03-03 12:26:05.590438+0100 GLES2_TEST[284:9922] 506 error
2019-03-03 12:26:05.739829+0100 GLES2_TEST[284:9922] 502 error
(lldb)
AGXGLDriver`___lldb_unnamed_symbol544$$AGXGLDriver:
    0x1a2a3eac8 <+0>:  orr    w8, wzr, #0x1
    0x1a2a3eacc <+4>:  mov    w9, #0xbeef
    0x1a2a3ead0 <+8>:  movk   w9, #0xdead, lsl #16
->  0x1a2a3ead4 <+12>: str    w9, [x8]
    0x1a2a3ead8 <+16>: ret

screen shot 2019-03-03 at 12 28 25

@akien-mga akien-mga changed the title iOS - GLES2 - Instant crash GLES2 crash with errors 502/506 on iOS (iPhone 5s) Mar 4, 2019

@akien-mga akien-mga modified the milestones: 3.1, 3.2 Mar 4, 2019

@volzhs

This comment has been minimized.

Copy link
Member

volzhs commented Mar 5, 2019

well... I feel sorry for milestones is set to 3.2 for this...

@akien-mga akien-mga modified the milestones: 3.2, 3.1 Mar 5, 2019

@akien-mga

This comment has been minimized.

Copy link
Member

akien-mga commented Mar 5, 2019

Could you try some earlier beta builds to see if it used to work? There were changes to GLES2 in all beta versions, so it could be that a change around beta 7 broke things for your device (it seems to be the case for some Windows setups and Android phones at least).

@tomnahooy

This comment has been minimized.

Copy link
Author

tomnahooy commented Mar 6, 2019

I went through all available beta builds and encountered the same issue in all of them. The Xcode builds failed for a different reason in beta 3 and 4, so these two I couldn't actually test. The 506 error only occurs in beta 10 and 11.

@reduz

This comment has been minimized.

Copy link
Member

reduz commented Mar 7, 2019

This may be fixed by 7141c73, by the way.

@tomnahooy

This comment has been minimized.

Copy link
Author

tomnahooy commented Mar 7, 2019

Cool. I'll test it as soon as it is available. Will it be in the next beta?

@tomnahooy

This comment has been minimized.

Copy link
Author

tomnahooy commented Mar 9, 2019

Just tested in RC1: the issue remains (errors 506 & 502).

*********** main.m
running app main
after init super 0x102ac72a0
******** screen size 640, 1136
after init gles 0x102ac72a0
******** adding observer for sound routing changes
******** adding observer for keyboard show/hide
glview is 0x102ac72a0
Path: /var/containers/Bundle/Application/0E8F04BE-EF60-4A6C-B18B-9B24A73634D2/GLES2_TEST.app
godot_iphone /var/containers/Bundle/Application/0E8F04BE-EF60-4A6C-B18B-9B24A73634D2/GLES2_TEST.app/GLES2_TEST
cwd /private/var/containers/Bundle/Application/0E8F04BE-EF60-4A6C-B18B-9B24A73634D2/GLES2_TEST.app
os created
setting data dir to /var/mobile/Containers/Data/Application/BE895C65-3919-4565-8439-B2FD7C3395FC/Documents from /var/mobile/Containers/Data/Application/BE895C65-3919-4565-8439-B2FD7C3395FC/Documents
setup 0
cadisaplylink: 1start animation!
******** screen size 640, 1136
2019-03-09 09:49:52.587215+0100 GLES2_TEST[284:11214] OpenGL ES 2.0 Renderer: Apple A7 GPU
OpenGL ES 2.0 Renderer: Apple A7 GPU
2019-03-09 09:49:52.725335+0100 GLES2_TEST[284:11214] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
2019-03-09 09:49:52.726258+0100 GLES2_TEST[284:11214] [MC] Reading from public effective user settings.
2019-03-09 09:49:53.136873+0100 GLES2_TEST[284:11214] 506 error
2019-03-09 09:49:53.476599+0100 GLES2_TEST[284:11214] 502 error
(lldb)
AGXGLDriver`___lldb_unnamed_symbol544$$AGXGLDriver:
    0x1a46baac8 <+0>:  orr    w8, wzr, #0x1
    0x1a46baacc <+4>:  mov    w9, #0xbeef
    0x1a46baad0 <+8>:  movk   w9, #0xdead, lsl #16
->  0x1a46baad4 <+12>: str    w9, [x8]
    0x1a46baad8 <+16>: ret
libdyld.dylib`start:
    0x183b05fbc <+0>: nop    
    0x183b05fc0 <+4>: bl     0x183b4e244               ; exit
    0x183b05fc4 <+8>: brk    #0x3

Screen Shot 2019-03-09 at 09 51 00

@akien-mga

This comment has been minimized.

Copy link
Member

akien-mga commented Mar 9, 2019

Does it work if you remove the default_env.tres from your project?

@tomnahooy

This comment has been minimized.

Copy link
Author

tomnahooy commented Mar 9, 2019

No, it doesn't make any difference if I remove it from the project.

@tomnahooy

This comment has been minimized.

Copy link
Author

tomnahooy commented Mar 9, 2019

I just noticed the following error when I ran the project in the editor on macOS:

E 0:00:00:0094 Directional shadow framebuffer status invalid <C Source> drivers/gles2/rasterizer_scene_gles2.cpp:3355 @ initialize()

I downloaded RC1 on my Linux machine as well and opened the same project: the error doesn't show up there. Also, it only shows up on the mac if the project is GLES2, GLES3 seems fine.

To be clear: it does run in the editor on macOS in GLES2, but it shows the error too.

@ViktorEvil

This comment has been minimized.

Copy link

ViktorEvil commented Mar 10, 2019

I get the same error on an iPhone 6 and iPad Pro using GLES2, I was trying to get better frame rates than GLES3 where I am getting around 40fps in a test scene consisting of a plane and sphere with 1 directional light. This is using 3.1rc

@akien-mga akien-mga changed the title GLES2 crash with errors 502/506 on iOS (iPhone 5s) GLES2 crash with errors 502/506 on iOS [iPhone 5s, 6 and iPad Pro] Mar 10, 2019

@akien-mga

This comment has been minimized.

Copy link
Member

akien-mga commented Mar 10, 2019

Do we have other iPhone / iPad users affected by this, and if so what are your phone/tablet models?

(If you're not affected by this on iPhone/iPad, please state so too.)

@akien-mga

This comment has been minimized.

Copy link
Member

akien-mga commented Mar 11, 2019

@BastiaanOlij @samgreen Are you able to reproduce it/debug further? @reduz doesn't have access to any relevant hardware right now.

@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 11, 2019

Compiled the release templates from master for arm64 to continue testing on the crashing iPhone 6. Getting some actionable output from the shader compiler. Might be a quick fix. Relevant snippet here:

**ERROR**: CanvasShaderGLES2: Vertex shader compilation failed:
ERROR: 0:19: '' : syntax error: #extension must always be before any non-preprocessor tokens
2019-03-11 14:35:54.039851-0700 GLES2Export[328:16429]    At: drivers/gles2/shader_gles2.cpp:129:_display_error_with_code() - CanvasShaderGLES2: Vertex shader compilation failed:
ERROR: 0:19: '' : syntax error: #extension must always be before any non-preprocessor tokens
**ERROR**: CanvasShaderGLES2: Vertex shader compilation failed:
ERROR: 0:19: '' : syntax error: #extension must always be before any non-preprocessor tokens

   At: drivers/gles2/shader_gles2.cpp:129:_display_error_with_code() - CanvasShaderGLES2: Vertex shader compilation failed:
ERROR: 0:19: '' : syntax error: #extension must always be before any non-preprocessor tokens

2019-03-11 14:35:54.040403-0700 GLES2Export[328:16429] **ERROR**: Method/Function Failed, returning: __null
2019-03-11 14:35:54.040447-0700 GLES2Export[328:16429]    At: drivers/gles2/shader_gles2.cpp:288:get_current_version() - Method/Function Failed, returning: __null
**ERROR**: Method/Function Failed, returning: __null
   At: drivers/gles2/shader_gles2.cpp:288:get_current_version() - Method/Function Failed, returning: __null
2019-03-11 14:35:54.040487-0700 GLES2Export[328:16429] **ERROR**: Condition ' !version ' is true. returned: false
2019-03-11 14:35:54.040508-0700 GLES2Export[328:16429]    At: drivers/gles2/shader_gles2.cpp:88:bind() - Condition ' !version ' is true. returned: false
**ERROR**: Condition ' !version ' is true. returned: false
   At: drivers/gles2/shader_gles2.cpp:88:bind() - Condition ' !version ' is true. returned: false
@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 11, 2019

So it looks like the GL_INVALID_OPERATION might be coming from the shaders failing to compile. The console is repeatedly logging this error as well as the shader errors above.

@akien-mga

This comment has been minimized.

Copy link
Member

akien-mga commented Mar 11, 2019

You synced with master at the wrong time, this error was a regression from #26928 and is fixed in #26932.

@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 11, 2019

Confirming that it's simply a shader compilation issue.

image

@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 11, 2019

Ah just saw your comment @akien-mga. I'll pull and confirm it's resolved for old iOS GPUs.

@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 11, 2019

Progress with the new pull. but still failing shader compilation on older GPUs. Details:

2019-03-11 14:59:28.386041-0700 GLES2Export[355:19894] **ERROR**: CanvasShaderGLES2: Vertex shader compilation failed:
ERROR: 0:72: Invalid call of undeclared identifier 'texture2DLodEXT'
2019-03-11 14:59:28.386073-0700 GLES2Export[355:19894]    At: drivers/gles2/shader_gles2.cpp:129:_display_error_with_code() - CanvasShaderGLES2: Vertex shader compilation failed:
ERROR: 0:72: Invalid call of undeclared identifier 'texture2DLodEXT'
**ERROR**: CanvasShaderGLES2: Vertex shader compilation failed:
ERROR: 0:72: Invalid call of undeclared identifier 'texture2DLodEXT'
@akien-mga

This comment has been minimized.

Copy link
Member

akien-mga commented Mar 11, 2019

To clarify, #26928 was not meant to fix this issue. It would be great if it did fix this error, but I doubt it :)

Edit: Though the error you're getting is related.

2019-03-11 14:59:28.386041-0700 GLES2Export[355:19894] ERROR: CanvasShaderGLES2: Vertex shader compilation failed:
ERROR: 0:72: Invalid call of undeclared identifier 'texture2DLodEXT'

@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 11, 2019

Ahhh, thanks for clarifying.

@akien-mga

This comment has been minimized.

Copy link
Member

akien-mga commented Mar 11, 2019

Can you try d9235be to see if this texture2DLodEXT error you get is still a regression from my PRs?

@akien-mga

This comment has been minimized.

Copy link
Member

akien-mga commented Mar 11, 2019

Reading the spec again, I did mess up with those PRs, I'll sent a revert.

@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 11, 2019

I’m thinking it’s actually this extension. Unrelated to cube map.

http://www.khronos.org/registry/gles/extensions/EXT/EXT_shader_texture_lod.txt

@akien-mga

This comment has been minimized.

Copy link
Member

akien-mga commented Mar 11, 2019

I just meant that you should test commit d9235be as it's the one before my changes.

Again, #26928 and #26932 were made today and introduced bugs that are affecting your tests. They're unrelated to the issue discussed here.

@akien-mga

This comment has been minimized.

Copy link
Member

akien-mga commented Mar 11, 2019

#26936 should fix that temporary regression and let you dig further again.

@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 11, 2019

As an aside, I’m curious about the original intent from the poster. All the devices listed in the ticket support GL ES 3 and Apple devices have supported it for almost 7 years now.

We’d have to go so far back as iPhone 4S and the original iPad to find a lack of GL3 support. Curious what the context is @tomnahooy

@ViktorEvil

This comment has been minimized.

Copy link

ViktorEvil commented Mar 11, 2019

As an aside, I’m curious about the original intent from the poster. All the devices listed in the ticket support GL ES 3 and Apple devices have supported it for almost 7 years now.

We’d have to go so far back as iPhone 4S and the original iPad to find a lack of GL3 support. Curious what the context is @tomnahooy

I tried GLES2 because I was having performance issues in a very simple 3D scene and it was suggested that I try GLES2 on the discord server to see if it rectified my low FPS

@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 11, 2019

@ViktorEvil Thanks for the context. That's useful information.

@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 11, 2019

@akien-mga pulled master again (man we move fast around here 😄 ) and rebuilt and redeployed. More progress, but I think something funky is happening where the shaders get compiled. The error is similar but in a different spot.

2019-03-11 15:57:54.971122-0700 GLES2Export[370:24887] **ERROR**: SceneShaderGLES2: Vertex shader compilation failed:
ERROR: 0:723: '' : syntax error: #extension must always be before any non-preprocessor tokens
ERROR: 0:1068: 'FRAGMENT_SHADER_GLOBALS' : syntax error: syntax error
2019-03-11 15:57:54.971153-0700 GLES2Export[370:24887]    At: drivers/gles2/shader_gles2.cpp:129:_display_error_with_code() - SceneShaderGLES2: Vertex shader compilation failed:
ERROR: 0:723: '' : syntax error: #extension must always be before any non-preprocessor tokens
ERROR: 0:1068: 'FRAGMENT_SHADER_GLOBALS' : syntax error: syntax error
**ERROR**: SceneShaderGLES2: Vertex shader compilation failed:
ERROR: 0:723: '' : syntax error: #extension must always be before any non-preprocessor tokens
ERROR: 0:1068: 'FRAGMENT_SHADER_GLOBALS' : syntax error: syntax error

   At: drivers/gles2/shader_gles2.cpp:129:_display_error_with_code() - SceneShaderGLES2: Vertex shader compilation failed:
ERROR: 0:723: '' : syntax error: #extension must always be before any non-preprocessor tokens
ERROR: 0:1068: 'FRAGMENT_SHADER_GLOBALS' : syntax error: syntax error

2019-03-11 15:57:54.972353-0700 GLES2Export[370:24887] **ERROR**: Method/Function Failed, returning: __null
2019-03-11 15:57:54.972402-0700 GLES2Export[370:24887]    At: drivers/gles2/shader_gles2.cpp:288:get_current_version() - Method/Function Failed, returning: __null
**ERROR**: Method/Function Failed, returning: __null
   At: drivers/gles2/shader_gles2.cpp:288:get_current_version() - Method/Function Failed, returning: __null
2019-03-11 15:57:54.972442-0700 GLES2Export[370:24887] **ERROR**: Condition ' !version ' is true. returned: false

The FRAGMENT_SHADER_GLOBALS is new.

Relevant shader output from log:

720: #ifndef USE_GLES_OVER_GL
721: #ifdef GL_EXT_shader_texture_lod
722: #extension GL_EXT_shader_texture_lod : enable
723: #define texture2DLod(img, coord, lod) texture2DLodEXT(img, coord, lod)
724: #define textureCubeLod(img, coord, lod) textureCubeLodEXT(img, coord, lod)
725: #endif
726: #endif // !USE_GLES_OVER_GL

If our goal is to get the #extension towards the beginning of the file, why is it appearing on line 722?

@tomnahooy

This comment has been minimized.

Copy link
Author

tomnahooy commented Mar 11, 2019

@samgreen I had some issues with an iOS project using gles3 (using 3.0.6), where there was a strange warping of 3D meshes. I couldn't test it any farther myself because none of my testers or users seem to have the issue, but Apple review had it frequently and rejected my builds for it. I ended up doing the project over in gles2 using 2.1.x and never had the issue again. Also, since there are many issues with gles3 on android as well, it seems safer to me to use gles2 on mobile all together :)

@akien-mga

This comment has been minimized.

Copy link
Member

akien-mga commented Mar 11, 2019

@samgreen Sorry, that was still a fallout of my wrong PRs from today... It should now be fixed with 3ebde6f, at least for me GLES2 works well and the cumulated diff is basically nil...

Now it should work properly, i.e. as it did before a few hours ago.

@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 11, 2019

Latest crash

Screen Shot 2019-03-11 at 4 56 11 PM

@Xancett

This comment has been minimized.

Copy link

Xancett commented Mar 12, 2019

I don't know if this helps but I've tested GLES2 (specifically the project supplied) on different devices.

  • iPad (2018) no crash
  • iPhone X no crash
  • iPhone 6 plus crashed
@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 12, 2019

Helpful context, thanks @Xancett

@alcroito

This comment has been minimized.

Copy link
Contributor

alcroito commented Mar 12, 2019

Some additional info. Tested the sample project with RC3, GLES2 on an iPhone 6S. Doesn't crash.

@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 12, 2019

To summarize:

Device GPU OpenGL FBO Error?
iPhone 5s PowerVR G6430 YES
iPhone 6 & 6 Plus PowerVR GX6450 YES
2015 iPad Pro 9.7" PowerVR Series 7XT YES
iPhone 6s & 6s Plus PowerVR GT7600 NO
iPhone 7 & 7 Plus Apple A10 NO
iPad (2018) Apple A10 NO
2017 iPad Pro 10.5" Apple A10X NO
iPhone X Apple A11 NO
iPhone XS Max Apple A12 NO

The problem might be restricted to older PowerVR gpus, except @ViktorEvil has reported the same issue with an iPad pro (can you confirm the generation?), which is one of the newest Apple chips.

I'll continue digging today.

edit: I just realized we have conflicting crash reports from @ViktorEvil and @clayheaton on iPad pro.

@ViktorEvil

This comment has been minimized.

Copy link

ViktorEvil commented Mar 12, 2019

Sorry should have stated that my iPad Pro is 9.7” with A9X chip

@BastiaanOlij

This comment has been minimized.

Copy link
Contributor

BastiaanOlij commented Mar 13, 2019

This is working fine on my iPhone 7. Can't seem to test on my iPad, XCode won't recognise it but its very very very very very very old ;)

@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 13, 2019

@BastiaanOlij Thanks for the update, further evidence for the table above.

@samgreen

This comment has been minimized.

Copy link
Contributor

samgreen commented Mar 14, 2019

I have finally resolved this issue. After all this debugging it turns out that the export template was incorrectly coded and was always creating OpenGL ES 3 contexts on devices that supported it. That explains the weirdness that we saw in the table above. The export template will function correctly on devices that only support OpenGL ES 2 and not 3.

Fix coming soon. Should be very small, hopefully we can make the release @akien-mga

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.