← Back to context

Comment by pjmlp

14 days ago

At least they are making an effort to correct the extension spaghetti, already worse than OpenGL.

Addiitionally most of these fixes aren't coming into Android, now getting WebGPU for Java/Kotlin[0] after so many refused to move away from OpenGL ES, and naturally any card not lucky to get new driver releases.

Still, better now than never.

[0] - https://developer.android.com/jetpack/androidx/releases/webg...

As someone from game development, not supporting Vulkan on Android and sticking with OpenGL ES instead is a safer bet. There is always some device(s) that bug out on Vulkan badly. Nobody wants to sit and find workarounds for that obscure vendor.

Bizarre take. Notice how that WebGPU is an AndroidX library? That means WebGPU API support is built into apps via that library and runs on top of the system's Vulkan or OpenGL ES API.

Do you work for Google or an Android OEM? If not, you have no basis to make the claim that Android will cease updating Vulkan API support.

  • I did not do such claim.

    WebGPU on Android runs on top of Vulkan.

    If you knew about 3D programming on Android, you would know that there are ongoing efforts to have only Vulkan, with OpenGL ES on top.

    However Java and Kotlin devs refuse to bother with the NDK for Vulkan, and keep reaching for OpenGL ES instead.

    Please refer to Google talks on Vulkanised conferences.

    • Is it possible to support OpenGL on top of Vulkan well? It has been pointed out that Vulkan requires you to completely freeze and compile a graphics pipeline before using it, while OpenGL's state machine is more flexible, and the underlying hardware is somewhat more amenable to these state transitions at runtime, than the Vulkan API would suggest.

      Don't these compatibility layers run into issues with constant pipeline recompilation related performance issues, when emulating OpenGL?

      2 replies →

    • Vulkan is awful to work with and the drivers are buggy. Google's own phones are the worst for it. I have an app with a compute only vulkan pipeline and on the Google Pixel 10 the whole screen becomes corrupted with some fairly basic shaders.

[flagged]

  • Thanks for showing the audience the lack of experience with Vulkan drivers on Android.

  • The chain for GPU driver updates on Android phones is incredibly long.

    Google > Phone Vendor > SoC Vendor > Arm > SoC Vendor > Phone Vendor > Android Update

    and that is the happy case. The general case looks more like this:

    Google > Phone Vendor > SoC Vendor > "Have you considered buying a new SoC?"