Francisco Casas (@fcasas) commented about libs/vkd3d-shader/tpf.c:
switch (swizzle_type)
{
case VKD3D_SM4_SWIZZLE_MASK4:
mask = (token & VKD3D_SM4_WRITEMASK_MASK) >> VKD3D_SM4_WRITEMASK_SHIFT;
src_param->swizzle = VKD3D_SHADER_NO_SWIZZLE;
break;
if (mask == VKD3DSP_WRITEMASK_0)
src_param->swizzle = VKD3D_SHADER_SWIZZLE(X, X, X, X);
else if (!mask)
src_param->swizzle = 0;
else if (mask != VKD3DSP_WRITEMASK_ALL)
FIXME("Unhandled mask %#x.\n", mask);
if (!mask && (src_param->reg.type == VKD3DSPR_IMMCONST || src_param->reg.type == VKD3DSPR_IMMCONST64))
nitpick: Wouldn't it make sense for this conditional to be the first `else if` above?