New
0.3.0
- re-enabled Intel support
HccRo/Wo/RwTexture*now output a SPIR-V format that matches it's element type.- see here for documentation https://github.com/heroseh/hcc/blob/main/docs/intrinsics.md#textures
- add
addr_*_texture*functions that get the address of a texel from a texel used by atomics - add
bitcountfunction - error when
HCC_DISPATCH_GROUPis used in non-compute shader stages - fix preprocessor crash when macro function brackets were not closed
- read only resources now return
constso errors are reported when they are written to - write only resources now report errors when they are read from
- introduced a
mutonlytype qualifier to solve this
- introduced a
- 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 boolis now has a defined underlying type size ofint32_t- this was previously undefined as we used to use SPIR-V
OpTypeBool boolis now not ABI compatible with CPU code, in future we should use u8 if u8 types are enabled
- this was previously undefined as we used to use SPIR-V
- remove boolean vectors,
u/int32_tvectors 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
whileandforloops with complex condition expressions - fix
forandwhileloop SPIR-V validation, extra block was being created and causing theloop merge blockto be different - fix
forloop with no expression eg. for (;;) - fix wave_active_prefix* SPIR-V validation errors