Skip to content

Latitude precision issue in Globe Projection with Mali GPUs #7419

@tavimori

Description

@tavimori

maplibre-gl-js version: 5.22.0

browser: any phone with Mali GPU?

Steps to Trigger Behavior

  1. Mali GPU, zoom around 11, globe projection, latitude around 30.9 N.
  2. Open the demo links on phones with Mali GPU.
  3. The y-direction projection has a precision issue at zoom around 11 under the globe projection. Some distinct latitude values will overlap (see the image below); this applies to both custom layers and map tiles.

BTW, I noticed that there is a discussion on GPU "atan" error correction in https://github.com/maplibre/maplibre-gl-js/blob/main/developer-guides/globe.md, not sure if related.

Link to Demonstration

https://jsbin.com/zenatuk/edit?html,output
(modified based on the official example https://maplibre.org/maplibre-gl-js/docs/examples/add-a-custom-layer-with-tiles-to-a-globe/ )

Expected Behavior

(Screenshot on Xiaomi 13, Adreno 740)
Image

(Screenshot on iPhone 16e, Apple A18)
Image

Actual Behavior

(Screenshot on Huawei Nova 13, Mali-G610?)
Image

We also tested on the Oppo Find N2 Flip (PGT110) with Mali-G710, which has the same issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    PR is more than welcomedExtra attention is neededbugSomething isn't workingglobeGlobe related issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions