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

[TRACKER] 4.0 Android rendering issues #39033

Closed
5 of 10 tasks
pouleyKetchoupp opened this issue May 25, 2020 · 19 comments
Closed
5 of 10 tasks

[TRACKER] 4.0 Android rendering issues #39033

pouleyKetchoupp opened this issue May 25, 2020 · 19 comments

Comments

@pouleyKetchoupp
Copy link
Contributor

pouleyKetchoupp commented May 25, 2020

This tracker lists remaining rendering issues on Android after integrating Vulkan support from #36919.


Minimal project I'm using for tests:
line-edit-keyboard.zip

Debug APK for quick test:
line-edit-keyboard_debug_apk.zip


  • Missing 3D support (needs a new renderer implementation & shaders)
    Shaders currently fail because of descriptor set limits (tested on Galaxy Note 5):
ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
   at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. returned: RID()

Reproduced on:
Samsung Galaxy Note 5 (Android 7.0)
Google Pixel 2 XL (Android 10)
Google Pixel 3 XL (Android 10)

  • Not rendering on some devices
    Could be related to this error:
ERROR: Condition "p_rasterization_state.patch_control_points < 1 || p_rasterization_state.patch_control_points > limits.maxTessellationPatchSize" is true. Returning: RID()
   at: render_pipeline_create (drivers\vulkan\rendering_device_vulkan.cpp:5003) - Condition "p_rasterization_state.patch_control_points < 1 || p_rasterization_state.patch_control_points > limits.maxTessellationPatchSize" is true. Returning: RID()

Reproduced on:
Google Pixel 2 XL (Android 10)

  • Colors are off on some devices
    Note: This could be due to poor Vulkan support with some drivers on older versions of Android

Reproduced on:
Samsung Galaxy Note 5 (Android 7.0)
Samsung Galaxy S7 Edge (Exynos variant, Android 8.0)
Honor 10 (Android 9)

Can't repro on:
Google Pixel 3a (Android 10)
Google Pixel 3 XL (Android 10)
OnePlus 6 (Android 10)
Xiaomi Mi MIX 3 (Android 10)

Example with TextureRect :

Normal Glitch
  • Vulkan validation layers are not working (fails on vkGetInstanceProcAddr)
    It's disabled on Android for now to avoid crashes.

  • Errors when using format list in RenderingDeviceVulkan::texture_create
    vmaCreateImage fails with VK_IMAGE_CREATE_MUTABLE_FORMAT_BIT (returns VK_ERROR_OUT_OF_HOST_MEMORY)
    It's disabled on Android for now to avoid crashes.

  • Errors in RenderingDeviceVulkan::compute_pipeline_create
    vkCreateComputePipelines returns VK_ERROR_INITIALIZATION_FAILED in some cases

ERROR: vkCreateComputePipelines returned error -3
   at: compute_pipeline_create (drivers\vulkan\rendering_device_vulkan.cpp:5143) - Condition "err" is true. returned: RID()
  • Missing VR support
    There's specific initialization for GL, based on xrMode, it's not handled for Vulkan.

  • Missing fallback to GLES2

  • Building templates with Android API 18 to 23
    Vulkan support should be disabled in this case.

  • Properly handle onVkSurfaceChanged event to update the rendering system
    Right now, pausing and resuming the app causes it to restart completely instead.
    addressed in Proper surface reset when resuming app on Android #39004

@nathanfranke
Copy link
Contributor

nathanfranke commented Jun 1, 2020

a8787d1

Colors are off, maybe a texture format issue?

Cannot reproduce on my Google Pixel 3a (Android 10)

image

@pouleyKetchoupp
Copy link
Contributor Author

@nathanfranke Thanks for info! I'll add that to the description.
I've just tested again with 34ef9a5 and I still see the same issue on Galaxy Note 5 (Android 7.0).

@m4gr3d
Copy link
Contributor

m4gr3d commented Jun 2, 2020

