2
#extension GL_NV_compute_shader_derivatives : require
4
layout (local_size_x = 2, local_size_y = 4) in;
5
layout(derivative_group_linearNV) in;
10
float fDerivativeWidth;
11
float fCoarseDerivativeX;
12
float fCoarseDerivativeY;
13
float fCoarseDerivativeWidth;
14
float fFineDerivativeX;
15
float fFineDerivativeY;
16
float fFineDerivativeWidth;
24
vec2 v2DerivativeWidth;
25
vec2 v2CoarseDerivativeX;
26
vec2 v2CoarseDerivativeY;
27
vec2 v2CoarseDerivativeWidth;
28
vec2 v2FineDerivativeX;
29
vec2 v2FineDerivativeY;
30
vec2 v2FineDerivativeWidth;
38
vec3 v3DerivativeWidth;
39
vec3 v3CoarseDerivativeX;
40
vec3 v3CoarseDerivativeY;
41
vec3 v3CoarseDerivativeWidth;
42
vec3 v3FineDerivativeX;
43
vec3 v3FineDerivativeY;
44
vec3 v3FineDerivativeWidth;
52
vec4 v4DerivativeWidth;
53
vec4 v4CoarseDerivativeX;
54
vec4 v4CoarseDerivativeY;
55
vec4 v4CoarseDerivativeWidth;
56
vec4 v4FineDerivativeX;
57
vec4 v4FineDerivativeY;
58
vec4 v4FineDerivativeWidth;
65
fDerivativeX = dFdx(fX);
66
fDerivativeY = dFdy(fY);
67
fDerivativeWidth = fwidth(fX);
68
fCoarseDerivativeX = dFdxCoarse(fX);
69
fCoarseDerivativeY = dFdyCoarse(fY);
70
fCoarseDerivativeWidth = fwidthCoarse(fX);
71
fFineDerivativeX = dFdxFine(fX);
72
fFineDerivativeY = dFdyFine(fY);
73
fFineDerivativeWidth = fwidthFine(fX);
75
v2DerivativeX = dFdx(v2X);
76
v2DerivativeY = dFdy(v2Y);
77
v2DerivativeWidth = fwidth(v2X);
78
v2CoarseDerivativeX = dFdxCoarse(v2X);
79
v2CoarseDerivativeY = dFdyCoarse(v2Y);
80
v2CoarseDerivativeWidth = fwidthCoarse(v2X);
81
v2FineDerivativeX = dFdxFine(v2X);
82
v2FineDerivativeY = dFdyFine(v2Y);
83
v2FineDerivativeWidth = fwidthFine(v2X);
86
v3DerivativeX = dFdx(v3X);
87
v3DerivativeY = dFdy(v3Y);
88
v3DerivativeWidth = fwidth(v3X);
89
v3CoarseDerivativeX = dFdxCoarse(v3X);
90
v3CoarseDerivativeY = dFdyCoarse(v3Y);
91
v3CoarseDerivativeWidth = fwidthCoarse(v3X);
92
v3FineDerivativeX = dFdxFine(v3X);
93
v3FineDerivativeY = dFdyFine(v3Y);
94
v3FineDerivativeWidth = fwidthFine(v3X);
97
v4DerivativeX = dFdx(v4X);
98
v4DerivativeY = dFdy(v4Y);
99
v4DerivativeWidth = fwidth(v4X);
100
v4CoarseDerivativeX = dFdxCoarse(v4X);
101
v4CoarseDerivativeY = dFdyCoarse(v4Y);
102
v4CoarseDerivativeWidth = fwidthCoarse(v4X);
103
v4FineDerivativeX = dFdxFine(v4X);
104
v4FineDerivativeY = dFdyFine(v4Y);
105
v4FineDerivativeWidth = fwidthFine(v4X);