July 14, 2021 12:25 AM, "Henri Verbeet" hverbeet@gmail.com wrote:
dst_param->write_mask = (token & VKD3D_SM4_WRITEMASK_MASK) >> VKD3D_SM4_WRITEMASK_SHIFT;
- if (data_type == VKD3D_DATA_DOUBLE)
- dst_param->write_mask = vkd3d_write_mask_64_from_32(dst_param->write_mask);
/* Scalar registers are declared with no write mask in shader bytecode. */ if (!dst_param->write_mask && shader_sm4_is_scalar_register(&dst_param->reg)) dst_param->write_mask = VKD3DSP_WRITEMASK_0;
Does this need a corresponding change in trace.c? Also, should we do the same for swizzles?
It does need trace changes, but these lines are actually not needed for the DEQ instruction so I'll leave them out of v2.
Swizzle is always expressed in 32-bit chunks so no changes are required there.