Module: vkd3d Branch: master Commit: 1f536238a89dc6bccb411c2db32d7b2010cc8fd7 URL: https://gitlab.winehq.org/wine/vkd3d/-/commit/1f536238a89dc6bccb411c2db32d7b...
Author: Giovanni Mascellani gmascellani@codeweavers.com Date: Mon Jan 22 17:15:36 2024 +0100
vkd3d-shader: Use 64 bit swizzles for 64 bit data types in VSIR.
The handling of write masks and swizzles for 64 bit data types is currently irregular: write masks are always 64 bit, while swizzles are usually 32 bit, except for SSA registers with are 64 bit. With this change we always use 64 bit swizzles, in order to make the situation less surprising and make it easier to convert registers between SSA and TEMP.
64 bit swizzles are always required to have X in their last two components.
---
libs/vkd3d-shader/d3d_asm.c | 17 ++++++++---- libs/vkd3d-shader/dxil.c | 12 ++++++-- libs/vkd3d-shader/spirv.c | 31 +++++++++++++-------- libs/vkd3d-shader/tpf.c | 3 ++ libs/vkd3d-shader/vkd3d_shader_private.h | 47 +++++++++++++++++++++++++++++--- 5 files changed, 87 insertions(+), 23 deletions(-)