Skip to content

Commit 168d452

Browse files
jeremy-lunargarcady-lunarg
authored andcommitted
Update CHANGES for 16.4.0
1 parent 0e43b16 commit 168d452

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

CHANGES.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,52 @@ This project adheres to [Semantic Versioning](https://semver.org/).
99
See issue #4210 for details.
1010
* Add support for GL_EXT_opacity_micromap_ray_query_mode
1111

12+
## 16.4.0 2026-07-14
13+
14+
### Descriptor Heap
15+
16+
* Implement `GLSL_EXT_structured_descriptor_heap` with SPIR-V layout generation, heap offset access, buffer references, matrix layout decorations, and correct `readonly`/`writeonly` qualifier propagation for buffer and image descriptors
17+
* Fix descriptor heap-bound buffer access to use typed pointers
18+
* Omit `NonUniform` decoration when using descriptor heaps, as the SPIR-V spec does not require it
19+
* Add `--relax-set-binding-limits` option to allow large `layout(set)` and `layout(binding)` values for descriptor heap-style workflows with sparse set spaces
20+
* Reject combined image samplers with `descriptor_heap`
21+
22+
### Compute Shader Derivatives
23+
24+
* Fix `GL_KHR_compute_shader_derivatives` regressions on shaders using the `GL_NV` variant
25+
* Update compute shader derivative rules to allow texture operations with implicit derivatives without extensions, falling back to LoD 0
26+
27+
### New Extensions
28+
29+
* Implement `GL_EXT_ocp_microscaling_types`
30+
* Implement `GL_NV_cooperative_matrix_decode_vector`
31+
* Add basic support for `GL_NV_desktop_lowp_mediump`
32+
* Implement `GL_EXT_opacity_micromap_ray_query_mode`
33+
34+
### Bug Fixes
35+
36+
* Fix generated decoration string from `UTF8EncodingKHR` to `UTFEncodingKHR`
37+
* Fix missing SPIR-V extension emission for `float16` derivative functions with `SPV_AMD_gpu_shader_half_float`
38+
* Apply `NoContraction` decoration to `dot()` when `noContraction` is set
39+
* Fix `OpStore` of buffer device address pointer to use 8-byte alignment, consistent with loads
40+
* Fix `RayTracingOpacityMicromapKHR` capability emission to only occur when `gl_RayFlagsForceOpacityMicromap2StateEXT` is actually used, fixing SPIR-V validation failures in ray query shaders outside ray-tracing pipeline stages
41+
* Fix `setInvertY()` to apply Y-inversion to GLSL vertex, geometry, and tessellation-evaluation shaders (previously only affected HLSL)
42+
* Fix `.length()` on arrays of long/cooperative vectors to use `OpArrayLength` instead of a constant component count
43+
* Fix unnecessary cooperative matrix conversions when creating arrays of KHR cooperative matrices
44+
* Add error for cooperative matrix `*=` with bf16/fp8 scalar operands
45+
* Fix out-of-bounds access in `elseSeen` at maximum `#if`/`#ifdef` nesting depth
46+
* Fix out-of-bounds read on empty struct texture template types
47+
* Fix crash in `layoutObjectCheck` when accessing members of an empty block
48+
* Emit an error when HLSL [numthreads] is given more than three arguments instead of crashing the compiler.
49+
* Emit error when attempting to convert a literal string to an incompatible type
50+
* Fix `abortKHR` to preserve the original user-defined string without modification
51+
* Fix out-of-bounds indexing in `TDefaultIoResolverBase::addStage` when a negative `EShLanguage` value is passed
52+
53+
### Other
54+
55+
* Add `--discard-is-terminate` option to emit `OpTerminateInvocation` instead of `OpDemoteToHelperInvocation` for GLSL `discard` when targeting SPIR-V 1.6+
56+
* Add REUSE license compliance infrastructure
57+
1258
## 16.3.0 2026-05-01
1359
### Deprecation Notice
1460
* Deprecate the HLSL front-end. See issue #4210 for details.

0 commit comments

Comments
 (0)