Skip to content

v0.9.0

Compare
Choose a tag to compare
@cwfitzgerald cwfitzgerald released this 30 Jun 20:02
06ae905

API

CLI

DOCS

VALIDATOR

WGSL-IN

Main breaking changes

  • Commas to separate struct members (comma after last member is optional)
    • struct S { a: f32; b: i32; } -> struct S { a: f32, b: i32 }
  • Attribute syntax
    • [[binding(0), group(0)]] -> @binding(0) @group(0)
  • Entry point stage attributes
    • @stage(vertex) -> @vertex
    • @stage(fragment) -> @fragment
    • @stage(compute) -> @compute
  • Function renames
    • smoothStep -> smoothstep
    • findLsb -> firstTrailingBit
    • findMsb -> firstLeadingBit

Specification Changes (relavant changes have also been applied to the WGSL backend)

Improvements

SPV-IN

GLSL-IN

SPV-OUT

  • Implement reverseBits and countOneBits (#1897) @hasali19
  • Use OpCopyObject for matrix identity casts (#1916) @teoxoy
  • Use OpCopyObject for bool - bool conversion due to OpBitcast not being feasible for booleans (#1916) @teoxoy
  • Zero init variables in function and private address spaces (#1871) @teoxoy
  • Use SRem instead of SMod (#1867) @teoxoy
  • Add support for integer vector - scalar multiplication (#1820) @teoxoy
  • Add support for matrix addition and subtraction (#1820) @teoxoy
  • Emit required decorations on wrapper struct types (#1815) @jimblandy
  • Decorate array and struct type layouts unconditionally (#1815) @jimblandy
  • Fix wrong MatrixStride for matCx2 and mat2xR (#1781) @teoxoy
  • Use OpImageQuerySize for MS images (#1742) @JCapucho

MSL-OUT

HLSL-OUT

GLSL-OUT