Visitar URL original
feat(extensions): port Fp64Extension to WebGPU by ibgreen · Pull Request #11033 · visgl/deck.gl · GitHub
Skip to content

feat(extensions): port Fp64Extension to WebGPU - #11033

Merged
ibgreen merged 2 commits into
masterfrom
codex/webgpu-fp64-extension
Nov 4, 2026
Merged

ibgreen merged 2 commits into
masterfrom
codex/webgpu-fp64-extension

Conversation

@ibgreen

@ibgreen ibgreen commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

Background

Fp64Extension lacks WGSL projection despite luma.gl providing the required fp64 functions. Add WebGPU Mercator projection through the existing dual-language project64 module.

Change List

  • Add WGSL projection with shared uniforms and luma.gl math
  • Convert clip depth for WebGPU
  • Enable WebGPU scatterplot golden comparison
  • Retain polygon WebGPU skip: software-adapter rendering times out
  • Unit tests: hardware precision, Mercator boundaries, depth, and picking
  • Render tests: hardware scatterplot and polygon match existing goldens
  • Documentation: describe support, precision, and software-adapter limitations

Verified build, lint, website, targeted headless/render tests, and Apple M2 WebGPU tests. Numerical tests require hardware; no dependency changes.


Note

Low Risk
Adds WGSL support to an opt-in layer extension without altering core projection pipelines or default WebGL behavior.

Overview
Adds WebGPU support to Fp64Extension by implementing a WGSL counterpart for the project64 shader module. The WGSL shader utilizes luma.gl's fp64 emulated arithmetic functions and adjusts clip-space depth calculations to match WebGPU's [0, w] range.

Includes comprehensive WebGPU tests covering high-zoom rendering, object picking, boundary transformations, and enables WebGPU visual regression tests for ScatterplotLayer. Documentation is also updated to reflect WebGPU compatibility, hardware precision requirements, and performance characteristics.

Reviewed by Cursor Bugbot for commit b7bc168. Bugbot is set up for automated code reviews on this repo. Configure here.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-11-04T21:02:17.842414Z
We couldn’t complete this review. Comment @codex review to try again.
e7d1a6f PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@greptile-apps

greptile-apps Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge, with the previous documentation finding fixed and no new findings.

Summary

Adds WebGPU support to Fp64Extension through WGSL Mercator projection.

  • Fp64Extension projects WebGPU layer positions with extended-precision Mercator math.

No new issues were found in the changes since the previous review.

Reviews (2) · Last reviewed commit: "docs: consolidate fp64 extension limitat..." · Reviewed by Greptile

@coveralls

Copy link
Copy Markdown

Coverage Status

coverage: 84.815%. remained the same — codex/webgpu-fp64-extension into master

@coveralls

Copy link
Copy Markdown

Coverage Status

coverage: 84.815%. remained the same — codex/webgpu-fp64-extension into master

@ibgreen
ibgreen merged commit 0051f02 into master Nov 4, 2026
9 checks passed
@ibgreen
ibgreen deleted the codex/webgpu-fp64-extension branch November 4, 2026 21:21
# Fp64Extension

The `Fp64Extension` adds 64-bit precision to geospatial layers.
The `Fp64Extension` adds extended-precision Mercator projection to geospatial layers on WebGL and WebGPU. It represents coordinates as high and low `f32` terms using luma.gl's `fp64` shader module; this is emulated double-single arithmetic, not native IEEE 754 binary64.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The `Fp64Extension` adds extended-precision Mercator projection to geospatial layers on WebGL and WebGPU. It represents coordinates as high and low `f32` terms using luma.gl's `fp64` shader module; this is emulated double-single arithmetic, not native IEEE 754 binary64.
The `Fp64Extension` adds extended-precision Mercator projection to geospatial layers. It represents coordinates as high and low `f32` terms using luma.gl's `fp64` shader module; this is emulated double-single arithmetic, not native IEEE 754 binary64.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants