OLD | NEW |
1 STRINGIFY( | 1 STRINGIFY( |
2 | 2 |
3 // defines built-in functions supported by SkiaSL | 3 // defines built-in functions supported by SkiaSL |
4 | 4 |
5 $genType radians($genType degrees); | 5 $genType radians($genType degrees); |
6 $genType sin($genType angle); | 6 $genType sin($genType angle); |
7 $genType cos($genType angle); | 7 $genType cos($genType angle); |
8 $genType tan($genType angle); | 8 $genType tan($genType angle); |
9 $genType asin($genType x); | 9 $genType asin($genType x); |
10 $genType acos($genType x); | 10 $genType acos($genType x); |
11 $genType atan($genType y, $genType x); | 11 $genType atan($genType y, $genType x); |
12 $genType atan($genType y_over_x); | 12 $genType atan($genType y_over_x); |
13 $genType sinh($genType x); | 13 $genType sinh($genType x); |
14 $genType cosh($genType x); | 14 $genType cosh($genType x); |
15 $genType tanh($genType x); | 15 $genType tanh($genType x); |
16 $genType asinh($genType x); | 16 $genType asinh($genType x); |
17 $genType acosh($genType x); | 17 $genType acosh($genType x); |
18 $genType atanh($genType x); | 18 $genType atanh($genType x); |
19 $genType pow($genType x, $genType y); | 19 $genType pow($genType x, $genType y); |
20 $genType exp($genType x); | 20 $genType exp($genType x); |
21 $genType log($genType x); | 21 $genType log($genType x); |
22 $genType exp2($genType x); | 22 $genType exp2($genType x); |
23 $genType log2($genType x); | 23 $genType log2($genType x); |
24 $genType sqrt($genType x); | 24 $genType sqrt($genType x); |
25 //$genDType sqrt($genDType x); | 25 $genDType sqrt($genDType x); |
26 $genType inversesqrt($genType x); | 26 $genType inversesqrt($genType x); |
27 //$genDType inversesqrt($genDType x); | 27 $genDType inversesqrt($genDType x); |
28 $genType abs($genType x); | 28 $genType abs($genType x); |
29 $genIType abs($genIType x); | 29 $genIType abs($genIType x); |
30 //$genDType abs($genDType x); | 30 $genDType abs($genDType x); |
31 $genType sign($genType x); | 31 $genType sign($genType x); |
32 $genIType sign($genIType x); | 32 $genIType sign($genIType x); |
33 //$genDType sign($genDType x); | 33 $genDType sign($genDType x); |
34 $genType floor($genType x); | 34 $genType floor($genType x); |
35 //$genDType floor($genDType x); | 35 $genDType floor($genDType x); |
36 $genType trunc($genType x); | 36 $genType trunc($genType x); |
37 //$genDType trunc($genDType x); | 37 $genDType trunc($genDType x); |
38 $genType round($genType x); | 38 $genType round($genType x); |
39 //$genDType round($genDType x); | 39 $genDType round($genDType x); |
40 $genType roundEven($genType x); | 40 $genType roundEven($genType x); |
41 //$genDType roundEven($genDType x); | 41 $genDType roundEven($genDType x); |
42 $genType ceil($genType x); | 42 $genType ceil($genType x); |
43 //$genDType ceil($genDType x); | 43 $genDType ceil($genDType x); |
44 $genType fract($genType x); | 44 $genType fract($genType x); |
45 //$genDType fract($genDType x); | 45 $genDType fract($genDType x); |
46 $genType mod($genType x, float y); | 46 $genType mod($genType x, float y); |
47 $genType mod($genType x, $genType y); | 47 $genType mod($genType x, $genType y); |
48 //$genDType mod($genDType x, double y); | 48 $genDType mod($genDType x, double y); |
49 //$genDType mod($genDType x, $genDType y); | 49 $genDType mod($genDType x, $genDType y); |
50 $genType modf($genType x, out $genType i); | 50 $genType modf($genType x, out $genType i); |
51 //$genDType modf($genDType x, out $genDType i); | 51 $genDType modf($genDType x, out $genDType i); |
52 $genType min($genType x, $genType y); | 52 $genType min($genType x, $genType y); |
53 $genType min($genType x, float y); | 53 $genType min($genType x, float y); |
54 //$genDType min($genDType x, $genDType y); | 54 $genDType min($genDType x, $genDType y); |
55 //$genDType min($genDType x, double y); | 55 $genDType min($genDType x, double y); |
56 $genIType min($genIType x, $genIType y); | 56 $genIType min($genIType x, $genIType y); |
57 $genIType min($genIType x, int y); | 57 $genIType min($genIType x, int y); |
58 //$genUType min($genUType x, $genUType y); | 58 $genUType min($genUType x, $genUType y); |
59 //$genUType min($genUType x, uint y); | 59 $genUType min($genUType x, uint y); |
60 $genType max($genType x, $genType y); | 60 $genType max($genType x, $genType y); |
61 $genType max($genType x, float y); | 61 $genType max($genType x, float y); |
62 //$genDType max($genDType x, $genDType y); | 62 $genDType max($genDType x, $genDType y); |
63 //$genDType max($genDType x, double y); | 63 $genDType max($genDType x, double y); |
64 $genIType max($genIType x, $genIType y); | 64 $genIType max($genIType x, $genIType y); |
65 $genIType max($genIType x, int y); | 65 $genIType max($genIType x, int y); |
66 //$genUType max($genUType x, $genUType y); | 66 $genUType max($genUType x, $genUType y); |
67 //$genUType max($genUType x, uint y); | 67 $genUType max($genUType x, uint y); |
68 $genType clamp($genType x, $genType minVal, $genType maxVal); | 68 $genType clamp($genType x, $genType minVal, $genType maxVal); |
69 $genType clamp($genType x, float minVal, float maxVal); | 69 $genType clamp($genType x, float minVal, float maxVal); |
70 //$genDType clamp($genDType x, $genDType minVal, $genDType maxVal); | 70 $genDType clamp($genDType x, $genDType minVal, $genDType maxVal); |
71 //$genDType clamp($genDType x, double minVal, double maxVal); | 71 $genDType clamp($genDType x, double minVal, double maxVal); |
72 $genIType clamp($genIType x, $genIType minVal, $genIType maxVal); | 72 $genIType clamp($genIType x, $genIType minVal, $genIType maxVal); |
73 $genIType clamp($genIType x, int minVal, int maxVal); | 73 $genIType clamp($genIType x, int minVal, int maxVal); |
74 //$genUType clamp($genUType x, $genUType minVal, $genUType maxVal); | 74 $genUType clamp($genUType x, $genUType minVal, $genUType maxVal); |
75 //$genUType clamp($genUType x, uint minVal, uint maxVal); | 75 $genUType clamp($genUType x, uint minVal, uint maxVal); |
76 $genType mix($genType x, $genType y, $genType a); | 76 $genType mix($genType x, $genType y, $genType a); |
77 $genType mix($genType x, $genType y, float a); | 77 $genType mix($genType x, $genType y, float a); |
78 //$genDType mix($genDType x, $genDType y, $genDType a); | 78 $genDType mix($genDType x, $genDType y, $genDType a); |
79 //$genDType mix($genDType x, $genDType y, double a); | 79 $genDType mix($genDType x, $genDType y, double a); |
80 $genType mix($genType x, $genType y, $genBType a); | 80 $genType mix($genType x, $genType y, $genBType a); |
81 //$genDType mix($genDType x, $genDType y, $genBType a); | 81 $genDType mix($genDType x, $genDType y, $genBType a); |
82 $genIType mix($genIType x, $genIType y, $genBType a); | 82 $genIType mix($genIType x, $genIType y, $genBType a); |
83 //$genUType mix($genUType x, $genUType y, $genBType a); | 83 $genUType mix($genUType x, $genUType y, $genBType a); |
84 $genBType mix($genBType x, $genBType y, $genBType a); | 84 $genBType mix($genBType x, $genBType y, $genBType a); |
85 $genType step($genType edge, $genType x); | 85 $genType step($genType edge, $genType x); |
86 $genType step(float edge, $genType x); | 86 $genType step(float edge, $genType x); |
87 //$genDType step($genDType edge, $genDType x); | 87 $genDType step($genDType edge, $genDType x); |
88 //$genDType step(double edge, $genDType x); | 88 $genDType step(double edge, $genDType x); |
89 $genType smoothstep($genType edge0, $genType edge1, $genType x); | 89 $genType smoothstep($genType edge0, $genType edge1, $genType x); |
90 $genType smoothstep(float edge0, float edge1, $genType x); | 90 $genType smoothstep(float edge0, float edge1, $genType x); |
91 //$genDType smoothstep($genDType edge0, $genDType edge1, $genDType x); | 91 $genDType smoothstep($genDType edge0, $genDType edge1, $genDType x); |
92 //$genDType smoothstep(double edge0, double edge1, $genDType x); | 92 $genDType smoothstep(double edge0, double edge1, $genDType x); |
93 $genBType isnan($genType x); | 93 $genBType isnan($genType x); |
94 $genBType isnan($genDType x); | 94 $genBType isnan($genDType x); |
95 $genBType isinf($genType x); | 95 $genBType isinf($genType x); |
96 $genBType isinf($genDType x); | 96 $genBType isinf($genDType x); |
97 $genIType floatBitsToInt($genType value); | 97 $genIType floatBitsToInt($genType value); |
98 //$genUType floatBitsToUint($genType value); | 98 $genUType floatBitsToUint($genType value); |
99 $genType intBitsToFloat($genIType value); | 99 $genType intBitsToFloat($genIType value); |
100 $genType uintBitsToFloat($genUType value); | 100 $genType uintBitsToFloat($genUType value); |
101 $genType fma($genType a, $genType b, $genType c); | 101 $genType fma($genType a, $genType b, $genType c); |
102 //$genDType fma($genDType a, $genDType b, $genDType c); | 102 $genDType fma($genDType a, $genDType b, $genDType c); |
103 $genType frexp($genType x, out $genIType exp); | 103 $genType frexp($genType x, out $genIType exp); |
104 //$genDType frexp($genDType x, out $genIType exp); | 104 $genDType frexp($genDType x, out $genIType exp); |
105 $genType ldexp($genType x, in $genIType exp); | 105 $genType ldexp($genType x, in $genIType exp); |
106 //$genDType ldexp($genDType x, in $genIType exp); | 106 $genDType ldexp($genDType x, in $genIType exp); |
107 uint packUnorm2x16(vec2 v); | 107 uint packUnorm2x16(vec2 v); |
108 uint packSnorm2x16(vec2 v); | 108 uint packSnorm2x16(vec2 v); |
109 uint packUnorm4x8(vec4 v); | 109 uint packUnorm4x8(vec4 v); |
110 uint packSnorm4x8(vec4 v); | 110 uint packSnorm4x8(vec4 v); |
111 vec2 unpackUnorm2x16(uint p); | 111 vec2 unpackUnorm2x16(uint p); |
112 vec2 unpackSnorm2x16(uint p); | 112 vec2 unpackSnorm2x16(uint p); |
113 vec4 unpackUnorm4x8(uint p); | 113 vec4 unpackUnorm4x8(uint p); |
114 vec4 unpackSnorm4x8(uint p); | 114 vec4 unpackSnorm4x8(uint p); |
115 //double packDouble2x32(uvec2 v); | 115 double packDouble2x32(uvec2 v); |
116 uvec2 unpackDouble2x32(double v); | 116 uvec2 unpackDouble2x32(double v); |
117 uint packHalf2x16(vec2 v); | 117 uint packHalf2x16(vec2 v); |
118 vec2 unpackHalf2x16(uint v); | 118 vec2 unpackHalf2x16(uint v); |
119 float length($genType x); | 119 float length($genType x); |
120 //double length($genDType x); | 120 double length($genDType x); |
121 float distance($genType p0, $genType p1); | 121 float distance($genType p0, $genType p1); |
122 //double distance($genDType p0, $genDType p1); | 122 double distance($genDType p0, $genDType p1); |
123 float dot($genType x, $genType y); | 123 float dot($genType x, $genType y); |
124 //double dot($genDType x, $genDType y); | 124 double dot($genDType x, $genDType y); |
125 vec3 cross(vec3 x, vec3 y); | 125 vec3 cross(vec3 x, vec3 y); |
126 //dvec3 cross(dvec3 x, dvec3 y); | 126 dvec3 cross(dvec3 x, dvec3 y); |
127 $genType normalize($genType x); | 127 $genType normalize($genType x); |
128 //$genDType normalize($genDType x); | 128 $genDType normalize($genDType x); |
129 vec4 ftransform(); | 129 vec4 ftransform(); |
130 $genType faceforward($genType N, $genType I, $genType Nref); | 130 $genType faceforward($genType N, $genType I, $genType Nref); |
131 //$genDType faceforward($genDType N, $genDType I, $genDType Nref); | 131 $genDType faceforward($genDType N, $genDType I, $genDType Nref); |
132 $genType reflect($genType I, $genType N); | 132 $genType reflect($genType I, $genType N); |
133 //$genDType reflect($genDType I, $genDType N); | 133 $genDType reflect($genDType I, $genDType N); |
134 $genType refract($genType I, $genType N, float eta); | 134 $genType refract($genType I, $genType N, float eta); |
135 //$genDType refract($genDType I, $genDType N, float eta); | 135 $genDType refract($genDType I, $genDType N, float eta); |
136 $mat matrixCompMult($mat x, $mat y); | 136 $mat matrixCompMult($mat x, $mat y); |
137 mat2 outerProduct(vec2 c, vec2 r); | 137 mat2 outerProduct(vec2 c, vec2 r); |
138 mat3 outerProduct(vec3 c, vec3 r); | 138 mat3 outerProduct(vec3 c, vec3 r); |
139 mat4 outerProduct(vec4 c, vec4 r); | 139 mat4 outerProduct(vec4 c, vec4 r); |
140 mat2x3 outerProduct(vec3 c, vec2 r); | 140 mat2x3 outerProduct(vec3 c, vec2 r); |
141 mat3x2 outerProduct(vec2 c, vec3 r); | 141 mat3x2 outerProduct(vec2 c, vec3 r); |
142 mat2x4 outerProduct(vec4 c, vec2 r); | 142 mat2x4 outerProduct(vec4 c, vec2 r); |
143 mat4x2 outerProduct(vec2 c, vec4 r); | 143 mat4x2 outerProduct(vec2 c, vec4 r); |
144 mat3x4 outerProduct(vec4 c, vec3 r); | 144 mat3x4 outerProduct(vec4 c, vec3 r); |
145 mat4x3 outerProduct(vec3 c, vec4 r); | 145 mat4x3 outerProduct(vec3 c, vec4 r); |
(...skipping 28 matching lines...) Expand all Loading... |
174 $bvec equal($ivec x, $ivec y); | 174 $bvec equal($ivec x, $ivec y); |
175 $bvec equal($uvec x, $uvec y); | 175 $bvec equal($uvec x, $uvec y); |
176 $bvec equal($bvec x, $bvec y); | 176 $bvec equal($bvec x, $bvec y); |
177 $bvec notEqual($vec x, $vec y); | 177 $bvec notEqual($vec x, $vec y); |
178 $bvec notEqual($ivec x, $ivec y); | 178 $bvec notEqual($ivec x, $ivec y); |
179 $bvec notEqual($uvec x, $uvec y); | 179 $bvec notEqual($uvec x, $uvec y); |
180 $bvec notEqual($bvec x, $bvec y); | 180 $bvec notEqual($bvec x, $bvec y); |
181 bool any($bvec x); | 181 bool any($bvec x); |
182 bool all($bvec x); | 182 bool all($bvec x); |
183 $bvec not($bvec x); | 183 $bvec not($bvec x); |
184 | 184 $genUType uaddCarry($genUType x, $genUType y, out $genUType carry); |
185 /* | 185 $genUType usubBorrow($genUType x, $genUType y, out $genUType borrow); |
186 //$genUType uaddCarry($genUType x, $genUType y, out $genUType carry); | |
187 //$genUType usubBorrow($genUType x, $genUType y, out $genUType borrow); | |
188 void umulExtended($genUType x, $genUType y, out $genUType msb, out $genUType lsb
); | 186 void umulExtended($genUType x, $genUType y, out $genUType msb, out $genUType lsb
); |
189 void imulExtended($genIType x, $genIType y, out $genIType msb, out $genIType lsb
); | 187 void imulExtended($genIType x, $genIType y, out $genIType msb, out $genIType lsb
); |
190 $genIType bitfieldExtract($genIType value, int offset, int bits); | 188 $genIType bitfieldExtract($genIType value, int offset, int bits); |
191 //$genUType bitfieldExtract($genUType value, int offset, int bits); | 189 $genUType bitfieldExtract($genUType value, int offset, int bits); |
192 $genIType bitfieldInsert($genIType base, $genIType insert, int offset, int bits)
; | 190 $genIType bitfieldInsert($genIType base, $genIType insert, int offset, int bits)
; |
193 //$genUType bitfieldInsert($genUType base, $genUType insert, int offset, int bit
s); | 191 $genUType bitfieldInsert($genUType base, $genUType insert, int offset, int bits)
; |
194 $genIType bitfieldReverse($genIType value); | 192 $genIType bitfieldReverse($genIType value); |
195 //$genUType bitfieldReverse($genUType value); | 193 $genUType bitfieldReverse($genUType value); |
196 $genIType bitCount($genIType value); | 194 $genIType bitCount($genIType value); |
197 $genIType bitCount($genUType value); | 195 $genIType bitCount($genUType value); |
198 $genIType findLSB($genIType value); | 196 $genIType findLSB($genIType value); |
199 $genIType findLSB($genUType value); | 197 $genIType findLSB($genUType value); |
200 $genIType findMSB($genIType value); | 198 $genIType findMSB($genIType value); |
201 $genIType findMSB($genUType value); | 199 $genIType findMSB($genUType value); |
202 int textureSize($gsampler1D sampler, int lod); | 200 int textureSize($gsampler1D sampler, int lod); |
203 ivec2 textureSize($gsampler2D sampler, int lod); | 201 ivec2 textureSize($gsampler2D sampler, int lod); |
204 ivec3 textureSize($gsampler3D sampler, int lod); | 202 ivec3 textureSize($gsampler3D sampler, int lod); |
205 ivec2 textureSize($gsamplerCube sampler, int lod); | 203 ivec2 textureSize($gsamplerCube sampler, int lod); |
206 int textureSize(sampler1DShadow sampler, int lod); | 204 int textureSize(sampler1DShadow sampler, int lod); |
207 ivec2 textureSize(sampler2DShadow sampler, int lod); | 205 ivec2 textureSize(sampler2DShadow sampler, int lod); |
208 ivec2 textureSize(samplerCubeShadow sampler, int lod); | 206 ivec2 textureSize(samplerCubeShadow sampler, int lod); |
209 ivec3 textureSize($gsamplerCubeArray sampler, int lod); | 207 ivec3 textureSize($gsamplerCubeArray sampler, int lod); |
210 ivec3 textureSize(samplerCubeArrayShadow sampler, int lod); | 208 ivec3 textureSize(samplerCubeArrayShadow sampler, int lod); |
211 */ | |
212 ivec2 textureSize($gsampler2DRect sampler); | 209 ivec2 textureSize($gsampler2DRect sampler); |
213 /* | |
214 ivec2 textureSize(sampler2DRectShadow sampler); | 210 ivec2 textureSize(sampler2DRectShadow sampler); |
215 ivec2 textureSize($gsampler1DArray sampler, int lod); | 211 ivec2 textureSize($gsampler1DArray sampler, int lod); |
216 ivec3 textureSize($gsampler2DArray sampler, int lod); | 212 ivec3 textureSize($gsampler2DArray sampler, int lod); |
217 ivec2 textureSize(sampler1DArrayShadow sampler, int lod); | 213 ivec2 textureSize(sampler1DArrayShadow sampler, int lod); |
218 ivec3 textureSize(sampler2DArrayShadow sampler, int lod); | 214 ivec3 textureSize(sampler2DArrayShadow sampler, int lod); |
219 int textureSize($gsamplerBuffer sampler); | 215 int textureSize($gsamplerBuffer sampler); |
220 ivec2 textureSize($gsampler2DMS sampler); | 216 ivec2 textureSize($gsampler2DMS sampler); |
221 ivec3 textureSize($gsampler2DMSArray sampler); | 217 ivec3 textureSize($gsampler2DMSArray sampler); |
222 vec2 textureQueryLod($gsampler1D sampler, float P); | 218 vec2 textureQueryLod($gsampler1D sampler, float P); |
223 vec2 textureQueryLod($gsampler2D sampler, vec2 P); | 219 vec2 textureQueryLod($gsampler2D sampler, vec2 P); |
(...skipping 14 matching lines...) Expand all Loading... |
238 int textureQueryLevels($gsamplerCube sampler); | 234 int textureQueryLevels($gsamplerCube sampler); |
239 int textureQueryLevels($gsampler1DArray sampler); | 235 int textureQueryLevels($gsampler1DArray sampler); |
240 int textureQueryLevels($gsampler2DArray sampler); | 236 int textureQueryLevels($gsampler2DArray sampler); |
241 int textureQueryLevels($gsamplerCubeArray sampler); | 237 int textureQueryLevels($gsamplerCubeArray sampler); |
242 int textureQueryLevels(sampler1DShadow sampler); | 238 int textureQueryLevels(sampler1DShadow sampler); |
243 int textureQueryLevels(sampler2DShadow sampler); | 239 int textureQueryLevels(sampler2DShadow sampler); |
244 int textureQueryLevels(samplerCubeShadow sampler); | 240 int textureQueryLevels(samplerCubeShadow sampler); |
245 int textureQueryLevels(sampler1DArrayShadow sampler); | 241 int textureQueryLevels(sampler1DArrayShadow sampler); |
246 int textureQueryLevels(sampler2DArrayShadow sampler); | 242 int textureQueryLevels(sampler2DArrayShadow sampler); |
247 int textureQueryLevels(samplerCubeArrayShadow sampler); | 243 int textureQueryLevels(samplerCubeArrayShadow sampler); |
248 */ | |
249 | |
250 $gvec4 texture($gsampler1D sampler, float P); | 244 $gvec4 texture($gsampler1D sampler, float P); |
251 $gvec4 texture($gsampler1D sampler, float P, float bias); | 245 $gvec4 texture($gsampler1D sampler, float P, float bias); |
252 $gvec4 texture($gsampler2D sampler, vec2 P); | 246 $gvec4 texture($gsampler2D sampler, vec2 P); |
253 vec4 texture(samplerExternalOES sampler, vec2 P, float bias); | 247 vec4 texture(samplerExternalOES sampler, vec2 P, float bias); |
254 vec4 texture(samplerExternalOES sampler, vec2 P); | 248 vec4 texture(samplerExternalOES sampler, vec2 P); |
255 | |
256 /* | |
257 $gvec4 texture($gsampler2D sampler, vec2 P, float bias); | 249 $gvec4 texture($gsampler2D sampler, vec2 P, float bias); |
258 $gvec4 texture($gsampler3D sampler, vec3 P); | 250 $gvec4 texture($gsampler3D sampler, vec3 P); |
259 $gvec4 texture($gsampler3D sampler, vec3 P, float bias); | 251 $gvec4 texture($gsampler3D sampler, vec3 P, float bias); |
260 $gvec4 texture($gsamplerCube sampler, vec3 P); | 252 $gvec4 texture($gsamplerCube sampler, vec3 P); |
261 $gvec4 texture($gsamplerCube sampler, vec3 P, float bias); | 253 $gvec4 texture($gsamplerCube sampler, vec3 P, float bias); |
262 float texture(sampler1DShadow sampler, vec3 P); | 254 float texture(sampler1DShadow sampler, vec3 P); |
263 float texture(sampler1DShadow sampler, vec3 P, float bias); | 255 float texture(sampler1DShadow sampler, vec3 P, float bias); |
264 float texture(sampler2DShadow sampler, vec3 P); | 256 float texture(sampler2DShadow sampler, vec3 P); |
265 float texture(sampler2DShadow sampler, vec3 P, float bias); | 257 float texture(sampler2DShadow sampler, vec3 P, float bias); |
266 float texture(samplerCubeShadow sampler, vec4 P); | 258 float texture(samplerCubeShadow sampler, vec4 P); |
267 float texture(samplerCubeShadow sampler, vec4 P, float bias); | 259 float texture(samplerCubeShadow sampler, vec4 P, float bias); |
268 $gvec4 texture($gsampler1DArray sampler, vec2 P); | 260 $gvec4 texture($gsampler1DArray sampler, vec2 P); |
269 $gvec4 texture($gsampler1DArray sampler, vec2 P, float bias); | 261 $gvec4 texture($gsampler1DArray sampler, vec2 P, float bias); |
270 $gvec4 texture($gsampler2DArray sampler, vec3 P); | 262 $gvec4 texture($gsampler2DArray sampler, vec3 P); |
271 $gvec4 texture($gsampler2DArray sampler, vec3 P, float bias); | 263 $gvec4 texture($gsampler2DArray sampler, vec3 P, float bias); |
272 $gvec4 texture($gsamplerCubeArray sampler, vec4 P); | 264 $gvec4 texture($gsamplerCubeArray sampler, vec4 P); |
273 $gvec4 texture($gsamplerCubeArray sampler, vec4 P, float bias); | 265 $gvec4 texture($gsamplerCubeArray sampler, vec4 P, float bias); |
274 float texture(sampler1DArrayShadow sampler, vec3 P); | 266 float texture(sampler1DArrayShadow sampler, vec3 P); |
275 float texture(sampler1DArrayShadow sampler, vec3 P, float bias); | 267 float texture(sampler1DArrayShadow sampler, vec3 P, float bias); |
276 float texture(sampler2DArrayShadow sampler, vec4 P); | 268 float texture(sampler2DArrayShadow sampler, vec4 P); |
277 */ | |
278 | |
279 $gvec4 texture($gsampler2DRect sampler, vec2 P); | 269 $gvec4 texture($gsampler2DRect sampler, vec2 P); |
280 | |
281 /* | |
282 float texture(sampler2DRectShadow sampler, vec3 P); | 270 float texture(sampler2DRectShadow sampler, vec3 P); |
283 float texture($gsamplerCubeArrayShadow sampler, vec4 P, float compare); | 271 float texture($gsamplerCubeArrayShadow sampler, vec4 P, float compare); |
284 */ | 272 |
285 ) | 273 ) |
286 | 274 |
287 // split into multiple chunks, as MSVC++ complains if a single string is too lon
g | 275 // split into multiple chunks, as MSVC++ complains if a single string is too lon
g |
288 | 276 |
289 STRINGIFY( | 277 STRINGIFY( |
290 | 278 |
291 $gvec4 textureProj($gsampler1D sampler, vec2 P); | 279 $gvec4 textureProj($gsampler1D sampler, vec2 P); |
292 $gvec4 textureProj($gsampler1D sampler, vec2 P, float bias); | 280 $gvec4 textureProj($gsampler1D sampler, vec2 P, float bias); |
293 $gvec4 textureProj($gsampler1D sampler, vec4 P); | 281 $gvec4 textureProj($gsampler1D sampler, vec4 P); |
294 $gvec4 textureProj($gsampler1D sampler, vec4 P, float bias); | 282 $gvec4 textureProj($gsampler1D sampler, vec4 P, float bias); |
295 $gvec4 textureProj($gsampler2D sampler, vec3 P); | 283 $gvec4 textureProj($gsampler2D sampler, vec3 P); |
296 $gvec4 textureProj($gsampler2D sampler, vec3 P, float bias); | 284 $gvec4 textureProj($gsampler2D sampler, vec3 P, float bias); |
297 $gvec4 textureProj($gsampler2D sampler, vec4 P); | 285 $gvec4 textureProj($gsampler2D sampler, vec4 P); |
298 $gvec4 textureProj($gsampler2D sampler, vec4 P, float bias); | 286 $gvec4 textureProj($gsampler2D sampler, vec4 P, float bias); |
299 /* | |
300 $gvec4 textureProj($gsampler3D sampler, vec4 P); | 287 $gvec4 textureProj($gsampler3D sampler, vec4 P); |
301 $gvec4 textureProj($gsampler3D sampler, vec4 P, float bias); | 288 $gvec4 textureProj($gsampler3D sampler, vec4 P, float bias); |
302 float textureProj(sampler1DShadow sampler, vec4 P); | 289 float textureProj(sampler1DShadow sampler, vec4 P); |
303 float textureProj(sampler1DShadow sampler, vec4 P, float bias); | 290 float textureProj(sampler1DShadow sampler, vec4 P, float bias); |
304 float textureProj(sampler2DShadow sampler, vec4 P); | 291 float textureProj(sampler2DShadow sampler, vec4 P); |
305 float textureProj(sampler2DShadow sampler, vec4 P, float bias); | 292 float textureProj(sampler2DShadow sampler, vec4 P, float bias); |
306 $gvec4 textureProj($gsampler2DRect sampler, vec3 P); | 293 $gvec4 textureProj($gsampler2DRect sampler, vec3 P); |
307 $gvec4 textureProj($gsampler2DRect sampler, vec4 P); | 294 $gvec4 textureProj($gsampler2DRect sampler, vec4 P); |
308 float textureProj(sampler2DRectShadow sampler, vec4 P); | 295 float textureProj(sampler2DRectShadow sampler, vec4 P); |
309 $gvec4 textureLod($gsampler1D sampler, float P, float lod); | 296 $gvec4 textureLod($gsampler1D sampler, float P, float lod); |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
451 vec4 textureGather(sampler2DRectShadow sampler, vec2 P, float refZ); | 438 vec4 textureGather(sampler2DRectShadow sampler, vec2 P, float refZ); |
452 $gvec4 textureGatherOffset($gsampler2D sampler, vec2 P, ivec2 offset); | 439 $gvec4 textureGatherOffset($gsampler2D sampler, vec2 P, ivec2 offset); |
453 $gvec4 textureGatherOffset($gsampler2D sampler, vec2 P, ivec2 offset, int comp); | 440 $gvec4 textureGatherOffset($gsampler2D sampler, vec2 P, ivec2 offset, int comp); |
454 $gvec4 textureGatherOffset($gsampler2DArray sampler, vec3 P, ivec2 offset); | 441 $gvec4 textureGatherOffset($gsampler2DArray sampler, vec3 P, ivec2 offset); |
455 $gvec4 textureGatherOffset($gsampler2DArray sampler, vec3 P, ivec2 offset, int c
omp); | 442 $gvec4 textureGatherOffset($gsampler2DArray sampler, vec3 P, ivec2 offset, int c
omp); |
456 $gvec4 textureGatherOffset($gsampler2DRect sampler, vec2 P, ivec2 offset); | 443 $gvec4 textureGatherOffset($gsampler2DRect sampler, vec2 P, ivec2 offset); |
457 $gvec4 textureGatherOffset($gsampler2DRect sampler, vec2 P, ivec2 offset, int co
mp); | 444 $gvec4 textureGatherOffset($gsampler2DRect sampler, vec2 P, ivec2 offset, int co
mp); |
458 vec4 textureGatherOffset(sampler2DShadow sampler, vec2 P, float refZ, ivec2 offs
et); | 445 vec4 textureGatherOffset(sampler2DShadow sampler, vec2 P, float refZ, ivec2 offs
et); |
459 vec4 textureGatherOffset(sampler2DArrayShadow sampler, vec3 P, float refZ, ivec2
offset); | 446 vec4 textureGatherOffset(sampler2DArrayShadow sampler, vec3 P, float refZ, ivec2
offset); |
460 vec4 textureGatherOffset(sampler2DRectShadow sampler, vec2 P, float refZ, ivec2
offset); | 447 vec4 textureGatherOffset(sampler2DRectShadow sampler, vec2 P, float refZ, ivec2
offset); |
| 448 /* |
461 $gvec4 textureGatherOffsets($gsampler2D sampler, vec2 P, ivec2 offsets[4]); | 449 $gvec4 textureGatherOffsets($gsampler2D sampler, vec2 P, ivec2 offsets[4]); |
462 $gvec4 textureGatherOffsets($gsampler2D sampler, vec2 P, ivec2 offsets[4], int c
omp); | 450 $gvec4 textureGatherOffsets($gsampler2D sampler, vec2 P, ivec2 offsets[4], int c
omp); |
463 $gvec4 textureGatherOffsets($gsampler2DArray sampler, vec3 P, ivec2 offsets[4]); | 451 $gvec4 textureGatherOffsets($gsampler2DArray sampler, vec3 P, ivec2 offsets[4]); |
464 $gvec4 textureGatherOffsets($gsampler2DArray sampler, vec3 P, ivec2 offsets[4],
int comp); | 452 $gvec4 textureGatherOffsets($gsampler2DArray sampler, vec3 P, ivec2 offsets[4],
int comp); |
465 $gvec4 textureGatherOffsets($gsampler2DRect sampler, vec2 P, ivec2 offsets[4]); | 453 $gvec4 textureGatherOffsets($gsampler2DRect sampler, vec2 P, ivec2 offsets[4]); |
466 $gvec4 textureGatherOffsets($gsampler2DRect sampler, vec2 P, ivec2 offsets[4], i
nt comp); | 454 $gvec4 textureGatherOffsets($gsampler2DRect sampler, vec2 P, ivec2 offsets[4], i
nt comp); |
467 vec4 textureGatherOffsets(sampler2DShadow sampler, vec2 P, float refZ, ivec2 off
sets[4]); | 455 vec4 textureGatherOffsets(sampler2DShadow sampler, vec2 P, float refZ, ivec2 off
sets[4]); |
468 vec4 textureGatherOffsets(sampler2DArrayShadow sampler, vec3 P, float refZ, ivec
2 offsets[4]); | 456 vec4 textureGatherOffsets(sampler2DArrayShadow sampler, vec3 P, float refZ, ivec
2 offsets[4]); |
469 vec4 textureGatherOffsets(sampler2DRectShadow sampler, vec2 P, float refZ, ivec2
offsets[4]); | 457 vec4 textureGatherOffsets(sampler2DRectShadow sampler, vec2 P, float refZ, ivec2
offsets[4]); |
470 */ | 458 */ |
471 vec4 texture1D(sampler1D sampler, float coord); | 459 vec4 texture1D(sampler1D sampler, float coord); |
472 vec4 texture1D(sampler1D sampler, float coord, float bias); | 460 vec4 texture1D(sampler1D sampler, float coord, float bias); |
473 /* | |
474 vec4 texture1DProj(sampler1D sampler, vec2 coord); | 461 vec4 texture1DProj(sampler1D sampler, vec2 coord); |
475 vec4 texture1DProj(sampler1D sampler, vec2 coord, float bias); | 462 vec4 texture1DProj(sampler1D sampler, vec2 coord, float bias); |
476 vec4 texture1DProj(sampler1D sampler, vec4 coord); | 463 vec4 texture1DProj(sampler1D sampler, vec4 coord); |
477 vec4 texture1DProj(sampler1D sampler, vec4 coord, float bias); | 464 vec4 texture1DProj(sampler1D sampler, vec4 coord, float bias); |
478 vec4 texture1DLod(sampler1D sampler, float coord, float lod); | 465 vec4 texture1DLod(sampler1D sampler, float coord, float lod); |
479 vec4 texture1DProjLod(sampler1D sampler, vec2 coord, float lod); | 466 vec4 texture1DProjLod(sampler1D sampler, vec2 coord, float lod); |
480 vec4 texture1DProjLod(sampler1D sampler, vec4 coord, float lod); | 467 vec4 texture1DProjLod(sampler1D sampler, vec4 coord, float lod); |
481 */ | |
482 vec4 texture2D(sampler2D sampler, vec2 coord); | 468 vec4 texture2D(sampler2D sampler, vec2 coord); |
483 vec4 texture2D(samplerExternalOES sampler, vec2 coord); | 469 vec4 texture2D(samplerExternalOES sampler, vec2 coord); |
484 vec4 texture2D(sampler2D sampler, vec2 coord, float bias); | 470 vec4 texture2D(sampler2D sampler, vec2 coord, float bias); |
485 /* | |
486 vec4 texture2DProj(sampler2D sampler, vec3 coord); | 471 vec4 texture2DProj(sampler2D sampler, vec3 coord); |
487 vec4 texture2DProj(sampler2D sampler, vec3 coord, float bias); | 472 vec4 texture2DProj(sampler2D sampler, vec3 coord, float bias); |
488 vec4 texture2DProj(sampler2D sampler, vec4 coord); | 473 vec4 texture2DProj(sampler2D sampler, vec4 coord); |
489 vec4 texture2DProj(sampler2D sampler, vec4 coord, float bias); | 474 vec4 texture2DProj(sampler2D sampler, vec4 coord, float bias); |
490 vec4 texture2DLod(sampler2D sampler, vec2 coord, float lod); | 475 vec4 texture2DLod(sampler2D sampler, vec2 coord, float lod); |
491 vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod); | 476 vec4 texture2DProjLod(sampler2D sampler, vec3 coord, float lod); |
492 vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod); | 477 vec4 texture2DProjLod(sampler2D sampler, vec4 coord, float lod); |
493 vec4 texture3D(sampler3D sampler, vec3 coord); | 478 vec4 texture3D(sampler3D sampler, vec3 coord); |
494 vec4 texture3D(sampler3D sampler, vec3 coord, float bias); | 479 vec4 texture3D(sampler3D sampler, vec3 coord, float bias); |
495 vec4 texture3DProj(sampler3D sampler, vec4 coord); | 480 vec4 texture3DProj(sampler3D sampler, vec4 coord); |
496 vec4 texture3DProj(sampler3D sampler, vec4 coord, float bias); | 481 vec4 texture3DProj(sampler3D sampler, vec4 coord, float bias); |
497 vec4 texture3DLod(sampler3D sampler, vec3 coord, float lod); | 482 vec4 texture3DLod(sampler3D sampler, vec3 coord, float lod); |
498 vec4 texture3DProjLod(sampler3D sampler, vec4 coord, float lod); | 483 vec4 texture3DProjLod(sampler3D sampler, vec4 coord, float lod); |
499 vec4 textureCube(samplerCube sampler, vec3 coord); | 484 vec4 textureCube(samplerCube sampler, vec3 coord); |
500 vec4 textureCube(samplerCube sampler, vec3 coord, float bias); | 485 vec4 textureCube(samplerCube sampler, vec3 coord, float bias); |
501 vec4 textureCubeLod(samplerCube sampler, vec3 coord, float lod); | 486 vec4 textureCubeLod(samplerCube sampler, vec3 coord, float lod); |
502 vec4 shadow1D(sampler1DShadow sampler, vec3 coord); | 487 vec4 shadow1D(sampler1DShadow sampler, vec3 coord); |
503 vec4 shadow1D(sampler1DShadow sampler, vec3 coord, float bias); | 488 vec4 shadow1D(sampler1DShadow sampler, vec3 coord, float bias); |
504 vec4 shadow2D(sampler2DShadow sampler, vec3 coord); | 489 vec4 shadow2D(sampler2DShadow sampler, vec3 coord); |
505 vec4 shadow2D(sampler2DShadow sampler, vec3 coord, float bias); | 490 vec4 shadow2D(sampler2DShadow sampler, vec3 coord, float bias); |
506 vec4 shadow1DProj(sampler1DShadow sampler, vec4 coord); | 491 vec4 shadow1DProj(sampler1DShadow sampler, vec4 coord); |
507 vec4 shadow1DProj(sampler1DShadow sampler, vec4 coord, float bias); | 492 vec4 shadow1DProj(sampler1DShadow sampler, vec4 coord, float bias); |
508 vec4 shadow2DProj(sampler2DShadow sampler, vec4 coord); | 493 vec4 shadow2DProj(sampler2DShadow sampler, vec4 coord); |
509 vec4 shadow2DProj(sampler2DShadow sampler, vec4 coord, float bias); | 494 vec4 shadow2DProj(sampler2DShadow sampler, vec4 coord, float bias); |
510 vec4 shadow1DLod(sampler1DShadow sampler, vec3 coord, float lod); | 495 vec4 shadow1DLod(sampler1DShadow sampler, vec3 coord, float lod); |
511 vec4 shadow2DLod(sampler2DShadow sampler, vec3 coord, float lod); | 496 vec4 shadow2DLod(sampler2DShadow sampler, vec3 coord, float lod); |
512 vec4 shadow1DProjLod(sampler1DShadow sampler, vec4 coord, float lod); | 497 vec4 shadow1DProjLod(sampler1DShadow sampler, vec4 coord, float lod); |
513 vec4 shadow2DProjLod(sampler2DShadow sampler, vec4 coord, float lod); | 498 vec4 shadow2DProjLod(sampler2DShadow sampler, vec4 coord, float lod); |
| 499 /* |
514 uint atomicCounterIncrement(atomic_uint c); | 500 uint atomicCounterIncrement(atomic_uint c); |
515 uint atomicCounter(atomic_uint c); | 501 uint atomicCounter(atomic_uint c); |
516 uint atomicAdd(inout uint mem, uint data); | 502 uint atomicAdd(inout uint mem, uint data); |
517 int atomicAdd(inout int mem, int data); | 503 int atomicAdd(inout int mem, int data); |
518 uint atomicMin(inout uint mem, uint data); | 504 uint atomicMin(inout uint mem, uint data); |
519 int atomicMin(inout int mem, int data); | 505 int atomicMin(inout int mem, int data); |
520 uint atomicMax(inout uint mem, uint data); | 506 uint atomicMax(inout uint mem, uint data); |
521 int atomicMax(inout int mem, int data); | 507 int atomicMax(inout int mem, int data); |
522 uint atomicAnd(inout uint mem, uint data); | 508 uint atomicAnd(inout uint mem, uint data); |
523 int atomicAnd(inout int mem, int data); | 509 int atomicAnd(inout int mem, int data); |
524 uint atomicOr(inout uint mem, uint data); | 510 uint atomicOr(inout uint mem, uint data); |
525 int atomicOr(inout int mem, int data); | 511 int atomicOr(inout int mem, int data); |
526 uint atomicXor(inout uint mem, uint data); | 512 uint atomicXor(inout uint mem, uint data); |
527 int atomicXor(inout int mem, int data); | 513 int atomicXor(inout int mem, int data); |
528 uint atomicExchange(inout uint mem, uint data); | 514 uint atomicExchange(inout uint mem, uint data); |
529 int atomicExchange(inout int mem, int data); | 515 int atomicExchange(inout int mem, int data); |
530 uint atomicCompSwap(inout uint mem, uint compare, uint data); | 516 uint atomicCompSwap(inout uint mem, uint compare, uint data); |
531 int atomicCompSwap(inout int mem, int compare, int data); | 517 int atomicCompSwap(inout int mem, int compare, int data); |
532 */ | 518 */ |
533 // section 8.12 Image Functions will go here if and when we add support for them | 519 // section 8.12 Image Functions will go here if and when we add support for them |
534 | 520 |
535 $genType dFdx($genType p); | 521 $genType dFdx($genType p); |
536 $genType dFdy($genType p); | 522 $genType dFdy($genType p); |
537 | |
538 /* | |
539 $genType fwidth($genType p); | 523 $genType fwidth($genType p); |
540 $genType fwidthCoarse($genType p); | 524 $genType fwidthCoarse($genType p); |
541 $genType fwidthFine($genType p); | 525 $genType fwidthFine($genType p); |
542 float interpolateAtSample(float interpolant, int sample); | 526 float interpolateAtSample(float interpolant, int sample); |
543 vec2 interpolateAtSample(vec2 interpolant, int sample); | 527 vec2 interpolateAtSample(vec2 interpolant, int sample); |
544 vec3 interpolateAtSample(vec3 interpolant, int sample); | 528 vec3 interpolateAtSample(vec3 interpolant, int sample); |
545 vec4 interpolateAtSample(vec4 interpolant, int sample); | 529 vec4 interpolateAtSample(vec4 interpolant, int sample); |
546 float interpolateAtOffset(float interpolant, vec2 offset); | 530 float interpolateAtOffset(float interpolant, vec2 offset); |
547 vec2 interpolateAtOffset(vec2 interpolant, vec2 offset); | 531 vec2 interpolateAtOffset(vec2 interpolant, vec2 offset); |
548 vec3 interpolateAtOffset(vec3 interpolant, vec2 offset); | 532 vec3 interpolateAtOffset(vec3 interpolant, vec2 offset); |
549 vec4 interpolateAtOffset(vec4 interpolant, vec2 offset); | 533 vec4 interpolateAtOffset(vec4 interpolant, vec2 offset); |
550 void EmitStreamVertex(int stream); | 534 void EmitStreamVertex(int stream); |
551 void EndStreamPrimitive(int stream); | 535 void EndStreamPrimitive(int stream); |
552 void EmitVertex(); | 536 void EmitVertex(); |
553 void EndPrimitive(); | 537 void EndPrimitive(); |
554 void barrier(); | 538 void barrier(); |
555 void memoryBarrier(); | 539 void memoryBarrier(); |
556 void memoryBarrierAtomicCounter(); | 540 void memoryBarrierAtomicCounter(); |
557 void memoryBarrierBuffer(); | 541 void memoryBarrierBuffer(); |
558 void memoryBarrierShared(); | 542 void memoryBarrierShared(); |
559 void memoryBarrierImage(); | 543 void memoryBarrierImage(); |
560 void groupMemoryBarrier(); | 544 void groupMemoryBarrier(); |
561 */ | |
562 | 545 |
563 ) | 546 ) |
564 | 547 |
OLD | NEW |