On 6/21/22 03:49, Giovanni Mascellani wrote:
Hi,
I tried to put together a quick change log for the HLSL compiler since vkd3d 1.3. I concentrated on user-visible changes (so mostly ignoring tests and internal refactoring), a possible side effect of which is that my contributions are somehow more evident. I don't mean to belittle the work of who did more plumbing job.
--- * Support integer arithmetic, bitwise and shift operations.
* Fold constant operations for a number of operators.
* Support matrix and vector subscripting.
* Support matrix copying, casting, entry-wise operations and row-by-column multiplication.
By the last I assume mul() is meant; it may be best to spell that out explicitly.
* Support complex initializers.
* Support the "nointerpolation" modifier, and assume it for integer variables.
* Perform copy propagation even when the code has branches and/or loops.
Which, on a more user-facing level, allows object-typed variables to be used from within loops, and produces more optimized code for variables accessed within loops in general.
---
Francisco, are there relevant cases of complex initializers that are still unsupported in master? Anything else I skipped?
A couple smaller things I noticed that I think are worth mentioning as well: * The SV_VertexID semantic is supported. * Matrix-typed varyings are supported.