1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
result code = 0
standard error = {
}
standard output = {
#pragma pack_matrix(column_major)
#line 8 "tests/compute/half-texture.slang"
RWTexture2D<half > halfTexture_0 : register(u1);
RWTexture2D<vector<half,2> > halfTexture2_0 : register(u2);
RWTexture2D<vector<half,4> > halfTexture4_0 : register(u3);
#line 5
RWStructuredBuffer<int > outputBuffer_0 : register(u0);
#line 18
[shader("compute")][numthreads(4, 4, 1)]
void computeMain(vector<uint,3> dispatchThreadID_0 : SV_DISPATCHTHREADID)
{
#line 20
vector<int,2> pos_0 = (vector<int,2>) dispatchThreadID_0.xy;
float _S1 = 1.00000000000000000000 / 3.00000000000000000000;
vector<int,2> pos2_0 = vector<int,2>(int(3) - pos_0.y, int(3) - pos_0.x);
#line 29
half h_0 = halfTexture_0[(vector<uint,2>) pos2_0];
vector<half,2> h2_0 = halfTexture2_0[(vector<uint,2>) pos2_0];
vector<half,4> h4_0 = halfTexture4_0[(vector<uint,2>) pos2_0];
halfTexture_0[(vector<uint,2>) pos_0] = h2_0.x + h2_0.y;
halfTexture2_0[(vector<uint,2>) pos_0] = h4_0.xy;
halfTexture4_0[(vector<uint,2>) pos_0] = vector<half,4>(h2_0, h_0, h_0);
int index_0 = pos_0.x + pos_0.y * int(4);
outputBuffer_0[(uint) index_0] = index_0;
return;
}
}
|