yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Ellie HermaszewskaAdd loop inversion pass (#2899)a0ee2bf67

master
885 B49 linesraw
1#pragma pack_matrix(column_major)
2#ifdef SLANG_HLSL_ENABLE_NVAPI
3#include "nvHLSLExtns.h"
4#endif
5#pragma warning(disable: 3557)
6
7float4 main() : SV_TARGET
8{
9    float _S1 = 0.0;
10    int i_0 = int(0);
11    float sum_0 = 0.0;
12    [loop]
13    for(;;)
14    {
15        float sum_1 = sum_0 + float(i_0);
16        _S1 = sum_1;
17        int i_1 = i_0 + int(1);
18        if(i_1 < int(100))
19        {
20            i_0 = i_1;
21            sum_0 = sum_1;
22        }
23        else
24        {
25            break;
26        }
27    }
28    float _S2 = 0.0;
29    int j_0 = int(0);
30    sum_0 = _S1;
31    [unroll]
32    for(;;)
33    {
34        float sum_2 = sum_0 + float(j_0);
35        _S2 = sum_2;
36        int j_1 = j_0 + int(1);
37        if(j_1 < int(100))
38        {
39            j_0 = j_1;
40            sum_0 = sum_2;
41        }
42        else
43        {
44            break;
45        }
46    }
47    return float4(_S2, 0.0, 0.0, 0.0);
48}
49