mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/hlsl: Enforce PSIZE component count for sm1 VS output.
This commit is contained in:
committed by
Henri Verbeet
parent
aa1ce9e295
commit
f50b20ddd6
Notes:
Henri Verbeet
2024-11-05 20:06:25 +01:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1247
@@ -6519,6 +6519,11 @@ static void generate_vsir_signature_entry(struct hlsl_ctx *ctx, struct vsir_prog
|
||||
sysval = VKD3D_SHADER_SV_POSITION;
|
||||
}
|
||||
|
||||
if (!ascii_strcasecmp(var->semantic.name, "PSIZE") && output
|
||||
&& program->shader_version.type == VKD3D_SHADER_TYPE_VERTEX && var->data_type->dimx > 1)
|
||||
hlsl_error(ctx, &var->loc, VKD3D_SHADER_ERROR_HLSL_INVALID_SEMANTIC,
|
||||
"PSIZE output must have only 1 component in this shader model.");
|
||||
|
||||
mask = (1 << var->data_type->dimx) - 1;
|
||||
use_mask = mask; /* FIXME: retrieve use mask accurately. */
|
||||
component_type = VKD3D_SHADER_COMPONENT_FLOAT;
|
||||
|
Reference in New Issue
Block a user