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
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)
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)
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 |
 |
 |
ERROR: vkCreateComputePipelines returned error -3
at: compute_pipeline_create (drivers\vulkan\rendering_device_vulkan.cpp:5143) - Condition "err" is true. returned: RID()
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
Shaders currently fail because of descriptor set limits (tested on Galaxy Note 5):
Reproduced on:
Samsung Galaxy Note 5 (Android 7.0)
Google Pixel 2 XL (Android 10)
Google Pixel 3 XL (Android 10)
Could be related to this error:
Reproduced on:
Google Pixel 2 XL (Android 10)
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: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_createvmaCreateImagefails withVK_IMAGE_CREATE_MUTABLE_FORMAT_BIT(returnsVK_ERROR_OUT_OF_HOST_MEMORY)It's disabled on Android for now to avoid crashes.
Errors in
RenderingDeviceVulkan::compute_pipeline_createvkCreateComputePipelinesreturnsVK_ERROR_INITIALIZATION_FAILEDin some casesMissing 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 handleonVkSurfaceChangedevent to update the rendering systemRight now, pausing and resuming the app causes it to restart completely instead.
addressed in Proper surface reset when resuming app on Android #39004