820 lines
18 KiB
C
820 lines
18 KiB
C
/*
|
|
* Copyright (c) 2017 The Khronos Group Inc.
|
|
* Copyright (c) 2017 Valve Corporation
|
|
* Copyright (c) 2017 LunarG, Inc.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*
|
|
* Author Jon Ashburn <jon@lunarg.com>
|
|
* Author: Lenny Komow <lenny@lunarg.com>
|
|
*/
|
|
|
|
// This code is used to pass on physical device extensions through the call chain. It must do this without creating a stack frame,
|
|
// because the actual parameters of the call are not known. Since the first parameter is known to be a VkPhysicalDevice, it can
|
|
// unwrap the physical device, overwriting the wrapped device, and then jump to the next function in the call chain. This code
|
|
// attempts to accomplish this by relying on tail-call optimizations, but there is no guarantee that this will work. As a result,
|
|
// this code is only compiled on systems where an assembly alternative has not been written.
|
|
|
|
#include "vk_loader_platform.h"
|
|
#include "loader.h"
|
|
|
|
#if defined(__GNUC__) && !defined(__clang__)
|
|
#pragma GCC optimize(3) // force gcc to use tail-calls
|
|
#endif
|
|
|
|
// Trampoline function macro for unknown physical device extension command.
|
|
#define PhysDevExtTramp(num) \
|
|
VKAPI_ATTR void VKAPI_CALL vkPhysDevExtTramp##num(VkPhysicalDevice physical_device) { \
|
|
const struct loader_instance_dispatch_table *disp; \
|
|
disp = loader_get_instance_dispatch(physical_device); \
|
|
disp->phys_dev_ext[num](loader_unwrap_physical_device(physical_device)); \
|
|
}
|
|
|
|
// Terminator function macro for unknown physical device extension command.
|
|
#define PhysDevExtTermin(num) \
|
|
VKAPI_ATTR void VKAPI_CALL vkPhysDevExtTermin##num(VkPhysicalDevice physical_device) { \
|
|
struct loader_physical_device_term *phys_dev_term = (struct loader_physical_device_term *)physical_device; \
|
|
struct loader_icd_term *icd_term = phys_dev_term->this_icd_term; \
|
|
struct loader_instance *inst = (struct loader_instance *)icd_term->this_instance; \
|
|
if (NULL == icd_term->phys_dev_ext[num]) { \
|
|
loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Extension %s not supported for this physical device", \
|
|
inst->phys_dev_ext_disp_hash[num].func_name); \
|
|
} \
|
|
icd_term->phys_dev_ext[num](phys_dev_term->phys_dev); \
|
|
}
|
|
|
|
// Trampoline function macro for unknown physical device extension command.
|
|
#define DevExtTramp(num) \
|
|
VKAPI_ATTR void VKAPI_CALL vkdev_ext##num(VkDevice device) { \
|
|
const struct loader_dev_dispatch_table *disp; \
|
|
disp = loader_get_dev_dispatch(device); \
|
|
disp->ext_dispatch.dev_ext[num](device); \
|
|
}
|
|
|
|
|
|
// Instantiations of the trampoline
|
|
PhysDevExtTramp(0)
|
|
PhysDevExtTramp(1)
|
|
PhysDevExtTramp(2)
|
|
PhysDevExtTramp(3)
|
|
PhysDevExtTramp(4)
|
|
PhysDevExtTramp(5)
|
|
PhysDevExtTramp(6)
|
|
PhysDevExtTramp(7)
|
|
PhysDevExtTramp(8)
|
|
PhysDevExtTramp(9)
|
|
PhysDevExtTramp(10)
|
|
PhysDevExtTramp(11)
|
|
PhysDevExtTramp(12)
|
|
PhysDevExtTramp(13)
|
|
PhysDevExtTramp(14)
|
|
PhysDevExtTramp(15)
|
|
PhysDevExtTramp(16)
|
|
PhysDevExtTramp(17)
|
|
PhysDevExtTramp(18)
|
|
PhysDevExtTramp(19)
|
|
PhysDevExtTramp(20)
|
|
PhysDevExtTramp(21)
|
|
PhysDevExtTramp(22)
|
|
PhysDevExtTramp(23)
|
|
PhysDevExtTramp(24)
|
|
PhysDevExtTramp(25)
|
|
PhysDevExtTramp(26)
|
|
PhysDevExtTramp(27)
|
|
PhysDevExtTramp(28)
|
|
PhysDevExtTramp(29)
|
|
PhysDevExtTramp(30)
|
|
PhysDevExtTramp(31)
|
|
PhysDevExtTramp(32)
|
|
PhysDevExtTramp(33)
|
|
PhysDevExtTramp(34)
|
|
PhysDevExtTramp(35)
|
|
PhysDevExtTramp(36)
|
|
PhysDevExtTramp(37)
|
|
PhysDevExtTramp(38)
|
|
PhysDevExtTramp(39)
|
|
PhysDevExtTramp(40)
|
|
PhysDevExtTramp(41)
|
|
PhysDevExtTramp(42)
|
|
PhysDevExtTramp(43)
|
|
PhysDevExtTramp(44)
|
|
PhysDevExtTramp(45)
|
|
PhysDevExtTramp(46)
|
|
PhysDevExtTramp(47)
|
|
PhysDevExtTramp(48)
|
|
PhysDevExtTramp(49)
|
|
PhysDevExtTramp(50)
|
|
PhysDevExtTramp(51)
|
|
PhysDevExtTramp(52)
|
|
PhysDevExtTramp(53)
|
|
PhysDevExtTramp(54)
|
|
PhysDevExtTramp(55)
|
|
PhysDevExtTramp(56)
|
|
PhysDevExtTramp(57)
|
|
PhysDevExtTramp(58)
|
|
PhysDevExtTramp(59)
|
|
PhysDevExtTramp(60)
|
|
PhysDevExtTramp(61)
|
|
PhysDevExtTramp(62)
|
|
PhysDevExtTramp(63)
|
|
PhysDevExtTramp(64)
|
|
PhysDevExtTramp(65)
|
|
PhysDevExtTramp(66)
|
|
PhysDevExtTramp(67)
|
|
PhysDevExtTramp(68)
|
|
PhysDevExtTramp(69)
|
|
PhysDevExtTramp(70)
|
|
PhysDevExtTramp(71)
|
|
PhysDevExtTramp(72)
|
|
PhysDevExtTramp(73)
|
|
PhysDevExtTramp(74)
|
|
PhysDevExtTramp(75)
|
|
PhysDevExtTramp(76)
|
|
PhysDevExtTramp(77)
|
|
PhysDevExtTramp(78)
|
|
PhysDevExtTramp(79)
|
|
PhysDevExtTramp(80)
|
|
PhysDevExtTramp(81)
|
|
PhysDevExtTramp(82)
|
|
PhysDevExtTramp(83)
|
|
PhysDevExtTramp(84)
|
|
PhysDevExtTramp(85)
|
|
PhysDevExtTramp(86)
|
|
PhysDevExtTramp(87)
|
|
PhysDevExtTramp(88)
|
|
PhysDevExtTramp(89)
|
|
PhysDevExtTramp(90)
|
|
PhysDevExtTramp(91)
|
|
PhysDevExtTramp(92)
|
|
PhysDevExtTramp(93)
|
|
PhysDevExtTramp(94)
|
|
PhysDevExtTramp(95)
|
|
PhysDevExtTramp(96)
|
|
PhysDevExtTramp(97)
|
|
PhysDevExtTramp(98)
|
|
PhysDevExtTramp(99)
|
|
PhysDevExtTramp(100)
|
|
PhysDevExtTramp(101)
|
|
PhysDevExtTramp(102)
|
|
PhysDevExtTramp(103)
|
|
PhysDevExtTramp(104)
|
|
PhysDevExtTramp(105)
|
|
PhysDevExtTramp(106)
|
|
PhysDevExtTramp(107)
|
|
PhysDevExtTramp(108)
|
|
PhysDevExtTramp(109)
|
|
PhysDevExtTramp(110)
|
|
PhysDevExtTramp(111)
|
|
PhysDevExtTramp(112)
|
|
PhysDevExtTramp(113)
|
|
PhysDevExtTramp(114)
|
|
PhysDevExtTramp(115)
|
|
PhysDevExtTramp(116)
|
|
PhysDevExtTramp(117)
|
|
PhysDevExtTramp(118)
|
|
PhysDevExtTramp(119)
|
|
PhysDevExtTramp(120)
|
|
PhysDevExtTramp(121)
|
|
PhysDevExtTramp(122)
|
|
PhysDevExtTramp(123)
|
|
PhysDevExtTramp(124)
|
|
PhysDevExtTramp(125)
|
|
PhysDevExtTramp(126)
|
|
PhysDevExtTramp(127)
|
|
PhysDevExtTramp(128)
|
|
PhysDevExtTramp(129)
|
|
PhysDevExtTramp(130)
|
|
PhysDevExtTramp(131)
|
|
PhysDevExtTramp(132)
|
|
PhysDevExtTramp(133)
|
|
PhysDevExtTramp(134)
|
|
PhysDevExtTramp(135)
|
|
PhysDevExtTramp(136)
|
|
PhysDevExtTramp(137)
|
|
PhysDevExtTramp(138)
|
|
PhysDevExtTramp(139)
|
|
PhysDevExtTramp(140)
|
|
PhysDevExtTramp(141)
|
|
PhysDevExtTramp(142)
|
|
PhysDevExtTramp(143)
|
|
PhysDevExtTramp(144)
|
|
PhysDevExtTramp(145)
|
|
PhysDevExtTramp(146)
|
|
PhysDevExtTramp(147)
|
|
PhysDevExtTramp(148)
|
|
PhysDevExtTramp(149)
|
|
PhysDevExtTramp(150)
|
|
PhysDevExtTramp(151)
|
|
PhysDevExtTramp(152)
|
|
PhysDevExtTramp(153)
|
|
PhysDevExtTramp(154)
|
|
PhysDevExtTramp(155)
|
|
PhysDevExtTramp(156)
|
|
PhysDevExtTramp(157)
|
|
PhysDevExtTramp(158)
|
|
PhysDevExtTramp(159)
|
|
PhysDevExtTramp(160)
|
|
PhysDevExtTramp(161)
|
|
PhysDevExtTramp(162)
|
|
PhysDevExtTramp(163)
|
|
PhysDevExtTramp(164)
|
|
PhysDevExtTramp(165)
|
|
PhysDevExtTramp(166)
|
|
PhysDevExtTramp(167)
|
|
PhysDevExtTramp(168)
|
|
PhysDevExtTramp(169)
|
|
PhysDevExtTramp(170)
|
|
PhysDevExtTramp(171)
|
|
PhysDevExtTramp(172)
|
|
PhysDevExtTramp(173)
|
|
PhysDevExtTramp(174)
|
|
PhysDevExtTramp(175)
|
|
PhysDevExtTramp(176)
|
|
PhysDevExtTramp(177)
|
|
PhysDevExtTramp(178)
|
|
PhysDevExtTramp(179)
|
|
PhysDevExtTramp(180)
|
|
PhysDevExtTramp(181)
|
|
PhysDevExtTramp(182)
|
|
PhysDevExtTramp(183)
|
|
PhysDevExtTramp(184)
|
|
PhysDevExtTramp(185)
|
|
PhysDevExtTramp(186)
|
|
PhysDevExtTramp(187)
|
|
PhysDevExtTramp(188)
|
|
PhysDevExtTramp(189)
|
|
PhysDevExtTramp(190)
|
|
PhysDevExtTramp(191)
|
|
PhysDevExtTramp(192)
|
|
PhysDevExtTramp(193)
|
|
PhysDevExtTramp(194)
|
|
PhysDevExtTramp(195)
|
|
PhysDevExtTramp(196)
|
|
PhysDevExtTramp(197)
|
|
PhysDevExtTramp(198)
|
|
PhysDevExtTramp(199)
|
|
PhysDevExtTramp(200)
|
|
PhysDevExtTramp(201)
|
|
PhysDevExtTramp(202)
|
|
PhysDevExtTramp(203)
|
|
PhysDevExtTramp(204)
|
|
PhysDevExtTramp(205)
|
|
PhysDevExtTramp(206)
|
|
PhysDevExtTramp(207)
|
|
PhysDevExtTramp(208)
|
|
PhysDevExtTramp(209)
|
|
PhysDevExtTramp(210)
|
|
PhysDevExtTramp(211)
|
|
PhysDevExtTramp(212)
|
|
PhysDevExtTramp(213)
|
|
PhysDevExtTramp(214)
|
|
PhysDevExtTramp(215)
|
|
PhysDevExtTramp(216)
|
|
PhysDevExtTramp(217)
|
|
PhysDevExtTramp(218)
|
|
PhysDevExtTramp(219)
|
|
PhysDevExtTramp(220)
|
|
PhysDevExtTramp(221)
|
|
PhysDevExtTramp(222)
|
|
PhysDevExtTramp(223)
|
|
PhysDevExtTramp(224)
|
|
PhysDevExtTramp(225)
|
|
PhysDevExtTramp(226)
|
|
PhysDevExtTramp(227)
|
|
PhysDevExtTramp(228)
|
|
PhysDevExtTramp(229)
|
|
PhysDevExtTramp(230)
|
|
PhysDevExtTramp(231)
|
|
PhysDevExtTramp(232)
|
|
PhysDevExtTramp(233)
|
|
PhysDevExtTramp(234)
|
|
PhysDevExtTramp(235)
|
|
PhysDevExtTramp(236)
|
|
PhysDevExtTramp(237)
|
|
PhysDevExtTramp(238)
|
|
PhysDevExtTramp(239)
|
|
PhysDevExtTramp(240)
|
|
PhysDevExtTramp(241)
|
|
PhysDevExtTramp(242)
|
|
PhysDevExtTramp(243)
|
|
PhysDevExtTramp(244)
|
|
PhysDevExtTramp(245)
|
|
PhysDevExtTramp(246)
|
|
PhysDevExtTramp(247)
|
|
PhysDevExtTramp(248)
|
|
PhysDevExtTramp(249)
|
|
|
|
// Instantiations of the terminator
|
|
PhysDevExtTermin(0)
|
|
PhysDevExtTermin(1)
|
|
PhysDevExtTermin(2)
|
|
PhysDevExtTermin(3)
|
|
PhysDevExtTermin(4)
|
|
PhysDevExtTermin(5)
|
|
PhysDevExtTermin(6)
|
|
PhysDevExtTermin(7)
|
|
PhysDevExtTermin(8)
|
|
PhysDevExtTermin(9)
|
|
PhysDevExtTermin(10)
|
|
PhysDevExtTermin(11)
|
|
PhysDevExtTermin(12)
|
|
PhysDevExtTermin(13)
|
|
PhysDevExtTermin(14)
|
|
PhysDevExtTermin(15)
|
|
PhysDevExtTermin(16)
|
|
PhysDevExtTermin(17)
|
|
PhysDevExtTermin(18)
|
|
PhysDevExtTermin(19)
|
|
PhysDevExtTermin(20)
|
|
PhysDevExtTermin(21)
|
|
PhysDevExtTermin(22)
|
|
PhysDevExtTermin(23)
|
|
PhysDevExtTermin(24)
|
|
PhysDevExtTermin(25)
|
|
PhysDevExtTermin(26)
|
|
PhysDevExtTermin(27)
|
|
PhysDevExtTermin(28)
|
|
PhysDevExtTermin(29)
|
|
PhysDevExtTermin(30)
|
|
PhysDevExtTermin(31)
|
|
PhysDevExtTermin(32)
|
|
PhysDevExtTermin(33)
|
|
PhysDevExtTermin(34)
|
|
PhysDevExtTermin(35)
|
|
PhysDevExtTermin(36)
|
|
PhysDevExtTermin(37)
|
|
PhysDevExtTermin(38)
|
|
PhysDevExtTermin(39)
|
|
PhysDevExtTermin(40)
|
|
PhysDevExtTermin(41)
|
|
PhysDevExtTermin(42)
|
|
PhysDevExtTermin(43)
|
|
PhysDevExtTermin(44)
|
|
PhysDevExtTermin(45)
|
|
PhysDevExtTermin(46)
|
|
PhysDevExtTermin(47)
|
|
PhysDevExtTermin(48)
|
|
PhysDevExtTermin(49)
|
|
PhysDevExtTermin(50)
|
|
PhysDevExtTermin(51)
|
|
PhysDevExtTermin(52)
|
|
PhysDevExtTermin(53)
|
|
PhysDevExtTermin(54)
|
|
PhysDevExtTermin(55)
|
|
PhysDevExtTermin(56)
|
|
PhysDevExtTermin(57)
|
|
PhysDevExtTermin(58)
|
|
PhysDevExtTermin(59)
|
|
PhysDevExtTermin(60)
|
|
PhysDevExtTermin(61)
|
|
PhysDevExtTermin(62)
|
|
PhysDevExtTermin(63)
|
|
PhysDevExtTermin(64)
|
|
PhysDevExtTermin(65)
|
|
PhysDevExtTermin(66)
|
|
PhysDevExtTermin(67)
|
|
PhysDevExtTermin(68)
|
|
PhysDevExtTermin(69)
|
|
PhysDevExtTermin(70)
|
|
PhysDevExtTermin(71)
|
|
PhysDevExtTermin(72)
|
|
PhysDevExtTermin(73)
|
|
PhysDevExtTermin(74)
|
|
PhysDevExtTermin(75)
|
|
PhysDevExtTermin(76)
|
|
PhysDevExtTermin(77)
|
|
PhysDevExtTermin(78)
|
|
PhysDevExtTermin(79)
|
|
PhysDevExtTermin(80)
|
|
PhysDevExtTermin(81)
|
|
PhysDevExtTermin(82)
|
|
PhysDevExtTermin(83)
|
|
PhysDevExtTermin(84)
|
|
PhysDevExtTermin(85)
|
|
PhysDevExtTermin(86)
|
|
PhysDevExtTermin(87)
|
|
PhysDevExtTermin(88)
|
|
PhysDevExtTermin(89)
|
|
PhysDevExtTermin(90)
|
|
PhysDevExtTermin(91)
|
|
PhysDevExtTermin(92)
|
|
PhysDevExtTermin(93)
|
|
PhysDevExtTermin(94)
|
|
PhysDevExtTermin(95)
|
|
PhysDevExtTermin(96)
|
|
PhysDevExtTermin(97)
|
|
PhysDevExtTermin(98)
|
|
PhysDevExtTermin(99)
|
|
PhysDevExtTermin(100)
|
|
PhysDevExtTermin(101)
|
|
PhysDevExtTermin(102)
|
|
PhysDevExtTermin(103)
|
|
PhysDevExtTermin(104)
|
|
PhysDevExtTermin(105)
|
|
PhysDevExtTermin(106)
|
|
PhysDevExtTermin(107)
|
|
PhysDevExtTermin(108)
|
|
PhysDevExtTermin(109)
|
|
PhysDevExtTermin(110)
|
|
PhysDevExtTermin(111)
|
|
PhysDevExtTermin(112)
|
|
PhysDevExtTermin(113)
|
|
PhysDevExtTermin(114)
|
|
PhysDevExtTermin(115)
|
|
PhysDevExtTermin(116)
|
|
PhysDevExtTermin(117)
|
|
PhysDevExtTermin(118)
|
|
PhysDevExtTermin(119)
|
|
PhysDevExtTermin(120)
|
|
PhysDevExtTermin(121)
|
|
PhysDevExtTermin(122)
|
|
PhysDevExtTermin(123)
|
|
PhysDevExtTermin(124)
|
|
PhysDevExtTermin(125)
|
|
PhysDevExtTermin(126)
|
|
PhysDevExtTermin(127)
|
|
PhysDevExtTermin(128)
|
|
PhysDevExtTermin(129)
|
|
PhysDevExtTermin(130)
|
|
PhysDevExtTermin(131)
|
|
PhysDevExtTermin(132)
|
|
PhysDevExtTermin(133)
|
|
PhysDevExtTermin(134)
|
|
PhysDevExtTermin(135)
|
|
PhysDevExtTermin(136)
|
|
PhysDevExtTermin(137)
|
|
PhysDevExtTermin(138)
|
|
PhysDevExtTermin(139)
|
|
PhysDevExtTermin(140)
|
|
PhysDevExtTermin(141)
|
|
PhysDevExtTermin(142)
|
|
PhysDevExtTermin(143)
|
|
PhysDevExtTermin(144)
|
|
PhysDevExtTermin(145)
|
|
PhysDevExtTermin(146)
|
|
PhysDevExtTermin(147)
|
|
PhysDevExtTermin(148)
|
|
PhysDevExtTermin(149)
|
|
PhysDevExtTermin(150)
|
|
PhysDevExtTermin(151)
|
|
PhysDevExtTermin(152)
|
|
PhysDevExtTermin(153)
|
|
PhysDevExtTermin(154)
|
|
PhysDevExtTermin(155)
|
|
PhysDevExtTermin(156)
|
|
PhysDevExtTermin(157)
|
|
PhysDevExtTermin(158)
|
|
PhysDevExtTermin(159)
|
|
PhysDevExtTermin(160)
|
|
PhysDevExtTermin(161)
|
|
PhysDevExtTermin(162)
|
|
PhysDevExtTermin(163)
|
|
PhysDevExtTermin(164)
|
|
PhysDevExtTermin(165)
|
|
PhysDevExtTermin(166)
|
|
PhysDevExtTermin(167)
|
|
PhysDevExtTermin(168)
|
|
PhysDevExtTermin(169)
|
|
PhysDevExtTermin(170)
|
|
PhysDevExtTermin(171)
|
|
PhysDevExtTermin(172)
|
|
PhysDevExtTermin(173)
|
|
PhysDevExtTermin(174)
|
|
PhysDevExtTermin(175)
|
|
PhysDevExtTermin(176)
|
|
PhysDevExtTermin(177)
|
|
PhysDevExtTermin(178)
|
|
PhysDevExtTermin(179)
|
|
PhysDevExtTermin(180)
|
|
PhysDevExtTermin(181)
|
|
PhysDevExtTermin(182)
|
|
PhysDevExtTermin(183)
|
|
PhysDevExtTermin(184)
|
|
PhysDevExtTermin(185)
|
|
PhysDevExtTermin(186)
|
|
PhysDevExtTermin(187)
|
|
PhysDevExtTermin(188)
|
|
PhysDevExtTermin(189)
|
|
PhysDevExtTermin(190)
|
|
PhysDevExtTermin(191)
|
|
PhysDevExtTermin(192)
|
|
PhysDevExtTermin(193)
|
|
PhysDevExtTermin(194)
|
|
PhysDevExtTermin(195)
|
|
PhysDevExtTermin(196)
|
|
PhysDevExtTermin(197)
|
|
PhysDevExtTermin(198)
|
|
PhysDevExtTermin(199)
|
|
PhysDevExtTermin(200)
|
|
PhysDevExtTermin(201)
|
|
PhysDevExtTermin(202)
|
|
PhysDevExtTermin(203)
|
|
PhysDevExtTermin(204)
|
|
PhysDevExtTermin(205)
|
|
PhysDevExtTermin(206)
|
|
PhysDevExtTermin(207)
|
|
PhysDevExtTermin(208)
|
|
PhysDevExtTermin(209)
|
|
PhysDevExtTermin(210)
|
|
PhysDevExtTermin(211)
|
|
PhysDevExtTermin(212)
|
|
PhysDevExtTermin(213)
|
|
PhysDevExtTermin(214)
|
|
PhysDevExtTermin(215)
|
|
PhysDevExtTermin(216)
|
|
PhysDevExtTermin(217)
|
|
PhysDevExtTermin(218)
|
|
PhysDevExtTermin(219)
|
|
PhysDevExtTermin(220)
|
|
PhysDevExtTermin(221)
|
|
PhysDevExtTermin(222)
|
|
PhysDevExtTermin(223)
|
|
PhysDevExtTermin(224)
|
|
PhysDevExtTermin(225)
|
|
PhysDevExtTermin(226)
|
|
PhysDevExtTermin(227)
|
|
PhysDevExtTermin(228)
|
|
PhysDevExtTermin(229)
|
|
PhysDevExtTermin(230)
|
|
PhysDevExtTermin(231)
|
|
PhysDevExtTermin(232)
|
|
PhysDevExtTermin(233)
|
|
PhysDevExtTermin(234)
|
|
PhysDevExtTermin(235)
|
|
PhysDevExtTermin(236)
|
|
PhysDevExtTermin(237)
|
|
PhysDevExtTermin(238)
|
|
PhysDevExtTermin(239)
|
|
PhysDevExtTermin(240)
|
|
PhysDevExtTermin(241)
|
|
PhysDevExtTermin(242)
|
|
PhysDevExtTermin(243)
|
|
PhysDevExtTermin(244)
|
|
PhysDevExtTermin(245)
|
|
PhysDevExtTermin(246)
|
|
PhysDevExtTermin(247)
|
|
PhysDevExtTermin(248)
|
|
PhysDevExtTermin(249)
|
|
|
|
// Instantiations of the device trampoline
|
|
DevExtTramp(0)
|
|
DevExtTramp(1)
|
|
DevExtTramp(2)
|
|
DevExtTramp(3)
|
|
DevExtTramp(4)
|
|
DevExtTramp(5)
|
|
DevExtTramp(6)
|
|
DevExtTramp(7)
|
|
DevExtTramp(8)
|
|
DevExtTramp(9)
|
|
DevExtTramp(10)
|
|
DevExtTramp(11)
|
|
DevExtTramp(12)
|
|
DevExtTramp(13)
|
|
DevExtTramp(14)
|
|
DevExtTramp(15)
|
|
DevExtTramp(16)
|
|
DevExtTramp(17)
|
|
DevExtTramp(18)
|
|
DevExtTramp(19)
|
|
DevExtTramp(20)
|
|
DevExtTramp(21)
|
|
DevExtTramp(22)
|
|
DevExtTramp(23)
|
|
DevExtTramp(24)
|
|
DevExtTramp(25)
|
|
DevExtTramp(26)
|
|
DevExtTramp(27)
|
|
DevExtTramp(28)
|
|
DevExtTramp(29)
|
|
DevExtTramp(30)
|
|
DevExtTramp(31)
|
|
DevExtTramp(32)
|
|
DevExtTramp(33)
|
|
DevExtTramp(34)
|
|
DevExtTramp(35)
|
|
DevExtTramp(36)
|
|
DevExtTramp(37)
|
|
DevExtTramp(38)
|
|
DevExtTramp(39)
|
|
DevExtTramp(40)
|
|
DevExtTramp(41)
|
|
DevExtTramp(42)
|
|
DevExtTramp(43)
|
|
DevExtTramp(44)
|
|
DevExtTramp(45)
|
|
DevExtTramp(46)
|
|
DevExtTramp(47)
|
|
DevExtTramp(48)
|
|
DevExtTramp(49)
|
|
DevExtTramp(50)
|
|
DevExtTramp(51)
|
|
DevExtTramp(52)
|
|
DevExtTramp(53)
|
|
DevExtTramp(54)
|
|
DevExtTramp(55)
|
|
DevExtTramp(56)
|
|
DevExtTramp(57)
|
|
DevExtTramp(58)
|
|
DevExtTramp(59)
|
|
DevExtTramp(60)
|
|
DevExtTramp(61)
|
|
DevExtTramp(62)
|
|
DevExtTramp(63)
|
|
DevExtTramp(64)
|
|
DevExtTramp(65)
|
|
DevExtTramp(66)
|
|
DevExtTramp(67)
|
|
DevExtTramp(68)
|
|
DevExtTramp(69)
|
|
DevExtTramp(70)
|
|
DevExtTramp(71)
|
|
DevExtTramp(72)
|
|
DevExtTramp(73)
|
|
DevExtTramp(74)
|
|
DevExtTramp(75)
|
|
DevExtTramp(76)
|
|
DevExtTramp(77)
|
|
DevExtTramp(78)
|
|
DevExtTramp(79)
|
|
DevExtTramp(80)
|
|
DevExtTramp(81)
|
|
DevExtTramp(82)
|
|
DevExtTramp(83)
|
|
DevExtTramp(84)
|
|
DevExtTramp(85)
|
|
DevExtTramp(86)
|
|
DevExtTramp(87)
|
|
DevExtTramp(88)
|
|
DevExtTramp(89)
|
|
DevExtTramp(90)
|
|
DevExtTramp(91)
|
|
DevExtTramp(92)
|
|
DevExtTramp(93)
|
|
DevExtTramp(94)
|
|
DevExtTramp(95)
|
|
DevExtTramp(96)
|
|
DevExtTramp(97)
|
|
DevExtTramp(98)
|
|
DevExtTramp(99)
|
|
DevExtTramp(100)
|
|
DevExtTramp(101)
|
|
DevExtTramp(102)
|
|
DevExtTramp(103)
|
|
DevExtTramp(104)
|
|
DevExtTramp(105)
|
|
DevExtTramp(106)
|
|
DevExtTramp(107)
|
|
DevExtTramp(108)
|
|
DevExtTramp(109)
|
|
DevExtTramp(110)
|
|
DevExtTramp(111)
|
|
DevExtTramp(112)
|
|
DevExtTramp(113)
|
|
DevExtTramp(114)
|
|
DevExtTramp(115)
|
|
DevExtTramp(116)
|
|
DevExtTramp(117)
|
|
DevExtTramp(118)
|
|
DevExtTramp(119)
|
|
DevExtTramp(120)
|
|
DevExtTramp(121)
|
|
DevExtTramp(122)
|
|
DevExtTramp(123)
|
|
DevExtTramp(124)
|
|
DevExtTramp(125)
|
|
DevExtTramp(126)
|
|
DevExtTramp(127)
|
|
DevExtTramp(128)
|
|
DevExtTramp(129)
|
|
DevExtTramp(130)
|
|
DevExtTramp(131)
|
|
DevExtTramp(132)
|
|
DevExtTramp(133)
|
|
DevExtTramp(134)
|
|
DevExtTramp(135)
|
|
DevExtTramp(136)
|
|
DevExtTramp(137)
|
|
DevExtTramp(138)
|
|
DevExtTramp(139)
|
|
DevExtTramp(140)
|
|
DevExtTramp(141)
|
|
DevExtTramp(142)
|
|
DevExtTramp(143)
|
|
DevExtTramp(144)
|
|
DevExtTramp(145)
|
|
DevExtTramp(146)
|
|
DevExtTramp(147)
|
|
DevExtTramp(148)
|
|
DevExtTramp(149)
|
|
DevExtTramp(150)
|
|
DevExtTramp(151)
|
|
DevExtTramp(152)
|
|
DevExtTramp(153)
|
|
DevExtTramp(154)
|
|
DevExtTramp(155)
|
|
DevExtTramp(156)
|
|
DevExtTramp(157)
|
|
DevExtTramp(158)
|
|
DevExtTramp(159)
|
|
DevExtTramp(160)
|
|
DevExtTramp(161)
|
|
DevExtTramp(162)
|
|
DevExtTramp(163)
|
|
DevExtTramp(164)
|
|
DevExtTramp(165)
|
|
DevExtTramp(166)
|
|
DevExtTramp(167)
|
|
DevExtTramp(168)
|
|
DevExtTramp(169)
|
|
DevExtTramp(170)
|
|
DevExtTramp(171)
|
|
DevExtTramp(172)
|
|
DevExtTramp(173)
|
|
DevExtTramp(174)
|
|
DevExtTramp(175)
|
|
DevExtTramp(176)
|
|
DevExtTramp(177)
|
|
DevExtTramp(178)
|
|
DevExtTramp(179)
|
|
DevExtTramp(180)
|
|
DevExtTramp(181)
|
|
DevExtTramp(182)
|
|
DevExtTramp(183)
|
|
DevExtTramp(184)
|
|
DevExtTramp(185)
|
|
DevExtTramp(186)
|
|
DevExtTramp(187)
|
|
DevExtTramp(188)
|
|
DevExtTramp(189)
|
|
DevExtTramp(190)
|
|
DevExtTramp(191)
|
|
DevExtTramp(192)
|
|
DevExtTramp(193)
|
|
DevExtTramp(194)
|
|
DevExtTramp(195)
|
|
DevExtTramp(196)
|
|
DevExtTramp(197)
|
|
DevExtTramp(198)
|
|
DevExtTramp(199)
|
|
DevExtTramp(200)
|
|
DevExtTramp(201)
|
|
DevExtTramp(202)
|
|
DevExtTramp(203)
|
|
DevExtTramp(204)
|
|
DevExtTramp(205)
|
|
DevExtTramp(206)
|
|
DevExtTramp(207)
|
|
DevExtTramp(208)
|
|
DevExtTramp(209)
|
|
DevExtTramp(210)
|
|
DevExtTramp(211)
|
|
DevExtTramp(212)
|
|
DevExtTramp(213)
|
|
DevExtTramp(214)
|
|
DevExtTramp(215)
|
|
DevExtTramp(216)
|
|
DevExtTramp(217)
|
|
DevExtTramp(218)
|
|
DevExtTramp(219)
|
|
DevExtTramp(220)
|
|
DevExtTramp(221)
|
|
DevExtTramp(222)
|
|
DevExtTramp(223)
|
|
DevExtTramp(224)
|
|
DevExtTramp(225)
|
|
DevExtTramp(226)
|
|
DevExtTramp(227)
|
|
DevExtTramp(228)
|
|
DevExtTramp(229)
|
|
DevExtTramp(230)
|
|
DevExtTramp(231)
|
|
DevExtTramp(232)
|
|
DevExtTramp(233)
|
|
DevExtTramp(234)
|
|
DevExtTramp(235)
|
|
DevExtTramp(236)
|
|
DevExtTramp(237)
|
|
DevExtTramp(238)
|
|
DevExtTramp(239)
|
|
DevExtTramp(240)
|
|
DevExtTramp(241)
|
|
DevExtTramp(242)
|
|
DevExtTramp(243)
|
|
DevExtTramp(244)
|
|
DevExtTramp(245)
|
|
DevExtTramp(246)
|
|
DevExtTramp(247)
|
|
DevExtTramp(248)
|
|
DevExtTramp(249)
|