Skip to content

0.3.0

Choose a tag to compare

@heroseh heroseh released this 06 Apr 09:19
· 23 commits to main since this release
  • re-enabled Intel support
  • HccRo/Wo/RwTexture* now output a SPIR-V format that matches it's element type.
  • add addr_*_texture* functions that get the address of a texel from a texel used by atomics
  • add bitcount function
  • error when HCC_DISPATCH_GROUP is used in non-compute shader stages
  • fix preprocessor crash when macro function brackets were not closed
  • read only resources now return const so errors are reported when they are written to
  • write only resources now report errors when they are read from
    • introduced a mutonly type qualifier to solve this
  • fix preprocessor not erroring when too few parameters were provided
  • fix the ternary operator by stopping it from processing the comma operator
  • fix atomic_compare_exchange* SPIR-V codegen
  • bool is now has a defined underlying type size of int32_t
    • this was previously undefined as we used to use SPIR-V OpTypeBool
    • bool is now not ABI compatible with CPU code, in future we should use u8 if u8 types are enabled
  • remove boolean vectors, u/int32_t vectors should be used in it's place
  • fix bug where typedef's used in function parameters could cause an SPIR-V error
    • the function data type parameters where not be deduplicated
  • fix atomic functions memory sematics
  • fix SPIR-V codegen for while and for loops with complex condition expressions
  • fix for and while loop SPIR-V validation, extra block was being created and causing the loop merge block to be different
  • fix for loop with no expression eg. for (;;)
  • fix wave_active_prefix* SPIR-V validation errors