blob: 1c8560dd616fba305436e64b0d9d209873a101f6 [file] [log] [blame]
Lenny Komow5ed93f22017-06-08 16:41:02 -06001/*
2 * Copyright (c) 2017 The Khronos Group Inc.
3 * Copyright (c) 2017 Valve Corporation
4 * Copyright (c) 2017 LunarG, Inc.
5 *
6 * 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
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * 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.
17 *
Lenny Komowea568fe2017-07-03 14:48:38 -060018 * Author Jon Ashburn <jon@lunarg.com>
Lenny Komow5ed93f22017-06-08 16:41:02 -060019 * Author: Lenny Komow <lenny@lunarg.com>
20 */
21
22 // This code is used to pass on physical device extensions through the call chain. It must do this without creating a stack frame,
23 // because the actual parameters of the call are not known. Since the first parameter is known to be a VkPhysicalDevice, it can
24// unwrap the physical device, overwriting the wrapped device, and then jump to the next function in the call chain. This code
25// attempts to accomplish this by relying on tail-call optimizations, but there is no guarantee that this will work. As a result,
26// this code is only compiled on systems where an assembly alternative has not been written.
27
28 #include "vk_loader_platform.h"
29 #include "loader.h"
30
31 #if defined(__GNUC__) && !defined(__clang__)
32 #pragma GCC optimize(3) // force gcc to use tail-calls
33 #endif
34
35 // Trampoline function macro for unknown physical device extension command.
36 #define PhysDevExtTramp(num) \
37 VKAPI_ATTR void VKAPI_CALL vkPhysDevExtTramp##num(VkPhysicalDevice physical_device) { \
38 const struct loader_instance_dispatch_table *disp; \
39 disp = loader_get_instance_dispatch(physical_device); \
40 disp->phys_dev_ext[num](loader_unwrap_physical_device(physical_device)); \
41 }
42
Lenny Komow253747d2017-06-29 11:11:16 -060043// Terminator function macro for unknown physical device extension command.
44#define PhysDevExtTermin(num) \
45 VKAPI_ATTR void VKAPI_CALL vkPhysDevExtTermin##num(VkPhysicalDevice physical_device) { \
46 struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physical_device; \
47 struct loader_icd_term *icd_term = phys_dev_term->this_icd_term; \
48 struct loader_instance *inst = (struct loader_instance *)icd_term->this_instance; \
49 if (NULL == icd_term->phys_dev_ext[num]) { \
50 loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Extension %s not supported for this physical device", \
51 inst->phys_dev_ext_disp_hash[num].func_name); \
52 } \
53 icd_term->phys_dev_ext[num](phys_dev_term->phys_dev); \
54 }
55
Lenny Komow5e300362017-06-30 16:23:26 -060056// Trampoline function macro for unknown physical device extension command.
57#define DevExtTramp(num) \
58 VKAPI_ATTR void VKAPI_CALL vkdev_ext##num(VkDevice device) { \
59 const struct loader_dev_dispatch_table *disp; \
60 disp = loader_get_dev_dispatch(device); \
61 disp->ext_dispatch.dev_ext[num](device); \
62 }
63
Lenny Komow253747d2017-06-29 11:11:16 -060064
65// Instantiations of the trampoline
Lenny Komow5ed93f22017-06-08 16:41:02 -060066PhysDevExtTramp(0)
67PhysDevExtTramp(1)
68PhysDevExtTramp(2)
69PhysDevExtTramp(3)
70PhysDevExtTramp(4)
71PhysDevExtTramp(5)
72PhysDevExtTramp(6)
73PhysDevExtTramp(7)
74PhysDevExtTramp(8)
75PhysDevExtTramp(9)
76PhysDevExtTramp(10)
77PhysDevExtTramp(11)
78PhysDevExtTramp(12)
79PhysDevExtTramp(13)
80PhysDevExtTramp(14)
81PhysDevExtTramp(15)
82PhysDevExtTramp(16)
83PhysDevExtTramp(17)
84PhysDevExtTramp(18)
85PhysDevExtTramp(19)
86PhysDevExtTramp(20)
87PhysDevExtTramp(21)
88PhysDevExtTramp(22)
89PhysDevExtTramp(23)
90PhysDevExtTramp(24)
91PhysDevExtTramp(25)
92PhysDevExtTramp(26)
93PhysDevExtTramp(27)
94PhysDevExtTramp(28)
95PhysDevExtTramp(29)
96PhysDevExtTramp(30)
97PhysDevExtTramp(31)
98PhysDevExtTramp(32)
99PhysDevExtTramp(33)
100PhysDevExtTramp(34)
101PhysDevExtTramp(35)
102PhysDevExtTramp(36)
103PhysDevExtTramp(37)
104PhysDevExtTramp(38)
105PhysDevExtTramp(39)
106PhysDevExtTramp(40)
107PhysDevExtTramp(41)
108PhysDevExtTramp(42)
109PhysDevExtTramp(43)
110PhysDevExtTramp(44)
111PhysDevExtTramp(45)
112PhysDevExtTramp(46)
113PhysDevExtTramp(47)
114PhysDevExtTramp(48)
115PhysDevExtTramp(49)
116PhysDevExtTramp(50)
117PhysDevExtTramp(51)
118PhysDevExtTramp(52)
119PhysDevExtTramp(53)
120PhysDevExtTramp(54)
121PhysDevExtTramp(55)
122PhysDevExtTramp(56)
123PhysDevExtTramp(57)
124PhysDevExtTramp(58)
125PhysDevExtTramp(59)
126PhysDevExtTramp(60)
127PhysDevExtTramp(61)
128PhysDevExtTramp(62)
129PhysDevExtTramp(63)
130PhysDevExtTramp(64)
131PhysDevExtTramp(65)
132PhysDevExtTramp(66)
133PhysDevExtTramp(67)
134PhysDevExtTramp(68)
135PhysDevExtTramp(69)
136PhysDevExtTramp(70)
137PhysDevExtTramp(71)
138PhysDevExtTramp(72)
139PhysDevExtTramp(73)
140PhysDevExtTramp(74)
141PhysDevExtTramp(75)
142PhysDevExtTramp(76)
143PhysDevExtTramp(77)
144PhysDevExtTramp(78)
145PhysDevExtTramp(79)
146PhysDevExtTramp(80)
147PhysDevExtTramp(81)
148PhysDevExtTramp(82)
149PhysDevExtTramp(83)
150PhysDevExtTramp(84)
151PhysDevExtTramp(85)
152PhysDevExtTramp(86)
153PhysDevExtTramp(87)
154PhysDevExtTramp(88)
155PhysDevExtTramp(89)
156PhysDevExtTramp(90)
157PhysDevExtTramp(91)
158PhysDevExtTramp(92)
159PhysDevExtTramp(93)
160PhysDevExtTramp(94)
161PhysDevExtTramp(95)
162PhysDevExtTramp(96)
163PhysDevExtTramp(97)
164PhysDevExtTramp(98)
165PhysDevExtTramp(99)
166PhysDevExtTramp(100)
167PhysDevExtTramp(101)
168PhysDevExtTramp(102)
169PhysDevExtTramp(103)
170PhysDevExtTramp(104)
171PhysDevExtTramp(105)
172PhysDevExtTramp(106)
173PhysDevExtTramp(107)
174PhysDevExtTramp(108)
175PhysDevExtTramp(109)
176PhysDevExtTramp(110)
177PhysDevExtTramp(111)
178PhysDevExtTramp(112)
179PhysDevExtTramp(113)
180PhysDevExtTramp(114)
181PhysDevExtTramp(115)
182PhysDevExtTramp(116)
183PhysDevExtTramp(117)
184PhysDevExtTramp(118)
185PhysDevExtTramp(119)
186PhysDevExtTramp(120)
187PhysDevExtTramp(121)
188PhysDevExtTramp(122)
189PhysDevExtTramp(123)
190PhysDevExtTramp(124)
191PhysDevExtTramp(125)
192PhysDevExtTramp(126)
193PhysDevExtTramp(127)
194PhysDevExtTramp(128)
195PhysDevExtTramp(129)
196PhysDevExtTramp(130)
197PhysDevExtTramp(131)
198PhysDevExtTramp(132)
199PhysDevExtTramp(133)
200PhysDevExtTramp(134)
201PhysDevExtTramp(135)
202PhysDevExtTramp(136)
203PhysDevExtTramp(137)
204PhysDevExtTramp(138)
205PhysDevExtTramp(139)
206PhysDevExtTramp(140)
207PhysDevExtTramp(141)
208PhysDevExtTramp(142)
209PhysDevExtTramp(143)
210PhysDevExtTramp(144)
211PhysDevExtTramp(145)
212PhysDevExtTramp(146)
213PhysDevExtTramp(147)
214PhysDevExtTramp(148)
215PhysDevExtTramp(149)
216PhysDevExtTramp(150)
217PhysDevExtTramp(151)
218PhysDevExtTramp(152)
219PhysDevExtTramp(153)
220PhysDevExtTramp(154)
221PhysDevExtTramp(155)
222PhysDevExtTramp(156)
223PhysDevExtTramp(157)
224PhysDevExtTramp(158)
225PhysDevExtTramp(159)
226PhysDevExtTramp(160)
227PhysDevExtTramp(161)
228PhysDevExtTramp(162)
229PhysDevExtTramp(163)
230PhysDevExtTramp(164)
231PhysDevExtTramp(165)
232PhysDevExtTramp(166)
233PhysDevExtTramp(167)
234PhysDevExtTramp(168)
235PhysDevExtTramp(169)
236PhysDevExtTramp(170)
237PhysDevExtTramp(171)
238PhysDevExtTramp(172)
239PhysDevExtTramp(173)
240PhysDevExtTramp(174)
241PhysDevExtTramp(175)
242PhysDevExtTramp(176)
243PhysDevExtTramp(177)
244PhysDevExtTramp(178)
245PhysDevExtTramp(179)
246PhysDevExtTramp(180)
247PhysDevExtTramp(181)
248PhysDevExtTramp(182)
249PhysDevExtTramp(183)
250PhysDevExtTramp(184)
251PhysDevExtTramp(185)
252PhysDevExtTramp(186)
253PhysDevExtTramp(187)
254PhysDevExtTramp(188)
255PhysDevExtTramp(189)
256PhysDevExtTramp(190)
257PhysDevExtTramp(191)
258PhysDevExtTramp(192)
259PhysDevExtTramp(193)
260PhysDevExtTramp(194)
261PhysDevExtTramp(195)
262PhysDevExtTramp(196)
263PhysDevExtTramp(197)
264PhysDevExtTramp(198)
265PhysDevExtTramp(199)
266PhysDevExtTramp(200)
267PhysDevExtTramp(201)
268PhysDevExtTramp(202)
269PhysDevExtTramp(203)
270PhysDevExtTramp(204)
271PhysDevExtTramp(205)
272PhysDevExtTramp(206)
273PhysDevExtTramp(207)
274PhysDevExtTramp(208)
275PhysDevExtTramp(209)
276PhysDevExtTramp(210)
277PhysDevExtTramp(211)
278PhysDevExtTramp(212)
279PhysDevExtTramp(213)
280PhysDevExtTramp(214)
281PhysDevExtTramp(215)
282PhysDevExtTramp(216)
283PhysDevExtTramp(217)
284PhysDevExtTramp(218)
285PhysDevExtTramp(219)
286PhysDevExtTramp(220)
287PhysDevExtTramp(221)
288PhysDevExtTramp(222)
289PhysDevExtTramp(223)
290PhysDevExtTramp(224)
291PhysDevExtTramp(225)
292PhysDevExtTramp(226)
293PhysDevExtTramp(227)
294PhysDevExtTramp(228)
295PhysDevExtTramp(229)
296PhysDevExtTramp(230)
297PhysDevExtTramp(231)
298PhysDevExtTramp(232)
299PhysDevExtTramp(233)
300PhysDevExtTramp(234)
301PhysDevExtTramp(235)
302PhysDevExtTramp(236)
303PhysDevExtTramp(237)
304PhysDevExtTramp(238)
305PhysDevExtTramp(239)
306PhysDevExtTramp(240)
307PhysDevExtTramp(241)
308PhysDevExtTramp(242)
309PhysDevExtTramp(243)
310PhysDevExtTramp(244)
311PhysDevExtTramp(245)
312PhysDevExtTramp(246)
313PhysDevExtTramp(247)
314PhysDevExtTramp(248)
315PhysDevExtTramp(249)
Lenny Komow253747d2017-06-29 11:11:16 -0600316
317// Instantiations of the terminator
318PhysDevExtTermin(0)
319PhysDevExtTermin(1)
320PhysDevExtTermin(2)
321PhysDevExtTermin(3)
322PhysDevExtTermin(4)
323PhysDevExtTermin(5)
324PhysDevExtTermin(6)
325PhysDevExtTermin(7)
326PhysDevExtTermin(8)
327PhysDevExtTermin(9)
328PhysDevExtTermin(10)
329PhysDevExtTermin(11)
330PhysDevExtTermin(12)
331PhysDevExtTermin(13)
332PhysDevExtTermin(14)
333PhysDevExtTermin(15)
334PhysDevExtTermin(16)
335PhysDevExtTermin(17)
336PhysDevExtTermin(18)
337PhysDevExtTermin(19)
338PhysDevExtTermin(20)
339PhysDevExtTermin(21)
340PhysDevExtTermin(22)
341PhysDevExtTermin(23)
342PhysDevExtTermin(24)
343PhysDevExtTermin(25)
344PhysDevExtTermin(26)
345PhysDevExtTermin(27)
346PhysDevExtTermin(28)
347PhysDevExtTermin(29)
348PhysDevExtTermin(30)
349PhysDevExtTermin(31)
350PhysDevExtTermin(32)
351PhysDevExtTermin(33)
352PhysDevExtTermin(34)
353PhysDevExtTermin(35)
354PhysDevExtTermin(36)
355PhysDevExtTermin(37)
356PhysDevExtTermin(38)
357PhysDevExtTermin(39)
358PhysDevExtTermin(40)
359PhysDevExtTermin(41)
360PhysDevExtTermin(42)
361PhysDevExtTermin(43)
362PhysDevExtTermin(44)
363PhysDevExtTermin(45)
364PhysDevExtTermin(46)
365PhysDevExtTermin(47)
366PhysDevExtTermin(48)
367PhysDevExtTermin(49)
368PhysDevExtTermin(50)
369PhysDevExtTermin(51)
370PhysDevExtTermin(52)
371PhysDevExtTermin(53)
372PhysDevExtTermin(54)
373PhysDevExtTermin(55)
374PhysDevExtTermin(56)
375PhysDevExtTermin(57)
376PhysDevExtTermin(58)
377PhysDevExtTermin(59)
378PhysDevExtTermin(60)
379PhysDevExtTermin(61)
380PhysDevExtTermin(62)
381PhysDevExtTermin(63)
382PhysDevExtTermin(64)
383PhysDevExtTermin(65)
384PhysDevExtTermin(66)
385PhysDevExtTermin(67)
386PhysDevExtTermin(68)
387PhysDevExtTermin(69)
388PhysDevExtTermin(70)
389PhysDevExtTermin(71)
390PhysDevExtTermin(72)
391PhysDevExtTermin(73)
392PhysDevExtTermin(74)
393PhysDevExtTermin(75)
394PhysDevExtTermin(76)
395PhysDevExtTermin(77)
396PhysDevExtTermin(78)
397PhysDevExtTermin(79)
398PhysDevExtTermin(80)
399PhysDevExtTermin(81)
400PhysDevExtTermin(82)
401PhysDevExtTermin(83)
402PhysDevExtTermin(84)
403PhysDevExtTermin(85)
404PhysDevExtTermin(86)
405PhysDevExtTermin(87)
406PhysDevExtTermin(88)
407PhysDevExtTermin(89)
408PhysDevExtTermin(90)
409PhysDevExtTermin(91)
410PhysDevExtTermin(92)
411PhysDevExtTermin(93)
412PhysDevExtTermin(94)
413PhysDevExtTermin(95)
414PhysDevExtTermin(96)
415PhysDevExtTermin(97)
416PhysDevExtTermin(98)
417PhysDevExtTermin(99)
418PhysDevExtTermin(100)
419PhysDevExtTermin(101)
420PhysDevExtTermin(102)
421PhysDevExtTermin(103)
422PhysDevExtTermin(104)
423PhysDevExtTermin(105)
424PhysDevExtTermin(106)
425PhysDevExtTermin(107)
426PhysDevExtTermin(108)
427PhysDevExtTermin(109)
428PhysDevExtTermin(110)
429PhysDevExtTermin(111)
430PhysDevExtTermin(112)
431PhysDevExtTermin(113)
432PhysDevExtTermin(114)
433PhysDevExtTermin(115)
434PhysDevExtTermin(116)
435PhysDevExtTermin(117)
436PhysDevExtTermin(118)
437PhysDevExtTermin(119)
438PhysDevExtTermin(120)
439PhysDevExtTermin(121)
440PhysDevExtTermin(122)
441PhysDevExtTermin(123)
442PhysDevExtTermin(124)
443PhysDevExtTermin(125)
444PhysDevExtTermin(126)
445PhysDevExtTermin(127)
446PhysDevExtTermin(128)
447PhysDevExtTermin(129)
448PhysDevExtTermin(130)
449PhysDevExtTermin(131)
450PhysDevExtTermin(132)
451PhysDevExtTermin(133)
452PhysDevExtTermin(134)
453PhysDevExtTermin(135)
454PhysDevExtTermin(136)
455PhysDevExtTermin(137)
456PhysDevExtTermin(138)
457PhysDevExtTermin(139)
458PhysDevExtTermin(140)
459PhysDevExtTermin(141)
460PhysDevExtTermin(142)
461PhysDevExtTermin(143)
462PhysDevExtTermin(144)
463PhysDevExtTermin(145)
464PhysDevExtTermin(146)
465PhysDevExtTermin(147)
466PhysDevExtTermin(148)
467PhysDevExtTermin(149)
468PhysDevExtTermin(150)
469PhysDevExtTermin(151)
470PhysDevExtTermin(152)
471PhysDevExtTermin(153)
472PhysDevExtTermin(154)
473PhysDevExtTermin(155)
474PhysDevExtTermin(156)
475PhysDevExtTermin(157)
476PhysDevExtTermin(158)
477PhysDevExtTermin(159)
478PhysDevExtTermin(160)
479PhysDevExtTermin(161)
480PhysDevExtTermin(162)
481PhysDevExtTermin(163)
482PhysDevExtTermin(164)
483PhysDevExtTermin(165)
484PhysDevExtTermin(166)
485PhysDevExtTermin(167)
486PhysDevExtTermin(168)
487PhysDevExtTermin(169)
488PhysDevExtTermin(170)
489PhysDevExtTermin(171)
490PhysDevExtTermin(172)
491PhysDevExtTermin(173)
492PhysDevExtTermin(174)
493PhysDevExtTermin(175)
494PhysDevExtTermin(176)
495PhysDevExtTermin(177)
496PhysDevExtTermin(178)
497PhysDevExtTermin(179)
498PhysDevExtTermin(180)
499PhysDevExtTermin(181)
500PhysDevExtTermin(182)
501PhysDevExtTermin(183)
502PhysDevExtTermin(184)
503PhysDevExtTermin(185)
504PhysDevExtTermin(186)
505PhysDevExtTermin(187)
506PhysDevExtTermin(188)
507PhysDevExtTermin(189)
508PhysDevExtTermin(190)
509PhysDevExtTermin(191)
510PhysDevExtTermin(192)
511PhysDevExtTermin(193)
512PhysDevExtTermin(194)
513PhysDevExtTermin(195)
514PhysDevExtTermin(196)
515PhysDevExtTermin(197)
516PhysDevExtTermin(198)
517PhysDevExtTermin(199)
518PhysDevExtTermin(200)
519PhysDevExtTermin(201)
520PhysDevExtTermin(202)
521PhysDevExtTermin(203)
522PhysDevExtTermin(204)
523PhysDevExtTermin(205)
524PhysDevExtTermin(206)
525PhysDevExtTermin(207)
526PhysDevExtTermin(208)
527PhysDevExtTermin(209)
528PhysDevExtTermin(210)
529PhysDevExtTermin(211)
530PhysDevExtTermin(212)
531PhysDevExtTermin(213)
532PhysDevExtTermin(214)
533PhysDevExtTermin(215)
534PhysDevExtTermin(216)
535PhysDevExtTermin(217)
536PhysDevExtTermin(218)
537PhysDevExtTermin(219)
538PhysDevExtTermin(220)
539PhysDevExtTermin(221)
540PhysDevExtTermin(222)
541PhysDevExtTermin(223)
542PhysDevExtTermin(224)
543PhysDevExtTermin(225)
544PhysDevExtTermin(226)
545PhysDevExtTermin(227)
546PhysDevExtTermin(228)
547PhysDevExtTermin(229)
548PhysDevExtTermin(230)
549PhysDevExtTermin(231)
550PhysDevExtTermin(232)
551PhysDevExtTermin(233)
552PhysDevExtTermin(234)
553PhysDevExtTermin(235)
554PhysDevExtTermin(236)
555PhysDevExtTermin(237)
556PhysDevExtTermin(238)
557PhysDevExtTermin(239)
558PhysDevExtTermin(240)
559PhysDevExtTermin(241)
560PhysDevExtTermin(242)
561PhysDevExtTermin(243)
562PhysDevExtTermin(244)
563PhysDevExtTermin(245)
564PhysDevExtTermin(246)
565PhysDevExtTermin(247)
566PhysDevExtTermin(248)
567PhysDevExtTermin(249)
Lenny Komow5e300362017-06-30 16:23:26 -0600568
569// Instantiations of the device trampoline
570DevExtTramp(0)
571DevExtTramp(1)
572DevExtTramp(2)
573DevExtTramp(3)
574DevExtTramp(4)
575DevExtTramp(5)
576DevExtTramp(6)
577DevExtTramp(7)
578DevExtTramp(8)
579DevExtTramp(9)
580DevExtTramp(10)
581DevExtTramp(11)
582DevExtTramp(12)
583DevExtTramp(13)
584DevExtTramp(14)
585DevExtTramp(15)
586DevExtTramp(16)
587DevExtTramp(17)
588DevExtTramp(18)
589DevExtTramp(19)
590DevExtTramp(20)
591DevExtTramp(21)
592DevExtTramp(22)
593DevExtTramp(23)
594DevExtTramp(24)
595DevExtTramp(25)
596DevExtTramp(26)
597DevExtTramp(27)
598DevExtTramp(28)
599DevExtTramp(29)
600DevExtTramp(30)
601DevExtTramp(31)
602DevExtTramp(32)
603DevExtTramp(33)
604DevExtTramp(34)
605DevExtTramp(35)
606DevExtTramp(36)
607DevExtTramp(37)
608DevExtTramp(38)
609DevExtTramp(39)
610DevExtTramp(40)
611DevExtTramp(41)
612DevExtTramp(42)
613DevExtTramp(43)
614DevExtTramp(44)
615DevExtTramp(45)
616DevExtTramp(46)
617DevExtTramp(47)
618DevExtTramp(48)
619DevExtTramp(49)
620DevExtTramp(50)
621DevExtTramp(51)
622DevExtTramp(52)
623DevExtTramp(53)
624DevExtTramp(54)
625DevExtTramp(55)
626DevExtTramp(56)
627DevExtTramp(57)
628DevExtTramp(58)
629DevExtTramp(59)
630DevExtTramp(60)
631DevExtTramp(61)
632DevExtTramp(62)
633DevExtTramp(63)
634DevExtTramp(64)
635DevExtTramp(65)
636DevExtTramp(66)
637DevExtTramp(67)
638DevExtTramp(68)
639DevExtTramp(69)
640DevExtTramp(70)
641DevExtTramp(71)
642DevExtTramp(72)
643DevExtTramp(73)
644DevExtTramp(74)
645DevExtTramp(75)
646DevExtTramp(76)
647DevExtTramp(77)
648DevExtTramp(78)
649DevExtTramp(79)
650DevExtTramp(80)
651DevExtTramp(81)
652DevExtTramp(82)
653DevExtTramp(83)
654DevExtTramp(84)
655DevExtTramp(85)
656DevExtTramp(86)
657DevExtTramp(87)
658DevExtTramp(88)
659DevExtTramp(89)
660DevExtTramp(90)
661DevExtTramp(91)
662DevExtTramp(92)
663DevExtTramp(93)
664DevExtTramp(94)
665DevExtTramp(95)
666DevExtTramp(96)
667DevExtTramp(97)
668DevExtTramp(98)
669DevExtTramp(99)
670DevExtTramp(100)
671DevExtTramp(101)
672DevExtTramp(102)
673DevExtTramp(103)
674DevExtTramp(104)
675DevExtTramp(105)
676DevExtTramp(106)
677DevExtTramp(107)
678DevExtTramp(108)
679DevExtTramp(109)
680DevExtTramp(110)
681DevExtTramp(111)
682DevExtTramp(112)
683DevExtTramp(113)
684DevExtTramp(114)
685DevExtTramp(115)
686DevExtTramp(116)
687DevExtTramp(117)
688DevExtTramp(118)
689DevExtTramp(119)
690DevExtTramp(120)
691DevExtTramp(121)
692DevExtTramp(122)
693DevExtTramp(123)
694DevExtTramp(124)
695DevExtTramp(125)
696DevExtTramp(126)
697DevExtTramp(127)
698DevExtTramp(128)
699DevExtTramp(129)
700DevExtTramp(130)
701DevExtTramp(131)
702DevExtTramp(132)
703DevExtTramp(133)
704DevExtTramp(134)
705DevExtTramp(135)
706DevExtTramp(136)
707DevExtTramp(137)
708DevExtTramp(138)
709DevExtTramp(139)
710DevExtTramp(140)
711DevExtTramp(141)
712DevExtTramp(142)
713DevExtTramp(143)
714DevExtTramp(144)
715DevExtTramp(145)
716DevExtTramp(146)
717DevExtTramp(147)
718DevExtTramp(148)
719DevExtTramp(149)
720DevExtTramp(150)
721DevExtTramp(151)
722DevExtTramp(152)
723DevExtTramp(153)
724DevExtTramp(154)
725DevExtTramp(155)
726DevExtTramp(156)
727DevExtTramp(157)
728DevExtTramp(158)
729DevExtTramp(159)
730DevExtTramp(160)
731DevExtTramp(161)
732DevExtTramp(162)
733DevExtTramp(163)
734DevExtTramp(164)
735DevExtTramp(165)
736DevExtTramp(166)
737DevExtTramp(167)
738DevExtTramp(168)
739DevExtTramp(169)
740DevExtTramp(170)
741DevExtTramp(171)
742DevExtTramp(172)
743DevExtTramp(173)
744DevExtTramp(174)
745DevExtTramp(175)
746DevExtTramp(176)
747DevExtTramp(177)
748DevExtTramp(178)
749DevExtTramp(179)
750DevExtTramp(180)
751DevExtTramp(181)
752DevExtTramp(182)
753DevExtTramp(183)
754DevExtTramp(184)
755DevExtTramp(185)
756DevExtTramp(186)
757DevExtTramp(187)
758DevExtTramp(188)
759DevExtTramp(189)
760DevExtTramp(190)
761DevExtTramp(191)
762DevExtTramp(192)
763DevExtTramp(193)
764DevExtTramp(194)
765DevExtTramp(195)
766DevExtTramp(196)
767DevExtTramp(197)
768DevExtTramp(198)
769DevExtTramp(199)
770DevExtTramp(200)
771DevExtTramp(201)
772DevExtTramp(202)
773DevExtTramp(203)
774DevExtTramp(204)
775DevExtTramp(205)
776DevExtTramp(206)
777DevExtTramp(207)
778DevExtTramp(208)
779DevExtTramp(209)
780DevExtTramp(210)
781DevExtTramp(211)
782DevExtTramp(212)
783DevExtTramp(213)
784DevExtTramp(214)
785DevExtTramp(215)
786DevExtTramp(216)
787DevExtTramp(217)
788DevExtTramp(218)
789DevExtTramp(219)
790DevExtTramp(220)
791DevExtTramp(221)
792DevExtTramp(222)
793DevExtTramp(223)
794DevExtTramp(224)
795DevExtTramp(225)
796DevExtTramp(226)
797DevExtTramp(227)
798DevExtTramp(228)
799DevExtTramp(229)
800DevExtTramp(230)
801DevExtTramp(231)
802DevExtTramp(232)
803DevExtTramp(233)
804DevExtTramp(234)
805DevExtTramp(235)
806DevExtTramp(236)
807DevExtTramp(237)
808DevExtTramp(238)
809DevExtTramp(239)
810DevExtTramp(240)
811DevExtTramp(241)
812DevExtTramp(242)
813DevExtTramp(243)
814DevExtTramp(244)
815DevExtTramp(245)
816DevExtTramp(246)
817DevExtTramp(247)
818DevExtTramp(248)
819DevExtTramp(249)