1 //
2 // Copyright (C) 2020 The Android Open Source Project
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15 //
16
17 // clang-format off
18 #include "native_bridge_support/vdso/interceptable_functions.h"
19
20 DEFINE_INTERCEPTABLE_STUB_FUNCTION(android_convertGralloc0To1Usage);
21 DEFINE_INTERCEPTABLE_STUB_FUNCTION(android_convertGralloc1To0Usage);
22 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkAcquireNextImage2KHR);
23 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkAcquireNextImageKHR);
24 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkAllocateCommandBuffers);
25 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkAllocateDescriptorSets);
26 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkAllocateMemory);
27 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkBeginCommandBuffer);
28 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkBindBufferMemory);
29 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkBindBufferMemory2);
30 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkBindImageMemory);
31 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkBindImageMemory2);
32 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBeginQuery);
33 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBeginRenderPass);
34 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBindDescriptorSets);
35 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBindIndexBuffer);
36 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBindPipeline);
37 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBindVertexBuffers);
38 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdBlitImage);
39 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdClearAttachments);
40 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdClearColorImage);
41 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdClearDepthStencilImage);
42 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdCopyBuffer);
43 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdCopyBufferToImage);
44 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdCopyImage);
45 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdCopyImageToBuffer);
46 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdCopyQueryPoolResults);
47 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDispatch);
48 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDispatchBase);
49 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDispatchIndirect);
50 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDraw);
51 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDrawIndexed);
52 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDrawIndexedIndirect);
53 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdDrawIndirect);
54 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdEndQuery);
55 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdEndRenderPass);
56 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdExecuteCommands);
57 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdFillBuffer);
58 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdNextSubpass);
59 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdPipelineBarrier);
60 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdPushConstants);
61 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdResetEvent);
62 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdResetQueryPool);
63 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdResolveImage);
64 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetBlendConstants);
65 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetDepthBias);
66 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetDepthBounds);
67 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetDeviceMask);
68 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetEvent);
69 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetLineWidth);
70 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetScissor);
71 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetStencilCompareMask);
72 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetStencilReference);
73 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetStencilWriteMask);
74 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdSetViewport);
75 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdUpdateBuffer);
76 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdWaitEvents);
77 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCmdWriteTimestamp);
78 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateAndroidSurfaceKHR);
79 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateBuffer);
80 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateBufferView);
81 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateCommandPool);
82 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateComputePipelines);
83 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateDescriptorPool);
84 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateDescriptorSetLayout);
85 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateDescriptorUpdateTemplate);
86 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateDevice);
87 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateEvent);
88 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateFence);
89 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateFramebuffer);
90 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateGraphicsPipelines);
91 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateImage);
92 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateImageView);
93 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateInstance);
94 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreatePipelineCache);
95 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreatePipelineLayout);
96 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateQueryPool);
97 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateRenderPass);
98 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateSampler);
99 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateSamplerYcbcrConversion);
100 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateSemaphore);
101 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateShaderModule);
102 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkCreateSwapchainKHR);
103 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyBuffer);
104 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyBufferView);
105 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyCommandPool);
106 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyDescriptorPool);
107 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyDescriptorSetLayout);
108 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyDescriptorUpdateTemplate);
109 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyDevice);
110 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyEvent);
111 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyFence);
112 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyFramebuffer);
113 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyImage);
114 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyImageView);
115 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyInstance);
116 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyPipeline);
117 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyPipelineCache);
118 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyPipelineLayout);
119 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyQueryPool);
120 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyRenderPass);
121 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroySampler);
122 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroySamplerYcbcrConversion);
123 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroySemaphore);
124 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroyShaderModule);
125 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroySurfaceKHR);
126 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDestroySwapchainKHR);
127 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkDeviceWaitIdle);
128 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEndCommandBuffer);
129 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumerateDeviceExtensionProperties);
130 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumerateDeviceLayerProperties);
131 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumerateInstanceExtensionProperties);
132 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumerateInstanceLayerProperties);
133 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumerateInstanceVersion);
134 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumeratePhysicalDeviceGroups);
135 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkEnumeratePhysicalDevices);
136 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkFlushMappedMemoryRanges);
137 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkFreeCommandBuffers);
138 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkFreeDescriptorSets);
139 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkFreeMemory);
140 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetAndroidHardwareBufferPropertiesANDROID);
141 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetBufferMemoryRequirements);
142 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetBufferMemoryRequirements2);
143 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDescriptorSetLayoutSupport);
144 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceGroupPeerMemoryFeatures);
145 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceGroupPresentCapabilitiesKHR);
146 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceGroupSurfacePresentModesKHR);
147 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceMemoryCommitment);
148 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceProcAddr);
149 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceQueue);
150 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetDeviceQueue2);
151 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetEventStatus);
152 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetFenceStatus);
153 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetImageMemoryRequirements);
154 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetImageMemoryRequirements2);
155 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetImageSparseMemoryRequirements);
156 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetImageSparseMemoryRequirements2);
157 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetImageSubresourceLayout);
158 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetInstanceProcAddr);
159 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetMemoryAndroidHardwareBufferANDROID);
160 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceExternalBufferProperties);
161 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceExternalFenceProperties);
162 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceExternalSemaphoreProperties);
163 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceFeatures);
164 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceFeatures2);
165 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceFormatProperties);
166 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceFormatProperties2);
167 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceImageFormatProperties);
168 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceImageFormatProperties2);
169 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceMemoryProperties);
170 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceMemoryProperties2);
171 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDevicePresentRectanglesKHR);
172 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceProperties);
173 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceProperties2);
174 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceQueueFamilyProperties);
175 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceQueueFamilyProperties2);
176 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceSparseImageFormatProperties);
177 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceSparseImageFormatProperties2);
178 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceSurfaceCapabilitiesKHR);
179 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceSurfaceFormatsKHR);
180 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceSurfacePresentModesKHR);
181 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPhysicalDeviceSurfaceSupportKHR);
182 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetPipelineCacheData);
183 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetQueryPoolResults);
184 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetRenderAreaGranularity);
185 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkGetSwapchainImagesKHR);
186 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkInvalidateMappedMemoryRanges);
187 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkMapMemory);
188 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkMergePipelineCaches);
189 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkQueueBindSparse);
190 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkQueuePresentKHR);
191 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkQueueSubmit);
192 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkQueueWaitIdle);
193 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkResetCommandBuffer);
194 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkResetCommandPool);
195 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkResetDescriptorPool);
196 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkResetEvent);
197 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkResetFences);
198 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkSetEvent);
199 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkTrimCommandPool);
200 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkUnmapMemory);
201 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkUpdateDescriptorSetWithTemplate);
202 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkUpdateDescriptorSets);
203 DEFINE_INTERCEPTABLE_STUB_FUNCTION(vkWaitForFences);
204
init_stub_library()205 static void __attribute__((constructor(0))) init_stub_library() {
206 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", android_convertGralloc0To1Usage);
207 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", android_convertGralloc1To0Usage);
208 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkAcquireNextImage2KHR);
209 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkAcquireNextImageKHR);
210 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkAllocateCommandBuffers);
211 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkAllocateDescriptorSets);
212 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkAllocateMemory);
213 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkBeginCommandBuffer);
214 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkBindBufferMemory);
215 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkBindBufferMemory2);
216 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkBindImageMemory);
217 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkBindImageMemory2);
218 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBeginQuery);
219 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBeginRenderPass);
220 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBindDescriptorSets);
221 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBindIndexBuffer);
222 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBindPipeline);
223 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBindVertexBuffers);
224 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdBlitImage);
225 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdClearAttachments);
226 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdClearColorImage);
227 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdClearDepthStencilImage);
228 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdCopyBuffer);
229 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdCopyBufferToImage);
230 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdCopyImage);
231 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdCopyImageToBuffer);
232 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdCopyQueryPoolResults);
233 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDispatch);
234 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDispatchBase);
235 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDispatchIndirect);
236 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDraw);
237 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDrawIndexed);
238 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDrawIndexedIndirect);
239 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdDrawIndirect);
240 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdEndQuery);
241 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdEndRenderPass);
242 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdExecuteCommands);
243 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdFillBuffer);
244 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdNextSubpass);
245 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdPipelineBarrier);
246 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdPushConstants);
247 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdResetEvent);
248 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdResetQueryPool);
249 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdResolveImage);
250 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetBlendConstants);
251 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetDepthBias);
252 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetDepthBounds);
253 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetDeviceMask);
254 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetEvent);
255 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetLineWidth);
256 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetScissor);
257 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetStencilCompareMask);
258 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetStencilReference);
259 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetStencilWriteMask);
260 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdSetViewport);
261 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdUpdateBuffer);
262 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdWaitEvents);
263 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCmdWriteTimestamp);
264 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateAndroidSurfaceKHR);
265 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateBuffer);
266 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateBufferView);
267 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateCommandPool);
268 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateComputePipelines);
269 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateDescriptorPool);
270 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateDescriptorSetLayout);
271 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateDescriptorUpdateTemplate);
272 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateDevice);
273 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateEvent);
274 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateFence);
275 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateFramebuffer);
276 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateGraphicsPipelines);
277 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateImage);
278 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateImageView);
279 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateInstance);
280 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreatePipelineCache);
281 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreatePipelineLayout);
282 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateQueryPool);
283 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateRenderPass);
284 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateSampler);
285 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateSamplerYcbcrConversion);
286 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateSemaphore);
287 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateShaderModule);
288 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkCreateSwapchainKHR);
289 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyBuffer);
290 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyBufferView);
291 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyCommandPool);
292 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyDescriptorPool);
293 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyDescriptorSetLayout);
294 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyDescriptorUpdateTemplate);
295 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyDevice);
296 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyEvent);
297 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyFence);
298 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyFramebuffer);
299 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyImage);
300 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyImageView);
301 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyInstance);
302 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyPipeline);
303 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyPipelineCache);
304 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyPipelineLayout);
305 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyQueryPool);
306 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyRenderPass);
307 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroySampler);
308 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroySamplerYcbcrConversion);
309 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroySemaphore);
310 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroyShaderModule);
311 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroySurfaceKHR);
312 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDestroySwapchainKHR);
313 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkDeviceWaitIdle);
314 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEndCommandBuffer);
315 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumerateDeviceExtensionProperties);
316 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumerateDeviceLayerProperties);
317 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumerateInstanceExtensionProperties);
318 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumerateInstanceLayerProperties);
319 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumerateInstanceVersion);
320 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumeratePhysicalDeviceGroups);
321 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkEnumeratePhysicalDevices);
322 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkFlushMappedMemoryRanges);
323 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkFreeCommandBuffers);
324 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkFreeDescriptorSets);
325 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkFreeMemory);
326 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetAndroidHardwareBufferPropertiesANDROID);
327 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetBufferMemoryRequirements);
328 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetBufferMemoryRequirements2);
329 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDescriptorSetLayoutSupport);
330 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceGroupPeerMemoryFeatures);
331 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceGroupPresentCapabilitiesKHR);
332 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceGroupSurfacePresentModesKHR);
333 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceMemoryCommitment);
334 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceProcAddr);
335 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceQueue);
336 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetDeviceQueue2);
337 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetEventStatus);
338 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetFenceStatus);
339 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetImageMemoryRequirements);
340 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetImageMemoryRequirements2);
341 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetImageSparseMemoryRequirements);
342 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetImageSparseMemoryRequirements2);
343 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetImageSubresourceLayout);
344 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetInstanceProcAddr);
345 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetMemoryAndroidHardwareBufferANDROID);
346 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceExternalBufferProperties);
347 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceExternalFenceProperties);
348 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceExternalSemaphoreProperties);
349 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceFeatures);
350 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceFeatures2);
351 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceFormatProperties);
352 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceFormatProperties2);
353 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceImageFormatProperties);
354 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceImageFormatProperties2);
355 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceMemoryProperties);
356 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceMemoryProperties2);
357 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDevicePresentRectanglesKHR);
358 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceProperties);
359 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceProperties2);
360 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceQueueFamilyProperties);
361 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceQueueFamilyProperties2);
362 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceSparseImageFormatProperties);
363 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceSparseImageFormatProperties2);
364 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceSurfaceCapabilitiesKHR);
365 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceSurfaceFormatsKHR);
366 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceSurfacePresentModesKHR);
367 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPhysicalDeviceSurfaceSupportKHR);
368 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetPipelineCacheData);
369 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetQueryPoolResults);
370 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetRenderAreaGranularity);
371 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkGetSwapchainImagesKHR);
372 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkInvalidateMappedMemoryRanges);
373 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkMapMemory);
374 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkMergePipelineCaches);
375 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkQueueBindSparse);
376 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkQueuePresentKHR);
377 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkQueueSubmit);
378 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkQueueWaitIdle);
379 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkResetCommandBuffer);
380 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkResetCommandPool);
381 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkResetDescriptorPool);
382 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkResetEvent);
383 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkResetFences);
384 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkSetEvent);
385 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkTrimCommandPool);
386 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkUnmapMemory);
387 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkUpdateDescriptorSetWithTemplate);
388 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkUpdateDescriptorSets);
389 INIT_INTERCEPTABLE_STUB_FUNCTION("libvulkan.so", vkWaitForFences);
390 }
391 // clang-format on
392