@pouleyKetchoupp Android 7.0 is supposed to have poor vulkan support, so the issue could be with the vulkan drivers on the device.

@pouleyKetchoupp
Copy link
Contributor Author

@m4gr3d That makes sense. I've updated the description, and we'll see if this is confirmed with more tests on different devices.

@Calinou
Copy link
Member

Calinou commented Jun 2, 2020

@pouleyKetchoupp Could you upload an APK of the minimal reproduction project and put it into a ZIP file (so GitHub accepts it)? This would make testing significantly easier. I managed to compile an APK here, but couldn't actually run it after exporting because none of the scenes were included in the final project for some reason.

@pouleyKetchoupp
Copy link
Contributor Author

@Calinou Added!

@m4gr3d
Copy link
Contributor

m4gr3d commented Jun 9, 2020

@pouleyKetchoupp I've finally got around to test your attached debug apk.

2020-06-09 09:26:28.868 3098-3098/? I/ineeditkeyboar: Late-enabling -Xcheck:jni
2020-06-09 09:26:28.890 3098-3098/? E/ineeditkeyboar: Unknown bits set in runtime_flags: 0x8000
2020-06-09 09:26:29.329 3098-3153/org.godotengine.lineeditkeyboard I/AdrenoGLES: QUALCOMM build                   : ba734b1, I0a3e8c4129
    Build Date                       : 11/08/19
    OpenGL ES Shader Compiler Version: EV031.27.05.02
    Local Branch                     : 
    Remote Branch                    : refs/tags/AU_LINUX_ANDROID_LA.UM.7.8.9.C1.08.00.00.516.287
    Remote Branch                    : NONE
    Reconstruct Branch               : NOTHING
2020-06-09 09:26:29.329 3098-3153/org.godotengine.lineeditkeyboard I/AdrenoGLES: Build Config                     : S P 8.0.11 AArch64
2020-06-09 09:26:29.350 3098-3153/org.godotengine.lineeditkeyboard I/AdrenoGLES: PFP: 0x016ee183, ME: 0x00000000
2020-06-09 09:26:29.355 3098-3203/org.godotengine.lineeditkeyboard I/godot: Godot Engine v4.0.dev.custom_build.be22a1f9b - https://godotengine.org
2020-06-09 09:26:29.378 3098-3203/org.godotengine.lineeditkeyboard D/vulkan: searching for layers in '/data/app/org.godotengine.lineeditkeyboard-n7Pbk67EUczt1aRp-jFZTg==/lib/arm64'
2020-06-09 09:26:29.378 3098-3203/org.godotengine.lineeditkeyboard D/vulkan: searching for layers in '/data/app/org.godotengine.lineeditkeyboard-n7Pbk67EUczt1aRp-jFZTg==/base.apk!/lib/arm64-v8a'
2020-06-09 09:26:29.382 3098-3203/org.godotengine.lineeditkeyboard I/AdrenoVK: QUALCOMM build          : ba734b1, I0a3e8c4129
    Build Date              : 11/08/19
    Shader Compiler Version : EV031.27.05.02
    Local Branch            : 
    Remote Branch           : refs/tags/AU_LINUX_ANDROID_LA.UM.7.8.9.C1.08.00.00.516.287
    Remote Branch           : NONE
    Reconstruct Branch      : NOTHING
