vkd3d-shader/hlsl: Support complex implicit casts, complex explicit casts and complex broadcasts. (PART 2/3)
Continuation of the patch series to support:
- Complex broadcasts.
- Complex implicit casts between component-wise equal types.
- Complex explicit casts between component-wise compatible types.
By Zeb's suggestion, I added tests for explicit casts between structs and vectors and arrays and vectors. This was helpful for catching special edge cases.
I realized that the natural thing to do would be to also include tests for explicit casts between matrices and structs, matrices and arrays, and matrices and vectors. This made the patch series larger so I split it again (that's why this is PART 2/3).
Following patches in: https://gitlab.winehq.org/fcasas/vkd3d/-/commits/complex_broadcasts_2/