mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d-shader/hlsl: Enforce FOG component count for sm1 VS output.
This commit is contained in:
parent
f50b20ddd6
commit
5a513ffcec
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
@ -6523,6 +6523,10 @@ static void generate_vsir_signature_entry(struct hlsl_ctx *ctx, struct vsir_prog
|
||||
&& 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.");
|
||||
if (!ascii_strcasecmp(var->semantic.name, "FOG") && output && program->shader_version.major < 3
|
||||
&& program->shader_version.type == VKD3D_SHADER_TYPE_VERTEX && var->data_type->dimx > 1)
|
||||
hlsl_error(ctx, &var->loc, VKD3D_SHADER_ERROR_HLSL_INVALID_SEMANTIC,
|
||||
"FOG 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. */
|
||||
|
@ -1,7 +1,7 @@
|
||||
[require]
|
||||
shader model < 3.0
|
||||
|
||||
[vertex shader fail todo]
|
||||
[vertex shader fail]
|
||||
void main(float4 pos : position, out float2 fog : fog, out float4 out_pos : sv_position)
|
||||
{
|
||||
fog = 0.5;
|
||||
|
Loading…
Reference in New Issue
Block a user