HLSL compiler change log

Zebediah Figura zfigura at codeweavers.com
Tue Jun 21 13:02:22 CDT 2022

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 

> * 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.

More information about the wine-devel mailing list