xref: /aosp_15_r20/external/skia/tests/sksl/shared/SampleLocations.hlsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workerstatic float4 gl_Position;
2*c8dee2aaSAndroid Build Coastguard Workerstatic int gl_VertexIndex;
3*c8dee2aaSAndroid Build Coastguard Workerstatic int gl_InstanceIndex;
4*c8dee2aaSAndroid Build Coastguard Workerstatic float2 vcoord_Stage0;
5*c8dee2aaSAndroid Build Coastguard Worker
6*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Input
7*c8dee2aaSAndroid Build Coastguard Worker{
8*c8dee2aaSAndroid Build Coastguard Worker    uint gl_VertexIndex : SV_VertexID;
9*c8dee2aaSAndroid Build Coastguard Worker    uint gl_InstanceIndex : SV_InstanceID;
10*c8dee2aaSAndroid Build Coastguard Worker};
11*c8dee2aaSAndroid Build Coastguard Worker
12*c8dee2aaSAndroid Build Coastguard Workerstruct SPIRV_Cross_Output
13*c8dee2aaSAndroid Build Coastguard Worker{
14*c8dee2aaSAndroid Build Coastguard Worker    noperspective float2 vcoord_Stage0 : TEXCOORD1;
15*c8dee2aaSAndroid Build Coastguard Worker    float4 gl_Position : SV_Position;
16*c8dee2aaSAndroid Build Coastguard Worker};
17*c8dee2aaSAndroid Build Coastguard Worker
18*c8dee2aaSAndroid Build Coastguard Workervoid vert_main()
19*c8dee2aaSAndroid Build Coastguard Worker{
20*c8dee2aaSAndroid Build Coastguard Worker    int _22 = gl_InstanceIndex % 200;
21*c8dee2aaSAndroid Build Coastguard Worker    int x = _22;
22*c8dee2aaSAndroid Build Coastguard Worker    int _25 = gl_InstanceIndex / 200;
23*c8dee2aaSAndroid Build Coastguard Worker    int y = _25;
24*c8dee2aaSAndroid Build Coastguard Worker    int _31 = (gl_InstanceIndex * 929) % 17;
25*c8dee2aaSAndroid Build Coastguard Worker    int ileft = _31;
26*c8dee2aaSAndroid Build Coastguard Worker    int _40 = (_31 + 1) + ((gl_InstanceIndex * 1637) % (17 - _31));
27*c8dee2aaSAndroid Build Coastguard Worker    int iright = _40;
28*c8dee2aaSAndroid Build Coastguard Worker    int _45 = (gl_InstanceIndex * 313) % 17;
29*c8dee2aaSAndroid Build Coastguard Worker    int itop = _45;
30*c8dee2aaSAndroid Build Coastguard Worker    int _53 = (_45 + 1) + ((gl_InstanceIndex * 1901) % (17 - _45));
31*c8dee2aaSAndroid Build Coastguard Worker    int ibot = _53;
32*c8dee2aaSAndroid Build Coastguard Worker    float outset = 0.03125f;
33*c8dee2aaSAndroid Build Coastguard Worker    float _63 = 0.0f;
34*c8dee2aaSAndroid Build Coastguard Worker    if (0 == ((_22 + _25) % 2))
35*c8dee2aaSAndroid Build Coastguard Worker    {
36*c8dee2aaSAndroid Build Coastguard Worker        _63 = -0.03125f;
37*c8dee2aaSAndroid Build Coastguard Worker    }
38*c8dee2aaSAndroid Build Coastguard Worker    else
39*c8dee2aaSAndroid Build Coastguard Worker    {
40*c8dee2aaSAndroid Build Coastguard Worker        _63 = 0.03125f;
41*c8dee2aaSAndroid Build Coastguard Worker    }
42*c8dee2aaSAndroid Build Coastguard Worker    outset = _63;
43*c8dee2aaSAndroid Build Coastguard Worker    float _73 = (float(_31) * 0.0625f) - _63;
44*c8dee2aaSAndroid Build Coastguard Worker    float l = _73;
45*c8dee2aaSAndroid Build Coastguard Worker    float _77 = (float(_40) * 0.0625f) + _63;
46*c8dee2aaSAndroid Build Coastguard Worker    float r = _77;
47*c8dee2aaSAndroid Build Coastguard Worker    float t = (float(_45) * 0.0625f) - _63;
48*c8dee2aaSAndroid Build Coastguard Worker    float b = (float(_53) * 0.0625f) + _63;
49*c8dee2aaSAndroid Build Coastguard Worker    float _92 = 0.0f;
50*c8dee2aaSAndroid Build Coastguard Worker    if (0 == (gl_VertexIndex % 2))
51*c8dee2aaSAndroid Build Coastguard Worker    {
52*c8dee2aaSAndroid Build Coastguard Worker        _92 = _73;
53*c8dee2aaSAndroid Build Coastguard Worker    }
54*c8dee2aaSAndroid Build Coastguard Worker    else
55*c8dee2aaSAndroid Build Coastguard Worker    {
56*c8dee2aaSAndroid Build Coastguard Worker        _92 = _77;
57*c8dee2aaSAndroid Build Coastguard Worker    }
58*c8dee2aaSAndroid Build Coastguard Worker    float2 vertexpos = 0.0f.xx;
59*c8dee2aaSAndroid Build Coastguard Worker    vertexpos.x = float(_22) + _92;
60*c8dee2aaSAndroid Build Coastguard Worker    float _104 = 0.0f;
61*c8dee2aaSAndroid Build Coastguard Worker    if (0 == (gl_VertexIndex / 2))
62*c8dee2aaSAndroid Build Coastguard Worker    {
63*c8dee2aaSAndroid Build Coastguard Worker        _104 = t;
64*c8dee2aaSAndroid Build Coastguard Worker    }
65*c8dee2aaSAndroid Build Coastguard Worker    else
66*c8dee2aaSAndroid Build Coastguard Worker    {
67*c8dee2aaSAndroid Build Coastguard Worker        _104 = b;
68*c8dee2aaSAndroid Build Coastguard Worker    }
69*c8dee2aaSAndroid Build Coastguard Worker    vertexpos.y = float(y) + _104;
70*c8dee2aaSAndroid Build Coastguard Worker    vcoord_Stage0.x = float((0 == (gl_VertexIndex % 2)) ? (-1) : 1);
71*c8dee2aaSAndroid Build Coastguard Worker    vcoord_Stage0.y = float((0 == (gl_VertexIndex / 2)) ? (-1) : 1);
72*c8dee2aaSAndroid Build Coastguard Worker    gl_Position = float4(vertexpos.x, vertexpos.y, 0.0f, 1.0f);
73*c8dee2aaSAndroid Build Coastguard Worker}
74*c8dee2aaSAndroid Build Coastguard Worker
75*c8dee2aaSAndroid Build Coastguard WorkerSPIRV_Cross_Output main(SPIRV_Cross_Input stage_input)
76*c8dee2aaSAndroid Build Coastguard Worker{
77*c8dee2aaSAndroid Build Coastguard Worker    gl_VertexIndex = int(stage_input.gl_VertexIndex);
78*c8dee2aaSAndroid Build Coastguard Worker    gl_InstanceIndex = int(stage_input.gl_InstanceIndex);
79*c8dee2aaSAndroid Build Coastguard Worker    vert_main();
80*c8dee2aaSAndroid Build Coastguard Worker    SPIRV_Cross_Output stage_output;
81*c8dee2aaSAndroid Build Coastguard Worker    stage_output.gl_Position = gl_Position;
82*c8dee2aaSAndroid Build Coastguard Worker    stage_output.vcoord_Stage0 = vcoord_Stage0;
83*c8dee2aaSAndroid Build Coastguard Worker    return stage_output;
84*c8dee2aaSAndroid Build Coastguard Worker}
85