From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- libs/vkd3d-shader/hlsl.y | 7 +++++-- tests/hlsl/loop.shader_test | 12 ++++++------ 2 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/libs/vkd3d-shader/hlsl.y b/libs/vkd3d-shader/hlsl.y index d90e890d4..09a80386d 100644 --- a/libs/vkd3d-shader/hlsl.y +++ b/libs/vkd3d-shader/hlsl.y @@ -557,8 +557,11 @@ static struct hlsl_block *create_loop(struct hlsl_ctx *ctx, enum loop_type type, hlsl_warning(ctx, loc, VKD3D_SHADER_ERROR_HLSL_NOT_IMPLEMENTED, "Loop unrolling is not implemented."); } } - else if (!strcmp(attr->name, "loop") - || !strcmp(attr->name, "fastopt") + else if (!strcmp(attr->name, "loop")) + { + /* TODO: this attribute will be used to disable unrolling, once it's implememented. */ + } + else if (!strcmp(attr->name, "fastopt") || !strcmp(attr->name, "allow_uav_condition")) { hlsl_fixme(ctx, loc, "Unhandled attribute '%s'.", attr->name); diff --git a/tests/hlsl/loop.shader_test b/tests/hlsl/loop.shader_test index 6a5240a73..c15e48798 100644 --- a/tests/hlsl/loop.shader_test +++ b/tests/hlsl/loop.shader_test @@ -102,7 +102,7 @@ todo(sm>=6) draw quad probe all rgba (410.1, 410.1, 410.1, 410.1)
% loop attribute by itself -[pixel shader todo] +[pixel shader] float4 main() : sv_target { float ret = 0.0; @@ -116,10 +116,10 @@ float4 main() : sv_target }
[test] -todo draw quad +todo(sm>=6) draw quad probe all rgba (10.0, 10.0, 10.0, 10.0)
-[pixel shader todo] +[pixel shader] float4 main() : sv_target { float ret = 0.0; @@ -135,10 +135,10 @@ float4 main() : sv_target }
[test] -todo draw quad +todo(sm>=6) draw quad probe all rgba (10.0, 10.0, 10.0, 10.0)
-[pixel shader todo] +[pixel shader] float4 main() : sv_target { float ret = 0.0; @@ -154,7 +154,7 @@ float4 main() : sv_target }
[test] -todo draw quad +todo(sm>=6) draw quad probe all rgba (10.0, 10.0, 10.0, 10.0)
% unroll can't be used with fastopt or loop