Skip to content

feat(gles): enterprise GLES parity — GLSL version + runtime binding + Wayland (v0.29.13)#216

Merged
kolkov merged 1 commit into
mainfrom
feat/gles-enterprise-v29.13-pr
Jun 11, 2026
Merged

feat(gles): enterprise GLES parity — GLSL version + runtime binding + Wayland (v0.29.13)#216
kolkov merged 1 commit into
mainfrom
feat/gles-enterprise-v29.13-pr

Conversation

@kolkov

@kolkov kolkov commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Enterprise GLES parity for Linux. 18 files, +1159/-58.

  • GLSL version propagation — detected GL_SHADING_LANGUAGE_VERSION flows adapter → device → naga. Triangle verified on WSL2 Mesa d3d12 GL 4.1 (#version 410 core)
  • Runtime binding fallback — GL <4.2: assignBindingsAfterLink (Rust device.rs:438-461)
  • MSAA validation — glGetError after TexImage2DMultisample, sample count clamped to GL_MAX_SAMPLES
  • GLES function names — glClearDepthf, OES suffix fallback for VAO functions
  • Lazy VAO — created in CreateCommandEncoder (after Configure), not Open (before Configure)
  • Compute barrier — VERTEX_ATTRIB_ARRAY_BARRIER_BIT for SSBO→vertex reads (@lkmavi)
  • Wayland EGL — WindowBit-only tier, skip instance context, GLES 3.0 fallback, CoreProfile guard
  • naga v0.17.14 — SupportsExplicitLocations, UniformInfo reflection

Credits: @lkmavi (PR #210 FFI fixes, PR #215 findings)

Test plan

  • Build: Windows, Linux, macOS, WASM
  • Tests: 15/15 pass
  • Lint: 0 issues (Win/Linux/macOS)
  • Triangle renders on GLES WSL2 Wayland GL 4.1

…land fixes (v0.29.13)

Enterprise GLES parity for Linux:
- GLSL version propagation from driver (no more hardcoded #version 430)
- Runtime binding fallback for GL <4.2 (assignBindingsAfterLink)
- MSAA sample count validation + glGetError after texture alloc
- GLES-aware GL function loading (glClearDepthf, OES suffixes)
- Lazy VAO creation in CreateCommandEncoder (after Configure)
- Compute dispatch VERTEX_ATTRIB_ARRAY_BARRIER_BIT (@lkmavi PR #215)
- Tiered EGL config WindowBit-only for Wayland
- Skip Wayland instance context (prevent second wl_display)
- GLES 3.0 fallback in CreateSurface (@lkmavi PR #215)
- CoreProfile guard for GLES contexts (@lkmavi PR #215)
- naga v0.17.14 (SupportsExplicitLocations, UniformInfo reflection)

Verified: triangle renders on GLES WSL2 Wayland GL 4.1.
@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@kolkov kolkov merged commit 91c204c into main Jun 11, 2026
11 checks passed
@kolkov kolkov deleted the feat/gles-enterprise-v29.13-pr branch June 11, 2026 05:53
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.

1 participant