2020-06-09 09:26:29.382 3098-3203/org.godotengine.lineeditkeyboard I/AdrenoVK: Build Config            : S P 8.0.11 AArch64
2020-06-09 09:26:29.392 3098-3153/org.godotengine.lineeditkeyboard W/Gralloc3: mapper 3.x is not supported
2020-06-09 09:26:29.393 3098-3098/org.godotengine.lineeditkeyboard W/RenderThread: type=1400 audit(0.0:176359): avc: denied { read } for name="u:object_r:vendor_default_prop:s0" dev="tmpfs" ino=24719 scontext=u:r:untrusted_app:s0:c93,c257,c512,c768 tcontext=u:object_r:vendor_default_prop:s0 tclass=file permissive=0
2020-06-09 09:26:29.397 3098-3153/org.godotengine.lineeditkeyboard E/libc: Access denied finding property "vendor.gralloc.disable_ahardware_buffer"
2020-06-09 09:26:30.904 3098-3213/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.904 3098-3213/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:30.907 3098-3210/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.907 3098-3210/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:30.916 3098-3227/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.916 3098-3227/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:30.919 3098-3229/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.919 3098-3229/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:30.925 3098-3233/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.925 3098-3233/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:30.946 3098-3234/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.946 3098-3234/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:30.956 3098-3228/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.956 3098-3228/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:30.964 3098-3213/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.964 3098-3213/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:30.967 3098-3210/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.967 3098-3210/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:30.967 3098-3235/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.967 3098-3235/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:30.971 3098-3227/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.971 3098-3227/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:30.971 3098-3203/org.godotengine.lineeditkeyboard E/godot: ERROR: Condition "!scene_singleton->shader.scene_shader.version_is_valid(version)" is true.
2020-06-09 09:26:30.971 3098-3203/org.godotengine.lineeditkeyboard E/godot:    at: set_code (servers\rendering\rasterizer_rd\rasterizer_scene_high_end_rd.cpp:212) - Condition "!scene_singleton->shader.scene_shader.version_is_valid(version)" is true.
2020-06-09 09:26:30.985 3098-3210/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.986 3098-3210/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:30.988 3098-3229/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.988 3098-3229/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:30.989 3098-3213/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:30.989 3098-3213/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.000 3098-3228/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.000 3098-3228/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.002 3098-3210/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.002 3098-3210/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.003 3098-3234/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.003 3098-3234/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.007 3098-3213/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.007 3098-3213/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.008 3098-3229/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.008 3098-3229/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.011 3098-3227/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.011 3098-3227/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.013 3098-3235/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.013 3098-3235/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.013 3098-3233/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.013 3098-3233/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.013 3098-3203/org.godotengine.lineeditkeyboard E/godot: ERROR: Condition "!scene_singleton->shader.scene_shader.version_is_valid(version)" is true.
2020-06-09 09:26:31.014 3098-3203/org.godotengine.lineeditkeyboard E/godot:    at: set_code (servers\rendering\rasterizer_rd\rasterizer_scene_high_end_rd.cpp:212) - Condition "!scene_singleton->shader.scene_shader.version_is_valid(version)" is true.
2020-06-09 09:26:31.028 3098-3213/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.028 3098-3213/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.030 3098-3228/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.030 3098-3228/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.030 3098-3227/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.030 3098-3227/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.040 3098-3210/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.040 3098-3210/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.045 3098-3213/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.045 3098-3213/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.046 3098-3227/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.046 3098-3227/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.046 3098-3229/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.046 3098-3229/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.050 3098-3235/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.050 3098-3235/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.051 3098-3228/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.051 3098-3228/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.056 3098-3234/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.056 3098-3234/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.057 3098-3233/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:26:31.057 3098-3233/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:26:31.058 3098-3203/org.godotengine.lineeditkeyboard E/godot: ERROR: Condition "!scene_singleton->shader.scene_shader.version_is_valid(version)" is true.
2020-06-09 09:26:31.058 3098-3203/org.godotengine.lineeditkeyboard E/godot:    at: set_code (servers\rendering\rasterizer_rd\rasterizer_scene_high_end_rd.cpp:212) - Condition "!scene_singleton->shader.scene_shader.version_is_valid(version)" is true.
2020-06-09 09:26:31.058 3098-3203/org.godotengine.lineeditkeyboard E/godot: ERROR: Condition "!shader" is true. Returning: RID()
2020-06-09 09:26:31.058 3098-3203/org.godotengine.lineeditkeyboard E/godot:    at: uniform_set_create (drivers\vulkan\rendering_device_vulkan.cpp:4387) - Condition "!shader" is true. Returning: RID()
2020-06-09 09:26:31.058 3098-3203/org.godotengine.lineeditkeyboard E/godot: ERROR: Condition "!shader" is true. Returning: RID()
2020-06-09 09:26:31.058 3098-3203/org.godotengine.lineeditkeyboard E/godot:    at: uniform_set_create (drivers\vulkan\rendering_device_vulkan.cpp:4387) - Condition "!shader" is true. Returning: RID()
2020-06-09 09:26:31.058 3098-3203/org.godotengine.lineeditkeyboard E/godot: ERROR: Condition "!shader" is true. Returning: RID()
2020-06-09 09:26:31.058 3098-3203/org.godotengine.lineeditkeyboard E/godot:    at: uniform_set_create (drivers\vulkan\rendering_device_vulkan.cpp:4387) - Condition "!shader" is true. Returning: RID()
2020-06-09 09:26:31.094 3098-3203/org.godotengine.lineeditkeyboard I/godot:  
2020-06-09 09:26:31.122 3098-3203/org.godotengine.lineeditkeyboard I/libOpenSLES: Emulating old channel mask behavior (ignoring positional mask 0x3, using default mask 0x3 based on channel count of 2)
2020-06-09 09:26:31.149 3098-3203/org.godotengine.lineeditkeyboard W/AudioTrack: createTrack_l(0): AUDIO_OUTPUT_FLAG_FAST denied by server; frameCount 0 -> 1772
2020-06-09 09:26:31.417 3098-3203/org.godotengine.lineeditkeyboard E/godot: WARNING: Icon not supported by this display server.
2020-06-09 09:26:31.417 3098-3203/org.godotengine.lineeditkeyboard E/godot:    at: set_icon (servers\display_server.cpp:303) - Icon not supported by this display server.
  • On a pixel 2xl running Android 10, nothing renders, and the following error logs are printed to logcat:
2020-06-09 09:38:52.308 25701-25701/? I/ineeditkeyboar: Late-enabling -Xcheck:jni
2020-06-09 09:38:52.331 25701-25701/? E/ineeditkeyboar: Unknown bits set in runtime_flags: 0x8000
2020-06-09 09:38:52.573 25701-25722/org.godotengine.lineeditkeyboard I/Adreno: QUALCOMM build                   : bc00834, I609ab310b2
    Build Date                       : 04/11/19
    OpenGL ES Shader Compiler Version: EV031.26.07.00
    Local Branch                     : 
    Remote Branch                    : 
    Remote Branch                    : 
    Reconstruct Branch               : 
2020-06-09 09:38:52.573 25701-25722/org.godotengine.lineeditkeyboard I/Adreno: Build Config                     : S L 8.0.6 AArch64
2020-06-09 09:38:52.576 25701-25722/org.godotengine.lineeditkeyboard I/Adreno: PFP: 0x005ff110, ME: 0x005ff066
2020-06-09 09:38:52.581 25701-25727/org.godotengine.lineeditkeyboard I/godot: Godot Engine v4.0.dev.custom_build.be22a1f9b - https://godotengine.org
2020-06-09 09:38:52.588 25701-25727/org.godotengine.lineeditkeyboard D/vulkan: searching for layers in '/data/app/org.godotengine.lineeditkeyboard-PvY9STRkj8QvO9iHdnT8iw==/lib/arm64'
2020-06-09 09:38:52.589 25701-25727/org.godotengine.lineeditkeyboard D/vulkan: searching for layers in '/data/app/org.godotengine.lineeditkeyboard-PvY9STRkj8QvO9iHdnT8iw==/base.apk!/lib/arm64-v8a'
2020-06-09 09:38:52.590 25701-25727/org.godotengine.lineeditkeyboard I/Adreno: QUALCOMM build          : bc00834, I609ab310b2
    Build Date              : 04/11/19
    Shader Compiler Version : EV031.26.07.00
    Local Branch            : 
    Remote Branch           : 
    Remote Branch           : 
    Reconstruct Branch      : 
