You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGES.md
+46Lines changed: 46 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,52 @@ This project adheres to [Semantic Versioning](https://semver.org/).
9
9
See issue #4210 for details.
10
10
* Add support for GL_EXT_opacity_micromap_ray_query_mode
11
11
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
* 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
+
12
58
## 16.3.0 2026-05-01
13
59
### Deprecation Notice
14
60
* Deprecate the HLSL front-end. See issue #4210 for details.
0 commit comments