vkd3d-shader/hlsl: Actually emit 0xf write masks for FOG and PSIZE destination operands.

This commit is contained in:
Francisco Casas
2025-11-05 20:22:54 -03:00
committed by Henri Verbeet
parent 5dc96ab8d6
commit 6ca05f458e
Notes: Henri Verbeet 2025-11-10 16:27:32 +01:00
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1818

View File

@@ -10013,7 +10013,7 @@ static void sm1_generate_vsir_init_dst_param_from_deref(struct hlsl_ctx *ctx,
else
writemask = (1u << deref->var->data_type->e.numeric.dimx) - 1;
if (version.type == VKD3D_SHADER_TYPE_PIXEL && (!ascii_strcasecmp(semantic_name, "PSIZE")
if (version.type == VKD3D_SHADER_TYPE_VERTEX && (!ascii_strcasecmp(semantic_name, "PSIZE")
|| (!ascii_strcasecmp(semantic_name, "FOG") && version.major < 3)))
{
/* These are always 1-component, but for some reason are written