Skip to content

v0.17.14

Choose a tag to compare

@kolkov kolkov released this 08 Jun 15:35
f444845

GLSL version-aware binding + UniformInfo reflection (BUG-GLES-005)

GLSL backend now provides full infrastructure for runtime binding fallback on GL < 4.2 drivers (e.g., WSL2 Mesa d3d12 with GL 4.1 / GLSL 410). Follows Rust wgpu-hal device.rs:438-461 pattern.

Added

  • SupportsExplicitLocations() on Version — gates layout(binding=N) emission on GLSL >= 420 (desktop) or >= 310 (ES). Matches Rust naga mod.rs:213.
  • UniformInfo struct — reflection data for uniform/storage blocks (block name, binding, storage flag). Populated during GLSL code generation.
  • TranslationInfo.Uniforms — carries uniform block reflection to HAL for post-link glGetUniformBlockIndex/glUniformBlockBinding assignment.
  • VersionES300 constant — safe minimum for OpenGL ES contexts.

Fixed

  • CI: Codecov OIDC migration — replaced CODECOV_TOKEN secret with OIDC token exchange, fixing GPG signature verification failures.

Quality gates

  • TestRustReference: ALL PASS (100%)
  • SPIR-V validation: 172/172 (100%)
  • golangci-lint: 0 issues
  • CI: 10/10 checks pass (Linux, macOS, Windows)