2020-06-09 09:38:52.590 25701-25727/org.godotengine.lineeditkeyboard I/Adreno: Build Config            : S L 8.0.6 AArch64
2020-06-09 09:38:52.600 25701-25722/org.godotengine.lineeditkeyboard W/Gralloc3: mapper 3.x is not supported
2020-06-09 09:38:54.107 25701-25727/org.godotengine.lineeditkeyboard E/godot: ERROR: Condition "p_rasterization_state.patch_control_points < 1 || p_rasterization_state.patch_control_points > limits.maxTessellationPatchSize" is true. Returning: RID()
2020-06-09 09:38:54.107 25701-25727/org.godotengine.lineeditkeyboard E/godot:    at: render_pipeline_create (drivers\vulkan\rendering_device_vulkan.cpp:5003) - Condition "p_rasterization_state.patch_control_points < 1 || p_rasterization_state.patch_control_points > limits.maxTessellationPatchSize" is true. Returning: RID()
2020-06-09 09:38:54.107 25701-25727/org.godotengine.lineeditkeyboard E/godot: ERROR: Condition "p_rasterization_state.patch_control_points < 1 || p_rasterization_state.patch_control_points > limits.maxTessellationPatchSize" is true. Returning: RID()
2020-06-09 09:38:54.107 25701-25727/org.godotengine.lineeditkeyboard E/godot:    at: render_pipeline_create (drivers\vulkan\rendering_device_vulkan.cpp:5003) - Condition "p_rasterization_state.patch_control_points < 1 || p_rasterization_state.patch_control_points > limits.maxTessellationPatchSize" is true. Returning: RID()
2020-06-09 09:38:54.107 25701-25727/org.godotengine.lineeditkeyboard E/godot: ERROR: Condition "p_rasterization_state.patch_control_points < 1 || p_rasterization_state.patch_control_points > limits.maxTessellationPatchSize" is true. Returning: RID()
2020-06-09 09:38:54.107 25701-25727/org.godotengine.lineeditkeyboard E/godot:    at: render_pipeline_create (drivers\vulkan\rendering_device_vulkan.cpp:5003) - Condition "p_rasterization_state.patch_control_points < 1 || p_rasterization_state.patch_control_points > limits.maxTessellationPatchSize" is true. Returning: RID()
2020-06-09 09:38:54.368 25701-25739/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.368 25701-25739/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.369 25701-25736/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.369 25701-25736/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.382 25701-25733/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.382 25701-25733/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.385 25701-25738/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.385 25701-25738/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.393 25701-25737/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.393 25701-25737/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.420 25701-25736/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.420 25701-25736/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.422 25701-25739/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.422 25701-25739/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.429 25701-25735/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.429 25701-25735/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.434 25701-25733/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.434 25701-25733/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.445 25701-25734/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.445 25701-25734/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.452 25701-25732/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.452 25701-25732/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.452 25701-25727/org.godotengine.lineeditkeyboard E/godot: ERROR: Condition "!scene_singleton->shader.scene_shader.version_is_valid(version)" is true.
2020-06-09 09:38:54.452 25701-25727/org.godotengine.lineeditkeyboard E/godot:    at: set_code (servers\rendering\rasterizer_rd\rasterizer_scene_high_end_rd.cpp:212) - Condition "!scene_singleton->shader.scene_shader.version_is_valid(version)" is true.
2020-06-09 09:38:54.474 25701-25732/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.474 25701-25732/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.475 25701-25735/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.475 25701-25735/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.480 25701-25734/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.480 25701-25734/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.495 25701-25736/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.495 25701-25736/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.495 25701-25739/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.495 25701-25739/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.497 25701-25732/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.497 25701-25732/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.498 25701-25737/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.498 25701-25737/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.500 25701-25738/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.500 25701-25738/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.502 25701-25735/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.502 25701-25735/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.503 25701-25734/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.503 25701-25734/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.504 25701-25733/org.godotengine.lineeditkeyboard E/godot: ERROR: On shader stage 'Vertex', uniform 'transforms' uses a set (4) index larger than what is supported by the hardware (4).
2020-06-09 09:38:54.504 25701-25733/org.godotengine.lineeditkeyboard E/godot:    at: shader_create (drivers\vulkan\rendering_device_vulkan.cpp:3903) - Condition "set >= limits.maxBoundDescriptorSets" is true. Returning: RID()
2020-06-09 09:38:54.504 25701-25727/org.godotengine.lineeditkeyboard E/godot: ERROR: Condition "!scene_singleton->shader.scene_shader.version_is_valid(version)" is true.
2020-06-09 09:38:54.504 25701-25727/org.godotengine.lineeditkeyboard E/godot:    at: set_code (servers\rendering\rasterizer_rd\rasterizer_scene_high_end_rd.cpp:212) - Condition "!scene_singleton->shader.scene_shader.version_is_valid(version)" is true.

@Calinou
Copy link
Member

Calinou commented Jun 10, 2020

This is what I get on my OnePlus 6 running Android 10.0.0:

Screenshot_20200610-140233

Colors are correct, and I can scroll the area in the top-right corner as expected.

PS: I can't access the image @m4gr3d posted - it's marked as "File is in owner's trash".

@nathanfranke

This comment has been minimized.

@m4gr3d

This comment has been minimized.

@Calinou
Copy link
Member

Calinou commented Jun 10, 2020

On a Samsung Galaxy S7 edge (Exynos 8890) running Android 8.0.0, I get incorrect colors:

Incorrect colors

@pouleyKetchoupp
Copy link
Contributor Author

Thanks all for testing on different devices! I'm off for the week but I'll update the issue's description with details as soon as I have more time.

@Calinou
Copy link
Member

Calinou commented Jun 13, 2020

I get correct rendering on a Xiaomi Mi MIX 3 (M1810E5A) running Android 10:

Screenshot_2020-06-13-17-58-21-636_org godotengine lineeditkeyboard

@Calinou
Copy link
Member

Calinou commented Jun 13, 2020

I get incorrect rendering on a Honor 10 (COL-L29) running Android 9:

Screenshot_20200613_204330_org godotengine lineeditkeyboard

Disregard the accidental close/reopen below.

@Calinou Calinou closed this as completed Jun 13, 2020
@Calinou Calinou reopened this Jun 13, 2020
@The-O-King
Copy link
Contributor

Has anyone been working on/made progress on refactors to fix the 3D rendering issues? I was looking to help with that but don't want to duplicate effort if work has already started!

@Calinou
Copy link
Member

Calinou commented Sep 21, 2020

@The-O-King The 3D Vulkan renderer is still receiving significant changes right now. I'd wait until work on the renderer is done before starting to port it to mobile.

@briansemrau
Copy link
Contributor

I've reproduced one of the issues already mentioned:

ERROR: Condition "p_rasterization_state.patch_control_points < 1 || p_rasterization_state.patch_control_points > limits.maxTessellationPatchSize" is true. Returning: RID()
   at: render_pipeline_create (drivers\vulkan\rendering_device_vulkan.cpp:5003) - Condition "p_rasterization_state.patch_control_points < 1 || p_rasterization_state.patch_control_points > limits.maxTessellationPatchSize" is true. Returning: RID()

This is on master 2797c2a using a OnePlus 3T. Same issue on both OxygenOS and separately on LineageOS 17.1 with Android 10.

I believe I heard that 4.0 development is transitioning primarily to fixing bugs with the renderer and that all significant new features are implemented. Are there any devs planning on looking at these issues in the near future?

@Calinou
Copy link
Member

Calinou commented Dec 20, 2020

I believe I heard that 4.0 development is transitioning primarily to fixing bugs with the renderer and that all significant new features are implemented

Not yet, features like occlusion culling have yet to be implemented.
Edit: Done in #48050.

@clayjohn
Copy link
Member

Most if not all of these issues have been addressed with the Vulkan Mobile renderer. Closing this now as it is long out of date.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants