From: Francisco Casas <fcasas(a)codeweavers.com> validate_static_object_references() validates that uninitialized static objects are not referenced in the shader. --- libs/vkd3d-shader/hlsl.y | 1 - tests/hlsl-static-initializer.shader_test | 14 +++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/libs/vkd3d-shader/hlsl.y b/libs/vkd3d-shader/hlsl.y index 91bc3192..0b6eb105 100644 --- a/libs/vkd3d-shader/hlsl.y +++ b/libs/vkd3d-shader/hlsl.y @@ -2176,7 +2176,6 @@ static struct list *declare_vars(struct hlsl_ctx *ctx, struct hlsl_type *basic_t if (type_has_object_components(var->data_type, false)) { - hlsl_fixme(ctx, &var->loc, "Uninitialized static objects."); vkd3d_free(v); continue; } diff --git a/tests/hlsl-static-initializer.shader_test b/tests/hlsl-static-initializer.shader_test index 34cb8864..7cdc33be 100644 --- a/tests/hlsl-static-initializer.shader_test +++ b/tests/hlsl-static-initializer.shader_test @@ -25,7 +25,7 @@ float4 main() : sv_target } -[pixel shader fail todo] +[pixel shader fail] static Texture2D tex; float4 main() : sv_target @@ -34,7 +34,7 @@ float4 main() : sv_target } -[pixel shader todo] +[pixel shader] // This is allowed in 10.0.10011.16384 but not in 9.29.952.3111 static Texture2D tex; @@ -57,7 +57,7 @@ float4 main() : sv_target } -[pixel shader fail todo] +[pixel shader fail] static Texture2D tex1; float4 main() : sv_target @@ -67,7 +67,7 @@ float4 main() : sv_target } -[pixel shader fail todo] +[pixel shader fail] static Texture2D tex1; float4 main(Texture2D tex2) : sv_target @@ -97,7 +97,7 @@ draw quad probe all rgba (1, 2, 3, 4) -[pixel shader todo] +[pixel shader] Texture2D real_tex; static Texture2D tex; @@ -109,5 +109,5 @@ float4 main() : sv_target [test] -todo draw quad -todo probe all rgba (1, 2, 3, 4) +draw quad +probe all rgba (1, 2, 3, 4) -- GitLab https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/54