mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-04-13 05:43:18 -07:00
vkd3d-shader: Allow static const variables to lack an initializer.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Matteo Bruni <mbruni@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
committed by
Alexandre Julliard
parent
3377f2445a
commit
0c1c916ad7
@ -1472,7 +1472,8 @@ static struct list *declare_vars(struct hlsl_ctx *ctx, struct hlsl_type *basic_t
|
|||||||
local = false;
|
local = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type->modifiers & HLSL_MODIFIER_CONST && !(var->modifiers & HLSL_STORAGE_UNIFORM) && !v->initializer.args_count)
|
if ((type->modifiers & HLSL_MODIFIER_CONST) && !v->initializer.args_count
|
||||||
|
&& !(var->modifiers & (HLSL_STORAGE_STATIC | HLSL_STORAGE_UNIFORM)))
|
||||||
{
|
{
|
||||||
hlsl_error(ctx, v->loc, VKD3D_SHADER_ERROR_HLSL_MISSING_INITIALIZER,
|
hlsl_error(ctx, v->loc, VKD3D_SHADER_ERROR_HLSL_MISSING_INITIALIZER,
|
||||||
"Const variable \"%s\" is missing an initializer.", var->name);
|
"Const variable \"%s\" is missing an initializer.", var->name);
|
||||||
|
@ -115,3 +115,10 @@ float4 main() : sv_target
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[pixel shader fail]
|
||||||
|
float4 main() : sv_target
|
||||||
|
{
|
||||||
|
const float4 x;
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
@ -5,9 +5,10 @@ float myfunc()
|
|||||||
}
|
}
|
||||||
static float a = myfunc() + 0.2;
|
static float a = myfunc() + 0.2;
|
||||||
static float b;
|
static float b;
|
||||||
|
static const float c;
|
||||||
float4 main() : sv_target
|
float4 main() : sv_target
|
||||||
{
|
{
|
||||||
return float4(a, b, 0, 0);
|
return float4(a, b, c, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
[test]
|
[test]
|
||||||
|
Reference in New Issue
Block a user