From 4e2f2771eb2f8991014d957848a6a25aa49c0aaf Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 4 Jun 2020 12:42:17 -0700 Subject: Emit [loop] attribute to output HLSL. --- tests/cross-compile/loop-attribs.slang | 19 ++++++++ tests/cross-compile/loop-attribs.slang.expected | 61 +++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 tests/cross-compile/loop-attribs.slang create mode 100644 tests/cross-compile/loop-attribs.slang.expected (limited to 'tests') diff --git a/tests/cross-compile/loop-attribs.slang b/tests/cross-compile/loop-attribs.slang new file mode 100644 index 000000000..ddedb67df --- /dev/null +++ b/tests/cross-compile/loop-attribs.slang @@ -0,0 +1,19 @@ +// loop-attribs.slang +// Test that loop attributes are correctly emitted to the resulting HLSL. + +//TEST:SIMPLE:-target hlsl -entry main -stage fragment -profile sm_6_0 + +float4 main() : SV_Target +{ + float sum = 0.0f; + + [loop] + for (int i = 0; i < 100; i++) + sum += float(i); + + [unroll(10)] + for (int j = 0; j < 100; j++) + sum += float(j); + + return float4(sum, 0, 0, 0); +} \ No newline at end of file diff --git a/tests/cross-compile/loop-attribs.slang.expected b/tests/cross-compile/loop-attribs.slang.expected new file mode 100644 index 000000000..0ecf0194f --- /dev/null +++ b/tests/cross-compile/loop-attribs.slang.expected @@ -0,0 +1,61 @@ +result code = 0 +standard error = { +} +standard output = { +#pragma pack_matrix(column_major) + +#line 6 "tests/cross-compile/loop-attribs.slang" +vector main() : SV_TARGET +{ + int i_0; + float sum_0; + int j_0; + float sum_1; + i_0 = int(0); + sum_0 = 0.00000000000000000000; + [loop] + for(;;) + { + +#line 11 + if(i_0 < int(100)) + { + } + else + { + break; + } + float _S1 = sum_0 + (float) i_0; + +#line 11 + int _S2 = i_0 + (int) int(1); + i_0 = _S2; + sum_0 = _S1; + } + j_0 = int(0); + sum_1 = sum_0; + [unroll] + for(;;) + { + +#line 15 + if(j_0 < int(100)) + { + } + else + { + break; + } + float _S3 = sum_1 + (float) j_0; + +#line 15 + int _S4 = j_0 + (int) int(1); + j_0 = _S4; + sum_1 = _S3; + } + +#line 18 + return vector(sum_1, (float) int(0), (float) int(0), (float) int(0)); +} + +} -- cgit v1.2.3 From 5e52b339f3e021cf8b68be56d1f3ff1d548a038f Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 4 Jun 2020 14:04:54 -0700 Subject: Change loop-attrib test case to CROSS_COMPILE per review comments --- tests/cross-compile/loop-attribs.slang | 2 +- tests/cross-compile/loop-attribs.slang.expected | 61 ------------------------- 2 files changed, 1 insertion(+), 62 deletions(-) delete mode 100644 tests/cross-compile/loop-attribs.slang.expected (limited to 'tests') diff --git a/tests/cross-compile/loop-attribs.slang b/tests/cross-compile/loop-attribs.slang index ddedb67df..4336698c0 100644 --- a/tests/cross-compile/loop-attribs.slang +++ b/tests/cross-compile/loop-attribs.slang @@ -1,7 +1,7 @@ // loop-attribs.slang // Test that loop attributes are correctly emitted to the resulting HLSL. -//TEST:SIMPLE:-target hlsl -entry main -stage fragment -profile sm_6_0 +//TEST:CROSS_COMPILE:-target dxil-assembly -entry main -stage fragment -profile sm_6_0 float4 main() : SV_Target { diff --git a/tests/cross-compile/loop-attribs.slang.expected b/tests/cross-compile/loop-attribs.slang.expected deleted file mode 100644 index 0ecf0194f..000000000 --- a/tests/cross-compile/loop-attribs.slang.expected +++ /dev/null @@ -1,61 +0,0 @@ -result code = 0 -standard error = { -} -standard output = { -#pragma pack_matrix(column_major) - -#line 6 "tests/cross-compile/loop-attribs.slang" -vector main() : SV_TARGET -{ - int i_0; - float sum_0; - int j_0; - float sum_1; - i_0 = int(0); - sum_0 = 0.00000000000000000000; - [loop] - for(;;) - { - -#line 11 - if(i_0 < int(100)) - { - } - else - { - break; - } - float _S1 = sum_0 + (float) i_0; - -#line 11 - int _S2 = i_0 + (int) int(1); - i_0 = _S2; - sum_0 = _S1; - } - j_0 = int(0); - sum_1 = sum_0; - [unroll] - for(;;) - { - -#line 15 - if(j_0 < int(100)) - { - } - else - { - break; - } - float _S3 = sum_1 + (float) j_0; - -#line 15 - int _S4 = j_0 + (int) int(1); - j_0 = _S4; - sum_1 = _S3; - } - -#line 18 - return vector(sum_1, (float) int(0), (float) int(0), (float) int(0)); -} - -} -- cgit v1.2.3 From 899824eb3dbb327f3fd8479ca9bc01f8ea49ed98 Mon Sep 17 00:00:00 2001 From: Yong He Date: Thu, 4 Jun 2020 14:07:30 -0700 Subject: Add missing loop-attribs.slang.hlsl for the test case --- tests/cross-compile/loop-attribs.slang.hlsl | 55 +++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 tests/cross-compile/loop-attribs.slang.hlsl (limited to 'tests') diff --git a/tests/cross-compile/loop-attribs.slang.hlsl b/tests/cross-compile/loop-attribs.slang.hlsl new file mode 100644 index 000000000..5d53f51e0 --- /dev/null +++ b/tests/cross-compile/loop-attribs.slang.hlsl @@ -0,0 +1,55 @@ +#pragma pack_matrix(column_major) + +#line 6 "tests/cross-compile/loop-attribs.slang" +vector main() : SV_TARGET +{ + int i_0; + float sum_0; + int j_0; + float sum_1; + i_0 = int(0); + sum_0 = 0.00000000000000000000; + [loop] + for(;;) + { + +#line 11 + if(i_0 < int(100)) + { + } + else + { + break; + } + float _S1 = sum_0 + (float) i_0; + +#line 11 + int _S2 = i_0 + (int) int(1); + i_0 = _S2; + sum_0 = _S1; + } + j_0 = int(0); + sum_1 = sum_0; + [unroll] + for(;;) + { + +#line 15 + if(j_0 < int(100)) + { + } + else + { + break; + } + float _S3 = sum_1 + (float) j_0; + +#line 15 + int _S4 = j_0 + (int) int(1); + j_0 = _S4; + sum_1 = _S3; + } + +#line 18 + return vector(sum_1, (float) int(0), (float) int(0), (float) int(0)); +} \ No newline at end of file -- cgit v1.2.3