Henri Verbeet pushed to branch master at wine / vkd3d
Commits: 5dc96ab8 by Francisco Casas at 2025-11-10T15:54:18+01:00 tests/hlsl: Test which shader models allow FOG and PSIZE.
- - - - - 6ca05f45 by Francisco Casas at 2025-11-10T15:54:59+01:00 vkd3d-shader/hlsl: Actually emit 0xf write masks for FOG and PSIZE destination operands.
- - - - - 460abeb0 by Francisco Casas at 2025-11-10T16:15:55+01:00 vkd3d-shader/ir: Make FOG and PSIZE write masks 0x1 on I/O normalization.
The validator checks that on normalized vsir I/O destination write masks are always a subset of the element's write mask.
This is currently not always happening for FOG and PSIZE outputs, because d3dbc input might use the 0xf mask instead, despite these semantics being scalar.
Note that this problem is hidden when using varying mapping, because in that case the vsir_program_remap_output_signature() pass, specifically the remove_unread_output_components() function, fixes the write mask.
- - - - -
4 changed files:
- Makefile.am - libs/vkd3d-shader/hlsl_codegen.c - libs/vkd3d-shader/ir.c - + tests/hlsl/attrout-semantics.shader_test
View it on GitLab: https://gitlab.winehq.org/wine/vkd3d/-/compare/58d02da8928313b466b0c28dce0cb...