blob: e5e13116d24c8225728dedc9fe7d5b86b4c76182 [file] [log] [blame]
Jon Ashburnfc1031e2015-11-17 15:31:02 -07001/*
Jon Ashburn23d36b12016-02-02 17:47:28 -07002 * Copyright (c) 2015-2016 The Khronos Group Inc.
3 * Copyright (c) 2015-2016 Valve Corporation
4 * Copyright (c) 2015-2016 LunarG, Inc.
Jon Ashburnfc1031e2015-11-17 15:31:02 -07005 *
Jon Ashburn3ebf1252016-04-19 11:30:31 -06006 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
Jon Ashburnfc1031e2015-11-17 15:31:02 -07009 *
Jon Ashburn3ebf1252016-04-19 11:30:31 -060010 * http://www.apache.org/licenses/LICENSE-2.0
Jon Ashburnfc1031e2015-11-17 15:31:02 -070011 *
Jon Ashburn3ebf1252016-04-19 11:30:31 -060012 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
Jon Ashburnfc1031e2015-11-17 15:31:02 -070017 *
18 * Author: Jon Ashburn <jon@lunarg.com>
19 */
20
21#include "vk_loader_platform.h"
22#include "loader.h"
Frank Henigman4c80aad2016-12-21 22:21:41 -050023#if defined(__GNUC__) && !defined(__clang__)
Mark Lobodzinski64318ba2017-01-26 13:34:13 -070024#pragma GCC optimize(3) // force gcc to use tail-calls
Jon Ashburnfc1031e2015-11-17 15:31:02 -070025#endif
26
Mark Lobodzinskif0231a02017-01-26 12:22:32 -070027// Clang-format does not understand macros.
28// clang-format off
29
Mark Young39389872017-01-19 21:10:49 -070030 // Trampoline function macro for unknown physical device extension command.
31#define DevExtTramp(num) \
32VKAPI_ATTR void VKAPI_CALL vkdev_ext##num(VkDevice device) { \
33 const struct loader_dev_dispatch_table *disp; \
34 disp = loader_get_dev_dispatch(device); \
35 disp->ext_dispatch.dev_ext[num](device); \
36 }
Jon Ashburnfc1031e2015-11-17 15:31:02 -070037
Lenny Komow35d2aa32017-06-29 15:26:20 -060038#if defined(_WIN32)
Mark Young39389872017-01-19 21:10:49 -070039DevExtTramp(0)
40DevExtTramp(1)
41DevExtTramp(2)
42DevExtTramp(3)
43DevExtTramp(4)
44DevExtTramp(5)
45DevExtTramp(6)
46DevExtTramp(7)
47DevExtTramp(8)
48DevExtTramp(9)
49DevExtTramp(10)
50DevExtTramp(11)
51DevExtTramp(12)
52DevExtTramp(13)
53DevExtTramp(14)
54DevExtTramp(15)
55DevExtTramp(16)
56DevExtTramp(17)
57DevExtTramp(18)
58DevExtTramp(19)
59DevExtTramp(20)
60DevExtTramp(21)
61DevExtTramp(22)
62DevExtTramp(23)
63DevExtTramp(24)
64DevExtTramp(25)
65DevExtTramp(26)
66DevExtTramp(27)
67DevExtTramp(28)
68DevExtTramp(29)
69DevExtTramp(30)
70DevExtTramp(31)
71DevExtTramp(32)
72DevExtTramp(33)
73DevExtTramp(34)
74DevExtTramp(35)
75DevExtTramp(36)
76DevExtTramp(37)
77DevExtTramp(38)
78DevExtTramp(39)
79DevExtTramp(40)
80DevExtTramp(41)
81DevExtTramp(42)
82DevExtTramp(43)
83DevExtTramp(44)
84DevExtTramp(45)
85DevExtTramp(46)
86DevExtTramp(47)
87DevExtTramp(48)
88DevExtTramp(49)
89DevExtTramp(50)
90DevExtTramp(51)
91DevExtTramp(52)
92DevExtTramp(53)
93DevExtTramp(54)
94DevExtTramp(55)
95DevExtTramp(56)
96DevExtTramp(57)
97DevExtTramp(58)
98DevExtTramp(59)
99DevExtTramp(60)
100DevExtTramp(61)
101DevExtTramp(62)
102DevExtTramp(63)
103DevExtTramp(64)
104DevExtTramp(65)
105DevExtTramp(66)
106DevExtTramp(67)
107DevExtTramp(68)
108DevExtTramp(69)
109DevExtTramp(70)
110DevExtTramp(71)
111DevExtTramp(72)
112DevExtTramp(73)
113DevExtTramp(74)
114DevExtTramp(75)
115DevExtTramp(76)
116DevExtTramp(77)
117DevExtTramp(78)
118DevExtTramp(79)
119DevExtTramp(80)
120DevExtTramp(81)
121DevExtTramp(82)
122DevExtTramp(83)
123DevExtTramp(84)
124DevExtTramp(85)
125DevExtTramp(86)
126DevExtTramp(87)
127DevExtTramp(88)
128DevExtTramp(89)
129DevExtTramp(90)
130DevExtTramp(91)
131DevExtTramp(92)
132DevExtTramp(93)
133DevExtTramp(94)
134DevExtTramp(95)
135DevExtTramp(96)
136DevExtTramp(97)
137DevExtTramp(98)
138DevExtTramp(99)
139DevExtTramp(100)
140DevExtTramp(101)
141DevExtTramp(102)
142DevExtTramp(103)
143DevExtTramp(104)
144DevExtTramp(105)
145DevExtTramp(106)
146DevExtTramp(107)
147DevExtTramp(108)
148DevExtTramp(109)
149DevExtTramp(110)
150DevExtTramp(111)
151DevExtTramp(112)
152DevExtTramp(113)
153DevExtTramp(114)
154DevExtTramp(115)
155DevExtTramp(116)
156DevExtTramp(117)
157DevExtTramp(118)
158DevExtTramp(119)
159DevExtTramp(120)
160DevExtTramp(121)
161DevExtTramp(122)
162DevExtTramp(123)
163DevExtTramp(124)
164DevExtTramp(125)
165DevExtTramp(126)
166DevExtTramp(127)
167DevExtTramp(128)
168DevExtTramp(129)
169DevExtTramp(130)
170DevExtTramp(131)
171DevExtTramp(132)
172DevExtTramp(133)
173DevExtTramp(134)
174DevExtTramp(135)
175DevExtTramp(136)
176DevExtTramp(137)
177DevExtTramp(138)
178DevExtTramp(139)
179DevExtTramp(140)
180DevExtTramp(141)
181DevExtTramp(142)
182DevExtTramp(143)
183DevExtTramp(144)
184DevExtTramp(145)
185DevExtTramp(146)
186DevExtTramp(147)
187DevExtTramp(148)
188DevExtTramp(149)
189DevExtTramp(150)
190DevExtTramp(151)
191DevExtTramp(152)
192DevExtTramp(153)
193DevExtTramp(154)
194DevExtTramp(155)
195DevExtTramp(156)
196DevExtTramp(157)
197DevExtTramp(158)
198DevExtTramp(159)
199DevExtTramp(160)
200DevExtTramp(161)
201DevExtTramp(162)
202DevExtTramp(163)
203DevExtTramp(164)
204DevExtTramp(165)
205DevExtTramp(166)
206DevExtTramp(167)
207DevExtTramp(168)
208DevExtTramp(169)
209DevExtTramp(170)
210DevExtTramp(171)
211DevExtTramp(172)
212DevExtTramp(173)
213DevExtTramp(174)
214DevExtTramp(175)
215DevExtTramp(176)
216DevExtTramp(177)
217DevExtTramp(178)
218DevExtTramp(179)
219DevExtTramp(180)
220DevExtTramp(181)
221DevExtTramp(182)
222DevExtTramp(183)
223DevExtTramp(184)
224DevExtTramp(185)
225DevExtTramp(186)
226DevExtTramp(187)
227DevExtTramp(188)
228DevExtTramp(189)
229DevExtTramp(190)
230DevExtTramp(191)
231DevExtTramp(192)
232DevExtTramp(193)
233DevExtTramp(194)
234DevExtTramp(195)
235DevExtTramp(196)
236DevExtTramp(197)
237DevExtTramp(198)
238DevExtTramp(199)
239DevExtTramp(200)
240DevExtTramp(201)
241DevExtTramp(202)
242DevExtTramp(203)
243DevExtTramp(204)
244DevExtTramp(205)
245DevExtTramp(206)
246DevExtTramp(207)
247DevExtTramp(208)
248DevExtTramp(209)
249DevExtTramp(210)
250DevExtTramp(211)
251DevExtTramp(212)
252DevExtTramp(213)
253DevExtTramp(214)
254DevExtTramp(215)
255DevExtTramp(216)
256DevExtTramp(217)
257DevExtTramp(218)
258DevExtTramp(219)
259DevExtTramp(220)
260DevExtTramp(221)
261DevExtTramp(222)
262DevExtTramp(223)
263DevExtTramp(224)
264DevExtTramp(225)
265DevExtTramp(226)
266DevExtTramp(227)
267DevExtTramp(228)
268DevExtTramp(229)
269DevExtTramp(230)
270DevExtTramp(231)
271DevExtTramp(232)
272DevExtTramp(233)
273DevExtTramp(234)
274DevExtTramp(235)
275DevExtTramp(236)
276DevExtTramp(237)
277DevExtTramp(238)
278DevExtTramp(239)
279DevExtTramp(240)
280DevExtTramp(241)
281DevExtTramp(242)
282DevExtTramp(243)
283DevExtTramp(244)
284DevExtTramp(245)
285DevExtTramp(246)
286DevExtTramp(247)
287DevExtTramp(248)
288DevExtTramp(249)
Lenny Komow35d2aa32017-06-29 15:26:20 -0600289#else
290VKAPI_ATTR void VKAPI_CALL vkdev_ext0(VkDevice device);
291VKAPI_ATTR void VKAPI_CALL vkdev_ext1(VkDevice device);
292VKAPI_ATTR void VKAPI_CALL vkdev_ext2(VkDevice device);
293VKAPI_ATTR void VKAPI_CALL vkdev_ext3(VkDevice device);
294VKAPI_ATTR void VKAPI_CALL vkdev_ext4(VkDevice device);
295VKAPI_ATTR void VKAPI_CALL vkdev_ext5(VkDevice device);
296VKAPI_ATTR void VKAPI_CALL vkdev_ext6(VkDevice device);
297VKAPI_ATTR void VKAPI_CALL vkdev_ext7(VkDevice device);
298VKAPI_ATTR void VKAPI_CALL vkdev_ext8(VkDevice device);
299VKAPI_ATTR void VKAPI_CALL vkdev_ext9(VkDevice device);
300VKAPI_ATTR void VKAPI_CALL vkdev_ext10(VkDevice device);
301VKAPI_ATTR void VKAPI_CALL vkdev_ext11(VkDevice device);
302VKAPI_ATTR void VKAPI_CALL vkdev_ext12(VkDevice device);
303VKAPI_ATTR void VKAPI_CALL vkdev_ext13(VkDevice device);
304VKAPI_ATTR void VKAPI_CALL vkdev_ext14(VkDevice device);
305VKAPI_ATTR void VKAPI_CALL vkdev_ext15(VkDevice device);
306VKAPI_ATTR void VKAPI_CALL vkdev_ext16(VkDevice device);
307VKAPI_ATTR void VKAPI_CALL vkdev_ext17(VkDevice device);
308VKAPI_ATTR void VKAPI_CALL vkdev_ext18(VkDevice device);
309VKAPI_ATTR void VKAPI_CALL vkdev_ext19(VkDevice device);
310VKAPI_ATTR void VKAPI_CALL vkdev_ext20(VkDevice device);
311VKAPI_ATTR void VKAPI_CALL vkdev_ext21(VkDevice device);
312VKAPI_ATTR void VKAPI_CALL vkdev_ext22(VkDevice device);
313VKAPI_ATTR void VKAPI_CALL vkdev_ext23(VkDevice device);
314VKAPI_ATTR void VKAPI_CALL vkdev_ext24(VkDevice device);
315VKAPI_ATTR void VKAPI_CALL vkdev_ext25(VkDevice device);
316VKAPI_ATTR void VKAPI_CALL vkdev_ext26(VkDevice device);
317VKAPI_ATTR void VKAPI_CALL vkdev_ext27(VkDevice device);
318VKAPI_ATTR void VKAPI_CALL vkdev_ext28(VkDevice device);
319VKAPI_ATTR void VKAPI_CALL vkdev_ext29(VkDevice device);
320VKAPI_ATTR void VKAPI_CALL vkdev_ext30(VkDevice device);
321VKAPI_ATTR void VKAPI_CALL vkdev_ext31(VkDevice device);
322VKAPI_ATTR void VKAPI_CALL vkdev_ext32(VkDevice device);
323VKAPI_ATTR void VKAPI_CALL vkdev_ext33(VkDevice device);
324VKAPI_ATTR void VKAPI_CALL vkdev_ext34(VkDevice device);
325VKAPI_ATTR void VKAPI_CALL vkdev_ext35(VkDevice device);
326VKAPI_ATTR void VKAPI_CALL vkdev_ext36(VkDevice device);
327VKAPI_ATTR void VKAPI_CALL vkdev_ext37(VkDevice device);
328VKAPI_ATTR void VKAPI_CALL vkdev_ext38(VkDevice device);
329VKAPI_ATTR void VKAPI_CALL vkdev_ext39(VkDevice device);
330VKAPI_ATTR void VKAPI_CALL vkdev_ext40(VkDevice device);
331VKAPI_ATTR void VKAPI_CALL vkdev_ext41(VkDevice device);
332VKAPI_ATTR void VKAPI_CALL vkdev_ext42(VkDevice device);
333VKAPI_ATTR void VKAPI_CALL vkdev_ext43(VkDevice device);
334VKAPI_ATTR void VKAPI_CALL vkdev_ext44(VkDevice device);
335VKAPI_ATTR void VKAPI_CALL vkdev_ext45(VkDevice device);
336VKAPI_ATTR void VKAPI_CALL vkdev_ext46(VkDevice device);
337VKAPI_ATTR void VKAPI_CALL vkdev_ext47(VkDevice device);
338VKAPI_ATTR void VKAPI_CALL vkdev_ext48(VkDevice device);
339VKAPI_ATTR void VKAPI_CALL vkdev_ext49(VkDevice device);
340VKAPI_ATTR void VKAPI_CALL vkdev_ext50(VkDevice device);
341VKAPI_ATTR void VKAPI_CALL vkdev_ext51(VkDevice device);
342VKAPI_ATTR void VKAPI_CALL vkdev_ext52(VkDevice device);
343VKAPI_ATTR void VKAPI_CALL vkdev_ext53(VkDevice device);
344VKAPI_ATTR void VKAPI_CALL vkdev_ext54(VkDevice device);
345VKAPI_ATTR void VKAPI_CALL vkdev_ext55(VkDevice device);
346VKAPI_ATTR void VKAPI_CALL vkdev_ext56(VkDevice device);
347VKAPI_ATTR void VKAPI_CALL vkdev_ext57(VkDevice device);
348VKAPI_ATTR void VKAPI_CALL vkdev_ext58(VkDevice device);
349VKAPI_ATTR void VKAPI_CALL vkdev_ext59(VkDevice device);
350VKAPI_ATTR void VKAPI_CALL vkdev_ext60(VkDevice device);
351VKAPI_ATTR void VKAPI_CALL vkdev_ext61(VkDevice device);
352VKAPI_ATTR void VKAPI_CALL vkdev_ext62(VkDevice device);
353VKAPI_ATTR void VKAPI_CALL vkdev_ext63(VkDevice device);
354VKAPI_ATTR void VKAPI_CALL vkdev_ext64(VkDevice device);
355VKAPI_ATTR void VKAPI_CALL vkdev_ext65(VkDevice device);
356VKAPI_ATTR void VKAPI_CALL vkdev_ext66(VkDevice device);
357VKAPI_ATTR void VKAPI_CALL vkdev_ext67(VkDevice device);
358VKAPI_ATTR void VKAPI_CALL vkdev_ext68(VkDevice device);
359VKAPI_ATTR void VKAPI_CALL vkdev_ext69(VkDevice device);
360VKAPI_ATTR void VKAPI_CALL vkdev_ext70(VkDevice device);
361VKAPI_ATTR void VKAPI_CALL vkdev_ext71(VkDevice device);
362VKAPI_ATTR void VKAPI_CALL vkdev_ext72(VkDevice device);
363VKAPI_ATTR void VKAPI_CALL vkdev_ext73(VkDevice device);
364VKAPI_ATTR void VKAPI_CALL vkdev_ext74(VkDevice device);
365VKAPI_ATTR void VKAPI_CALL vkdev_ext75(VkDevice device);
366VKAPI_ATTR void VKAPI_CALL vkdev_ext76(VkDevice device);
367VKAPI_ATTR void VKAPI_CALL vkdev_ext77(VkDevice device);
368VKAPI_ATTR void VKAPI_CALL vkdev_ext78(VkDevice device);
369VKAPI_ATTR void VKAPI_CALL vkdev_ext79(VkDevice device);
370VKAPI_ATTR void VKAPI_CALL vkdev_ext80(VkDevice device);
371VKAPI_ATTR void VKAPI_CALL vkdev_ext81(VkDevice device);
372VKAPI_ATTR void VKAPI_CALL vkdev_ext82(VkDevice device);
373VKAPI_ATTR void VKAPI_CALL vkdev_ext83(VkDevice device);
374VKAPI_ATTR void VKAPI_CALL vkdev_ext84(VkDevice device);
375VKAPI_ATTR void VKAPI_CALL vkdev_ext85(VkDevice device);
376VKAPI_ATTR void VKAPI_CALL vkdev_ext86(VkDevice device);
377VKAPI_ATTR void VKAPI_CALL vkdev_ext87(VkDevice device);
378VKAPI_ATTR void VKAPI_CALL vkdev_ext88(VkDevice device);
379VKAPI_ATTR void VKAPI_CALL vkdev_ext89(VkDevice device);
380VKAPI_ATTR void VKAPI_CALL vkdev_ext90(VkDevice device);
381VKAPI_ATTR void VKAPI_CALL vkdev_ext91(VkDevice device);
382VKAPI_ATTR void VKAPI_CALL vkdev_ext92(VkDevice device);
383VKAPI_ATTR void VKAPI_CALL vkdev_ext93(VkDevice device);
384VKAPI_ATTR void VKAPI_CALL vkdev_ext94(VkDevice device);
385VKAPI_ATTR void VKAPI_CALL vkdev_ext95(VkDevice device);
386VKAPI_ATTR void VKAPI_CALL vkdev_ext96(VkDevice device);
387VKAPI_ATTR void VKAPI_CALL vkdev_ext97(VkDevice device);
388VKAPI_ATTR void VKAPI_CALL vkdev_ext98(VkDevice device);
389VKAPI_ATTR void VKAPI_CALL vkdev_ext99(VkDevice device);
390VKAPI_ATTR void VKAPI_CALL vkdev_ext100(VkDevice device);
391VKAPI_ATTR void VKAPI_CALL vkdev_ext101(VkDevice device);
392VKAPI_ATTR void VKAPI_CALL vkdev_ext102(VkDevice device);
393VKAPI_ATTR void VKAPI_CALL vkdev_ext103(VkDevice device);
394VKAPI_ATTR void VKAPI_CALL vkdev_ext104(VkDevice device);
395VKAPI_ATTR void VKAPI_CALL vkdev_ext105(VkDevice device);
396VKAPI_ATTR void VKAPI_CALL vkdev_ext106(VkDevice device);
397VKAPI_ATTR void VKAPI_CALL vkdev_ext107(VkDevice device);
398VKAPI_ATTR void VKAPI_CALL vkdev_ext108(VkDevice device);
399VKAPI_ATTR void VKAPI_CALL vkdev_ext109(VkDevice device);
400VKAPI_ATTR void VKAPI_CALL vkdev_ext110(VkDevice device);
401VKAPI_ATTR void VKAPI_CALL vkdev_ext111(VkDevice device);
402VKAPI_ATTR void VKAPI_CALL vkdev_ext112(VkDevice device);
403VKAPI_ATTR void VKAPI_CALL vkdev_ext113(VkDevice device);
404VKAPI_ATTR void VKAPI_CALL vkdev_ext114(VkDevice device);
405VKAPI_ATTR void VKAPI_CALL vkdev_ext115(VkDevice device);
406VKAPI_ATTR void VKAPI_CALL vkdev_ext116(VkDevice device);
407VKAPI_ATTR void VKAPI_CALL vkdev_ext117(VkDevice device);
408VKAPI_ATTR void VKAPI_CALL vkdev_ext118(VkDevice device);
409VKAPI_ATTR void VKAPI_CALL vkdev_ext119(VkDevice device);
410VKAPI_ATTR void VKAPI_CALL vkdev_ext120(VkDevice device);
411VKAPI_ATTR void VKAPI_CALL vkdev_ext121(VkDevice device);
412VKAPI_ATTR void VKAPI_CALL vkdev_ext122(VkDevice device);
413VKAPI_ATTR void VKAPI_CALL vkdev_ext123(VkDevice device);
414VKAPI_ATTR void VKAPI_CALL vkdev_ext124(VkDevice device);
415VKAPI_ATTR void VKAPI_CALL vkdev_ext125(VkDevice device);
416VKAPI_ATTR void VKAPI_CALL vkdev_ext126(VkDevice device);
417VKAPI_ATTR void VKAPI_CALL vkdev_ext127(VkDevice device);
418VKAPI_ATTR void VKAPI_CALL vkdev_ext128(VkDevice device);
419VKAPI_ATTR void VKAPI_CALL vkdev_ext129(VkDevice device);
420VKAPI_ATTR void VKAPI_CALL vkdev_ext130(VkDevice device);
421VKAPI_ATTR void VKAPI_CALL vkdev_ext131(VkDevice device);
422VKAPI_ATTR void VKAPI_CALL vkdev_ext132(VkDevice device);
423VKAPI_ATTR void VKAPI_CALL vkdev_ext133(VkDevice device);
424VKAPI_ATTR void VKAPI_CALL vkdev_ext134(VkDevice device);
425VKAPI_ATTR void VKAPI_CALL vkdev_ext135(VkDevice device);
426VKAPI_ATTR void VKAPI_CALL vkdev_ext136(VkDevice device);
427VKAPI_ATTR void VKAPI_CALL vkdev_ext137(VkDevice device);
428VKAPI_ATTR void VKAPI_CALL vkdev_ext138(VkDevice device);
429VKAPI_ATTR void VKAPI_CALL vkdev_ext139(VkDevice device);
430VKAPI_ATTR void VKAPI_CALL vkdev_ext140(VkDevice device);
431VKAPI_ATTR void VKAPI_CALL vkdev_ext141(VkDevice device);
432VKAPI_ATTR void VKAPI_CALL vkdev_ext142(VkDevice device);
433VKAPI_ATTR void VKAPI_CALL vkdev_ext143(VkDevice device);
434VKAPI_ATTR void VKAPI_CALL vkdev_ext144(VkDevice device);
435VKAPI_ATTR void VKAPI_CALL vkdev_ext145(VkDevice device);
436VKAPI_ATTR void VKAPI_CALL vkdev_ext146(VkDevice device);
437VKAPI_ATTR void VKAPI_CALL vkdev_ext147(VkDevice device);
438VKAPI_ATTR void VKAPI_CALL vkdev_ext148(VkDevice device);
439VKAPI_ATTR void VKAPI_CALL vkdev_ext149(VkDevice device);
440VKAPI_ATTR void VKAPI_CALL vkdev_ext150(VkDevice device);
441VKAPI_ATTR void VKAPI_CALL vkdev_ext151(VkDevice device);
442VKAPI_ATTR void VKAPI_CALL vkdev_ext152(VkDevice device);
443VKAPI_ATTR void VKAPI_CALL vkdev_ext153(VkDevice device);
444VKAPI_ATTR void VKAPI_CALL vkdev_ext154(VkDevice device);
445VKAPI_ATTR void VKAPI_CALL vkdev_ext155(VkDevice device);
446VKAPI_ATTR void VKAPI_CALL vkdev_ext156(VkDevice device);
447VKAPI_ATTR void VKAPI_CALL vkdev_ext157(VkDevice device);
448VKAPI_ATTR void VKAPI_CALL vkdev_ext158(VkDevice device);
449VKAPI_ATTR void VKAPI_CALL vkdev_ext159(VkDevice device);
450VKAPI_ATTR void VKAPI_CALL vkdev_ext160(VkDevice device);
451VKAPI_ATTR void VKAPI_CALL vkdev_ext161(VkDevice device);
452VKAPI_ATTR void VKAPI_CALL vkdev_ext162(VkDevice device);
453VKAPI_ATTR void VKAPI_CALL vkdev_ext163(VkDevice device);
454VKAPI_ATTR void VKAPI_CALL vkdev_ext164(VkDevice device);
455VKAPI_ATTR void VKAPI_CALL vkdev_ext165(VkDevice device);
456VKAPI_ATTR void VKAPI_CALL vkdev_ext166(VkDevice device);
457VKAPI_ATTR void VKAPI_CALL vkdev_ext167(VkDevice device);
458VKAPI_ATTR void VKAPI_CALL vkdev_ext168(VkDevice device);
459VKAPI_ATTR void VKAPI_CALL vkdev_ext169(VkDevice device);
460VKAPI_ATTR void VKAPI_CALL vkdev_ext170(VkDevice device);
461VKAPI_ATTR void VKAPI_CALL vkdev_ext171(VkDevice device);
462VKAPI_ATTR void VKAPI_CALL vkdev_ext172(VkDevice device);
463VKAPI_ATTR void VKAPI_CALL vkdev_ext173(VkDevice device);
464VKAPI_ATTR void VKAPI_CALL vkdev_ext174(VkDevice device);
465VKAPI_ATTR void VKAPI_CALL vkdev_ext175(VkDevice device);
466VKAPI_ATTR void VKAPI_CALL vkdev_ext176(VkDevice device);
467VKAPI_ATTR void VKAPI_CALL vkdev_ext177(VkDevice device);
468VKAPI_ATTR void VKAPI_CALL vkdev_ext178(VkDevice device);
469VKAPI_ATTR void VKAPI_CALL vkdev_ext179(VkDevice device);
470VKAPI_ATTR void VKAPI_CALL vkdev_ext180(VkDevice device);
471VKAPI_ATTR void VKAPI_CALL vkdev_ext181(VkDevice device);
472VKAPI_ATTR void VKAPI_CALL vkdev_ext182(VkDevice device);
473VKAPI_ATTR void VKAPI_CALL vkdev_ext183(VkDevice device);
474VKAPI_ATTR void VKAPI_CALL vkdev_ext184(VkDevice device);
475VKAPI_ATTR void VKAPI_CALL vkdev_ext185(VkDevice device);
476VKAPI_ATTR void VKAPI_CALL vkdev_ext186(VkDevice device);
477VKAPI_ATTR void VKAPI_CALL vkdev_ext187(VkDevice device);
478VKAPI_ATTR void VKAPI_CALL vkdev_ext188(VkDevice device);
479VKAPI_ATTR void VKAPI_CALL vkdev_ext189(VkDevice device);
480VKAPI_ATTR void VKAPI_CALL vkdev_ext190(VkDevice device);
481VKAPI_ATTR void VKAPI_CALL vkdev_ext191(VkDevice device);
482VKAPI_ATTR void VKAPI_CALL vkdev_ext192(VkDevice device);
483VKAPI_ATTR void VKAPI_CALL vkdev_ext193(VkDevice device);
484VKAPI_ATTR void VKAPI_CALL vkdev_ext194(VkDevice device);
485VKAPI_ATTR void VKAPI_CALL vkdev_ext195(VkDevice device);
486VKAPI_ATTR void VKAPI_CALL vkdev_ext196(VkDevice device);
487VKAPI_ATTR void VKAPI_CALL vkdev_ext197(VkDevice device);
488VKAPI_ATTR void VKAPI_CALL vkdev_ext198(VkDevice device);
489VKAPI_ATTR void VKAPI_CALL vkdev_ext199(VkDevice device);
490VKAPI_ATTR void VKAPI_CALL vkdev_ext200(VkDevice device);
491VKAPI_ATTR void VKAPI_CALL vkdev_ext201(VkDevice device);
492VKAPI_ATTR void VKAPI_CALL vkdev_ext202(VkDevice device);
493VKAPI_ATTR void VKAPI_CALL vkdev_ext203(VkDevice device);
494VKAPI_ATTR void VKAPI_CALL vkdev_ext204(VkDevice device);
495VKAPI_ATTR void VKAPI_CALL vkdev_ext205(VkDevice device);
496VKAPI_ATTR void VKAPI_CALL vkdev_ext206(VkDevice device);
497VKAPI_ATTR void VKAPI_CALL vkdev_ext207(VkDevice device);
498VKAPI_ATTR void VKAPI_CALL vkdev_ext208(VkDevice device);
499VKAPI_ATTR void VKAPI_CALL vkdev_ext209(VkDevice device);
500VKAPI_ATTR void VKAPI_CALL vkdev_ext210(VkDevice device);
501VKAPI_ATTR void VKAPI_CALL vkdev_ext211(VkDevice device);
502VKAPI_ATTR void VKAPI_CALL vkdev_ext212(VkDevice device);
503VKAPI_ATTR void VKAPI_CALL vkdev_ext213(VkDevice device);
504VKAPI_ATTR void VKAPI_CALL vkdev_ext214(VkDevice device);
505VKAPI_ATTR void VKAPI_CALL vkdev_ext215(VkDevice device);
506VKAPI_ATTR void VKAPI_CALL vkdev_ext216(VkDevice device);
507VKAPI_ATTR void VKAPI_CALL vkdev_ext217(VkDevice device);
508VKAPI_ATTR void VKAPI_CALL vkdev_ext218(VkDevice device);
509VKAPI_ATTR void VKAPI_CALL vkdev_ext219(VkDevice device);
510VKAPI_ATTR void VKAPI_CALL vkdev_ext220(VkDevice device);
511VKAPI_ATTR void VKAPI_CALL vkdev_ext221(VkDevice device);
512VKAPI_ATTR void VKAPI_CALL vkdev_ext222(VkDevice device);
513VKAPI_ATTR void VKAPI_CALL vkdev_ext223(VkDevice device);
514VKAPI_ATTR void VKAPI_CALL vkdev_ext224(VkDevice device);
515VKAPI_ATTR void VKAPI_CALL vkdev_ext225(VkDevice device);
516VKAPI_ATTR void VKAPI_CALL vkdev_ext226(VkDevice device);
517VKAPI_ATTR void VKAPI_CALL vkdev_ext227(VkDevice device);
518VKAPI_ATTR void VKAPI_CALL vkdev_ext228(VkDevice device);
519VKAPI_ATTR void VKAPI_CALL vkdev_ext229(VkDevice device);
520VKAPI_ATTR void VKAPI_CALL vkdev_ext230(VkDevice device);
521VKAPI_ATTR void VKAPI_CALL vkdev_ext231(VkDevice device);
522VKAPI_ATTR void VKAPI_CALL vkdev_ext232(VkDevice device);
523VKAPI_ATTR void VKAPI_CALL vkdev_ext233(VkDevice device);
524VKAPI_ATTR void VKAPI_CALL vkdev_ext234(VkDevice device);
525VKAPI_ATTR void VKAPI_CALL vkdev_ext235(VkDevice device);
526VKAPI_ATTR void VKAPI_CALL vkdev_ext236(VkDevice device);
527VKAPI_ATTR void VKAPI_CALL vkdev_ext237(VkDevice device);
528VKAPI_ATTR void VKAPI_CALL vkdev_ext238(VkDevice device);
529VKAPI_ATTR void VKAPI_CALL vkdev_ext239(VkDevice device);
530VKAPI_ATTR void VKAPI_CALL vkdev_ext240(VkDevice device);
531VKAPI_ATTR void VKAPI_CALL vkdev_ext241(VkDevice device);
532VKAPI_ATTR void VKAPI_CALL vkdev_ext242(VkDevice device);
533VKAPI_ATTR void VKAPI_CALL vkdev_ext243(VkDevice device);
534VKAPI_ATTR void VKAPI_CALL vkdev_ext244(VkDevice device);
535VKAPI_ATTR void VKAPI_CALL vkdev_ext245(VkDevice device);
536VKAPI_ATTR void VKAPI_CALL vkdev_ext246(VkDevice device);
537VKAPI_ATTR void VKAPI_CALL vkdev_ext247(VkDevice device);
538VKAPI_ATTR void VKAPI_CALL vkdev_ext248(VkDevice device);
539VKAPI_ATTR void VKAPI_CALL vkdev_ext249(VkDevice device);
540#endif // _WIN32
Jon Ashburnfc1031e2015-11-17 15:31:02 -0700541
Jon Ashburn23d36b12016-02-02 17:47:28 -0700542void *loader_get_dev_ext_trampoline(uint32_t index) {
Jon Ashburnfc1031e2015-11-17 15:31:02 -0700543 switch (index) {
Mark Young39389872017-01-19 21:10:49 -0700544#define CASE_HANDLE(num) case num: return vkdev_ext##num
545 CASE_HANDLE(0);
546 CASE_HANDLE(1);
547 CASE_HANDLE(2);
548 CASE_HANDLE(3);
549 CASE_HANDLE(4);
550 CASE_HANDLE(5);
551 CASE_HANDLE(6);
552 CASE_HANDLE(7);
553 CASE_HANDLE(8);
554 CASE_HANDLE(9);
555 CASE_HANDLE(10);
556 CASE_HANDLE(11);
557 CASE_HANDLE(12);
558 CASE_HANDLE(13);
559 CASE_HANDLE(14);
560 CASE_HANDLE(15);
561 CASE_HANDLE(16);
562 CASE_HANDLE(17);
563 CASE_HANDLE(18);
564 CASE_HANDLE(19);
565 CASE_HANDLE(20);
566 CASE_HANDLE(21);
567 CASE_HANDLE(22);
568 CASE_HANDLE(23);
569 CASE_HANDLE(24);
570 CASE_HANDLE(25);
571 CASE_HANDLE(26);
572 CASE_HANDLE(27);
573 CASE_HANDLE(28);
574 CASE_HANDLE(29);
575 CASE_HANDLE(30);
576 CASE_HANDLE(31);
577 CASE_HANDLE(32);
578 CASE_HANDLE(33);
579 CASE_HANDLE(34);
580 CASE_HANDLE(35);
581 CASE_HANDLE(36);
582 CASE_HANDLE(37);
583 CASE_HANDLE(38);
584 CASE_HANDLE(39);
585 CASE_HANDLE(40);
586 CASE_HANDLE(41);
587 CASE_HANDLE(42);
588 CASE_HANDLE(43);
589 CASE_HANDLE(44);
590 CASE_HANDLE(45);
591 CASE_HANDLE(46);
592 CASE_HANDLE(47);
593 CASE_HANDLE(48);
594 CASE_HANDLE(49);
595 CASE_HANDLE(50);
596 CASE_HANDLE(51);
597 CASE_HANDLE(52);
598 CASE_HANDLE(53);
599 CASE_HANDLE(54);
600 CASE_HANDLE(55);
601 CASE_HANDLE(56);
602 CASE_HANDLE(57);
603 CASE_HANDLE(58);
604 CASE_HANDLE(59);
605 CASE_HANDLE(60);
606 CASE_HANDLE(61);
607 CASE_HANDLE(62);
608 CASE_HANDLE(63);
609 CASE_HANDLE(64);
610 CASE_HANDLE(65);
611 CASE_HANDLE(66);
612 CASE_HANDLE(67);
613 CASE_HANDLE(68);
614 CASE_HANDLE(69);
615 CASE_HANDLE(70);
616 CASE_HANDLE(71);
617 CASE_HANDLE(72);
618 CASE_HANDLE(73);
619 CASE_HANDLE(74);
620 CASE_HANDLE(75);
621 CASE_HANDLE(76);
622 CASE_HANDLE(77);
623 CASE_HANDLE(78);
624 CASE_HANDLE(79);
625 CASE_HANDLE(80);
626 CASE_HANDLE(81);
627 CASE_HANDLE(82);
628 CASE_HANDLE(83);
629 CASE_HANDLE(84);
630 CASE_HANDLE(85);
631 CASE_HANDLE(86);
632 CASE_HANDLE(87);
633 CASE_HANDLE(88);
634 CASE_HANDLE(89);
635 CASE_HANDLE(90);
636 CASE_HANDLE(91);
637 CASE_HANDLE(92);
638 CASE_HANDLE(93);
639 CASE_HANDLE(94);
640 CASE_HANDLE(95);
641 CASE_HANDLE(96);
642 CASE_HANDLE(97);
643 CASE_HANDLE(98);
644 CASE_HANDLE(99);
645 CASE_HANDLE(100);
646 CASE_HANDLE(101);
647 CASE_HANDLE(102);
648 CASE_HANDLE(103);
649 CASE_HANDLE(104);
650 CASE_HANDLE(105);
651 CASE_HANDLE(106);
652 CASE_HANDLE(107);
653 CASE_HANDLE(108);
654 CASE_HANDLE(109);
655 CASE_HANDLE(110);
656 CASE_HANDLE(111);
657 CASE_HANDLE(112);
658 CASE_HANDLE(113);
659 CASE_HANDLE(114);
660 CASE_HANDLE(115);
661 CASE_HANDLE(116);
662 CASE_HANDLE(117);
663 CASE_HANDLE(118);
664 CASE_HANDLE(119);
665 CASE_HANDLE(120);
666 CASE_HANDLE(121);
667 CASE_HANDLE(122);
668 CASE_HANDLE(123);
669 CASE_HANDLE(124);
670 CASE_HANDLE(125);
671 CASE_HANDLE(126);
672 CASE_HANDLE(127);
673 CASE_HANDLE(128);
674 CASE_HANDLE(129);
675 CASE_HANDLE(130);
676 CASE_HANDLE(131);
677 CASE_HANDLE(132);
678 CASE_HANDLE(133);
679 CASE_HANDLE(134);
680 CASE_HANDLE(135);
681 CASE_HANDLE(136);
682 CASE_HANDLE(137);
683 CASE_HANDLE(138);
684 CASE_HANDLE(139);
685 CASE_HANDLE(140);
686 CASE_HANDLE(141);
687 CASE_HANDLE(142);
688 CASE_HANDLE(143);
689 CASE_HANDLE(144);
690 CASE_HANDLE(145);
691 CASE_HANDLE(146);
692 CASE_HANDLE(147);
693 CASE_HANDLE(148);
694 CASE_HANDLE(149);
695 CASE_HANDLE(150);
696 CASE_HANDLE(151);
697 CASE_HANDLE(152);
698 CASE_HANDLE(153);
699 CASE_HANDLE(154);
700 CASE_HANDLE(155);
701 CASE_HANDLE(156);
702 CASE_HANDLE(157);
703 CASE_HANDLE(158);
704 CASE_HANDLE(159);
705 CASE_HANDLE(160);
706 CASE_HANDLE(161);
707 CASE_HANDLE(162);
708 CASE_HANDLE(163);
709 CASE_HANDLE(164);
710 CASE_HANDLE(165);
711 CASE_HANDLE(166);
712 CASE_HANDLE(167);
713 CASE_HANDLE(168);
714 CASE_HANDLE(169);
715 CASE_HANDLE(170);
716 CASE_HANDLE(171);
717 CASE_HANDLE(172);
718 CASE_HANDLE(173);
719 CASE_HANDLE(174);
720 CASE_HANDLE(175);
721 CASE_HANDLE(176);
722 CASE_HANDLE(177);
723 CASE_HANDLE(178);
724 CASE_HANDLE(179);
725 CASE_HANDLE(180);
726 CASE_HANDLE(181);
727 CASE_HANDLE(182);
728 CASE_HANDLE(183);
729 CASE_HANDLE(184);
730 CASE_HANDLE(185);
731 CASE_HANDLE(186);
732 CASE_HANDLE(187);
733 CASE_HANDLE(188);
734 CASE_HANDLE(189);
735 CASE_HANDLE(190);
736 CASE_HANDLE(191);
737 CASE_HANDLE(192);
738 CASE_HANDLE(193);
739 CASE_HANDLE(194);
740 CASE_HANDLE(195);
741 CASE_HANDLE(196);
742 CASE_HANDLE(197);
743 CASE_HANDLE(198);
744 CASE_HANDLE(199);
745 CASE_HANDLE(200);
746 CASE_HANDLE(201);
747 CASE_HANDLE(202);
748 CASE_HANDLE(203);
749 CASE_HANDLE(204);
750 CASE_HANDLE(205);
751 CASE_HANDLE(206);
752 CASE_HANDLE(207);
753 CASE_HANDLE(208);
754 CASE_HANDLE(209);
755 CASE_HANDLE(210);
756 CASE_HANDLE(211);
757 CASE_HANDLE(212);
758 CASE_HANDLE(213);
759 CASE_HANDLE(214);
760 CASE_HANDLE(215);
761 CASE_HANDLE(216);
762 CASE_HANDLE(217);
763 CASE_HANDLE(218);
764 CASE_HANDLE(219);
765 CASE_HANDLE(220);
766 CASE_HANDLE(221);
767 CASE_HANDLE(222);
768 CASE_HANDLE(223);
769 CASE_HANDLE(224);
770 CASE_HANDLE(225);
771 CASE_HANDLE(226);
772 CASE_HANDLE(227);
773 CASE_HANDLE(228);
774 CASE_HANDLE(229);
775 CASE_HANDLE(230);
776 CASE_HANDLE(231);
777 CASE_HANDLE(232);
778 CASE_HANDLE(233);
779 CASE_HANDLE(234);
780 CASE_HANDLE(235);
781 CASE_HANDLE(236);
782 CASE_HANDLE(237);
783 CASE_HANDLE(238);
784 CASE_HANDLE(239);
785 CASE_HANDLE(240);
786 CASE_HANDLE(241);
787 CASE_HANDLE(242);
788 CASE_HANDLE(243);
789 CASE_HANDLE(244);
790 CASE_HANDLE(245);
791 CASE_HANDLE(246);
792 CASE_HANDLE(247);
793 CASE_HANDLE(248);
794 CASE_HANDLE(249);
Jon Ashburnfc1031e2015-11-17 15:31:02 -0700795 }
Mark Young39389872017-01-19 21:10:49 -0700796
Jon Ashburnfc1031e2015-11-17 15:31:02 -0700797 return NULL;
798}