1 // Copyright (C) 2018 The Android Open Source Project
2 // Copyright (C) 2018 Google Inc.
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 // Autogenerated module func_table
17 // (impl) generated by android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/genvk.py -registry android/android-emugl/host/libs/libOpenglRender/vulkan-registry/xml/vk.xml cereal -o android/android-emugl/host/libs/libOpenglRender/vulkan/cereal
18 // Please do not modify directly;
19 // re-run android/scripts/generate-vulkan-sources.sh,
20 // or directly from Python by defining:
21 // VULKAN_REGISTRY_XML_DIR : Directory containing genvk.py and vk.xml
22 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
23 // python3 $VULKAN_REGISTRY_XML_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o $CEREAL_OUTPUT_DIR
24
25 #include "func_table.h"
26
27
28 #include "VkEncoder.h"
29 #include "HostConnection.h"
30 #include "ResourceTracker.h"
31
32 #include "goldfish_vk_private_defs.h"
33
34 #include <log/log.h>
35
36 // Stuff we are not going to use but if included,
37 // will cause compile errors. These are Android Vulkan
38 // required extensions, but the approach will be to
39 // implement them completely on the guest side.
40 #undef VK_KHR_android_surface
41
42
43 namespace goldfish_vk {
44
sOnInvalidDynamicallyCheckedCall(const char * apiname,const char * neededFeature)45 static void sOnInvalidDynamicallyCheckedCall(const char* apiname, const char* neededFeature)
46 {
47 ALOGE("invalid call to %s: %s not supported", apiname, neededFeature);
48 abort();
49 }
50 #ifdef VK_VERSION_1_0
entry_vkCreateInstance(const VkInstanceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkInstance * pInstance)51 static VkResult entry_vkCreateInstance(
52 const VkInstanceCreateInfo* pCreateInfo,
53 const VkAllocationCallbacks* pAllocator,
54 VkInstance* pInstance)
55 {
56 AEMU_SCOPED_TRACE("vkCreateInstance");
57 auto vkEnc = HostConnection::get()->vkEncoder();
58 VkResult vkCreateInstance_VkResult_return = (VkResult)0;
59 vkCreateInstance_VkResult_return = vkEnc->vkCreateInstance(pCreateInfo, pAllocator, pInstance);
60 return vkCreateInstance_VkResult_return;
61 }
entry_vkDestroyInstance(VkInstance instance,const VkAllocationCallbacks * pAllocator)62 static void entry_vkDestroyInstance(
63 VkInstance instance,
64 const VkAllocationCallbacks* pAllocator)
65 {
66 AEMU_SCOPED_TRACE("vkDestroyInstance");
67 auto vkEnc = HostConnection::get()->vkEncoder();
68 vkEnc->vkDestroyInstance(instance, pAllocator);
69 }
entry_vkEnumeratePhysicalDevices(VkInstance instance,uint32_t * pPhysicalDeviceCount,VkPhysicalDevice * pPhysicalDevices)70 static VkResult entry_vkEnumeratePhysicalDevices(
71 VkInstance instance,
72 uint32_t* pPhysicalDeviceCount,
73 VkPhysicalDevice* pPhysicalDevices)
74 {
75 AEMU_SCOPED_TRACE("vkEnumeratePhysicalDevices");
76 auto vkEnc = HostConnection::get()->vkEncoder();
77 VkResult vkEnumeratePhysicalDevices_VkResult_return = (VkResult)0;
78 auto resources = ResourceTracker::get();
79 vkEnumeratePhysicalDevices_VkResult_return = resources->on_vkEnumeratePhysicalDevices(vkEnc, VK_SUCCESS, instance, pPhysicalDeviceCount, pPhysicalDevices);
80 return vkEnumeratePhysicalDevices_VkResult_return;
81 }
entry_vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures * pFeatures)82 static void entry_vkGetPhysicalDeviceFeatures(
83 VkPhysicalDevice physicalDevice,
84 VkPhysicalDeviceFeatures* pFeatures)
85 {
86 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceFeatures");
87 auto vkEnc = HostConnection::get()->vkEncoder();
88 vkEnc->vkGetPhysicalDeviceFeatures(physicalDevice, pFeatures);
89 }
entry_vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties * pFormatProperties)90 static void entry_vkGetPhysicalDeviceFormatProperties(
91 VkPhysicalDevice physicalDevice,
92 VkFormat format,
93 VkFormatProperties* pFormatProperties)
94 {
95 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceFormatProperties");
96 auto vkEnc = HostConnection::get()->vkEncoder();
97 vkEnc->vkGetPhysicalDeviceFormatProperties(physicalDevice, format, pFormatProperties);
98 }
entry_vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkImageFormatProperties * pImageFormatProperties)99 static VkResult entry_vkGetPhysicalDeviceImageFormatProperties(
100 VkPhysicalDevice physicalDevice,
101 VkFormat format,
102 VkImageType type,
103 VkImageTiling tiling,
104 VkImageUsageFlags usage,
105 VkImageCreateFlags flags,
106 VkImageFormatProperties* pImageFormatProperties)
107 {
108 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceImageFormatProperties");
109 auto vkEnc = HostConnection::get()->vkEncoder();
110 VkResult vkGetPhysicalDeviceImageFormatProperties_VkResult_return = (VkResult)0;
111 vkGetPhysicalDeviceImageFormatProperties_VkResult_return = vkEnc->vkGetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
112 return vkGetPhysicalDeviceImageFormatProperties_VkResult_return;
113 }
entry_vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties * pProperties)114 static void entry_vkGetPhysicalDeviceProperties(
115 VkPhysicalDevice physicalDevice,
116 VkPhysicalDeviceProperties* pProperties)
117 {
118 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceProperties");
119 auto vkEnc = HostConnection::get()->vkEncoder();
120 vkEnc->vkGetPhysicalDeviceProperties(physicalDevice, pProperties);
121 }
entry_vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties * pQueueFamilyProperties)122 static void entry_vkGetPhysicalDeviceQueueFamilyProperties(
123 VkPhysicalDevice physicalDevice,
124 uint32_t* pQueueFamilyPropertyCount,
125 VkQueueFamilyProperties* pQueueFamilyProperties)
126 {
127 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceQueueFamilyProperties");
128 auto vkEnc = HostConnection::get()->vkEncoder();
129 vkEnc->vkGetPhysicalDeviceQueueFamilyProperties(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
130 }
entry_vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties * pMemoryProperties)131 static void entry_vkGetPhysicalDeviceMemoryProperties(
132 VkPhysicalDevice physicalDevice,
133 VkPhysicalDeviceMemoryProperties* pMemoryProperties)
134 {
135 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceMemoryProperties");
136 auto vkEnc = HostConnection::get()->vkEncoder();
137 vkEnc->vkGetPhysicalDeviceMemoryProperties(physicalDevice, pMemoryProperties);
138 }
entry_vkGetInstanceProcAddr(VkInstance instance,const char * pName)139 static PFN_vkVoidFunction entry_vkGetInstanceProcAddr(
140 VkInstance instance,
141 const char* pName)
142 {
143 AEMU_SCOPED_TRACE("vkGetInstanceProcAddr");
144 auto vkEnc = HostConnection::get()->vkEncoder();
145 PFN_vkVoidFunction vkGetInstanceProcAddr_PFN_vkVoidFunction_return = (PFN_vkVoidFunction)0;
146 vkGetInstanceProcAddr_PFN_vkVoidFunction_return = vkEnc->vkGetInstanceProcAddr(instance, pName);
147 return vkGetInstanceProcAddr_PFN_vkVoidFunction_return;
148 }
entry_vkGetDeviceProcAddr(VkDevice device,const char * pName)149 static PFN_vkVoidFunction entry_vkGetDeviceProcAddr(
150 VkDevice device,
151 const char* pName)
152 {
153 AEMU_SCOPED_TRACE("vkGetDeviceProcAddr");
154 auto vkEnc = HostConnection::get()->vkEncoder();
155 PFN_vkVoidFunction vkGetDeviceProcAddr_PFN_vkVoidFunction_return = (PFN_vkVoidFunction)0;
156 vkGetDeviceProcAddr_PFN_vkVoidFunction_return = vkEnc->vkGetDeviceProcAddr(device, pName);
157 return vkGetDeviceProcAddr_PFN_vkVoidFunction_return;
158 }
entry_vkCreateDevice(VkPhysicalDevice physicalDevice,const VkDeviceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDevice * pDevice)159 static VkResult entry_vkCreateDevice(
160 VkPhysicalDevice physicalDevice,
161 const VkDeviceCreateInfo* pCreateInfo,
162 const VkAllocationCallbacks* pAllocator,
163 VkDevice* pDevice)
164 {
165 AEMU_SCOPED_TRACE("vkCreateDevice");
166 auto vkEnc = HostConnection::get()->vkEncoder();
167 VkResult vkCreateDevice_VkResult_return = (VkResult)0;
168 vkCreateDevice_VkResult_return = vkEnc->vkCreateDevice(physicalDevice, pCreateInfo, pAllocator, pDevice);
169 return vkCreateDevice_VkResult_return;
170 }
entry_vkDestroyDevice(VkDevice device,const VkAllocationCallbacks * pAllocator)171 static void entry_vkDestroyDevice(
172 VkDevice device,
173 const VkAllocationCallbacks* pAllocator)
174 {
175 AEMU_SCOPED_TRACE("vkDestroyDevice");
176 auto vkEnc = HostConnection::get()->vkEncoder();
177 vkEnc->vkDestroyDevice(device, pAllocator);
178 }
entry_vkEnumerateInstanceExtensionProperties(const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties)179 static VkResult entry_vkEnumerateInstanceExtensionProperties(
180 const char* pLayerName,
181 uint32_t* pPropertyCount,
182 VkExtensionProperties* pProperties)
183 {
184 AEMU_SCOPED_TRACE("vkEnumerateInstanceExtensionProperties");
185 auto vkEnc = HostConnection::get()->vkEncoder();
186 VkResult vkEnumerateInstanceExtensionProperties_VkResult_return = (VkResult)0;
187 auto resources = ResourceTracker::get();
188 vkEnumerateInstanceExtensionProperties_VkResult_return = resources->on_vkEnumerateInstanceExtensionProperties(vkEnc, VK_SUCCESS, pLayerName, pPropertyCount, pProperties);
189 return vkEnumerateInstanceExtensionProperties_VkResult_return;
190 }
entry_vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties)191 static VkResult entry_vkEnumerateDeviceExtensionProperties(
192 VkPhysicalDevice physicalDevice,
193 const char* pLayerName,
194 uint32_t* pPropertyCount,
195 VkExtensionProperties* pProperties)
196 {
197 AEMU_SCOPED_TRACE("vkEnumerateDeviceExtensionProperties");
198 auto vkEnc = HostConnection::get()->vkEncoder();
199 VkResult vkEnumerateDeviceExtensionProperties_VkResult_return = (VkResult)0;
200 auto resources = ResourceTracker::get();
201 vkEnumerateDeviceExtensionProperties_VkResult_return = resources->on_vkEnumerateDeviceExtensionProperties(vkEnc, VK_SUCCESS, physicalDevice, pLayerName, pPropertyCount, pProperties);
202 return vkEnumerateDeviceExtensionProperties_VkResult_return;
203 }
entry_vkEnumerateInstanceLayerProperties(uint32_t * pPropertyCount,VkLayerProperties * pProperties)204 static VkResult entry_vkEnumerateInstanceLayerProperties(
205 uint32_t* pPropertyCount,
206 VkLayerProperties* pProperties)
207 {
208 AEMU_SCOPED_TRACE("vkEnumerateInstanceLayerProperties");
209 auto vkEnc = HostConnection::get()->vkEncoder();
210 VkResult vkEnumerateInstanceLayerProperties_VkResult_return = (VkResult)0;
211 vkEnumerateInstanceLayerProperties_VkResult_return = vkEnc->vkEnumerateInstanceLayerProperties(pPropertyCount, pProperties);
212 return vkEnumerateInstanceLayerProperties_VkResult_return;
213 }
entry_vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkLayerProperties * pProperties)214 static VkResult entry_vkEnumerateDeviceLayerProperties(
215 VkPhysicalDevice physicalDevice,
216 uint32_t* pPropertyCount,
217 VkLayerProperties* pProperties)
218 {
219 AEMU_SCOPED_TRACE("vkEnumerateDeviceLayerProperties");
220 auto vkEnc = HostConnection::get()->vkEncoder();
221 VkResult vkEnumerateDeviceLayerProperties_VkResult_return = (VkResult)0;
222 vkEnumerateDeviceLayerProperties_VkResult_return = vkEnc->vkEnumerateDeviceLayerProperties(physicalDevice, pPropertyCount, pProperties);
223 return vkEnumerateDeviceLayerProperties_VkResult_return;
224 }
entry_vkGetDeviceQueue(VkDevice device,uint32_t queueFamilyIndex,uint32_t queueIndex,VkQueue * pQueue)225 static void entry_vkGetDeviceQueue(
226 VkDevice device,
227 uint32_t queueFamilyIndex,
228 uint32_t queueIndex,
229 VkQueue* pQueue)
230 {
231 AEMU_SCOPED_TRACE("vkGetDeviceQueue");
232 auto vkEnc = HostConnection::get()->vkEncoder();
233 vkEnc->vkGetDeviceQueue(device, queueFamilyIndex, queueIndex, pQueue);
234 }
entry_vkQueueSubmit(VkQueue queue,uint32_t submitCount,const VkSubmitInfo * pSubmits,VkFence fence)235 static VkResult entry_vkQueueSubmit(
236 VkQueue queue,
237 uint32_t submitCount,
238 const VkSubmitInfo* pSubmits,
239 VkFence fence)
240 {
241 AEMU_SCOPED_TRACE("vkQueueSubmit");
242 auto vkEnc = HostConnection::get()->vkEncoder();
243 ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
244 VkResult vkQueueSubmit_VkResult_return = (VkResult)0;
245 auto resources = ResourceTracker::get();
246 vkQueueSubmit_VkResult_return = resources->on_vkQueueSubmit(vkEnc, VK_SUCCESS, queue, submitCount, pSubmits, fence);
247 return vkQueueSubmit_VkResult_return;
248 }
entry_vkQueueWaitIdle(VkQueue queue)249 static VkResult entry_vkQueueWaitIdle(
250 VkQueue queue)
251 {
252 AEMU_SCOPED_TRACE("vkQueueWaitIdle");
253 auto vkEnc = HostConnection::get()->vkEncoder();
254 ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
255 VkResult vkQueueWaitIdle_VkResult_return = (VkResult)0;
256 auto resources = ResourceTracker::get();
257 vkQueueWaitIdle_VkResult_return = resources->on_vkQueueWaitIdle(vkEnc, VK_SUCCESS, queue);
258 return vkQueueWaitIdle_VkResult_return;
259 }
entry_vkDeviceWaitIdle(VkDevice device)260 static VkResult entry_vkDeviceWaitIdle(
261 VkDevice device)
262 {
263 AEMU_SCOPED_TRACE("vkDeviceWaitIdle");
264 auto vkEnc = HostConnection::get()->vkEncoder();
265 VkResult vkDeviceWaitIdle_VkResult_return = (VkResult)0;
266 vkDeviceWaitIdle_VkResult_return = vkEnc->vkDeviceWaitIdle(device);
267 return vkDeviceWaitIdle_VkResult_return;
268 }
entry_vkAllocateMemory(VkDevice device,const VkMemoryAllocateInfo * pAllocateInfo,const VkAllocationCallbacks * pAllocator,VkDeviceMemory * pMemory)269 static VkResult entry_vkAllocateMemory(
270 VkDevice device,
271 const VkMemoryAllocateInfo* pAllocateInfo,
272 const VkAllocationCallbacks* pAllocator,
273 VkDeviceMemory* pMemory)
274 {
275 AEMU_SCOPED_TRACE("vkAllocateMemory");
276 auto vkEnc = HostConnection::get()->vkEncoder();
277 VkResult vkAllocateMemory_VkResult_return = (VkResult)0;
278 auto resources = ResourceTracker::get();
279 vkAllocateMemory_VkResult_return = resources->on_vkAllocateMemory(vkEnc, VK_SUCCESS, device, pAllocateInfo, pAllocator, pMemory);
280 return vkAllocateMemory_VkResult_return;
281 }
entry_vkFreeMemory(VkDevice device,VkDeviceMemory memory,const VkAllocationCallbacks * pAllocator)282 static void entry_vkFreeMemory(
283 VkDevice device,
284 VkDeviceMemory memory,
285 const VkAllocationCallbacks* pAllocator)
286 {
287 AEMU_SCOPED_TRACE("vkFreeMemory");
288 auto vkEnc = HostConnection::get()->vkEncoder();
289 auto resources = ResourceTracker::get();
290 resources->on_vkFreeMemory(vkEnc, device, memory, pAllocator);
291 }
entry_vkMapMemory(VkDevice device,VkDeviceMemory memory,VkDeviceSize offset,VkDeviceSize size,VkMemoryMapFlags flags,void ** ppData)292 static VkResult entry_vkMapMemory(
293 VkDevice device,
294 VkDeviceMemory memory,
295 VkDeviceSize offset,
296 VkDeviceSize size,
297 VkMemoryMapFlags flags,
298 void** ppData)
299 {
300 AEMU_SCOPED_TRACE("vkMapMemory");
301 auto vkEnc = HostConnection::get()->vkEncoder();
302 VkResult vkMapMemory_VkResult_return = (VkResult)0;
303 vkMapMemory_VkResult_return = vkEnc->vkMapMemory(device, memory, offset, size, flags, ppData);
304 return vkMapMemory_VkResult_return;
305 }
entry_vkUnmapMemory(VkDevice device,VkDeviceMemory memory)306 static void entry_vkUnmapMemory(
307 VkDevice device,
308 VkDeviceMemory memory)
309 {
310 AEMU_SCOPED_TRACE("vkUnmapMemory");
311 auto vkEnc = HostConnection::get()->vkEncoder();
312 vkEnc->vkUnmapMemory(device, memory);
313 }
entry_vkFlushMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges)314 static VkResult entry_vkFlushMappedMemoryRanges(
315 VkDevice device,
316 uint32_t memoryRangeCount,
317 const VkMappedMemoryRange* pMemoryRanges)
318 {
319 AEMU_SCOPED_TRACE("vkFlushMappedMemoryRanges");
320 auto vkEnc = HostConnection::get()->vkEncoder();
321 VkResult vkFlushMappedMemoryRanges_VkResult_return = (VkResult)0;
322 vkFlushMappedMemoryRanges_VkResult_return = vkEnc->vkFlushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
323 return vkFlushMappedMemoryRanges_VkResult_return;
324 }
entry_vkInvalidateMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges)325 static VkResult entry_vkInvalidateMappedMemoryRanges(
326 VkDevice device,
327 uint32_t memoryRangeCount,
328 const VkMappedMemoryRange* pMemoryRanges)
329 {
330 AEMU_SCOPED_TRACE("vkInvalidateMappedMemoryRanges");
331 auto vkEnc = HostConnection::get()->vkEncoder();
332 VkResult vkInvalidateMappedMemoryRanges_VkResult_return = (VkResult)0;
333 vkInvalidateMappedMemoryRanges_VkResult_return = vkEnc->vkInvalidateMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
334 return vkInvalidateMappedMemoryRanges_VkResult_return;
335 }
entry_vkGetDeviceMemoryCommitment(VkDevice device,VkDeviceMemory memory,VkDeviceSize * pCommittedMemoryInBytes)336 static void entry_vkGetDeviceMemoryCommitment(
337 VkDevice device,
338 VkDeviceMemory memory,
339 VkDeviceSize* pCommittedMemoryInBytes)
340 {
341 AEMU_SCOPED_TRACE("vkGetDeviceMemoryCommitment");
342 auto vkEnc = HostConnection::get()->vkEncoder();
343 vkEnc->vkGetDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes);
344 }
entry_vkBindBufferMemory(VkDevice device,VkBuffer buffer,VkDeviceMemory memory,VkDeviceSize memoryOffset)345 static VkResult entry_vkBindBufferMemory(
346 VkDevice device,
347 VkBuffer buffer,
348 VkDeviceMemory memory,
349 VkDeviceSize memoryOffset)
350 {
351 AEMU_SCOPED_TRACE("vkBindBufferMemory");
352 auto vkEnc = HostConnection::get()->vkEncoder();
353 VkResult vkBindBufferMemory_VkResult_return = (VkResult)0;
354 auto resources = ResourceTracker::get();
355 vkBindBufferMemory_VkResult_return = resources->on_vkBindBufferMemory(vkEnc, VK_SUCCESS, device, buffer, memory, memoryOffset);
356 return vkBindBufferMemory_VkResult_return;
357 }
entry_vkBindImageMemory(VkDevice device,VkImage image,VkDeviceMemory memory,VkDeviceSize memoryOffset)358 static VkResult entry_vkBindImageMemory(
359 VkDevice device,
360 VkImage image,
361 VkDeviceMemory memory,
362 VkDeviceSize memoryOffset)
363 {
364 AEMU_SCOPED_TRACE("vkBindImageMemory");
365 auto vkEnc = HostConnection::get()->vkEncoder();
366 VkResult vkBindImageMemory_VkResult_return = (VkResult)0;
367 auto resources = ResourceTracker::get();
368 vkBindImageMemory_VkResult_return = resources->on_vkBindImageMemory(vkEnc, VK_SUCCESS, device, image, memory, memoryOffset);
369 return vkBindImageMemory_VkResult_return;
370 }
entry_vkGetBufferMemoryRequirements(VkDevice device,VkBuffer buffer,VkMemoryRequirements * pMemoryRequirements)371 static void entry_vkGetBufferMemoryRequirements(
372 VkDevice device,
373 VkBuffer buffer,
374 VkMemoryRequirements* pMemoryRequirements)
375 {
376 AEMU_SCOPED_TRACE("vkGetBufferMemoryRequirements");
377 auto vkEnc = HostConnection::get()->vkEncoder();
378 auto resources = ResourceTracker::get();
379 resources->on_vkGetBufferMemoryRequirements(vkEnc, device, buffer, pMemoryRequirements);
380 }
entry_vkGetImageMemoryRequirements(VkDevice device,VkImage image,VkMemoryRequirements * pMemoryRequirements)381 static void entry_vkGetImageMemoryRequirements(
382 VkDevice device,
383 VkImage image,
384 VkMemoryRequirements* pMemoryRequirements)
385 {
386 AEMU_SCOPED_TRACE("vkGetImageMemoryRequirements");
387 auto vkEnc = HostConnection::get()->vkEncoder();
388 auto resources = ResourceTracker::get();
389 resources->on_vkGetImageMemoryRequirements(vkEnc, device, image, pMemoryRequirements);
390 }
entry_vkGetImageSparseMemoryRequirements(VkDevice device,VkImage image,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements * pSparseMemoryRequirements)391 static void entry_vkGetImageSparseMemoryRequirements(
392 VkDevice device,
393 VkImage image,
394 uint32_t* pSparseMemoryRequirementCount,
395 VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
396 {
397 AEMU_SCOPED_TRACE("vkGetImageSparseMemoryRequirements");
398 auto vkEnc = HostConnection::get()->vkEncoder();
399 vkEnc->vkGetImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
400 }
entry_vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkSampleCountFlagBits samples,VkImageUsageFlags usage,VkImageTiling tiling,uint32_t * pPropertyCount,VkSparseImageFormatProperties * pProperties)401 static void entry_vkGetPhysicalDeviceSparseImageFormatProperties(
402 VkPhysicalDevice physicalDevice,
403 VkFormat format,
404 VkImageType type,
405 VkSampleCountFlagBits samples,
406 VkImageUsageFlags usage,
407 VkImageTiling tiling,
408 uint32_t* pPropertyCount,
409 VkSparseImageFormatProperties* pProperties)
410 {
411 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSparseImageFormatProperties");
412 auto vkEnc = HostConnection::get()->vkEncoder();
413 vkEnc->vkGetPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);
414 }
entry_vkQueueBindSparse(VkQueue queue,uint32_t bindInfoCount,const VkBindSparseInfo * pBindInfo,VkFence fence)415 static VkResult entry_vkQueueBindSparse(
416 VkQueue queue,
417 uint32_t bindInfoCount,
418 const VkBindSparseInfo* pBindInfo,
419 VkFence fence)
420 {
421 AEMU_SCOPED_TRACE("vkQueueBindSparse");
422 auto vkEnc = HostConnection::get()->vkEncoder();
423 ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
424 VkResult vkQueueBindSparse_VkResult_return = (VkResult)0;
425 vkQueueBindSparse_VkResult_return = vkEnc->vkQueueBindSparse(queue, bindInfoCount, pBindInfo, fence);
426 return vkQueueBindSparse_VkResult_return;
427 }
entry_vkCreateFence(VkDevice device,const VkFenceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence)428 static VkResult entry_vkCreateFence(
429 VkDevice device,
430 const VkFenceCreateInfo* pCreateInfo,
431 const VkAllocationCallbacks* pAllocator,
432 VkFence* pFence)
433 {
434 AEMU_SCOPED_TRACE("vkCreateFence");
435 auto vkEnc = HostConnection::get()->vkEncoder();
436 VkResult vkCreateFence_VkResult_return = (VkResult)0;
437 auto resources = ResourceTracker::get();
438 vkCreateFence_VkResult_return = resources->on_vkCreateFence(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pFence);
439 return vkCreateFence_VkResult_return;
440 }
entry_vkDestroyFence(VkDevice device,VkFence fence,const VkAllocationCallbacks * pAllocator)441 static void entry_vkDestroyFence(
442 VkDevice device,
443 VkFence fence,
444 const VkAllocationCallbacks* pAllocator)
445 {
446 AEMU_SCOPED_TRACE("vkDestroyFence");
447 auto vkEnc = HostConnection::get()->vkEncoder();
448 vkEnc->vkDestroyFence(device, fence, pAllocator);
449 }
entry_vkResetFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences)450 static VkResult entry_vkResetFences(
451 VkDevice device,
452 uint32_t fenceCount,
453 const VkFence* pFences)
454 {
455 AEMU_SCOPED_TRACE("vkResetFences");
456 auto vkEnc = HostConnection::get()->vkEncoder();
457 VkResult vkResetFences_VkResult_return = (VkResult)0;
458 auto resources = ResourceTracker::get();
459 vkResetFences_VkResult_return = resources->on_vkResetFences(vkEnc, VK_SUCCESS, device, fenceCount, pFences);
460 return vkResetFences_VkResult_return;
461 }
entry_vkGetFenceStatus(VkDevice device,VkFence fence)462 static VkResult entry_vkGetFenceStatus(
463 VkDevice device,
464 VkFence fence)
465 {
466 AEMU_SCOPED_TRACE("vkGetFenceStatus");
467 auto vkEnc = HostConnection::get()->vkEncoder();
468 VkResult vkGetFenceStatus_VkResult_return = (VkResult)0;
469 vkGetFenceStatus_VkResult_return = vkEnc->vkGetFenceStatus(device, fence);
470 return vkGetFenceStatus_VkResult_return;
471 }
entry_vkWaitForFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences,VkBool32 waitAll,uint64_t timeout)472 static VkResult entry_vkWaitForFences(
473 VkDevice device,
474 uint32_t fenceCount,
475 const VkFence* pFences,
476 VkBool32 waitAll,
477 uint64_t timeout)
478 {
479 AEMU_SCOPED_TRACE("vkWaitForFences");
480 auto vkEnc = HostConnection::get()->vkEncoder();
481 VkResult vkWaitForFences_VkResult_return = (VkResult)0;
482 auto resources = ResourceTracker::get();
483 vkWaitForFences_VkResult_return = resources->on_vkWaitForFences(vkEnc, VK_SUCCESS, device, fenceCount, pFences, waitAll, timeout);
484 return vkWaitForFences_VkResult_return;
485 }
entry_vkCreateSemaphore(VkDevice device,const VkSemaphoreCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSemaphore * pSemaphore)486 static VkResult entry_vkCreateSemaphore(
487 VkDevice device,
488 const VkSemaphoreCreateInfo* pCreateInfo,
489 const VkAllocationCallbacks* pAllocator,
490 VkSemaphore* pSemaphore)
491 {
492 AEMU_SCOPED_TRACE("vkCreateSemaphore");
493 auto vkEnc = HostConnection::get()->vkEncoder();
494 VkResult vkCreateSemaphore_VkResult_return = (VkResult)0;
495 auto resources = ResourceTracker::get();
496 vkCreateSemaphore_VkResult_return = resources->on_vkCreateSemaphore(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pSemaphore);
497 return vkCreateSemaphore_VkResult_return;
498 }
entry_vkDestroySemaphore(VkDevice device,VkSemaphore semaphore,const VkAllocationCallbacks * pAllocator)499 static void entry_vkDestroySemaphore(
500 VkDevice device,
501 VkSemaphore semaphore,
502 const VkAllocationCallbacks* pAllocator)
503 {
504 AEMU_SCOPED_TRACE("vkDestroySemaphore");
505 auto vkEnc = HostConnection::get()->vkEncoder();
506 auto resources = ResourceTracker::get();
507 resources->on_vkDestroySemaphore(vkEnc, device, semaphore, pAllocator);
508 }
entry_vkCreateEvent(VkDevice device,const VkEventCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkEvent * pEvent)509 static VkResult entry_vkCreateEvent(
510 VkDevice device,
511 const VkEventCreateInfo* pCreateInfo,
512 const VkAllocationCallbacks* pAllocator,
513 VkEvent* pEvent)
514 {
515 AEMU_SCOPED_TRACE("vkCreateEvent");
516 auto vkEnc = HostConnection::get()->vkEncoder();
517 VkResult vkCreateEvent_VkResult_return = (VkResult)0;
518 vkCreateEvent_VkResult_return = vkEnc->vkCreateEvent(device, pCreateInfo, pAllocator, pEvent);
519 return vkCreateEvent_VkResult_return;
520 }
entry_vkDestroyEvent(VkDevice device,VkEvent event,const VkAllocationCallbacks * pAllocator)521 static void entry_vkDestroyEvent(
522 VkDevice device,
523 VkEvent event,
524 const VkAllocationCallbacks* pAllocator)
525 {
526 AEMU_SCOPED_TRACE("vkDestroyEvent");
527 auto vkEnc = HostConnection::get()->vkEncoder();
528 vkEnc->vkDestroyEvent(device, event, pAllocator);
529 }
entry_vkGetEventStatus(VkDevice device,VkEvent event)530 static VkResult entry_vkGetEventStatus(
531 VkDevice device,
532 VkEvent event)
533 {
534 AEMU_SCOPED_TRACE("vkGetEventStatus");
535 auto vkEnc = HostConnection::get()->vkEncoder();
536 VkResult vkGetEventStatus_VkResult_return = (VkResult)0;
537 vkGetEventStatus_VkResult_return = vkEnc->vkGetEventStatus(device, event);
538 return vkGetEventStatus_VkResult_return;
539 }
entry_vkSetEvent(VkDevice device,VkEvent event)540 static VkResult entry_vkSetEvent(
541 VkDevice device,
542 VkEvent event)
543 {
544 AEMU_SCOPED_TRACE("vkSetEvent");
545 auto vkEnc = HostConnection::get()->vkEncoder();
546 VkResult vkSetEvent_VkResult_return = (VkResult)0;
547 vkSetEvent_VkResult_return = vkEnc->vkSetEvent(device, event);
548 return vkSetEvent_VkResult_return;
549 }
entry_vkResetEvent(VkDevice device,VkEvent event)550 static VkResult entry_vkResetEvent(
551 VkDevice device,
552 VkEvent event)
553 {
554 AEMU_SCOPED_TRACE("vkResetEvent");
555 auto vkEnc = HostConnection::get()->vkEncoder();
556 VkResult vkResetEvent_VkResult_return = (VkResult)0;
557 vkResetEvent_VkResult_return = vkEnc->vkResetEvent(device, event);
558 return vkResetEvent_VkResult_return;
559 }
entry_vkCreateQueryPool(VkDevice device,const VkQueryPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkQueryPool * pQueryPool)560 static VkResult entry_vkCreateQueryPool(
561 VkDevice device,
562 const VkQueryPoolCreateInfo* pCreateInfo,
563 const VkAllocationCallbacks* pAllocator,
564 VkQueryPool* pQueryPool)
565 {
566 AEMU_SCOPED_TRACE("vkCreateQueryPool");
567 auto vkEnc = HostConnection::get()->vkEncoder();
568 VkResult vkCreateQueryPool_VkResult_return = (VkResult)0;
569 vkCreateQueryPool_VkResult_return = vkEnc->vkCreateQueryPool(device, pCreateInfo, pAllocator, pQueryPool);
570 return vkCreateQueryPool_VkResult_return;
571 }
entry_vkDestroyQueryPool(VkDevice device,VkQueryPool queryPool,const VkAllocationCallbacks * pAllocator)572 static void entry_vkDestroyQueryPool(
573 VkDevice device,
574 VkQueryPool queryPool,
575 const VkAllocationCallbacks* pAllocator)
576 {
577 AEMU_SCOPED_TRACE("vkDestroyQueryPool");
578 auto vkEnc = HostConnection::get()->vkEncoder();
579 vkEnc->vkDestroyQueryPool(device, queryPool, pAllocator);
580 }
entry_vkGetQueryPoolResults(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,size_t dataSize,void * pData,VkDeviceSize stride,VkQueryResultFlags flags)581 static VkResult entry_vkGetQueryPoolResults(
582 VkDevice device,
583 VkQueryPool queryPool,
584 uint32_t firstQuery,
585 uint32_t queryCount,
586 size_t dataSize,
587 void* pData,
588 VkDeviceSize stride,
589 VkQueryResultFlags flags)
590 {
591 AEMU_SCOPED_TRACE("vkGetQueryPoolResults");
592 auto vkEnc = HostConnection::get()->vkEncoder();
593 VkResult vkGetQueryPoolResults_VkResult_return = (VkResult)0;
594 vkGetQueryPoolResults_VkResult_return = vkEnc->vkGetQueryPoolResults(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
595 return vkGetQueryPoolResults_VkResult_return;
596 }
entry_vkCreateBuffer(VkDevice device,const VkBufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBuffer * pBuffer)597 static VkResult entry_vkCreateBuffer(
598 VkDevice device,
599 const VkBufferCreateInfo* pCreateInfo,
600 const VkAllocationCallbacks* pAllocator,
601 VkBuffer* pBuffer)
602 {
603 AEMU_SCOPED_TRACE("vkCreateBuffer");
604 auto vkEnc = HostConnection::get()->vkEncoder();
605 VkResult vkCreateBuffer_VkResult_return = (VkResult)0;
606 auto resources = ResourceTracker::get();
607 vkCreateBuffer_VkResult_return = resources->on_vkCreateBuffer(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pBuffer);
608 return vkCreateBuffer_VkResult_return;
609 }
entry_vkDestroyBuffer(VkDevice device,VkBuffer buffer,const VkAllocationCallbacks * pAllocator)610 static void entry_vkDestroyBuffer(
611 VkDevice device,
612 VkBuffer buffer,
613 const VkAllocationCallbacks* pAllocator)
614 {
615 AEMU_SCOPED_TRACE("vkDestroyBuffer");
616 auto vkEnc = HostConnection::get()->vkEncoder();
617 auto resources = ResourceTracker::get();
618 resources->on_vkDestroyBuffer(vkEnc, device, buffer, pAllocator);
619 }
entry_vkCreateBufferView(VkDevice device,const VkBufferViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferView * pView)620 static VkResult entry_vkCreateBufferView(
621 VkDevice device,
622 const VkBufferViewCreateInfo* pCreateInfo,
623 const VkAllocationCallbacks* pAllocator,
624 VkBufferView* pView)
625 {
626 AEMU_SCOPED_TRACE("vkCreateBufferView");
627 auto vkEnc = HostConnection::get()->vkEncoder();
628 VkResult vkCreateBufferView_VkResult_return = (VkResult)0;
629 vkCreateBufferView_VkResult_return = vkEnc->vkCreateBufferView(device, pCreateInfo, pAllocator, pView);
630 return vkCreateBufferView_VkResult_return;
631 }
entry_vkDestroyBufferView(VkDevice device,VkBufferView bufferView,const VkAllocationCallbacks * pAllocator)632 static void entry_vkDestroyBufferView(
633 VkDevice device,
634 VkBufferView bufferView,
635 const VkAllocationCallbacks* pAllocator)
636 {
637 AEMU_SCOPED_TRACE("vkDestroyBufferView");
638 auto vkEnc = HostConnection::get()->vkEncoder();
639 vkEnc->vkDestroyBufferView(device, bufferView, pAllocator);
640 }
entry_vkCreateImage(VkDevice device,const VkImageCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImage * pImage)641 static VkResult entry_vkCreateImage(
642 VkDevice device,
643 const VkImageCreateInfo* pCreateInfo,
644 const VkAllocationCallbacks* pAllocator,
645 VkImage* pImage)
646 {
647 AEMU_SCOPED_TRACE("vkCreateImage");
648 auto vkEnc = HostConnection::get()->vkEncoder();
649 VkResult vkCreateImage_VkResult_return = (VkResult)0;
650 auto resources = ResourceTracker::get();
651 vkCreateImage_VkResult_return = resources->on_vkCreateImage(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pImage);
652 return vkCreateImage_VkResult_return;
653 }
entry_vkDestroyImage(VkDevice device,VkImage image,const VkAllocationCallbacks * pAllocator)654 static void entry_vkDestroyImage(
655 VkDevice device,
656 VkImage image,
657 const VkAllocationCallbacks* pAllocator)
658 {
659 AEMU_SCOPED_TRACE("vkDestroyImage");
660 auto vkEnc = HostConnection::get()->vkEncoder();
661 auto resources = ResourceTracker::get();
662 resources->on_vkDestroyImage(vkEnc, device, image, pAllocator);
663 }
entry_vkGetImageSubresourceLayout(VkDevice device,VkImage image,const VkImageSubresource * pSubresource,VkSubresourceLayout * pLayout)664 static void entry_vkGetImageSubresourceLayout(
665 VkDevice device,
666 VkImage image,
667 const VkImageSubresource* pSubresource,
668 VkSubresourceLayout* pLayout)
669 {
670 AEMU_SCOPED_TRACE("vkGetImageSubresourceLayout");
671 auto vkEnc = HostConnection::get()->vkEncoder();
672 vkEnc->vkGetImageSubresourceLayout(device, image, pSubresource, pLayout);
673 }
entry_vkCreateImageView(VkDevice device,const VkImageViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImageView * pView)674 static VkResult entry_vkCreateImageView(
675 VkDevice device,
676 const VkImageViewCreateInfo* pCreateInfo,
677 const VkAllocationCallbacks* pAllocator,
678 VkImageView* pView)
679 {
680 AEMU_SCOPED_TRACE("vkCreateImageView");
681 auto vkEnc = HostConnection::get()->vkEncoder();
682 VkResult vkCreateImageView_VkResult_return = (VkResult)0;
683 auto resources = ResourceTracker::get();
684 vkCreateImageView_VkResult_return = resources->on_vkCreateImageView(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pView);
685 return vkCreateImageView_VkResult_return;
686 }
entry_vkDestroyImageView(VkDevice device,VkImageView imageView,const VkAllocationCallbacks * pAllocator)687 static void entry_vkDestroyImageView(
688 VkDevice device,
689 VkImageView imageView,
690 const VkAllocationCallbacks* pAllocator)
691 {
692 AEMU_SCOPED_TRACE("vkDestroyImageView");
693 auto vkEnc = HostConnection::get()->vkEncoder();
694 vkEnc->vkDestroyImageView(device, imageView, pAllocator);
695 }
entry_vkCreateShaderModule(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkShaderModule * pShaderModule)696 static VkResult entry_vkCreateShaderModule(
697 VkDevice device,
698 const VkShaderModuleCreateInfo* pCreateInfo,
699 const VkAllocationCallbacks* pAllocator,
700 VkShaderModule* pShaderModule)
701 {
702 AEMU_SCOPED_TRACE("vkCreateShaderModule");
703 auto vkEnc = HostConnection::get()->vkEncoder();
704 VkResult vkCreateShaderModule_VkResult_return = (VkResult)0;
705 vkCreateShaderModule_VkResult_return = vkEnc->vkCreateShaderModule(device, pCreateInfo, pAllocator, pShaderModule);
706 return vkCreateShaderModule_VkResult_return;
707 }
entry_vkDestroyShaderModule(VkDevice device,VkShaderModule shaderModule,const VkAllocationCallbacks * pAllocator)708 static void entry_vkDestroyShaderModule(
709 VkDevice device,
710 VkShaderModule shaderModule,
711 const VkAllocationCallbacks* pAllocator)
712 {
713 AEMU_SCOPED_TRACE("vkDestroyShaderModule");
714 auto vkEnc = HostConnection::get()->vkEncoder();
715 vkEnc->vkDestroyShaderModule(device, shaderModule, pAllocator);
716 }
entry_vkCreatePipelineCache(VkDevice device,const VkPipelineCacheCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineCache * pPipelineCache)717 static VkResult entry_vkCreatePipelineCache(
718 VkDevice device,
719 const VkPipelineCacheCreateInfo* pCreateInfo,
720 const VkAllocationCallbacks* pAllocator,
721 VkPipelineCache* pPipelineCache)
722 {
723 AEMU_SCOPED_TRACE("vkCreatePipelineCache");
724 auto vkEnc = HostConnection::get()->vkEncoder();
725 VkResult vkCreatePipelineCache_VkResult_return = (VkResult)0;
726 vkCreatePipelineCache_VkResult_return = vkEnc->vkCreatePipelineCache(device, pCreateInfo, pAllocator, pPipelineCache);
727 return vkCreatePipelineCache_VkResult_return;
728 }
entry_vkDestroyPipelineCache(VkDevice device,VkPipelineCache pipelineCache,const VkAllocationCallbacks * pAllocator)729 static void entry_vkDestroyPipelineCache(
730 VkDevice device,
731 VkPipelineCache pipelineCache,
732 const VkAllocationCallbacks* pAllocator)
733 {
734 AEMU_SCOPED_TRACE("vkDestroyPipelineCache");
735 auto vkEnc = HostConnection::get()->vkEncoder();
736 vkEnc->vkDestroyPipelineCache(device, pipelineCache, pAllocator);
737 }
entry_vkGetPipelineCacheData(VkDevice device,VkPipelineCache pipelineCache,size_t * pDataSize,void * pData)738 static VkResult entry_vkGetPipelineCacheData(
739 VkDevice device,
740 VkPipelineCache pipelineCache,
741 size_t* pDataSize,
742 void* pData)
743 {
744 AEMU_SCOPED_TRACE("vkGetPipelineCacheData");
745 auto vkEnc = HostConnection::get()->vkEncoder();
746 VkResult vkGetPipelineCacheData_VkResult_return = (VkResult)0;
747 vkGetPipelineCacheData_VkResult_return = vkEnc->vkGetPipelineCacheData(device, pipelineCache, pDataSize, pData);
748 return vkGetPipelineCacheData_VkResult_return;
749 }
entry_vkMergePipelineCaches(VkDevice device,VkPipelineCache dstCache,uint32_t srcCacheCount,const VkPipelineCache * pSrcCaches)750 static VkResult entry_vkMergePipelineCaches(
751 VkDevice device,
752 VkPipelineCache dstCache,
753 uint32_t srcCacheCount,
754 const VkPipelineCache* pSrcCaches)
755 {
756 AEMU_SCOPED_TRACE("vkMergePipelineCaches");
757 auto vkEnc = HostConnection::get()->vkEncoder();
758 VkResult vkMergePipelineCaches_VkResult_return = (VkResult)0;
759 vkMergePipelineCaches_VkResult_return = vkEnc->vkMergePipelineCaches(device, dstCache, srcCacheCount, pSrcCaches);
760 return vkMergePipelineCaches_VkResult_return;
761 }
entry_vkCreateGraphicsPipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkGraphicsPipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines)762 static VkResult entry_vkCreateGraphicsPipelines(
763 VkDevice device,
764 VkPipelineCache pipelineCache,
765 uint32_t createInfoCount,
766 const VkGraphicsPipelineCreateInfo* pCreateInfos,
767 const VkAllocationCallbacks* pAllocator,
768 VkPipeline* pPipelines)
769 {
770 AEMU_SCOPED_TRACE("vkCreateGraphicsPipelines");
771 auto vkEnc = HostConnection::get()->vkEncoder();
772 VkResult vkCreateGraphicsPipelines_VkResult_return = (VkResult)0;
773 vkCreateGraphicsPipelines_VkResult_return = vkEnc->vkCreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
774 return vkCreateGraphicsPipelines_VkResult_return;
775 }
entry_vkCreateComputePipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkComputePipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines)776 static VkResult entry_vkCreateComputePipelines(
777 VkDevice device,
778 VkPipelineCache pipelineCache,
779 uint32_t createInfoCount,
780 const VkComputePipelineCreateInfo* pCreateInfos,
781 const VkAllocationCallbacks* pAllocator,
782 VkPipeline* pPipelines)
783 {
784 AEMU_SCOPED_TRACE("vkCreateComputePipelines");
785 auto vkEnc = HostConnection::get()->vkEncoder();
786 VkResult vkCreateComputePipelines_VkResult_return = (VkResult)0;
787 vkCreateComputePipelines_VkResult_return = vkEnc->vkCreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
788 return vkCreateComputePipelines_VkResult_return;
789 }
entry_vkDestroyPipeline(VkDevice device,VkPipeline pipeline,const VkAllocationCallbacks * pAllocator)790 static void entry_vkDestroyPipeline(
791 VkDevice device,
792 VkPipeline pipeline,
793 const VkAllocationCallbacks* pAllocator)
794 {
795 AEMU_SCOPED_TRACE("vkDestroyPipeline");
796 auto vkEnc = HostConnection::get()->vkEncoder();
797 vkEnc->vkDestroyPipeline(device, pipeline, pAllocator);
798 }
entry_vkCreatePipelineLayout(VkDevice device,const VkPipelineLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineLayout * pPipelineLayout)799 static VkResult entry_vkCreatePipelineLayout(
800 VkDevice device,
801 const VkPipelineLayoutCreateInfo* pCreateInfo,
802 const VkAllocationCallbacks* pAllocator,
803 VkPipelineLayout* pPipelineLayout)
804 {
805 AEMU_SCOPED_TRACE("vkCreatePipelineLayout");
806 auto vkEnc = HostConnection::get()->vkEncoder();
807 VkResult vkCreatePipelineLayout_VkResult_return = (VkResult)0;
808 vkCreatePipelineLayout_VkResult_return = vkEnc->vkCreatePipelineLayout(device, pCreateInfo, pAllocator, pPipelineLayout);
809 return vkCreatePipelineLayout_VkResult_return;
810 }
entry_vkDestroyPipelineLayout(VkDevice device,VkPipelineLayout pipelineLayout,const VkAllocationCallbacks * pAllocator)811 static void entry_vkDestroyPipelineLayout(
812 VkDevice device,
813 VkPipelineLayout pipelineLayout,
814 const VkAllocationCallbacks* pAllocator)
815 {
816 AEMU_SCOPED_TRACE("vkDestroyPipelineLayout");
817 auto vkEnc = HostConnection::get()->vkEncoder();
818 vkEnc->vkDestroyPipelineLayout(device, pipelineLayout, pAllocator);
819 }
entry_vkCreateSampler(VkDevice device,const VkSamplerCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSampler * pSampler)820 static VkResult entry_vkCreateSampler(
821 VkDevice device,
822 const VkSamplerCreateInfo* pCreateInfo,
823 const VkAllocationCallbacks* pAllocator,
824 VkSampler* pSampler)
825 {
826 AEMU_SCOPED_TRACE("vkCreateSampler");
827 auto vkEnc = HostConnection::get()->vkEncoder();
828 VkResult vkCreateSampler_VkResult_return = (VkResult)0;
829 auto resources = ResourceTracker::get();
830 vkCreateSampler_VkResult_return = resources->on_vkCreateSampler(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pSampler);
831 return vkCreateSampler_VkResult_return;
832 }
entry_vkDestroySampler(VkDevice device,VkSampler sampler,const VkAllocationCallbacks * pAllocator)833 static void entry_vkDestroySampler(
834 VkDevice device,
835 VkSampler sampler,
836 const VkAllocationCallbacks* pAllocator)
837 {
838 AEMU_SCOPED_TRACE("vkDestroySampler");
839 auto vkEnc = HostConnection::get()->vkEncoder();
840 vkEnc->vkDestroySampler(device, sampler, pAllocator);
841 }
entry_vkCreateDescriptorSetLayout(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorSetLayout * pSetLayout)842 static VkResult entry_vkCreateDescriptorSetLayout(
843 VkDevice device,
844 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
845 const VkAllocationCallbacks* pAllocator,
846 VkDescriptorSetLayout* pSetLayout)
847 {
848 AEMU_SCOPED_TRACE("vkCreateDescriptorSetLayout");
849 auto vkEnc = HostConnection::get()->vkEncoder();
850 VkResult vkCreateDescriptorSetLayout_VkResult_return = (VkResult)0;
851 auto resources = ResourceTracker::get();
852 vkCreateDescriptorSetLayout_VkResult_return = resources->on_vkCreateDescriptorSetLayout(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pSetLayout);
853 return vkCreateDescriptorSetLayout_VkResult_return;
854 }
entry_vkDestroyDescriptorSetLayout(VkDevice device,VkDescriptorSetLayout descriptorSetLayout,const VkAllocationCallbacks * pAllocator)855 static void entry_vkDestroyDescriptorSetLayout(
856 VkDevice device,
857 VkDescriptorSetLayout descriptorSetLayout,
858 const VkAllocationCallbacks* pAllocator)
859 {
860 AEMU_SCOPED_TRACE("vkDestroyDescriptorSetLayout");
861 auto vkEnc = HostConnection::get()->vkEncoder();
862 vkEnc->vkDestroyDescriptorSetLayout(device, descriptorSetLayout, pAllocator);
863 }
entry_vkCreateDescriptorPool(VkDevice device,const VkDescriptorPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorPool * pDescriptorPool)864 static VkResult entry_vkCreateDescriptorPool(
865 VkDevice device,
866 const VkDescriptorPoolCreateInfo* pCreateInfo,
867 const VkAllocationCallbacks* pAllocator,
868 VkDescriptorPool* pDescriptorPool)
869 {
870 AEMU_SCOPED_TRACE("vkCreateDescriptorPool");
871 auto vkEnc = HostConnection::get()->vkEncoder();
872 VkResult vkCreateDescriptorPool_VkResult_return = (VkResult)0;
873 auto resources = ResourceTracker::get();
874 vkCreateDescriptorPool_VkResult_return = resources->on_vkCreateDescriptorPool(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pDescriptorPool);
875 return vkCreateDescriptorPool_VkResult_return;
876 }
entry_vkDestroyDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,const VkAllocationCallbacks * pAllocator)877 static void entry_vkDestroyDescriptorPool(
878 VkDevice device,
879 VkDescriptorPool descriptorPool,
880 const VkAllocationCallbacks* pAllocator)
881 {
882 AEMU_SCOPED_TRACE("vkDestroyDescriptorPool");
883 auto vkEnc = HostConnection::get()->vkEncoder();
884 auto resources = ResourceTracker::get();
885 resources->on_vkDestroyDescriptorPool(vkEnc, device, descriptorPool, pAllocator);
886 }
entry_vkResetDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,VkDescriptorPoolResetFlags flags)887 static VkResult entry_vkResetDescriptorPool(
888 VkDevice device,
889 VkDescriptorPool descriptorPool,
890 VkDescriptorPoolResetFlags flags)
891 {
892 AEMU_SCOPED_TRACE("vkResetDescriptorPool");
893 auto vkEnc = HostConnection::get()->vkEncoder();
894 VkResult vkResetDescriptorPool_VkResult_return = (VkResult)0;
895 auto resources = ResourceTracker::get();
896 vkResetDescriptorPool_VkResult_return = resources->on_vkResetDescriptorPool(vkEnc, VK_SUCCESS, device, descriptorPool, flags);
897 return vkResetDescriptorPool_VkResult_return;
898 }
entry_vkAllocateDescriptorSets(VkDevice device,const VkDescriptorSetAllocateInfo * pAllocateInfo,VkDescriptorSet * pDescriptorSets)899 static VkResult entry_vkAllocateDescriptorSets(
900 VkDevice device,
901 const VkDescriptorSetAllocateInfo* pAllocateInfo,
902 VkDescriptorSet* pDescriptorSets)
903 {
904 AEMU_SCOPED_TRACE("vkAllocateDescriptorSets");
905 auto vkEnc = HostConnection::get()->vkEncoder();
906 VkResult vkAllocateDescriptorSets_VkResult_return = (VkResult)0;
907 auto resources = ResourceTracker::get();
908 vkAllocateDescriptorSets_VkResult_return = resources->on_vkAllocateDescriptorSets(vkEnc, VK_SUCCESS, device, pAllocateInfo, pDescriptorSets);
909 return vkAllocateDescriptorSets_VkResult_return;
910 }
entry_vkFreeDescriptorSets(VkDevice device,VkDescriptorPool descriptorPool,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets)911 static VkResult entry_vkFreeDescriptorSets(
912 VkDevice device,
913 VkDescriptorPool descriptorPool,
914 uint32_t descriptorSetCount,
915 const VkDescriptorSet* pDescriptorSets)
916 {
917 AEMU_SCOPED_TRACE("vkFreeDescriptorSets");
918 auto vkEnc = HostConnection::get()->vkEncoder();
919 VkResult vkFreeDescriptorSets_VkResult_return = (VkResult)0;
920 auto resources = ResourceTracker::get();
921 vkFreeDescriptorSets_VkResult_return = resources->on_vkFreeDescriptorSets(vkEnc, VK_SUCCESS, device, descriptorPool, descriptorSetCount, pDescriptorSets);
922 return vkFreeDescriptorSets_VkResult_return;
923 }
entry_vkUpdateDescriptorSets(VkDevice device,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites,uint32_t descriptorCopyCount,const VkCopyDescriptorSet * pDescriptorCopies)924 static void entry_vkUpdateDescriptorSets(
925 VkDevice device,
926 uint32_t descriptorWriteCount,
927 const VkWriteDescriptorSet* pDescriptorWrites,
928 uint32_t descriptorCopyCount,
929 const VkCopyDescriptorSet* pDescriptorCopies)
930 {
931 AEMU_SCOPED_TRACE("vkUpdateDescriptorSets");
932 auto vkEnc = HostConnection::get()->vkEncoder();
933 auto resources = ResourceTracker::get();
934 resources->on_vkUpdateDescriptorSets(vkEnc, device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
935 }
entry_vkCreateFramebuffer(VkDevice device,const VkFramebufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFramebuffer * pFramebuffer)936 static VkResult entry_vkCreateFramebuffer(
937 VkDevice device,
938 const VkFramebufferCreateInfo* pCreateInfo,
939 const VkAllocationCallbacks* pAllocator,
940 VkFramebuffer* pFramebuffer)
941 {
942 AEMU_SCOPED_TRACE("vkCreateFramebuffer");
943 auto vkEnc = HostConnection::get()->vkEncoder();
944 VkResult vkCreateFramebuffer_VkResult_return = (VkResult)0;
945 vkCreateFramebuffer_VkResult_return = vkEnc->vkCreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer);
946 return vkCreateFramebuffer_VkResult_return;
947 }
entry_vkDestroyFramebuffer(VkDevice device,VkFramebuffer framebuffer,const VkAllocationCallbacks * pAllocator)948 static void entry_vkDestroyFramebuffer(
949 VkDevice device,
950 VkFramebuffer framebuffer,
951 const VkAllocationCallbacks* pAllocator)
952 {
953 AEMU_SCOPED_TRACE("vkDestroyFramebuffer");
954 auto vkEnc = HostConnection::get()->vkEncoder();
955 vkEnc->vkDestroyFramebuffer(device, framebuffer, pAllocator);
956 }
entry_vkCreateRenderPass(VkDevice device,const VkRenderPassCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass)957 static VkResult entry_vkCreateRenderPass(
958 VkDevice device,
959 const VkRenderPassCreateInfo* pCreateInfo,
960 const VkAllocationCallbacks* pAllocator,
961 VkRenderPass* pRenderPass)
962 {
963 AEMU_SCOPED_TRACE("vkCreateRenderPass");
964 auto vkEnc = HostConnection::get()->vkEncoder();
965 VkResult vkCreateRenderPass_VkResult_return = (VkResult)0;
966 vkCreateRenderPass_VkResult_return = vkEnc->vkCreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass);
967 return vkCreateRenderPass_VkResult_return;
968 }
entry_vkDestroyRenderPass(VkDevice device,VkRenderPass renderPass,const VkAllocationCallbacks * pAllocator)969 static void entry_vkDestroyRenderPass(
970 VkDevice device,
971 VkRenderPass renderPass,
972 const VkAllocationCallbacks* pAllocator)
973 {
974 AEMU_SCOPED_TRACE("vkDestroyRenderPass");
975 auto vkEnc = HostConnection::get()->vkEncoder();
976 vkEnc->vkDestroyRenderPass(device, renderPass, pAllocator);
977 }
entry_vkGetRenderAreaGranularity(VkDevice device,VkRenderPass renderPass,VkExtent2D * pGranularity)978 static void entry_vkGetRenderAreaGranularity(
979 VkDevice device,
980 VkRenderPass renderPass,
981 VkExtent2D* pGranularity)
982 {
983 AEMU_SCOPED_TRACE("vkGetRenderAreaGranularity");
984 auto vkEnc = HostConnection::get()->vkEncoder();
985 vkEnc->vkGetRenderAreaGranularity(device, renderPass, pGranularity);
986 }
entry_vkCreateCommandPool(VkDevice device,const VkCommandPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCommandPool * pCommandPool)987 static VkResult entry_vkCreateCommandPool(
988 VkDevice device,
989 const VkCommandPoolCreateInfo* pCreateInfo,
990 const VkAllocationCallbacks* pAllocator,
991 VkCommandPool* pCommandPool)
992 {
993 AEMU_SCOPED_TRACE("vkCreateCommandPool");
994 auto vkEnc = HostConnection::get()->vkEncoder();
995 VkResult vkCreateCommandPool_VkResult_return = (VkResult)0;
996 vkCreateCommandPool_VkResult_return = vkEnc->vkCreateCommandPool(device, pCreateInfo, pAllocator, pCommandPool);
997 return vkCreateCommandPool_VkResult_return;
998 }
entry_vkDestroyCommandPool(VkDevice device,VkCommandPool commandPool,const VkAllocationCallbacks * pAllocator)999 static void entry_vkDestroyCommandPool(
1000 VkDevice device,
1001 VkCommandPool commandPool,
1002 const VkAllocationCallbacks* pAllocator)
1003 {
1004 AEMU_SCOPED_TRACE("vkDestroyCommandPool");
1005 auto vkEnc = HostConnection::get()->vkEncoder();
1006 vkEnc->vkDestroyCommandPool(device, commandPool, pAllocator);
1007 }
entry_vkResetCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolResetFlags flags)1008 static VkResult entry_vkResetCommandPool(
1009 VkDevice device,
1010 VkCommandPool commandPool,
1011 VkCommandPoolResetFlags flags)
1012 {
1013 AEMU_SCOPED_TRACE("vkResetCommandPool");
1014 auto vkEnc = HostConnection::get()->vkEncoder();
1015 VkResult vkResetCommandPool_VkResult_return = (VkResult)0;
1016 vkResetCommandPool_VkResult_return = vkEnc->vkResetCommandPool(device, commandPool, flags);
1017 return vkResetCommandPool_VkResult_return;
1018 }
entry_vkAllocateCommandBuffers(VkDevice device,const VkCommandBufferAllocateInfo * pAllocateInfo,VkCommandBuffer * pCommandBuffers)1019 static VkResult entry_vkAllocateCommandBuffers(
1020 VkDevice device,
1021 const VkCommandBufferAllocateInfo* pAllocateInfo,
1022 VkCommandBuffer* pCommandBuffers)
1023 {
1024 AEMU_SCOPED_TRACE("vkAllocateCommandBuffers");
1025 auto vkEnc = HostConnection::get()->vkEncoder();
1026 VkResult vkAllocateCommandBuffers_VkResult_return = (VkResult)0;
1027 vkAllocateCommandBuffers_VkResult_return = vkEnc->vkAllocateCommandBuffers(device, pAllocateInfo, pCommandBuffers);
1028 return vkAllocateCommandBuffers_VkResult_return;
1029 }
entry_vkFreeCommandBuffers(VkDevice device,VkCommandPool commandPool,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers)1030 static void entry_vkFreeCommandBuffers(
1031 VkDevice device,
1032 VkCommandPool commandPool,
1033 uint32_t commandBufferCount,
1034 const VkCommandBuffer* pCommandBuffers)
1035 {
1036 AEMU_SCOPED_TRACE("vkFreeCommandBuffers");
1037 auto vkEnc = HostConnection::get()->vkEncoder();
1038 vkEnc->vkFreeCommandBuffers(device, commandPool, commandBufferCount, pCommandBuffers);
1039 }
entry_vkBeginCommandBuffer(VkCommandBuffer commandBuffer,const VkCommandBufferBeginInfo * pBeginInfo)1040 static VkResult entry_vkBeginCommandBuffer(
1041 VkCommandBuffer commandBuffer,
1042 const VkCommandBufferBeginInfo* pBeginInfo)
1043 {
1044 AEMU_SCOPED_TRACE("vkBeginCommandBuffer");
1045 auto vkEnc = HostConnection::get()->vkEncoder();
1046 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1047 VkResult vkBeginCommandBuffer_VkResult_return = (VkResult)0;
1048 auto resources = ResourceTracker::get();
1049 vkBeginCommandBuffer_VkResult_return = resources->on_vkBeginCommandBuffer(vkEnc, VK_SUCCESS, commandBuffer, pBeginInfo);
1050 return vkBeginCommandBuffer_VkResult_return;
1051 }
entry_vkEndCommandBuffer(VkCommandBuffer commandBuffer)1052 static VkResult entry_vkEndCommandBuffer(
1053 VkCommandBuffer commandBuffer)
1054 {
1055 AEMU_SCOPED_TRACE("vkEndCommandBuffer");
1056 auto vkEnc = HostConnection::get()->vkEncoder();
1057 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1058 VkResult vkEndCommandBuffer_VkResult_return = (VkResult)0;
1059 auto resources = ResourceTracker::get();
1060 vkEndCommandBuffer_VkResult_return = resources->on_vkEndCommandBuffer(vkEnc, VK_SUCCESS, commandBuffer);
1061 return vkEndCommandBuffer_VkResult_return;
1062 }
entry_vkResetCommandBuffer(VkCommandBuffer commandBuffer,VkCommandBufferResetFlags flags)1063 static VkResult entry_vkResetCommandBuffer(
1064 VkCommandBuffer commandBuffer,
1065 VkCommandBufferResetFlags flags)
1066 {
1067 AEMU_SCOPED_TRACE("vkResetCommandBuffer");
1068 auto vkEnc = HostConnection::get()->vkEncoder();
1069 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1070 VkResult vkResetCommandBuffer_VkResult_return = (VkResult)0;
1071 auto resources = ResourceTracker::get();
1072 vkResetCommandBuffer_VkResult_return = resources->on_vkResetCommandBuffer(vkEnc, VK_SUCCESS, commandBuffer, flags);
1073 return vkResetCommandBuffer_VkResult_return;
1074 }
entry_vkCmdBindPipeline(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline)1075 static void entry_vkCmdBindPipeline(
1076 VkCommandBuffer commandBuffer,
1077 VkPipelineBindPoint pipelineBindPoint,
1078 VkPipeline pipeline)
1079 {
1080 AEMU_SCOPED_TRACE("vkCmdBindPipeline");
1081 auto vkEnc = HostConnection::get()->vkEncoder();
1082 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1083 vkEnc->vkCmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline);
1084 }
entry_vkCmdSetViewport(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewport * pViewports)1085 static void entry_vkCmdSetViewport(
1086 VkCommandBuffer commandBuffer,
1087 uint32_t firstViewport,
1088 uint32_t viewportCount,
1089 const VkViewport* pViewports)
1090 {
1091 AEMU_SCOPED_TRACE("vkCmdSetViewport");
1092 auto vkEnc = HostConnection::get()->vkEncoder();
1093 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1094 vkEnc->vkCmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports);
1095 }
entry_vkCmdSetScissor(VkCommandBuffer commandBuffer,uint32_t firstScissor,uint32_t scissorCount,const VkRect2D * pScissors)1096 static void entry_vkCmdSetScissor(
1097 VkCommandBuffer commandBuffer,
1098 uint32_t firstScissor,
1099 uint32_t scissorCount,
1100 const VkRect2D* pScissors)
1101 {
1102 AEMU_SCOPED_TRACE("vkCmdSetScissor");
1103 auto vkEnc = HostConnection::get()->vkEncoder();
1104 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1105 vkEnc->vkCmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors);
1106 }
entry_vkCmdSetLineWidth(VkCommandBuffer commandBuffer,float lineWidth)1107 static void entry_vkCmdSetLineWidth(
1108 VkCommandBuffer commandBuffer,
1109 float lineWidth)
1110 {
1111 AEMU_SCOPED_TRACE("vkCmdSetLineWidth");
1112 auto vkEnc = HostConnection::get()->vkEncoder();
1113 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1114 vkEnc->vkCmdSetLineWidth(commandBuffer, lineWidth);
1115 }
entry_vkCmdSetDepthBias(VkCommandBuffer commandBuffer,float depthBiasConstantFactor,float depthBiasClamp,float depthBiasSlopeFactor)1116 static void entry_vkCmdSetDepthBias(
1117 VkCommandBuffer commandBuffer,
1118 float depthBiasConstantFactor,
1119 float depthBiasClamp,
1120 float depthBiasSlopeFactor)
1121 {
1122 AEMU_SCOPED_TRACE("vkCmdSetDepthBias");
1123 auto vkEnc = HostConnection::get()->vkEncoder();
1124 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1125 vkEnc->vkCmdSetDepthBias(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
1126 }
entry_vkCmdSetBlendConstants(VkCommandBuffer commandBuffer,const float blendConstants[4])1127 static void entry_vkCmdSetBlendConstants(
1128 VkCommandBuffer commandBuffer,
1129 const float blendConstants[4])
1130 {
1131 AEMU_SCOPED_TRACE("vkCmdSetBlendConstants");
1132 auto vkEnc = HostConnection::get()->vkEncoder();
1133 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1134 vkEnc->vkCmdSetBlendConstants(commandBuffer, blendConstants);
1135 }
entry_vkCmdSetDepthBounds(VkCommandBuffer commandBuffer,float minDepthBounds,float maxDepthBounds)1136 static void entry_vkCmdSetDepthBounds(
1137 VkCommandBuffer commandBuffer,
1138 float minDepthBounds,
1139 float maxDepthBounds)
1140 {
1141 AEMU_SCOPED_TRACE("vkCmdSetDepthBounds");
1142 auto vkEnc = HostConnection::get()->vkEncoder();
1143 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1144 vkEnc->vkCmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds);
1145 }
entry_vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t compareMask)1146 static void entry_vkCmdSetStencilCompareMask(
1147 VkCommandBuffer commandBuffer,
1148 VkStencilFaceFlags faceMask,
1149 uint32_t compareMask)
1150 {
1151 AEMU_SCOPED_TRACE("vkCmdSetStencilCompareMask");
1152 auto vkEnc = HostConnection::get()->vkEncoder();
1153 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1154 vkEnc->vkCmdSetStencilCompareMask(commandBuffer, faceMask, compareMask);
1155 }
entry_vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t writeMask)1156 static void entry_vkCmdSetStencilWriteMask(
1157 VkCommandBuffer commandBuffer,
1158 VkStencilFaceFlags faceMask,
1159 uint32_t writeMask)
1160 {
1161 AEMU_SCOPED_TRACE("vkCmdSetStencilWriteMask");
1162 auto vkEnc = HostConnection::get()->vkEncoder();
1163 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1164 vkEnc->vkCmdSetStencilWriteMask(commandBuffer, faceMask, writeMask);
1165 }
entry_vkCmdSetStencilReference(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t reference)1166 static void entry_vkCmdSetStencilReference(
1167 VkCommandBuffer commandBuffer,
1168 VkStencilFaceFlags faceMask,
1169 uint32_t reference)
1170 {
1171 AEMU_SCOPED_TRACE("vkCmdSetStencilReference");
1172 auto vkEnc = HostConnection::get()->vkEncoder();
1173 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1174 vkEnc->vkCmdSetStencilReference(commandBuffer, faceMask, reference);
1175 }
entry_vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets,uint32_t dynamicOffsetCount,const uint32_t * pDynamicOffsets)1176 static void entry_vkCmdBindDescriptorSets(
1177 VkCommandBuffer commandBuffer,
1178 VkPipelineBindPoint pipelineBindPoint,
1179 VkPipelineLayout layout,
1180 uint32_t firstSet,
1181 uint32_t descriptorSetCount,
1182 const VkDescriptorSet* pDescriptorSets,
1183 uint32_t dynamicOffsetCount,
1184 const uint32_t* pDynamicOffsets)
1185 {
1186 AEMU_SCOPED_TRACE("vkCmdBindDescriptorSets");
1187 auto vkEnc = HostConnection::get()->vkEncoder();
1188 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1189 vkEnc->vkCmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
1190 }
entry_vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkIndexType indexType)1191 static void entry_vkCmdBindIndexBuffer(
1192 VkCommandBuffer commandBuffer,
1193 VkBuffer buffer,
1194 VkDeviceSize offset,
1195 VkIndexType indexType)
1196 {
1197 AEMU_SCOPED_TRACE("vkCmdBindIndexBuffer");
1198 auto vkEnc = HostConnection::get()->vkEncoder();
1199 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1200 vkEnc->vkCmdBindIndexBuffer(commandBuffer, buffer, offset, indexType);
1201 }
entry_vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets)1202 static void entry_vkCmdBindVertexBuffers(
1203 VkCommandBuffer commandBuffer,
1204 uint32_t firstBinding,
1205 uint32_t bindingCount,
1206 const VkBuffer* pBuffers,
1207 const VkDeviceSize* pOffsets)
1208 {
1209 AEMU_SCOPED_TRACE("vkCmdBindVertexBuffers");
1210 auto vkEnc = HostConnection::get()->vkEncoder();
1211 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1212 vkEnc->vkCmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
1213 }
entry_vkCmdDraw(VkCommandBuffer commandBuffer,uint32_t vertexCount,uint32_t instanceCount,uint32_t firstVertex,uint32_t firstInstance)1214 static void entry_vkCmdDraw(
1215 VkCommandBuffer commandBuffer,
1216 uint32_t vertexCount,
1217 uint32_t instanceCount,
1218 uint32_t firstVertex,
1219 uint32_t firstInstance)
1220 {
1221 AEMU_SCOPED_TRACE("vkCmdDraw");
1222 auto vkEnc = HostConnection::get()->vkEncoder();
1223 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1224 vkEnc->vkCmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
1225 }
entry_vkCmdDrawIndexed(VkCommandBuffer commandBuffer,uint32_t indexCount,uint32_t instanceCount,uint32_t firstIndex,int32_t vertexOffset,uint32_t firstInstance)1226 static void entry_vkCmdDrawIndexed(
1227 VkCommandBuffer commandBuffer,
1228 uint32_t indexCount,
1229 uint32_t instanceCount,
1230 uint32_t firstIndex,
1231 int32_t vertexOffset,
1232 uint32_t firstInstance)
1233 {
1234 AEMU_SCOPED_TRACE("vkCmdDrawIndexed");
1235 auto vkEnc = HostConnection::get()->vkEncoder();
1236 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1237 vkEnc->vkCmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
1238 }
entry_vkCmdDrawIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride)1239 static void entry_vkCmdDrawIndirect(
1240 VkCommandBuffer commandBuffer,
1241 VkBuffer buffer,
1242 VkDeviceSize offset,
1243 uint32_t drawCount,
1244 uint32_t stride)
1245 {
1246 AEMU_SCOPED_TRACE("vkCmdDrawIndirect");
1247 auto vkEnc = HostConnection::get()->vkEncoder();
1248 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1249 vkEnc->vkCmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride);
1250 }
entry_vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride)1251 static void entry_vkCmdDrawIndexedIndirect(
1252 VkCommandBuffer commandBuffer,
1253 VkBuffer buffer,
1254 VkDeviceSize offset,
1255 uint32_t drawCount,
1256 uint32_t stride)
1257 {
1258 AEMU_SCOPED_TRACE("vkCmdDrawIndexedIndirect");
1259 auto vkEnc = HostConnection::get()->vkEncoder();
1260 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1261 vkEnc->vkCmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride);
1262 }
entry_vkCmdDispatch(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ)1263 static void entry_vkCmdDispatch(
1264 VkCommandBuffer commandBuffer,
1265 uint32_t groupCountX,
1266 uint32_t groupCountY,
1267 uint32_t groupCountZ)
1268 {
1269 AEMU_SCOPED_TRACE("vkCmdDispatch");
1270 auto vkEnc = HostConnection::get()->vkEncoder();
1271 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1272 vkEnc->vkCmdDispatch(commandBuffer, groupCountX, groupCountY, groupCountZ);
1273 }
entry_vkCmdDispatchIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset)1274 static void entry_vkCmdDispatchIndirect(
1275 VkCommandBuffer commandBuffer,
1276 VkBuffer buffer,
1277 VkDeviceSize offset)
1278 {
1279 AEMU_SCOPED_TRACE("vkCmdDispatchIndirect");
1280 auto vkEnc = HostConnection::get()->vkEncoder();
1281 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1282 vkEnc->vkCmdDispatchIndirect(commandBuffer, buffer, offset);
1283 }
entry_vkCmdCopyBuffer(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferCopy * pRegions)1284 static void entry_vkCmdCopyBuffer(
1285 VkCommandBuffer commandBuffer,
1286 VkBuffer srcBuffer,
1287 VkBuffer dstBuffer,
1288 uint32_t regionCount,
1289 const VkBufferCopy* pRegions)
1290 {
1291 AEMU_SCOPED_TRACE("vkCmdCopyBuffer");
1292 auto vkEnc = HostConnection::get()->vkEncoder();
1293 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1294 vkEnc->vkCmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
1295 }
entry_vkCmdCopyImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageCopy * pRegions)1296 static void entry_vkCmdCopyImage(
1297 VkCommandBuffer commandBuffer,
1298 VkImage srcImage,
1299 VkImageLayout srcImageLayout,
1300 VkImage dstImage,
1301 VkImageLayout dstImageLayout,
1302 uint32_t regionCount,
1303 const VkImageCopy* pRegions)
1304 {
1305 AEMU_SCOPED_TRACE("vkCmdCopyImage");
1306 auto vkEnc = HostConnection::get()->vkEncoder();
1307 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1308 vkEnc->vkCmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
1309 }
entry_vkCmdBlitImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageBlit * pRegions,VkFilter filter)1310 static void entry_vkCmdBlitImage(
1311 VkCommandBuffer commandBuffer,
1312 VkImage srcImage,
1313 VkImageLayout srcImageLayout,
1314 VkImage dstImage,
1315 VkImageLayout dstImageLayout,
1316 uint32_t regionCount,
1317 const VkImageBlit* pRegions,
1318 VkFilter filter)
1319 {
1320 AEMU_SCOPED_TRACE("vkCmdBlitImage");
1321 auto vkEnc = HostConnection::get()->vkEncoder();
1322 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1323 vkEnc->vkCmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
1324 }
entry_vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkBufferImageCopy * pRegions)1325 static void entry_vkCmdCopyBufferToImage(
1326 VkCommandBuffer commandBuffer,
1327 VkBuffer srcBuffer,
1328 VkImage dstImage,
1329 VkImageLayout dstImageLayout,
1330 uint32_t regionCount,
1331 const VkBufferImageCopy* pRegions)
1332 {
1333 AEMU_SCOPED_TRACE("vkCmdCopyBufferToImage");
1334 auto vkEnc = HostConnection::get()->vkEncoder();
1335 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1336 vkEnc->vkCmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
1337 }
entry_vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferImageCopy * pRegions)1338 static void entry_vkCmdCopyImageToBuffer(
1339 VkCommandBuffer commandBuffer,
1340 VkImage srcImage,
1341 VkImageLayout srcImageLayout,
1342 VkBuffer dstBuffer,
1343 uint32_t regionCount,
1344 const VkBufferImageCopy* pRegions)
1345 {
1346 AEMU_SCOPED_TRACE("vkCmdCopyImageToBuffer");
1347 auto vkEnc = HostConnection::get()->vkEncoder();
1348 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1349 vkEnc->vkCmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
1350 }
entry_vkCmdUpdateBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize dataSize,const void * pData)1351 static void entry_vkCmdUpdateBuffer(
1352 VkCommandBuffer commandBuffer,
1353 VkBuffer dstBuffer,
1354 VkDeviceSize dstOffset,
1355 VkDeviceSize dataSize,
1356 const void* pData)
1357 {
1358 AEMU_SCOPED_TRACE("vkCmdUpdateBuffer");
1359 auto vkEnc = HostConnection::get()->vkEncoder();
1360 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1361 vkEnc->vkCmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData);
1362 }
entry_vkCmdFillBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize size,uint32_t data)1363 static void entry_vkCmdFillBuffer(
1364 VkCommandBuffer commandBuffer,
1365 VkBuffer dstBuffer,
1366 VkDeviceSize dstOffset,
1367 VkDeviceSize size,
1368 uint32_t data)
1369 {
1370 AEMU_SCOPED_TRACE("vkCmdFillBuffer");
1371 auto vkEnc = HostConnection::get()->vkEncoder();
1372 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1373 vkEnc->vkCmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data);
1374 }
entry_vkCmdClearColorImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearColorValue * pColor,uint32_t rangeCount,const VkImageSubresourceRange * pRanges)1375 static void entry_vkCmdClearColorImage(
1376 VkCommandBuffer commandBuffer,
1377 VkImage image,
1378 VkImageLayout imageLayout,
1379 const VkClearColorValue* pColor,
1380 uint32_t rangeCount,
1381 const VkImageSubresourceRange* pRanges)
1382 {
1383 AEMU_SCOPED_TRACE("vkCmdClearColorImage");
1384 auto vkEnc = HostConnection::get()->vkEncoder();
1385 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1386 vkEnc->vkCmdClearColorImage(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
1387 }
entry_vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearDepthStencilValue * pDepthStencil,uint32_t rangeCount,const VkImageSubresourceRange * pRanges)1388 static void entry_vkCmdClearDepthStencilImage(
1389 VkCommandBuffer commandBuffer,
1390 VkImage image,
1391 VkImageLayout imageLayout,
1392 const VkClearDepthStencilValue* pDepthStencil,
1393 uint32_t rangeCount,
1394 const VkImageSubresourceRange* pRanges)
1395 {
1396 AEMU_SCOPED_TRACE("vkCmdClearDepthStencilImage");
1397 auto vkEnc = HostConnection::get()->vkEncoder();
1398 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1399 vkEnc->vkCmdClearDepthStencilImage(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
1400 }
entry_vkCmdClearAttachments(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkClearAttachment * pAttachments,uint32_t rectCount,const VkClearRect * pRects)1401 static void entry_vkCmdClearAttachments(
1402 VkCommandBuffer commandBuffer,
1403 uint32_t attachmentCount,
1404 const VkClearAttachment* pAttachments,
1405 uint32_t rectCount,
1406 const VkClearRect* pRects)
1407 {
1408 AEMU_SCOPED_TRACE("vkCmdClearAttachments");
1409 auto vkEnc = HostConnection::get()->vkEncoder();
1410 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1411 vkEnc->vkCmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
1412 }
entry_vkCmdResolveImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageResolve * pRegions)1413 static void entry_vkCmdResolveImage(
1414 VkCommandBuffer commandBuffer,
1415 VkImage srcImage,
1416 VkImageLayout srcImageLayout,
1417 VkImage dstImage,
1418 VkImageLayout dstImageLayout,
1419 uint32_t regionCount,
1420 const VkImageResolve* pRegions)
1421 {
1422 AEMU_SCOPED_TRACE("vkCmdResolveImage");
1423 auto vkEnc = HostConnection::get()->vkEncoder();
1424 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1425 vkEnc->vkCmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
1426 }
entry_vkCmdSetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask)1427 static void entry_vkCmdSetEvent(
1428 VkCommandBuffer commandBuffer,
1429 VkEvent event,
1430 VkPipelineStageFlags stageMask)
1431 {
1432 AEMU_SCOPED_TRACE("vkCmdSetEvent");
1433 auto vkEnc = HostConnection::get()->vkEncoder();
1434 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1435 vkEnc->vkCmdSetEvent(commandBuffer, event, stageMask);
1436 }
entry_vkCmdResetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask)1437 static void entry_vkCmdResetEvent(
1438 VkCommandBuffer commandBuffer,
1439 VkEvent event,
1440 VkPipelineStageFlags stageMask)
1441 {
1442 AEMU_SCOPED_TRACE("vkCmdResetEvent");
1443 auto vkEnc = HostConnection::get()->vkEncoder();
1444 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1445 vkEnc->vkCmdResetEvent(commandBuffer, event, stageMask);
1446 }
entry_vkCmdWaitEvents(VkCommandBuffer commandBuffer,uint32_t eventCount,const VkEvent * pEvents,VkPipelineStageFlags srcStageMask,VkPipelineStageFlags dstStageMask,uint32_t memoryBarrierCount,const VkMemoryBarrier * pMemoryBarriers,uint32_t bufferMemoryBarrierCount,const VkBufferMemoryBarrier * pBufferMemoryBarriers,uint32_t imageMemoryBarrierCount,const VkImageMemoryBarrier * pImageMemoryBarriers)1447 static void entry_vkCmdWaitEvents(
1448 VkCommandBuffer commandBuffer,
1449 uint32_t eventCount,
1450 const VkEvent* pEvents,
1451 VkPipelineStageFlags srcStageMask,
1452 VkPipelineStageFlags dstStageMask,
1453 uint32_t memoryBarrierCount,
1454 const VkMemoryBarrier* pMemoryBarriers,
1455 uint32_t bufferMemoryBarrierCount,
1456 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
1457 uint32_t imageMemoryBarrierCount,
1458 const VkImageMemoryBarrier* pImageMemoryBarriers)
1459 {
1460 AEMU_SCOPED_TRACE("vkCmdWaitEvents");
1461 auto vkEnc = HostConnection::get()->vkEncoder();
1462 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1463 vkEnc->vkCmdWaitEvents(commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
1464 }
entry_vkCmdPipelineBarrier(VkCommandBuffer commandBuffer,VkPipelineStageFlags srcStageMask,VkPipelineStageFlags dstStageMask,VkDependencyFlags dependencyFlags,uint32_t memoryBarrierCount,const VkMemoryBarrier * pMemoryBarriers,uint32_t bufferMemoryBarrierCount,const VkBufferMemoryBarrier * pBufferMemoryBarriers,uint32_t imageMemoryBarrierCount,const VkImageMemoryBarrier * pImageMemoryBarriers)1465 static void entry_vkCmdPipelineBarrier(
1466 VkCommandBuffer commandBuffer,
1467 VkPipelineStageFlags srcStageMask,
1468 VkPipelineStageFlags dstStageMask,
1469 VkDependencyFlags dependencyFlags,
1470 uint32_t memoryBarrierCount,
1471 const VkMemoryBarrier* pMemoryBarriers,
1472 uint32_t bufferMemoryBarrierCount,
1473 const VkBufferMemoryBarrier* pBufferMemoryBarriers,
1474 uint32_t imageMemoryBarrierCount,
1475 const VkImageMemoryBarrier* pImageMemoryBarriers)
1476 {
1477 AEMU_SCOPED_TRACE("vkCmdPipelineBarrier");
1478 auto vkEnc = HostConnection::get()->vkEncoder();
1479 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1480 vkEnc->vkCmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
1481 }
entry_vkCmdBeginQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags)1482 static void entry_vkCmdBeginQuery(
1483 VkCommandBuffer commandBuffer,
1484 VkQueryPool queryPool,
1485 uint32_t query,
1486 VkQueryControlFlags flags)
1487 {
1488 AEMU_SCOPED_TRACE("vkCmdBeginQuery");
1489 auto vkEnc = HostConnection::get()->vkEncoder();
1490 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1491 vkEnc->vkCmdBeginQuery(commandBuffer, queryPool, query, flags);
1492 }
entry_vkCmdEndQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query)1493 static void entry_vkCmdEndQuery(
1494 VkCommandBuffer commandBuffer,
1495 VkQueryPool queryPool,
1496 uint32_t query)
1497 {
1498 AEMU_SCOPED_TRACE("vkCmdEndQuery");
1499 auto vkEnc = HostConnection::get()->vkEncoder();
1500 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1501 vkEnc->vkCmdEndQuery(commandBuffer, queryPool, query);
1502 }
entry_vkCmdResetQueryPool(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount)1503 static void entry_vkCmdResetQueryPool(
1504 VkCommandBuffer commandBuffer,
1505 VkQueryPool queryPool,
1506 uint32_t firstQuery,
1507 uint32_t queryCount)
1508 {
1509 AEMU_SCOPED_TRACE("vkCmdResetQueryPool");
1510 auto vkEnc = HostConnection::get()->vkEncoder();
1511 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1512 vkEnc->vkCmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount);
1513 }
entry_vkCmdWriteTimestamp(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkQueryPool queryPool,uint32_t query)1514 static void entry_vkCmdWriteTimestamp(
1515 VkCommandBuffer commandBuffer,
1516 VkPipelineStageFlagBits pipelineStage,
1517 VkQueryPool queryPool,
1518 uint32_t query)
1519 {
1520 AEMU_SCOPED_TRACE("vkCmdWriteTimestamp");
1521 auto vkEnc = HostConnection::get()->vkEncoder();
1522 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1523 vkEnc->vkCmdWriteTimestamp(commandBuffer, pipelineStage, queryPool, query);
1524 }
entry_vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize stride,VkQueryResultFlags flags)1525 static void entry_vkCmdCopyQueryPoolResults(
1526 VkCommandBuffer commandBuffer,
1527 VkQueryPool queryPool,
1528 uint32_t firstQuery,
1529 uint32_t queryCount,
1530 VkBuffer dstBuffer,
1531 VkDeviceSize dstOffset,
1532 VkDeviceSize stride,
1533 VkQueryResultFlags flags)
1534 {
1535 AEMU_SCOPED_TRACE("vkCmdCopyQueryPoolResults");
1536 auto vkEnc = HostConnection::get()->vkEncoder();
1537 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1538 vkEnc->vkCmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
1539 }
entry_vkCmdPushConstants(VkCommandBuffer commandBuffer,VkPipelineLayout layout,VkShaderStageFlags stageFlags,uint32_t offset,uint32_t size,const void * pValues)1540 static void entry_vkCmdPushConstants(
1541 VkCommandBuffer commandBuffer,
1542 VkPipelineLayout layout,
1543 VkShaderStageFlags stageFlags,
1544 uint32_t offset,
1545 uint32_t size,
1546 const void* pValues)
1547 {
1548 AEMU_SCOPED_TRACE("vkCmdPushConstants");
1549 auto vkEnc = HostConnection::get()->vkEncoder();
1550 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1551 vkEnc->vkCmdPushConstants(commandBuffer, layout, stageFlags, offset, size, pValues);
1552 }
entry_vkCmdBeginRenderPass(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,VkSubpassContents contents)1553 static void entry_vkCmdBeginRenderPass(
1554 VkCommandBuffer commandBuffer,
1555 const VkRenderPassBeginInfo* pRenderPassBegin,
1556 VkSubpassContents contents)
1557 {
1558 AEMU_SCOPED_TRACE("vkCmdBeginRenderPass");
1559 auto vkEnc = HostConnection::get()->vkEncoder();
1560 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1561 vkEnc->vkCmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents);
1562 }
entry_vkCmdNextSubpass(VkCommandBuffer commandBuffer,VkSubpassContents contents)1563 static void entry_vkCmdNextSubpass(
1564 VkCommandBuffer commandBuffer,
1565 VkSubpassContents contents)
1566 {
1567 AEMU_SCOPED_TRACE("vkCmdNextSubpass");
1568 auto vkEnc = HostConnection::get()->vkEncoder();
1569 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1570 vkEnc->vkCmdNextSubpass(commandBuffer, contents);
1571 }
entry_vkCmdEndRenderPass(VkCommandBuffer commandBuffer)1572 static void entry_vkCmdEndRenderPass(
1573 VkCommandBuffer commandBuffer)
1574 {
1575 AEMU_SCOPED_TRACE("vkCmdEndRenderPass");
1576 auto vkEnc = HostConnection::get()->vkEncoder();
1577 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1578 vkEnc->vkCmdEndRenderPass(commandBuffer);
1579 }
entry_vkCmdExecuteCommands(VkCommandBuffer commandBuffer,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers)1580 static void entry_vkCmdExecuteCommands(
1581 VkCommandBuffer commandBuffer,
1582 uint32_t commandBufferCount,
1583 const VkCommandBuffer* pCommandBuffers)
1584 {
1585 AEMU_SCOPED_TRACE("vkCmdExecuteCommands");
1586 auto vkEnc = HostConnection::get()->vkEncoder();
1587 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1588 vkEnc->vkCmdExecuteCommands(commandBuffer, commandBufferCount, pCommandBuffers);
1589 }
1590 #endif
1591 #ifdef VK_VERSION_1_1
entry_vkEnumerateInstanceVersion(uint32_t * pApiVersion)1592 static VkResult entry_vkEnumerateInstanceVersion(
1593 uint32_t* pApiVersion)
1594 {
1595 AEMU_SCOPED_TRACE("vkEnumerateInstanceVersion");
1596 auto vkEnc = HostConnection::get()->vkEncoder();
1597 VkResult vkEnumerateInstanceVersion_VkResult_return = (VkResult)0;
1598 vkEnumerateInstanceVersion_VkResult_return = vkEnc->vkEnumerateInstanceVersion(pApiVersion);
1599 return vkEnumerateInstanceVersion_VkResult_return;
1600 }
entry_vkBindBufferMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos)1601 static VkResult entry_vkBindBufferMemory2(
1602 VkDevice device,
1603 uint32_t bindInfoCount,
1604 const VkBindBufferMemoryInfo* pBindInfos)
1605 {
1606 AEMU_SCOPED_TRACE("vkBindBufferMemory2");
1607 auto vkEnc = HostConnection::get()->vkEncoder();
1608 VkResult vkBindBufferMemory2_VkResult_return = (VkResult)0;
1609 auto resources = ResourceTracker::get();
1610 vkBindBufferMemory2_VkResult_return = resources->on_vkBindBufferMemory2(vkEnc, VK_SUCCESS, device, bindInfoCount, pBindInfos);
1611 return vkBindBufferMemory2_VkResult_return;
1612 }
dynCheck_entry_vkBindBufferMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos)1613 static VkResult dynCheck_entry_vkBindBufferMemory2(
1614 VkDevice device,
1615 uint32_t bindInfoCount,
1616 const VkBindBufferMemoryInfo* pBindInfos)
1617 {
1618 auto resources = ResourceTracker::get();
1619 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
1620 {
1621 sOnInvalidDynamicallyCheckedCall("vkBindBufferMemory2", "VK_VERSION_1_1");
1622 }
1623 AEMU_SCOPED_TRACE("vkBindBufferMemory2");
1624 auto vkEnc = HostConnection::get()->vkEncoder();
1625 VkResult vkBindBufferMemory2_VkResult_return = (VkResult)0;
1626 vkBindBufferMemory2_VkResult_return = resources->on_vkBindBufferMemory2(vkEnc, VK_SUCCESS, device, bindInfoCount, pBindInfos);
1627 return vkBindBufferMemory2_VkResult_return;
1628 }
entry_vkBindImageMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos)1629 static VkResult entry_vkBindImageMemory2(
1630 VkDevice device,
1631 uint32_t bindInfoCount,
1632 const VkBindImageMemoryInfo* pBindInfos)
1633 {
1634 AEMU_SCOPED_TRACE("vkBindImageMemory2");
1635 auto vkEnc = HostConnection::get()->vkEncoder();
1636 VkResult vkBindImageMemory2_VkResult_return = (VkResult)0;
1637 auto resources = ResourceTracker::get();
1638 vkBindImageMemory2_VkResult_return = resources->on_vkBindImageMemory2(vkEnc, VK_SUCCESS, device, bindInfoCount, pBindInfos);
1639 return vkBindImageMemory2_VkResult_return;
1640 }
dynCheck_entry_vkBindImageMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos)1641 static VkResult dynCheck_entry_vkBindImageMemory2(
1642 VkDevice device,
1643 uint32_t bindInfoCount,
1644 const VkBindImageMemoryInfo* pBindInfos)
1645 {
1646 auto resources = ResourceTracker::get();
1647 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
1648 {
1649 sOnInvalidDynamicallyCheckedCall("vkBindImageMemory2", "VK_VERSION_1_1");
1650 }
1651 AEMU_SCOPED_TRACE("vkBindImageMemory2");
1652 auto vkEnc = HostConnection::get()->vkEncoder();
1653 VkResult vkBindImageMemory2_VkResult_return = (VkResult)0;
1654 vkBindImageMemory2_VkResult_return = resources->on_vkBindImageMemory2(vkEnc, VK_SUCCESS, device, bindInfoCount, pBindInfos);
1655 return vkBindImageMemory2_VkResult_return;
1656 }
entry_vkGetDeviceGroupPeerMemoryFeatures(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures)1657 static void entry_vkGetDeviceGroupPeerMemoryFeatures(
1658 VkDevice device,
1659 uint32_t heapIndex,
1660 uint32_t localDeviceIndex,
1661 uint32_t remoteDeviceIndex,
1662 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
1663 {
1664 AEMU_SCOPED_TRACE("vkGetDeviceGroupPeerMemoryFeatures");
1665 auto vkEnc = HostConnection::get()->vkEncoder();
1666 vkEnc->vkGetDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
1667 }
dynCheck_entry_vkGetDeviceGroupPeerMemoryFeatures(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures)1668 static void dynCheck_entry_vkGetDeviceGroupPeerMemoryFeatures(
1669 VkDevice device,
1670 uint32_t heapIndex,
1671 uint32_t localDeviceIndex,
1672 uint32_t remoteDeviceIndex,
1673 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
1674 {
1675 auto resources = ResourceTracker::get();
1676 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
1677 {
1678 sOnInvalidDynamicallyCheckedCall("vkGetDeviceGroupPeerMemoryFeatures", "VK_VERSION_1_1");
1679 }
1680 AEMU_SCOPED_TRACE("vkGetDeviceGroupPeerMemoryFeatures");
1681 auto vkEnc = HostConnection::get()->vkEncoder();
1682 vkEnc->vkGetDeviceGroupPeerMemoryFeatures(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
1683 }
entry_vkCmdSetDeviceMask(VkCommandBuffer commandBuffer,uint32_t deviceMask)1684 static void entry_vkCmdSetDeviceMask(
1685 VkCommandBuffer commandBuffer,
1686 uint32_t deviceMask)
1687 {
1688 AEMU_SCOPED_TRACE("vkCmdSetDeviceMask");
1689 auto vkEnc = HostConnection::get()->vkEncoder();
1690 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1691 vkEnc->vkCmdSetDeviceMask(commandBuffer, deviceMask);
1692 }
entry_vkCmdDispatchBase(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ)1693 static void entry_vkCmdDispatchBase(
1694 VkCommandBuffer commandBuffer,
1695 uint32_t baseGroupX,
1696 uint32_t baseGroupY,
1697 uint32_t baseGroupZ,
1698 uint32_t groupCountX,
1699 uint32_t groupCountY,
1700 uint32_t groupCountZ)
1701 {
1702 AEMU_SCOPED_TRACE("vkCmdDispatchBase");
1703 auto vkEnc = HostConnection::get()->vkEncoder();
1704 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
1705 vkEnc->vkCmdDispatchBase(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
1706 }
entry_vkEnumeratePhysicalDeviceGroups(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties)1707 static VkResult entry_vkEnumeratePhysicalDeviceGroups(
1708 VkInstance instance,
1709 uint32_t* pPhysicalDeviceGroupCount,
1710 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
1711 {
1712 AEMU_SCOPED_TRACE("vkEnumeratePhysicalDeviceGroups");
1713 auto vkEnc = HostConnection::get()->vkEncoder();
1714 VkResult vkEnumeratePhysicalDeviceGroups_VkResult_return = (VkResult)0;
1715 vkEnumeratePhysicalDeviceGroups_VkResult_return = vkEnc->vkEnumeratePhysicalDeviceGroups(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
1716 return vkEnumeratePhysicalDeviceGroups_VkResult_return;
1717 }
entry_vkGetImageMemoryRequirements2(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements)1718 static void entry_vkGetImageMemoryRequirements2(
1719 VkDevice device,
1720 const VkImageMemoryRequirementsInfo2* pInfo,
1721 VkMemoryRequirements2* pMemoryRequirements)
1722 {
1723 AEMU_SCOPED_TRACE("vkGetImageMemoryRequirements2");
1724 auto vkEnc = HostConnection::get()->vkEncoder();
1725 auto resources = ResourceTracker::get();
1726 resources->on_vkGetImageMemoryRequirements2(vkEnc, device, pInfo, pMemoryRequirements);
1727 }
dynCheck_entry_vkGetImageMemoryRequirements2(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements)1728 static void dynCheck_entry_vkGetImageMemoryRequirements2(
1729 VkDevice device,
1730 const VkImageMemoryRequirementsInfo2* pInfo,
1731 VkMemoryRequirements2* pMemoryRequirements)
1732 {
1733 auto resources = ResourceTracker::get();
1734 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
1735 {
1736 sOnInvalidDynamicallyCheckedCall("vkGetImageMemoryRequirements2", "VK_VERSION_1_1");
1737 }
1738 AEMU_SCOPED_TRACE("vkGetImageMemoryRequirements2");
1739 auto vkEnc = HostConnection::get()->vkEncoder();
1740 resources->on_vkGetImageMemoryRequirements2(vkEnc, device, pInfo, pMemoryRequirements);
1741 }
entry_vkGetBufferMemoryRequirements2(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements)1742 static void entry_vkGetBufferMemoryRequirements2(
1743 VkDevice device,
1744 const VkBufferMemoryRequirementsInfo2* pInfo,
1745 VkMemoryRequirements2* pMemoryRequirements)
1746 {
1747 AEMU_SCOPED_TRACE("vkGetBufferMemoryRequirements2");
1748 auto vkEnc = HostConnection::get()->vkEncoder();
1749 auto resources = ResourceTracker::get();
1750 resources->on_vkGetBufferMemoryRequirements2(vkEnc, device, pInfo, pMemoryRequirements);
1751 }
dynCheck_entry_vkGetBufferMemoryRequirements2(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements)1752 static void dynCheck_entry_vkGetBufferMemoryRequirements2(
1753 VkDevice device,
1754 const VkBufferMemoryRequirementsInfo2* pInfo,
1755 VkMemoryRequirements2* pMemoryRequirements)
1756 {
1757 auto resources = ResourceTracker::get();
1758 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
1759 {
1760 sOnInvalidDynamicallyCheckedCall("vkGetBufferMemoryRequirements2", "VK_VERSION_1_1");
1761 }
1762 AEMU_SCOPED_TRACE("vkGetBufferMemoryRequirements2");
1763 auto vkEnc = HostConnection::get()->vkEncoder();
1764 resources->on_vkGetBufferMemoryRequirements2(vkEnc, device, pInfo, pMemoryRequirements);
1765 }
entry_vkGetImageSparseMemoryRequirements2(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements)1766 static void entry_vkGetImageSparseMemoryRequirements2(
1767 VkDevice device,
1768 const VkImageSparseMemoryRequirementsInfo2* pInfo,
1769 uint32_t* pSparseMemoryRequirementCount,
1770 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
1771 {
1772 AEMU_SCOPED_TRACE("vkGetImageSparseMemoryRequirements2");
1773 auto vkEnc = HostConnection::get()->vkEncoder();
1774 vkEnc->vkGetImageSparseMemoryRequirements2(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
1775 }
dynCheck_entry_vkGetImageSparseMemoryRequirements2(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements)1776 static void dynCheck_entry_vkGetImageSparseMemoryRequirements2(
1777 VkDevice device,
1778 const VkImageSparseMemoryRequirementsInfo2* pInfo,
1779 uint32_t* pSparseMemoryRequirementCount,
1780 VkSparseImageMemoryRequirements2* pSparseMemoryRequirements)
1781 {
1782 auto resources = ResourceTracker::get();
1783 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
1784 {
1785 sOnInvalidDynamicallyCheckedCall("vkGetImageSparseMemoryRequirements2", "VK_VERSION_1_1");
1786 }
1787 AEMU_SCOPED_TRACE("vkGetImageSparseMemoryRequirements2");
1788 auto vkEnc = HostConnection::get()->vkEncoder();
1789 vkEnc->vkGetImageSparseMemoryRequirements2(device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
1790 }
entry_vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures)1791 static void entry_vkGetPhysicalDeviceFeatures2(
1792 VkPhysicalDevice physicalDevice,
1793 VkPhysicalDeviceFeatures2* pFeatures)
1794 {
1795 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceFeatures2");
1796 auto vkEnc = HostConnection::get()->vkEncoder();
1797 vkEnc->vkGetPhysicalDeviceFeatures2(physicalDevice, pFeatures);
1798 }
entry_vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties)1799 static void entry_vkGetPhysicalDeviceProperties2(
1800 VkPhysicalDevice physicalDevice,
1801 VkPhysicalDeviceProperties2* pProperties)
1802 {
1803 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceProperties2");
1804 auto vkEnc = HostConnection::get()->vkEncoder();
1805 vkEnc->vkGetPhysicalDeviceProperties2(physicalDevice, pProperties);
1806 }
entry_vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties)1807 static void entry_vkGetPhysicalDeviceFormatProperties2(
1808 VkPhysicalDevice physicalDevice,
1809 VkFormat format,
1810 VkFormatProperties2* pFormatProperties)
1811 {
1812 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceFormatProperties2");
1813 auto vkEnc = HostConnection::get()->vkEncoder();
1814 vkEnc->vkGetPhysicalDeviceFormatProperties2(physicalDevice, format, pFormatProperties);
1815 }
entry_vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties)1816 static VkResult entry_vkGetPhysicalDeviceImageFormatProperties2(
1817 VkPhysicalDevice physicalDevice,
1818 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
1819 VkImageFormatProperties2* pImageFormatProperties)
1820 {
1821 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceImageFormatProperties2");
1822 auto vkEnc = HostConnection::get()->vkEncoder();
1823 VkResult vkGetPhysicalDeviceImageFormatProperties2_VkResult_return = (VkResult)0;
1824 auto resources = ResourceTracker::get();
1825 vkGetPhysicalDeviceImageFormatProperties2_VkResult_return = resources->on_vkGetPhysicalDeviceImageFormatProperties2(vkEnc, VK_SUCCESS, physicalDevice, pImageFormatInfo, pImageFormatProperties);
1826 return vkGetPhysicalDeviceImageFormatProperties2_VkResult_return;
1827 }
entry_vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties)1828 static void entry_vkGetPhysicalDeviceQueueFamilyProperties2(
1829 VkPhysicalDevice physicalDevice,
1830 uint32_t* pQueueFamilyPropertyCount,
1831 VkQueueFamilyProperties2* pQueueFamilyProperties)
1832 {
1833 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceQueueFamilyProperties2");
1834 auto vkEnc = HostConnection::get()->vkEncoder();
1835 vkEnc->vkGetPhysicalDeviceQueueFamilyProperties2(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
1836 }
entry_vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties)1837 static void entry_vkGetPhysicalDeviceMemoryProperties2(
1838 VkPhysicalDevice physicalDevice,
1839 VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
1840 {
1841 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceMemoryProperties2");
1842 auto vkEnc = HostConnection::get()->vkEncoder();
1843 vkEnc->vkGetPhysicalDeviceMemoryProperties2(physicalDevice, pMemoryProperties);
1844 }
entry_vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties)1845 static void entry_vkGetPhysicalDeviceSparseImageFormatProperties2(
1846 VkPhysicalDevice physicalDevice,
1847 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
1848 uint32_t* pPropertyCount,
1849 VkSparseImageFormatProperties2* pProperties)
1850 {
1851 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSparseImageFormatProperties2");
1852 auto vkEnc = HostConnection::get()->vkEncoder();
1853 vkEnc->vkGetPhysicalDeviceSparseImageFormatProperties2(physicalDevice, pFormatInfo, pPropertyCount, pProperties);
1854 }
entry_vkTrimCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags)1855 static void entry_vkTrimCommandPool(
1856 VkDevice device,
1857 VkCommandPool commandPool,
1858 VkCommandPoolTrimFlags flags)
1859 {
1860 AEMU_SCOPED_TRACE("vkTrimCommandPool");
1861 auto vkEnc = HostConnection::get()->vkEncoder();
1862 vkEnc->vkTrimCommandPool(device, commandPool, flags);
1863 }
dynCheck_entry_vkTrimCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags)1864 static void dynCheck_entry_vkTrimCommandPool(
1865 VkDevice device,
1866 VkCommandPool commandPool,
1867 VkCommandPoolTrimFlags flags)
1868 {
1869 auto resources = ResourceTracker::get();
1870 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
1871 {
1872 sOnInvalidDynamicallyCheckedCall("vkTrimCommandPool", "VK_VERSION_1_1");
1873 }
1874 AEMU_SCOPED_TRACE("vkTrimCommandPool");
1875 auto vkEnc = HostConnection::get()->vkEncoder();
1876 vkEnc->vkTrimCommandPool(device, commandPool, flags);
1877 }
entry_vkGetDeviceQueue2(VkDevice device,const VkDeviceQueueInfo2 * pQueueInfo,VkQueue * pQueue)1878 static void entry_vkGetDeviceQueue2(
1879 VkDevice device,
1880 const VkDeviceQueueInfo2* pQueueInfo,
1881 VkQueue* pQueue)
1882 {
1883 AEMU_SCOPED_TRACE("vkGetDeviceQueue2");
1884 auto vkEnc = HostConnection::get()->vkEncoder();
1885 vkEnc->vkGetDeviceQueue2(device, pQueueInfo, pQueue);
1886 }
dynCheck_entry_vkGetDeviceQueue2(VkDevice device,const VkDeviceQueueInfo2 * pQueueInfo,VkQueue * pQueue)1887 static void dynCheck_entry_vkGetDeviceQueue2(
1888 VkDevice device,
1889 const VkDeviceQueueInfo2* pQueueInfo,
1890 VkQueue* pQueue)
1891 {
1892 auto resources = ResourceTracker::get();
1893 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
1894 {
1895 sOnInvalidDynamicallyCheckedCall("vkGetDeviceQueue2", "VK_VERSION_1_1");
1896 }
1897 AEMU_SCOPED_TRACE("vkGetDeviceQueue2");
1898 auto vkEnc = HostConnection::get()->vkEncoder();
1899 vkEnc->vkGetDeviceQueue2(device, pQueueInfo, pQueue);
1900 }
entry_vkCreateSamplerYcbcrConversion(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion)1901 static VkResult entry_vkCreateSamplerYcbcrConversion(
1902 VkDevice device,
1903 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
1904 const VkAllocationCallbacks* pAllocator,
1905 VkSamplerYcbcrConversion* pYcbcrConversion)
1906 {
1907 AEMU_SCOPED_TRACE("vkCreateSamplerYcbcrConversion");
1908 auto vkEnc = HostConnection::get()->vkEncoder();
1909 VkResult vkCreateSamplerYcbcrConversion_VkResult_return = (VkResult)0;
1910 auto resources = ResourceTracker::get();
1911 vkCreateSamplerYcbcrConversion_VkResult_return = resources->on_vkCreateSamplerYcbcrConversion(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pYcbcrConversion);
1912 return vkCreateSamplerYcbcrConversion_VkResult_return;
1913 }
dynCheck_entry_vkCreateSamplerYcbcrConversion(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion)1914 static VkResult dynCheck_entry_vkCreateSamplerYcbcrConversion(
1915 VkDevice device,
1916 const VkSamplerYcbcrConversionCreateInfo* pCreateInfo,
1917 const VkAllocationCallbacks* pAllocator,
1918 VkSamplerYcbcrConversion* pYcbcrConversion)
1919 {
1920 auto resources = ResourceTracker::get();
1921 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
1922 {
1923 sOnInvalidDynamicallyCheckedCall("vkCreateSamplerYcbcrConversion", "VK_VERSION_1_1");
1924 }
1925 AEMU_SCOPED_TRACE("vkCreateSamplerYcbcrConversion");
1926 auto vkEnc = HostConnection::get()->vkEncoder();
1927 VkResult vkCreateSamplerYcbcrConversion_VkResult_return = (VkResult)0;
1928 vkCreateSamplerYcbcrConversion_VkResult_return = resources->on_vkCreateSamplerYcbcrConversion(vkEnc, VK_SUCCESS, device, pCreateInfo, pAllocator, pYcbcrConversion);
1929 return vkCreateSamplerYcbcrConversion_VkResult_return;
1930 }
entry_vkDestroySamplerYcbcrConversion(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator)1931 static void entry_vkDestroySamplerYcbcrConversion(
1932 VkDevice device,
1933 VkSamplerYcbcrConversion ycbcrConversion,
1934 const VkAllocationCallbacks* pAllocator)
1935 {
1936 AEMU_SCOPED_TRACE("vkDestroySamplerYcbcrConversion");
1937 auto vkEnc = HostConnection::get()->vkEncoder();
1938 auto resources = ResourceTracker::get();
1939 resources->on_vkDestroySamplerYcbcrConversion(vkEnc, device, ycbcrConversion, pAllocator);
1940 }
dynCheck_entry_vkDestroySamplerYcbcrConversion(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator)1941 static void dynCheck_entry_vkDestroySamplerYcbcrConversion(
1942 VkDevice device,
1943 VkSamplerYcbcrConversion ycbcrConversion,
1944 const VkAllocationCallbacks* pAllocator)
1945 {
1946 auto resources = ResourceTracker::get();
1947 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
1948 {
1949 sOnInvalidDynamicallyCheckedCall("vkDestroySamplerYcbcrConversion", "VK_VERSION_1_1");
1950 }
1951 AEMU_SCOPED_TRACE("vkDestroySamplerYcbcrConversion");
1952 auto vkEnc = HostConnection::get()->vkEncoder();
1953 resources->on_vkDestroySamplerYcbcrConversion(vkEnc, device, ycbcrConversion, pAllocator);
1954 }
entry_vkCreateDescriptorUpdateTemplate(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate)1955 static VkResult entry_vkCreateDescriptorUpdateTemplate(
1956 VkDevice device,
1957 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
1958 const VkAllocationCallbacks* pAllocator,
1959 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
1960 {
1961 AEMU_SCOPED_TRACE("vkCreateDescriptorUpdateTemplate");
1962 auto vkEnc = HostConnection::get()->vkEncoder();
1963 VkResult vkCreateDescriptorUpdateTemplate_VkResult_return = (VkResult)0;
1964 vkCreateDescriptorUpdateTemplate_VkResult_return = vkEnc->vkCreateDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
1965 return vkCreateDescriptorUpdateTemplate_VkResult_return;
1966 }
dynCheck_entry_vkCreateDescriptorUpdateTemplate(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate)1967 static VkResult dynCheck_entry_vkCreateDescriptorUpdateTemplate(
1968 VkDevice device,
1969 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
1970 const VkAllocationCallbacks* pAllocator,
1971 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
1972 {
1973 auto resources = ResourceTracker::get();
1974 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
1975 {
1976 sOnInvalidDynamicallyCheckedCall("vkCreateDescriptorUpdateTemplate", "VK_VERSION_1_1");
1977 }
1978 AEMU_SCOPED_TRACE("vkCreateDescriptorUpdateTemplate");
1979 auto vkEnc = HostConnection::get()->vkEncoder();
1980 VkResult vkCreateDescriptorUpdateTemplate_VkResult_return = (VkResult)0;
1981 vkCreateDescriptorUpdateTemplate_VkResult_return = vkEnc->vkCreateDescriptorUpdateTemplate(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
1982 return vkCreateDescriptorUpdateTemplate_VkResult_return;
1983 }
entry_vkDestroyDescriptorUpdateTemplate(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator)1984 static void entry_vkDestroyDescriptorUpdateTemplate(
1985 VkDevice device,
1986 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1987 const VkAllocationCallbacks* pAllocator)
1988 {
1989 AEMU_SCOPED_TRACE("vkDestroyDescriptorUpdateTemplate");
1990 auto vkEnc = HostConnection::get()->vkEncoder();
1991 vkEnc->vkDestroyDescriptorUpdateTemplate(device, descriptorUpdateTemplate, pAllocator);
1992 }
dynCheck_entry_vkDestroyDescriptorUpdateTemplate(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator)1993 static void dynCheck_entry_vkDestroyDescriptorUpdateTemplate(
1994 VkDevice device,
1995 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
1996 const VkAllocationCallbacks* pAllocator)
1997 {
1998 auto resources = ResourceTracker::get();
1999 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
2000 {
2001 sOnInvalidDynamicallyCheckedCall("vkDestroyDescriptorUpdateTemplate", "VK_VERSION_1_1");
2002 }
2003 AEMU_SCOPED_TRACE("vkDestroyDescriptorUpdateTemplate");
2004 auto vkEnc = HostConnection::get()->vkEncoder();
2005 vkEnc->vkDestroyDescriptorUpdateTemplate(device, descriptorUpdateTemplate, pAllocator);
2006 }
entry_vkUpdateDescriptorSetWithTemplate(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData)2007 static void entry_vkUpdateDescriptorSetWithTemplate(
2008 VkDevice device,
2009 VkDescriptorSet descriptorSet,
2010 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
2011 const void* pData)
2012 {
2013 AEMU_SCOPED_TRACE("vkUpdateDescriptorSetWithTemplate");
2014 auto vkEnc = HostConnection::get()->vkEncoder();
2015 auto resources = ResourceTracker::get();
2016 resources->on_vkUpdateDescriptorSetWithTemplate(vkEnc, device, descriptorSet, descriptorUpdateTemplate, pData);
2017 }
dynCheck_entry_vkUpdateDescriptorSetWithTemplate(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData)2018 static void dynCheck_entry_vkUpdateDescriptorSetWithTemplate(
2019 VkDevice device,
2020 VkDescriptorSet descriptorSet,
2021 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
2022 const void* pData)
2023 {
2024 auto resources = ResourceTracker::get();
2025 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
2026 {
2027 sOnInvalidDynamicallyCheckedCall("vkUpdateDescriptorSetWithTemplate", "VK_VERSION_1_1");
2028 }
2029 AEMU_SCOPED_TRACE("vkUpdateDescriptorSetWithTemplate");
2030 auto vkEnc = HostConnection::get()->vkEncoder();
2031 resources->on_vkUpdateDescriptorSetWithTemplate(vkEnc, device, descriptorSet, descriptorUpdateTemplate, pData);
2032 }
entry_vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties)2033 static void entry_vkGetPhysicalDeviceExternalBufferProperties(
2034 VkPhysicalDevice physicalDevice,
2035 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
2036 VkExternalBufferProperties* pExternalBufferProperties)
2037 {
2038 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceExternalBufferProperties");
2039 auto vkEnc = HostConnection::get()->vkEncoder();
2040 vkEnc->vkGetPhysicalDeviceExternalBufferProperties(physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
2041 }
entry_vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties)2042 static void entry_vkGetPhysicalDeviceExternalFenceProperties(
2043 VkPhysicalDevice physicalDevice,
2044 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
2045 VkExternalFenceProperties* pExternalFenceProperties)
2046 {
2047 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceExternalFenceProperties");
2048 auto vkEnc = HostConnection::get()->vkEncoder();
2049 auto resources = ResourceTracker::get();
2050 resources->on_vkGetPhysicalDeviceExternalFenceProperties(vkEnc, physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
2051 }
entry_vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties)2052 static void entry_vkGetPhysicalDeviceExternalSemaphoreProperties(
2053 VkPhysicalDevice physicalDevice,
2054 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
2055 VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
2056 {
2057 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceExternalSemaphoreProperties");
2058 auto vkEnc = HostConnection::get()->vkEncoder();
2059 vkEnc->vkGetPhysicalDeviceExternalSemaphoreProperties(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
2060 }
entry_vkGetDescriptorSetLayoutSupport(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport)2061 static void entry_vkGetDescriptorSetLayoutSupport(
2062 VkDevice device,
2063 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
2064 VkDescriptorSetLayoutSupport* pSupport)
2065 {
2066 AEMU_SCOPED_TRACE("vkGetDescriptorSetLayoutSupport");
2067 auto vkEnc = HostConnection::get()->vkEncoder();
2068 vkEnc->vkGetDescriptorSetLayoutSupport(device, pCreateInfo, pSupport);
2069 }
dynCheck_entry_vkGetDescriptorSetLayoutSupport(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport)2070 static void dynCheck_entry_vkGetDescriptorSetLayoutSupport(
2071 VkDevice device,
2072 const VkDescriptorSetLayoutCreateInfo* pCreateInfo,
2073 VkDescriptorSetLayoutSupport* pSupport)
2074 {
2075 auto resources = ResourceTracker::get();
2076 if (resources->getApiVersionFromDevice(device) < VK_API_VERSION_1_1)
2077 {
2078 sOnInvalidDynamicallyCheckedCall("vkGetDescriptorSetLayoutSupport", "VK_VERSION_1_1");
2079 }
2080 AEMU_SCOPED_TRACE("vkGetDescriptorSetLayoutSupport");
2081 auto vkEnc = HostConnection::get()->vkEncoder();
2082 vkEnc->vkGetDescriptorSetLayoutSupport(device, pCreateInfo, pSupport);
2083 }
2084 #endif
2085 #ifdef VK_KHR_surface
entry_vkDestroySurfaceKHR(VkInstance instance,VkSurfaceKHR surface,const VkAllocationCallbacks * pAllocator)2086 static void entry_vkDestroySurfaceKHR(
2087 VkInstance instance,
2088 VkSurfaceKHR surface,
2089 const VkAllocationCallbacks* pAllocator)
2090 {
2091 AEMU_SCOPED_TRACE("vkDestroySurfaceKHR");
2092 auto vkEnc = HostConnection::get()->vkEncoder();
2093 vkEnc->vkDestroySurfaceKHR(instance, surface, pAllocator);
2094 }
entry_vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,VkSurfaceKHR surface,VkBool32 * pSupported)2095 static VkResult entry_vkGetPhysicalDeviceSurfaceSupportKHR(
2096 VkPhysicalDevice physicalDevice,
2097 uint32_t queueFamilyIndex,
2098 VkSurfaceKHR surface,
2099 VkBool32* pSupported)
2100 {
2101 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSurfaceSupportKHR");
2102 auto vkEnc = HostConnection::get()->vkEncoder();
2103 VkResult vkGetPhysicalDeviceSurfaceSupportKHR_VkResult_return = (VkResult)0;
2104 vkGetPhysicalDeviceSurfaceSupportKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceSupportKHR(physicalDevice, queueFamilyIndex, surface, pSupported);
2105 return vkGetPhysicalDeviceSurfaceSupportKHR_VkResult_return;
2106 }
entry_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,VkSurfaceCapabilitiesKHR * pSurfaceCapabilities)2107 static VkResult entry_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
2108 VkPhysicalDevice physicalDevice,
2109 VkSurfaceKHR surface,
2110 VkSurfaceCapabilitiesKHR* pSurfaceCapabilities)
2111 {
2112 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
2113 auto vkEnc = HostConnection::get()->vkEncoder();
2114 VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR_VkResult_return = (VkResult)0;
2115 vkGetPhysicalDeviceSurfaceCapabilitiesKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceCapabilitiesKHR(physicalDevice, surface, pSurfaceCapabilities);
2116 return vkGetPhysicalDeviceSurfaceCapabilitiesKHR_VkResult_return;
2117 }
entry_vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pSurfaceFormatCount,VkSurfaceFormatKHR * pSurfaceFormats)2118 static VkResult entry_vkGetPhysicalDeviceSurfaceFormatsKHR(
2119 VkPhysicalDevice physicalDevice,
2120 VkSurfaceKHR surface,
2121 uint32_t* pSurfaceFormatCount,
2122 VkSurfaceFormatKHR* pSurfaceFormats)
2123 {
2124 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSurfaceFormatsKHR");
2125 auto vkEnc = HostConnection::get()->vkEncoder();
2126 VkResult vkGetPhysicalDeviceSurfaceFormatsKHR_VkResult_return = (VkResult)0;
2127 vkGetPhysicalDeviceSurfaceFormatsKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceFormatsKHR(physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats);
2128 return vkGetPhysicalDeviceSurfaceFormatsKHR_VkResult_return;
2129 }
entry_vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pPresentModeCount,VkPresentModeKHR * pPresentModes)2130 static VkResult entry_vkGetPhysicalDeviceSurfacePresentModesKHR(
2131 VkPhysicalDevice physicalDevice,
2132 VkSurfaceKHR surface,
2133 uint32_t* pPresentModeCount,
2134 VkPresentModeKHR* pPresentModes)
2135 {
2136 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSurfacePresentModesKHR");
2137 auto vkEnc = HostConnection::get()->vkEncoder();
2138 VkResult vkGetPhysicalDeviceSurfacePresentModesKHR_VkResult_return = (VkResult)0;
2139 vkGetPhysicalDeviceSurfacePresentModesKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfacePresentModesKHR(physicalDevice, surface, pPresentModeCount, pPresentModes);
2140 return vkGetPhysicalDeviceSurfacePresentModesKHR_VkResult_return;
2141 }
2142 #endif
2143 #ifdef VK_KHR_swapchain
entry_vkCreateSwapchainKHR(VkDevice device,const VkSwapchainCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchain)2144 static VkResult entry_vkCreateSwapchainKHR(
2145 VkDevice device,
2146 const VkSwapchainCreateInfoKHR* pCreateInfo,
2147 const VkAllocationCallbacks* pAllocator,
2148 VkSwapchainKHR* pSwapchain)
2149 {
2150 AEMU_SCOPED_TRACE("vkCreateSwapchainKHR");
2151 auto vkEnc = HostConnection::get()->vkEncoder();
2152 VkResult vkCreateSwapchainKHR_VkResult_return = (VkResult)0;
2153 vkCreateSwapchainKHR_VkResult_return = vkEnc->vkCreateSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain);
2154 return vkCreateSwapchainKHR_VkResult_return;
2155 }
dynCheck_entry_vkCreateSwapchainKHR(VkDevice device,const VkSwapchainCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchain)2156 static VkResult dynCheck_entry_vkCreateSwapchainKHR(
2157 VkDevice device,
2158 const VkSwapchainCreateInfoKHR* pCreateInfo,
2159 const VkAllocationCallbacks* pAllocator,
2160 VkSwapchainKHR* pSwapchain)
2161 {
2162 auto resources = ResourceTracker::get();
2163 if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
2164 {
2165 sOnInvalidDynamicallyCheckedCall("vkCreateSwapchainKHR", "VK_KHR_swapchain");
2166 }
2167 AEMU_SCOPED_TRACE("vkCreateSwapchainKHR");
2168 auto vkEnc = HostConnection::get()->vkEncoder();
2169 VkResult vkCreateSwapchainKHR_VkResult_return = (VkResult)0;
2170 vkCreateSwapchainKHR_VkResult_return = vkEnc->vkCreateSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain);
2171 return vkCreateSwapchainKHR_VkResult_return;
2172 }
entry_vkDestroySwapchainKHR(VkDevice device,VkSwapchainKHR swapchain,const VkAllocationCallbacks * pAllocator)2173 static void entry_vkDestroySwapchainKHR(
2174 VkDevice device,
2175 VkSwapchainKHR swapchain,
2176 const VkAllocationCallbacks* pAllocator)
2177 {
2178 AEMU_SCOPED_TRACE("vkDestroySwapchainKHR");
2179 auto vkEnc = HostConnection::get()->vkEncoder();
2180 vkEnc->vkDestroySwapchainKHR(device, swapchain, pAllocator);
2181 }
dynCheck_entry_vkDestroySwapchainKHR(VkDevice device,VkSwapchainKHR swapchain,const VkAllocationCallbacks * pAllocator)2182 static void dynCheck_entry_vkDestroySwapchainKHR(
2183 VkDevice device,
2184 VkSwapchainKHR swapchain,
2185 const VkAllocationCallbacks* pAllocator)
2186 {
2187 auto resources = ResourceTracker::get();
2188 if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
2189 {
2190 sOnInvalidDynamicallyCheckedCall("vkDestroySwapchainKHR", "VK_KHR_swapchain");
2191 }
2192 AEMU_SCOPED_TRACE("vkDestroySwapchainKHR");
2193 auto vkEnc = HostConnection::get()->vkEncoder();
2194 vkEnc->vkDestroySwapchainKHR(device, swapchain, pAllocator);
2195 }
entry_vkGetSwapchainImagesKHR(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pSwapchainImageCount,VkImage * pSwapchainImages)2196 static VkResult entry_vkGetSwapchainImagesKHR(
2197 VkDevice device,
2198 VkSwapchainKHR swapchain,
2199 uint32_t* pSwapchainImageCount,
2200 VkImage* pSwapchainImages)
2201 {
2202 AEMU_SCOPED_TRACE("vkGetSwapchainImagesKHR");
2203 auto vkEnc = HostConnection::get()->vkEncoder();
2204 VkResult vkGetSwapchainImagesKHR_VkResult_return = (VkResult)0;
2205 vkGetSwapchainImagesKHR_VkResult_return = vkEnc->vkGetSwapchainImagesKHR(device, swapchain, pSwapchainImageCount, pSwapchainImages);
2206 return vkGetSwapchainImagesKHR_VkResult_return;
2207 }
dynCheck_entry_vkGetSwapchainImagesKHR(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pSwapchainImageCount,VkImage * pSwapchainImages)2208 static VkResult dynCheck_entry_vkGetSwapchainImagesKHR(
2209 VkDevice device,
2210 VkSwapchainKHR swapchain,
2211 uint32_t* pSwapchainImageCount,
2212 VkImage* pSwapchainImages)
2213 {
2214 auto resources = ResourceTracker::get();
2215 if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
2216 {
2217 sOnInvalidDynamicallyCheckedCall("vkGetSwapchainImagesKHR", "VK_KHR_swapchain");
2218 }
2219 AEMU_SCOPED_TRACE("vkGetSwapchainImagesKHR");
2220 auto vkEnc = HostConnection::get()->vkEncoder();
2221 VkResult vkGetSwapchainImagesKHR_VkResult_return = (VkResult)0;
2222 vkGetSwapchainImagesKHR_VkResult_return = vkEnc->vkGetSwapchainImagesKHR(device, swapchain, pSwapchainImageCount, pSwapchainImages);
2223 return vkGetSwapchainImagesKHR_VkResult_return;
2224 }
entry_vkAcquireNextImageKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t timeout,VkSemaphore semaphore,VkFence fence,uint32_t * pImageIndex)2225 static VkResult entry_vkAcquireNextImageKHR(
2226 VkDevice device,
2227 VkSwapchainKHR swapchain,
2228 uint64_t timeout,
2229 VkSemaphore semaphore,
2230 VkFence fence,
2231 uint32_t* pImageIndex)
2232 {
2233 AEMU_SCOPED_TRACE("vkAcquireNextImageKHR");
2234 auto vkEnc = HostConnection::get()->vkEncoder();
2235 VkResult vkAcquireNextImageKHR_VkResult_return = (VkResult)0;
2236 vkAcquireNextImageKHR_VkResult_return = vkEnc->vkAcquireNextImageKHR(device, swapchain, timeout, semaphore, fence, pImageIndex);
2237 return vkAcquireNextImageKHR_VkResult_return;
2238 }
dynCheck_entry_vkAcquireNextImageKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t timeout,VkSemaphore semaphore,VkFence fence,uint32_t * pImageIndex)2239 static VkResult dynCheck_entry_vkAcquireNextImageKHR(
2240 VkDevice device,
2241 VkSwapchainKHR swapchain,
2242 uint64_t timeout,
2243 VkSemaphore semaphore,
2244 VkFence fence,
2245 uint32_t* pImageIndex)
2246 {
2247 auto resources = ResourceTracker::get();
2248 if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
2249 {
2250 sOnInvalidDynamicallyCheckedCall("vkAcquireNextImageKHR", "VK_KHR_swapchain");
2251 }
2252 AEMU_SCOPED_TRACE("vkAcquireNextImageKHR");
2253 auto vkEnc = HostConnection::get()->vkEncoder();
2254 VkResult vkAcquireNextImageKHR_VkResult_return = (VkResult)0;
2255 vkAcquireNextImageKHR_VkResult_return = vkEnc->vkAcquireNextImageKHR(device, swapchain, timeout, semaphore, fence, pImageIndex);
2256 return vkAcquireNextImageKHR_VkResult_return;
2257 }
entry_vkQueuePresentKHR(VkQueue queue,const VkPresentInfoKHR * pPresentInfo)2258 static VkResult entry_vkQueuePresentKHR(
2259 VkQueue queue,
2260 const VkPresentInfoKHR* pPresentInfo)
2261 {
2262 AEMU_SCOPED_TRACE("vkQueuePresentKHR");
2263 auto vkEnc = HostConnection::get()->vkEncoder();
2264 ResourceTracker::get()->syncEncodersForQueue(queue, vkEnc);
2265 VkResult vkQueuePresentKHR_VkResult_return = (VkResult)0;
2266 vkQueuePresentKHR_VkResult_return = vkEnc->vkQueuePresentKHR(queue, pPresentInfo);
2267 return vkQueuePresentKHR_VkResult_return;
2268 }
entry_vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device,VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities)2269 static VkResult entry_vkGetDeviceGroupPresentCapabilitiesKHR(
2270 VkDevice device,
2271 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities)
2272 {
2273 AEMU_SCOPED_TRACE("vkGetDeviceGroupPresentCapabilitiesKHR");
2274 auto vkEnc = HostConnection::get()->vkEncoder();
2275 VkResult vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return = (VkResult)0;
2276 vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return = vkEnc->vkGetDeviceGroupPresentCapabilitiesKHR(device, pDeviceGroupPresentCapabilities);
2277 return vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return;
2278 }
dynCheck_entry_vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device,VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities)2279 static VkResult dynCheck_entry_vkGetDeviceGroupPresentCapabilitiesKHR(
2280 VkDevice device,
2281 VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities)
2282 {
2283 auto resources = ResourceTracker::get();
2284 if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
2285 {
2286 sOnInvalidDynamicallyCheckedCall("vkGetDeviceGroupPresentCapabilitiesKHR", "VK_KHR_swapchain");
2287 }
2288 AEMU_SCOPED_TRACE("vkGetDeviceGroupPresentCapabilitiesKHR");
2289 auto vkEnc = HostConnection::get()->vkEncoder();
2290 VkResult vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return = (VkResult)0;
2291 vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return = vkEnc->vkGetDeviceGroupPresentCapabilitiesKHR(device, pDeviceGroupPresentCapabilities);
2292 return vkGetDeviceGroupPresentCapabilitiesKHR_VkResult_return;
2293 }
entry_vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device,VkSurfaceKHR surface,VkDeviceGroupPresentModeFlagsKHR * pModes)2294 static VkResult entry_vkGetDeviceGroupSurfacePresentModesKHR(
2295 VkDevice device,
2296 VkSurfaceKHR surface,
2297 VkDeviceGroupPresentModeFlagsKHR* pModes)
2298 {
2299 AEMU_SCOPED_TRACE("vkGetDeviceGroupSurfacePresentModesKHR");
2300 auto vkEnc = HostConnection::get()->vkEncoder();
2301 VkResult vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return = (VkResult)0;
2302 vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return = vkEnc->vkGetDeviceGroupSurfacePresentModesKHR(device, surface, pModes);
2303 return vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return;
2304 }
dynCheck_entry_vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device,VkSurfaceKHR surface,VkDeviceGroupPresentModeFlagsKHR * pModes)2305 static VkResult dynCheck_entry_vkGetDeviceGroupSurfacePresentModesKHR(
2306 VkDevice device,
2307 VkSurfaceKHR surface,
2308 VkDeviceGroupPresentModeFlagsKHR* pModes)
2309 {
2310 auto resources = ResourceTracker::get();
2311 if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
2312 {
2313 sOnInvalidDynamicallyCheckedCall("vkGetDeviceGroupSurfacePresentModesKHR", "VK_KHR_swapchain");
2314 }
2315 AEMU_SCOPED_TRACE("vkGetDeviceGroupSurfacePresentModesKHR");
2316 auto vkEnc = HostConnection::get()->vkEncoder();
2317 VkResult vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return = (VkResult)0;
2318 vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return = vkEnc->vkGetDeviceGroupSurfacePresentModesKHR(device, surface, pModes);
2319 return vkGetDeviceGroupSurfacePresentModesKHR_VkResult_return;
2320 }
entry_vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pRectCount,VkRect2D * pRects)2321 static VkResult entry_vkGetPhysicalDevicePresentRectanglesKHR(
2322 VkPhysicalDevice physicalDevice,
2323 VkSurfaceKHR surface,
2324 uint32_t* pRectCount,
2325 VkRect2D* pRects)
2326 {
2327 AEMU_SCOPED_TRACE("vkGetPhysicalDevicePresentRectanglesKHR");
2328 auto vkEnc = HostConnection::get()->vkEncoder();
2329 VkResult vkGetPhysicalDevicePresentRectanglesKHR_VkResult_return = (VkResult)0;
2330 vkGetPhysicalDevicePresentRectanglesKHR_VkResult_return = vkEnc->vkGetPhysicalDevicePresentRectanglesKHR(physicalDevice, surface, pRectCount, pRects);
2331 return vkGetPhysicalDevicePresentRectanglesKHR_VkResult_return;
2332 }
entry_vkAcquireNextImage2KHR(VkDevice device,const VkAcquireNextImageInfoKHR * pAcquireInfo,uint32_t * pImageIndex)2333 static VkResult entry_vkAcquireNextImage2KHR(
2334 VkDevice device,
2335 const VkAcquireNextImageInfoKHR* pAcquireInfo,
2336 uint32_t* pImageIndex)
2337 {
2338 AEMU_SCOPED_TRACE("vkAcquireNextImage2KHR");
2339 auto vkEnc = HostConnection::get()->vkEncoder();
2340 VkResult vkAcquireNextImage2KHR_VkResult_return = (VkResult)0;
2341 vkAcquireNextImage2KHR_VkResult_return = vkEnc->vkAcquireNextImage2KHR(device, pAcquireInfo, pImageIndex);
2342 return vkAcquireNextImage2KHR_VkResult_return;
2343 }
dynCheck_entry_vkAcquireNextImage2KHR(VkDevice device,const VkAcquireNextImageInfoKHR * pAcquireInfo,uint32_t * pImageIndex)2344 static VkResult dynCheck_entry_vkAcquireNextImage2KHR(
2345 VkDevice device,
2346 const VkAcquireNextImageInfoKHR* pAcquireInfo,
2347 uint32_t* pImageIndex)
2348 {
2349 auto resources = ResourceTracker::get();
2350 if (!resources->hasDeviceExtension(device, "VK_KHR_swapchain"))
2351 {
2352 sOnInvalidDynamicallyCheckedCall("vkAcquireNextImage2KHR", "VK_KHR_swapchain");
2353 }
2354 AEMU_SCOPED_TRACE("vkAcquireNextImage2KHR");
2355 auto vkEnc = HostConnection::get()->vkEncoder();
2356 VkResult vkAcquireNextImage2KHR_VkResult_return = (VkResult)0;
2357 vkAcquireNextImage2KHR_VkResult_return = vkEnc->vkAcquireNextImage2KHR(device, pAcquireInfo, pImageIndex);
2358 return vkAcquireNextImage2KHR_VkResult_return;
2359 }
2360 #endif
2361 #ifdef VK_KHR_display
entry_vkGetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPropertiesKHR * pProperties)2362 static VkResult entry_vkGetPhysicalDeviceDisplayPropertiesKHR(
2363 VkPhysicalDevice physicalDevice,
2364 uint32_t* pPropertyCount,
2365 VkDisplayPropertiesKHR* pProperties)
2366 {
2367 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceDisplayPropertiesKHR");
2368 auto vkEnc = HostConnection::get()->vkEncoder();
2369 VkResult vkGetPhysicalDeviceDisplayPropertiesKHR_VkResult_return = (VkResult)0;
2370 vkGetPhysicalDeviceDisplayPropertiesKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceDisplayPropertiesKHR(physicalDevice, pPropertyCount, pProperties);
2371 return vkGetPhysicalDeviceDisplayPropertiesKHR_VkResult_return;
2372 }
entry_vkGetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlanePropertiesKHR * pProperties)2373 static VkResult entry_vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
2374 VkPhysicalDevice physicalDevice,
2375 uint32_t* pPropertyCount,
2376 VkDisplayPlanePropertiesKHR* pProperties)
2377 {
2378 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
2379 auto vkEnc = HostConnection::get()->vkEncoder();
2380 VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR_VkResult_return = (VkResult)0;
2381 vkGetPhysicalDeviceDisplayPlanePropertiesKHR_VkResult_return = vkEnc->vkGetPhysicalDeviceDisplayPlanePropertiesKHR(physicalDevice, pPropertyCount, pProperties);
2382 return vkGetPhysicalDeviceDisplayPlanePropertiesKHR_VkResult_return;
2383 }
entry_vkGetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice,uint32_t planeIndex,uint32_t * pDisplayCount,VkDisplayKHR * pDisplays)2384 static VkResult entry_vkGetDisplayPlaneSupportedDisplaysKHR(
2385 VkPhysicalDevice physicalDevice,
2386 uint32_t planeIndex,
2387 uint32_t* pDisplayCount,
2388 VkDisplayKHR* pDisplays)
2389 {
2390 AEMU_SCOPED_TRACE("vkGetDisplayPlaneSupportedDisplaysKHR");
2391 auto vkEnc = HostConnection::get()->vkEncoder();
2392 VkResult vkGetDisplayPlaneSupportedDisplaysKHR_VkResult_return = (VkResult)0;
2393 vkGetDisplayPlaneSupportedDisplaysKHR_VkResult_return = vkEnc->vkGetDisplayPlaneSupportedDisplaysKHR(physicalDevice, planeIndex, pDisplayCount, pDisplays);
2394 return vkGetDisplayPlaneSupportedDisplaysKHR_VkResult_return;
2395 }
entry_vkGetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,uint32_t * pPropertyCount,VkDisplayModePropertiesKHR * pProperties)2396 static VkResult entry_vkGetDisplayModePropertiesKHR(
2397 VkPhysicalDevice physicalDevice,
2398 VkDisplayKHR display,
2399 uint32_t* pPropertyCount,
2400 VkDisplayModePropertiesKHR* pProperties)
2401 {
2402 AEMU_SCOPED_TRACE("vkGetDisplayModePropertiesKHR");
2403 auto vkEnc = HostConnection::get()->vkEncoder();
2404 VkResult vkGetDisplayModePropertiesKHR_VkResult_return = (VkResult)0;
2405 vkGetDisplayModePropertiesKHR_VkResult_return = vkEnc->vkGetDisplayModePropertiesKHR(physicalDevice, display, pPropertyCount, pProperties);
2406 return vkGetDisplayModePropertiesKHR_VkResult_return;
2407 }
entry_vkCreateDisplayModeKHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,const VkDisplayModeCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDisplayModeKHR * pMode)2408 static VkResult entry_vkCreateDisplayModeKHR(
2409 VkPhysicalDevice physicalDevice,
2410 VkDisplayKHR display,
2411 const VkDisplayModeCreateInfoKHR* pCreateInfo,
2412 const VkAllocationCallbacks* pAllocator,
2413 VkDisplayModeKHR* pMode)
2414 {
2415 AEMU_SCOPED_TRACE("vkCreateDisplayModeKHR");
2416 auto vkEnc = HostConnection::get()->vkEncoder();
2417 VkResult vkCreateDisplayModeKHR_VkResult_return = (VkResult)0;
2418 vkCreateDisplayModeKHR_VkResult_return = vkEnc->vkCreateDisplayModeKHR(physicalDevice, display, pCreateInfo, pAllocator, pMode);
2419 return vkCreateDisplayModeKHR_VkResult_return;
2420 }
entry_vkGetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice physicalDevice,VkDisplayModeKHR mode,uint32_t planeIndex,VkDisplayPlaneCapabilitiesKHR * pCapabilities)2421 static VkResult entry_vkGetDisplayPlaneCapabilitiesKHR(
2422 VkPhysicalDevice physicalDevice,
2423 VkDisplayModeKHR mode,
2424 uint32_t planeIndex,
2425 VkDisplayPlaneCapabilitiesKHR* pCapabilities)
2426 {
2427 AEMU_SCOPED_TRACE("vkGetDisplayPlaneCapabilitiesKHR");
2428 auto vkEnc = HostConnection::get()->vkEncoder();
2429 VkResult vkGetDisplayPlaneCapabilitiesKHR_VkResult_return = (VkResult)0;
2430 vkGetDisplayPlaneCapabilitiesKHR_VkResult_return = vkEnc->vkGetDisplayPlaneCapabilitiesKHR(physicalDevice, mode, planeIndex, pCapabilities);
2431 return vkGetDisplayPlaneCapabilitiesKHR_VkResult_return;
2432 }
entry_vkCreateDisplayPlaneSurfaceKHR(VkInstance instance,const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface)2433 static VkResult entry_vkCreateDisplayPlaneSurfaceKHR(
2434 VkInstance instance,
2435 const VkDisplaySurfaceCreateInfoKHR* pCreateInfo,
2436 const VkAllocationCallbacks* pAllocator,
2437 VkSurfaceKHR* pSurface)
2438 {
2439 AEMU_SCOPED_TRACE("vkCreateDisplayPlaneSurfaceKHR");
2440 auto vkEnc = HostConnection::get()->vkEncoder();
2441 VkResult vkCreateDisplayPlaneSurfaceKHR_VkResult_return = (VkResult)0;
2442 vkCreateDisplayPlaneSurfaceKHR_VkResult_return = vkEnc->vkCreateDisplayPlaneSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
2443 return vkCreateDisplayPlaneSurfaceKHR_VkResult_return;
2444 }
2445 #endif
2446 #ifdef VK_KHR_display_swapchain
entry_vkCreateSharedSwapchainsKHR(VkDevice device,uint32_t swapchainCount,const VkSwapchainCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchains)2447 static VkResult entry_vkCreateSharedSwapchainsKHR(
2448 VkDevice device,
2449 uint32_t swapchainCount,
2450 const VkSwapchainCreateInfoKHR* pCreateInfos,
2451 const VkAllocationCallbacks* pAllocator,
2452 VkSwapchainKHR* pSwapchains)
2453 {
2454 AEMU_SCOPED_TRACE("vkCreateSharedSwapchainsKHR");
2455 auto vkEnc = HostConnection::get()->vkEncoder();
2456 VkResult vkCreateSharedSwapchainsKHR_VkResult_return = (VkResult)0;
2457 vkCreateSharedSwapchainsKHR_VkResult_return = vkEnc->vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllocator, pSwapchains);
2458 return vkCreateSharedSwapchainsKHR_VkResult_return;
2459 }
dynCheck_entry_vkCreateSharedSwapchainsKHR(VkDevice device,uint32_t swapchainCount,const VkSwapchainCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchains)2460 static VkResult dynCheck_entry_vkCreateSharedSwapchainsKHR(
2461 VkDevice device,
2462 uint32_t swapchainCount,
2463 const VkSwapchainCreateInfoKHR* pCreateInfos,
2464 const VkAllocationCallbacks* pAllocator,
2465 VkSwapchainKHR* pSwapchains)
2466 {
2467 auto resources = ResourceTracker::get();
2468 if (!resources->hasDeviceExtension(device, "VK_KHR_display_swapchain"))
2469 {
2470 sOnInvalidDynamicallyCheckedCall("vkCreateSharedSwapchainsKHR", "VK_KHR_display_swapchain");
2471 }
2472 AEMU_SCOPED_TRACE("vkCreateSharedSwapchainsKHR");
2473 auto vkEnc = HostConnection::get()->vkEncoder();
2474 VkResult vkCreateSharedSwapchainsKHR_VkResult_return = (VkResult)0;
2475 vkCreateSharedSwapchainsKHR_VkResult_return = vkEnc->vkCreateSharedSwapchainsKHR(device, swapchainCount, pCreateInfos, pAllocator, pSwapchains);
2476 return vkCreateSharedSwapchainsKHR_VkResult_return;
2477 }
2478 #endif
2479 #ifdef VK_KHR_xlib_surface
entry_vkCreateXlibSurfaceKHR(VkInstance instance,const VkXlibSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface)2480 static VkResult entry_vkCreateXlibSurfaceKHR(
2481 VkInstance instance,
2482 const VkXlibSurfaceCreateInfoKHR* pCreateInfo,
2483 const VkAllocationCallbacks* pAllocator,
2484 VkSurfaceKHR* pSurface)
2485 {
2486 AEMU_SCOPED_TRACE("vkCreateXlibSurfaceKHR");
2487 auto vkEnc = HostConnection::get()->vkEncoder();
2488 VkResult vkCreateXlibSurfaceKHR_VkResult_return = (VkResult)0;
2489 vkCreateXlibSurfaceKHR_VkResult_return = vkEnc->vkCreateXlibSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
2490 return vkCreateXlibSurfaceKHR_VkResult_return;
2491 }
entry_vkGetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,Display * dpy,VisualID visualID)2492 static VkBool32 entry_vkGetPhysicalDeviceXlibPresentationSupportKHR(
2493 VkPhysicalDevice physicalDevice,
2494 uint32_t queueFamilyIndex,
2495 Display* dpy,
2496 VisualID visualID)
2497 {
2498 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceXlibPresentationSupportKHR");
2499 auto vkEnc = HostConnection::get()->vkEncoder();
2500 VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR_VkBool32_return = (VkBool32)0;
2501 vkGetPhysicalDeviceXlibPresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceXlibPresentationSupportKHR(physicalDevice, queueFamilyIndex, dpy, visualID);
2502 return vkGetPhysicalDeviceXlibPresentationSupportKHR_VkBool32_return;
2503 }
2504 #endif
2505 #ifdef VK_KHR_xcb_surface
entry_vkCreateXcbSurfaceKHR(VkInstance instance,const VkXcbSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface)2506 static VkResult entry_vkCreateXcbSurfaceKHR(
2507 VkInstance instance,
2508 const VkXcbSurfaceCreateInfoKHR* pCreateInfo,
2509 const VkAllocationCallbacks* pAllocator,
2510 VkSurfaceKHR* pSurface)
2511 {
2512 AEMU_SCOPED_TRACE("vkCreateXcbSurfaceKHR");
2513 auto vkEnc = HostConnection::get()->vkEncoder();
2514 VkResult vkCreateXcbSurfaceKHR_VkResult_return = (VkResult)0;
2515 vkCreateXcbSurfaceKHR_VkResult_return = vkEnc->vkCreateXcbSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
2516 return vkCreateXcbSurfaceKHR_VkResult_return;
2517 }
entry_vkGetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,xcb_connection_t * connection,xcb_visualid_t visual_id)2518 static VkBool32 entry_vkGetPhysicalDeviceXcbPresentationSupportKHR(
2519 VkPhysicalDevice physicalDevice,
2520 uint32_t queueFamilyIndex,
2521 xcb_connection_t* connection,
2522 xcb_visualid_t visual_id)
2523 {
2524 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceXcbPresentationSupportKHR");
2525 auto vkEnc = HostConnection::get()->vkEncoder();
2526 VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR_VkBool32_return = (VkBool32)0;
2527 vkGetPhysicalDeviceXcbPresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceXcbPresentationSupportKHR(physicalDevice, queueFamilyIndex, connection, visual_id);
2528 return vkGetPhysicalDeviceXcbPresentationSupportKHR_VkBool32_return;
2529 }
2530 #endif
2531 #ifdef VK_KHR_wayland_surface
entry_vkCreateWaylandSurfaceKHR(VkInstance instance,const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface)2532 static VkResult entry_vkCreateWaylandSurfaceKHR(
2533 VkInstance instance,
2534 const VkWaylandSurfaceCreateInfoKHR* pCreateInfo,
2535 const VkAllocationCallbacks* pAllocator,
2536 VkSurfaceKHR* pSurface)
2537 {
2538 AEMU_SCOPED_TRACE("vkCreateWaylandSurfaceKHR");
2539 auto vkEnc = HostConnection::get()->vkEncoder();
2540 VkResult vkCreateWaylandSurfaceKHR_VkResult_return = (VkResult)0;
2541 vkCreateWaylandSurfaceKHR_VkResult_return = vkEnc->vkCreateWaylandSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
2542 return vkCreateWaylandSurfaceKHR_VkResult_return;
2543 }
entry_vkGetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,wl_display * display)2544 static VkBool32 entry_vkGetPhysicalDeviceWaylandPresentationSupportKHR(
2545 VkPhysicalDevice physicalDevice,
2546 uint32_t queueFamilyIndex,
2547 wl_display* display)
2548 {
2549 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceWaylandPresentationSupportKHR");
2550 auto vkEnc = HostConnection::get()->vkEncoder();
2551 VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR_VkBool32_return = (VkBool32)0;
2552 vkGetPhysicalDeviceWaylandPresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceWaylandPresentationSupportKHR(physicalDevice, queueFamilyIndex, display);
2553 return vkGetPhysicalDeviceWaylandPresentationSupportKHR_VkBool32_return;
2554 }
2555 #endif
2556 #ifdef VK_KHR_mir_surface
entry_vkCreateMirSurfaceKHR(VkInstance instance,const VkMirSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface)2557 static VkResult entry_vkCreateMirSurfaceKHR(
2558 VkInstance instance,
2559 const VkMirSurfaceCreateInfoKHR* pCreateInfo,
2560 const VkAllocationCallbacks* pAllocator,
2561 VkSurfaceKHR* pSurface)
2562 {
2563 AEMU_SCOPED_TRACE("vkCreateMirSurfaceKHR");
2564 auto vkEnc = HostConnection::get()->vkEncoder();
2565 VkResult vkCreateMirSurfaceKHR_VkResult_return = (VkResult)0;
2566 vkCreateMirSurfaceKHR_VkResult_return = vkEnc->vkCreateMirSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
2567 return vkCreateMirSurfaceKHR_VkResult_return;
2568 }
entry_vkGetPhysicalDeviceMirPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,MirConnection * connection)2569 static VkBool32 entry_vkGetPhysicalDeviceMirPresentationSupportKHR(
2570 VkPhysicalDevice physicalDevice,
2571 uint32_t queueFamilyIndex,
2572 MirConnection* connection)
2573 {
2574 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceMirPresentationSupportKHR");
2575 auto vkEnc = HostConnection::get()->vkEncoder();
2576 VkBool32 vkGetPhysicalDeviceMirPresentationSupportKHR_VkBool32_return = (VkBool32)0;
2577 vkGetPhysicalDeviceMirPresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceMirPresentationSupportKHR(physicalDevice, queueFamilyIndex, connection);
2578 return vkGetPhysicalDeviceMirPresentationSupportKHR_VkBool32_return;
2579 }
2580 #endif
2581 #ifdef VK_KHR_android_surface
entry_vkCreateAndroidSurfaceKHR(VkInstance instance,const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface)2582 static VkResult entry_vkCreateAndroidSurfaceKHR(
2583 VkInstance instance,
2584 const VkAndroidSurfaceCreateInfoKHR* pCreateInfo,
2585 const VkAllocationCallbacks* pAllocator,
2586 VkSurfaceKHR* pSurface)
2587 {
2588 AEMU_SCOPED_TRACE("vkCreateAndroidSurfaceKHR");
2589 auto vkEnc = HostConnection::get()->vkEncoder();
2590 VkResult vkCreateAndroidSurfaceKHR_VkResult_return = (VkResult)0;
2591 vkCreateAndroidSurfaceKHR_VkResult_return = vkEnc->vkCreateAndroidSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
2592 return vkCreateAndroidSurfaceKHR_VkResult_return;
2593 }
2594 #endif
2595 #ifdef VK_KHR_win32_surface
entry_vkCreateWin32SurfaceKHR(VkInstance instance,const VkWin32SurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface)2596 static VkResult entry_vkCreateWin32SurfaceKHR(
2597 VkInstance instance,
2598 const VkWin32SurfaceCreateInfoKHR* pCreateInfo,
2599 const VkAllocationCallbacks* pAllocator,
2600 VkSurfaceKHR* pSurface)
2601 {
2602 AEMU_SCOPED_TRACE("vkCreateWin32SurfaceKHR");
2603 auto vkEnc = HostConnection::get()->vkEncoder();
2604 VkResult vkCreateWin32SurfaceKHR_VkResult_return = (VkResult)0;
2605 vkCreateWin32SurfaceKHR_VkResult_return = vkEnc->vkCreateWin32SurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
2606 return vkCreateWin32SurfaceKHR_VkResult_return;
2607 }
entry_vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex)2608 static VkBool32 entry_vkGetPhysicalDeviceWin32PresentationSupportKHR(
2609 VkPhysicalDevice physicalDevice,
2610 uint32_t queueFamilyIndex)
2611 {
2612 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceWin32PresentationSupportKHR");
2613 auto vkEnc = HostConnection::get()->vkEncoder();
2614 VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR_VkBool32_return = (VkBool32)0;
2615 vkGetPhysicalDeviceWin32PresentationSupportKHR_VkBool32_return = vkEnc->vkGetPhysicalDeviceWin32PresentationSupportKHR(physicalDevice, queueFamilyIndex);
2616 return vkGetPhysicalDeviceWin32PresentationSupportKHR_VkBool32_return;
2617 }
2618 #endif
2619 #ifdef VK_KHR_sampler_mirror_clamp_to_edge
2620 #endif
2621 #ifdef VK_KHR_multiview
2622 #endif
2623 #ifdef VK_KHR_get_physical_device_properties2
entry_vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures)2624 static void entry_vkGetPhysicalDeviceFeatures2KHR(
2625 VkPhysicalDevice physicalDevice,
2626 VkPhysicalDeviceFeatures2* pFeatures)
2627 {
2628 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceFeatures2KHR");
2629 auto vkEnc = HostConnection::get()->vkEncoder();
2630 vkEnc->vkGetPhysicalDeviceFeatures2KHR(physicalDevice, pFeatures);
2631 }
entry_vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties)2632 static void entry_vkGetPhysicalDeviceProperties2KHR(
2633 VkPhysicalDevice physicalDevice,
2634 VkPhysicalDeviceProperties2* pProperties)
2635 {
2636 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceProperties2KHR");
2637 auto vkEnc = HostConnection::get()->vkEncoder();
2638 vkEnc->vkGetPhysicalDeviceProperties2KHR(physicalDevice, pProperties);
2639 }
entry_vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties)2640 static void entry_vkGetPhysicalDeviceFormatProperties2KHR(
2641 VkPhysicalDevice physicalDevice,
2642 VkFormat format,
2643 VkFormatProperties2* pFormatProperties)
2644 {
2645 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceFormatProperties2KHR");
2646 auto vkEnc = HostConnection::get()->vkEncoder();
2647 vkEnc->vkGetPhysicalDeviceFormatProperties2KHR(physicalDevice, format, pFormatProperties);
2648 }
entry_vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties)2649 static VkResult entry_vkGetPhysicalDeviceImageFormatProperties2KHR(
2650 VkPhysicalDevice physicalDevice,
2651 const VkPhysicalDeviceImageFormatInfo2* pImageFormatInfo,
2652 VkImageFormatProperties2* pImageFormatProperties)
2653 {
2654 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceImageFormatProperties2KHR");
2655 auto vkEnc = HostConnection::get()->vkEncoder();
2656 VkResult vkGetPhysicalDeviceImageFormatProperties2KHR_VkResult_return = (VkResult)0;
2657 auto resources = ResourceTracker::get();
2658 vkGetPhysicalDeviceImageFormatProperties2KHR_VkResult_return = resources->on_vkGetPhysicalDeviceImageFormatProperties2KHR(vkEnc, VK_SUCCESS, physicalDevice, pImageFormatInfo, pImageFormatProperties);
2659 return vkGetPhysicalDeviceImageFormatProperties2KHR_VkResult_return;
2660 }
entry_vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties)2661 static void entry_vkGetPhysicalDeviceQueueFamilyProperties2KHR(
2662 VkPhysicalDevice physicalDevice,
2663 uint32_t* pQueueFamilyPropertyCount,
2664 VkQueueFamilyProperties2* pQueueFamilyProperties)
2665 {
2666 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceQueueFamilyProperties2KHR");
2667 auto vkEnc = HostConnection::get()->vkEncoder();
2668 vkEnc->vkGetPhysicalDeviceQueueFamilyProperties2KHR(physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties);
2669 }
entry_vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties)2670 static void entry_vkGetPhysicalDeviceMemoryProperties2KHR(
2671 VkPhysicalDevice physicalDevice,
2672 VkPhysicalDeviceMemoryProperties2* pMemoryProperties)
2673 {
2674 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceMemoryProperties2KHR");
2675 auto vkEnc = HostConnection::get()->vkEncoder();
2676 vkEnc->vkGetPhysicalDeviceMemoryProperties2KHR(physicalDevice, pMemoryProperties);
2677 }
entry_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties)2678 static void entry_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
2679 VkPhysicalDevice physicalDevice,
2680 const VkPhysicalDeviceSparseImageFormatInfo2* pFormatInfo,
2681 uint32_t* pPropertyCount,
2682 VkSparseImageFormatProperties2* pProperties)
2683 {
2684 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
2685 auto vkEnc = HostConnection::get()->vkEncoder();
2686 vkEnc->vkGetPhysicalDeviceSparseImageFormatProperties2KHR(physicalDevice, pFormatInfo, pPropertyCount, pProperties);
2687 }
2688 #endif
2689 #ifdef VK_KHR_device_group
entry_vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures)2690 static void entry_vkGetDeviceGroupPeerMemoryFeaturesKHR(
2691 VkDevice device,
2692 uint32_t heapIndex,
2693 uint32_t localDeviceIndex,
2694 uint32_t remoteDeviceIndex,
2695 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
2696 {
2697 AEMU_SCOPED_TRACE("vkGetDeviceGroupPeerMemoryFeaturesKHR");
2698 auto vkEnc = HostConnection::get()->vkEncoder();
2699 vkEnc->vkGetDeviceGroupPeerMemoryFeaturesKHR(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
2700 }
dynCheck_entry_vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures)2701 static void dynCheck_entry_vkGetDeviceGroupPeerMemoryFeaturesKHR(
2702 VkDevice device,
2703 uint32_t heapIndex,
2704 uint32_t localDeviceIndex,
2705 uint32_t remoteDeviceIndex,
2706 VkPeerMemoryFeatureFlags* pPeerMemoryFeatures)
2707 {
2708 auto resources = ResourceTracker::get();
2709 if (!resources->hasDeviceExtension(device, "VK_KHR_device_group"))
2710 {
2711 sOnInvalidDynamicallyCheckedCall("vkGetDeviceGroupPeerMemoryFeaturesKHR", "VK_KHR_device_group");
2712 }
2713 AEMU_SCOPED_TRACE("vkGetDeviceGroupPeerMemoryFeaturesKHR");
2714 auto vkEnc = HostConnection::get()->vkEncoder();
2715 vkEnc->vkGetDeviceGroupPeerMemoryFeaturesKHR(device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures);
2716 }
entry_vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer,uint32_t deviceMask)2717 static void entry_vkCmdSetDeviceMaskKHR(
2718 VkCommandBuffer commandBuffer,
2719 uint32_t deviceMask)
2720 {
2721 AEMU_SCOPED_TRACE("vkCmdSetDeviceMaskKHR");
2722 auto vkEnc = HostConnection::get()->vkEncoder();
2723 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
2724 vkEnc->vkCmdSetDeviceMaskKHR(commandBuffer, deviceMask);
2725 }
entry_vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ)2726 static void entry_vkCmdDispatchBaseKHR(
2727 VkCommandBuffer commandBuffer,
2728 uint32_t baseGroupX,
2729 uint32_t baseGroupY,
2730 uint32_t baseGroupZ,
2731 uint32_t groupCountX,
2732 uint32_t groupCountY,
2733 uint32_t groupCountZ)
2734 {
2735 AEMU_SCOPED_TRACE("vkCmdDispatchBaseKHR");
2736 auto vkEnc = HostConnection::get()->vkEncoder();
2737 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
2738 vkEnc->vkCmdDispatchBaseKHR(commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ);
2739 }
2740 #endif
2741 #ifdef VK_KHR_shader_draw_parameters
2742 #endif
2743 #ifdef VK_KHR_maintenance1
entry_vkTrimCommandPoolKHR(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags)2744 static void entry_vkTrimCommandPoolKHR(
2745 VkDevice device,
2746 VkCommandPool commandPool,
2747 VkCommandPoolTrimFlags flags)
2748 {
2749 AEMU_SCOPED_TRACE("vkTrimCommandPoolKHR");
2750 auto vkEnc = HostConnection::get()->vkEncoder();
2751 vkEnc->vkTrimCommandPoolKHR(device, commandPool, flags);
2752 }
dynCheck_entry_vkTrimCommandPoolKHR(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags)2753 static void dynCheck_entry_vkTrimCommandPoolKHR(
2754 VkDevice device,
2755 VkCommandPool commandPool,
2756 VkCommandPoolTrimFlags flags)
2757 {
2758 auto resources = ResourceTracker::get();
2759 if (!resources->hasDeviceExtension(device, "VK_KHR_maintenance1"))
2760 {
2761 sOnInvalidDynamicallyCheckedCall("vkTrimCommandPoolKHR", "VK_KHR_maintenance1");
2762 }
2763 AEMU_SCOPED_TRACE("vkTrimCommandPoolKHR");
2764 auto vkEnc = HostConnection::get()->vkEncoder();
2765 vkEnc->vkTrimCommandPoolKHR(device, commandPool, flags);
2766 }
2767 #endif
2768 #ifdef VK_KHR_device_group_creation
entry_vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties)2769 static VkResult entry_vkEnumeratePhysicalDeviceGroupsKHR(
2770 VkInstance instance,
2771 uint32_t* pPhysicalDeviceGroupCount,
2772 VkPhysicalDeviceGroupProperties* pPhysicalDeviceGroupProperties)
2773 {
2774 AEMU_SCOPED_TRACE("vkEnumeratePhysicalDeviceGroupsKHR");
2775 auto vkEnc = HostConnection::get()->vkEncoder();
2776 VkResult vkEnumeratePhysicalDeviceGroupsKHR_VkResult_return = (VkResult)0;
2777 vkEnumeratePhysicalDeviceGroupsKHR_VkResult_return = vkEnc->vkEnumeratePhysicalDeviceGroupsKHR(instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties);
2778 return vkEnumeratePhysicalDeviceGroupsKHR_VkResult_return;
2779 }
2780 #endif
2781 #ifdef VK_KHR_external_memory_capabilities
entry_vkGetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties)2782 static void entry_vkGetPhysicalDeviceExternalBufferPropertiesKHR(
2783 VkPhysicalDevice physicalDevice,
2784 const VkPhysicalDeviceExternalBufferInfo* pExternalBufferInfo,
2785 VkExternalBufferProperties* pExternalBufferProperties)
2786 {
2787 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceExternalBufferPropertiesKHR");
2788 auto vkEnc = HostConnection::get()->vkEncoder();
2789 vkEnc->vkGetPhysicalDeviceExternalBufferPropertiesKHR(physicalDevice, pExternalBufferInfo, pExternalBufferProperties);
2790 }
2791 #endif
2792 #ifdef VK_KHR_external_memory
2793 #endif
2794 #ifdef VK_KHR_external_memory_win32
entry_vkGetMemoryWin32HandleKHR(VkDevice device,const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle)2795 static VkResult entry_vkGetMemoryWin32HandleKHR(
2796 VkDevice device,
2797 const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
2798 HANDLE* pHandle)
2799 {
2800 AEMU_SCOPED_TRACE("vkGetMemoryWin32HandleKHR");
2801 auto vkEnc = HostConnection::get()->vkEncoder();
2802 VkResult vkGetMemoryWin32HandleKHR_VkResult_return = (VkResult)0;
2803 vkGetMemoryWin32HandleKHR_VkResult_return = vkEnc->vkGetMemoryWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
2804 return vkGetMemoryWin32HandleKHR_VkResult_return;
2805 }
dynCheck_entry_vkGetMemoryWin32HandleKHR(VkDevice device,const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle)2806 static VkResult dynCheck_entry_vkGetMemoryWin32HandleKHR(
2807 VkDevice device,
2808 const VkMemoryGetWin32HandleInfoKHR* pGetWin32HandleInfo,
2809 HANDLE* pHandle)
2810 {
2811 auto resources = ResourceTracker::get();
2812 if (!resources->hasDeviceExtension(device, "VK_KHR_external_memory_win32"))
2813 {
2814 sOnInvalidDynamicallyCheckedCall("vkGetMemoryWin32HandleKHR", "VK_KHR_external_memory_win32");
2815 }
2816 AEMU_SCOPED_TRACE("vkGetMemoryWin32HandleKHR");
2817 auto vkEnc = HostConnection::get()->vkEncoder();
2818 VkResult vkGetMemoryWin32HandleKHR_VkResult_return = (VkResult)0;
2819 vkGetMemoryWin32HandleKHR_VkResult_return = vkEnc->vkGetMemoryWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
2820 return vkGetMemoryWin32HandleKHR_VkResult_return;
2821 }
entry_vkGetMemoryWin32HandlePropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,HANDLE handle,VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties)2822 static VkResult entry_vkGetMemoryWin32HandlePropertiesKHR(
2823 VkDevice device,
2824 VkExternalMemoryHandleTypeFlagBits handleType,
2825 HANDLE handle,
2826 VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties)
2827 {
2828 AEMU_SCOPED_TRACE("vkGetMemoryWin32HandlePropertiesKHR");
2829 auto vkEnc = HostConnection::get()->vkEncoder();
2830 VkResult vkGetMemoryWin32HandlePropertiesKHR_VkResult_return = (VkResult)0;
2831 vkGetMemoryWin32HandlePropertiesKHR_VkResult_return = vkEnc->vkGetMemoryWin32HandlePropertiesKHR(device, handleType, handle, pMemoryWin32HandleProperties);
2832 return vkGetMemoryWin32HandlePropertiesKHR_VkResult_return;
2833 }
dynCheck_entry_vkGetMemoryWin32HandlePropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,HANDLE handle,VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties)2834 static VkResult dynCheck_entry_vkGetMemoryWin32HandlePropertiesKHR(
2835 VkDevice device,
2836 VkExternalMemoryHandleTypeFlagBits handleType,
2837 HANDLE handle,
2838 VkMemoryWin32HandlePropertiesKHR* pMemoryWin32HandleProperties)
2839 {
2840 auto resources = ResourceTracker::get();
2841 if (!resources->hasDeviceExtension(device, "VK_KHR_external_memory_win32"))
2842 {
2843 sOnInvalidDynamicallyCheckedCall("vkGetMemoryWin32HandlePropertiesKHR", "VK_KHR_external_memory_win32");
2844 }
2845 AEMU_SCOPED_TRACE("vkGetMemoryWin32HandlePropertiesKHR");
2846 auto vkEnc = HostConnection::get()->vkEncoder();
2847 VkResult vkGetMemoryWin32HandlePropertiesKHR_VkResult_return = (VkResult)0;
2848 vkGetMemoryWin32HandlePropertiesKHR_VkResult_return = vkEnc->vkGetMemoryWin32HandlePropertiesKHR(device, handleType, handle, pMemoryWin32HandleProperties);
2849 return vkGetMemoryWin32HandlePropertiesKHR_VkResult_return;
2850 }
2851 #endif
2852 #ifdef VK_KHR_external_memory_fd
entry_vkGetMemoryFdKHR(VkDevice device,const VkMemoryGetFdInfoKHR * pGetFdInfo,int * pFd)2853 static VkResult entry_vkGetMemoryFdKHR(
2854 VkDevice device,
2855 const VkMemoryGetFdInfoKHR* pGetFdInfo,
2856 int* pFd)
2857 {
2858 AEMU_SCOPED_TRACE("vkGetMemoryFdKHR");
2859 auto vkEnc = HostConnection::get()->vkEncoder();
2860 VkResult vkGetMemoryFdKHR_VkResult_return = (VkResult)0;
2861 vkGetMemoryFdKHR_VkResult_return = vkEnc->vkGetMemoryFdKHR(device, pGetFdInfo, pFd);
2862 return vkGetMemoryFdKHR_VkResult_return;
2863 }
dynCheck_entry_vkGetMemoryFdKHR(VkDevice device,const VkMemoryGetFdInfoKHR * pGetFdInfo,int * pFd)2864 static VkResult dynCheck_entry_vkGetMemoryFdKHR(
2865 VkDevice device,
2866 const VkMemoryGetFdInfoKHR* pGetFdInfo,
2867 int* pFd)
2868 {
2869 auto resources = ResourceTracker::get();
2870 if (!resources->hasDeviceExtension(device, "VK_KHR_external_memory_fd"))
2871 {
2872 sOnInvalidDynamicallyCheckedCall("vkGetMemoryFdKHR", "VK_KHR_external_memory_fd");
2873 }
2874 AEMU_SCOPED_TRACE("vkGetMemoryFdKHR");
2875 auto vkEnc = HostConnection::get()->vkEncoder();
2876 VkResult vkGetMemoryFdKHR_VkResult_return = (VkResult)0;
2877 vkGetMemoryFdKHR_VkResult_return = vkEnc->vkGetMemoryFdKHR(device, pGetFdInfo, pFd);
2878 return vkGetMemoryFdKHR_VkResult_return;
2879 }
entry_vkGetMemoryFdPropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,int fd,VkMemoryFdPropertiesKHR * pMemoryFdProperties)2880 static VkResult entry_vkGetMemoryFdPropertiesKHR(
2881 VkDevice device,
2882 VkExternalMemoryHandleTypeFlagBits handleType,
2883 int fd,
2884 VkMemoryFdPropertiesKHR* pMemoryFdProperties)
2885 {
2886 AEMU_SCOPED_TRACE("vkGetMemoryFdPropertiesKHR");
2887 auto vkEnc = HostConnection::get()->vkEncoder();
2888 VkResult vkGetMemoryFdPropertiesKHR_VkResult_return = (VkResult)0;
2889 vkGetMemoryFdPropertiesKHR_VkResult_return = vkEnc->vkGetMemoryFdPropertiesKHR(device, handleType, fd, pMemoryFdProperties);
2890 return vkGetMemoryFdPropertiesKHR_VkResult_return;
2891 }
dynCheck_entry_vkGetMemoryFdPropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,int fd,VkMemoryFdPropertiesKHR * pMemoryFdProperties)2892 static VkResult dynCheck_entry_vkGetMemoryFdPropertiesKHR(
2893 VkDevice device,
2894 VkExternalMemoryHandleTypeFlagBits handleType,
2895 int fd,
2896 VkMemoryFdPropertiesKHR* pMemoryFdProperties)
2897 {
2898 auto resources = ResourceTracker::get();
2899 if (!resources->hasDeviceExtension(device, "VK_KHR_external_memory_fd"))
2900 {
2901 sOnInvalidDynamicallyCheckedCall("vkGetMemoryFdPropertiesKHR", "VK_KHR_external_memory_fd");
2902 }
2903 AEMU_SCOPED_TRACE("vkGetMemoryFdPropertiesKHR");
2904 auto vkEnc = HostConnection::get()->vkEncoder();
2905 VkResult vkGetMemoryFdPropertiesKHR_VkResult_return = (VkResult)0;
2906 vkGetMemoryFdPropertiesKHR_VkResult_return = vkEnc->vkGetMemoryFdPropertiesKHR(device, handleType, fd, pMemoryFdProperties);
2907 return vkGetMemoryFdPropertiesKHR_VkResult_return;
2908 }
2909 #endif
2910 #ifdef VK_KHR_win32_keyed_mutex
2911 #endif
2912 #ifdef VK_KHR_external_semaphore_capabilities
entry_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties)2913 static void entry_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
2914 VkPhysicalDevice physicalDevice,
2915 const VkPhysicalDeviceExternalSemaphoreInfo* pExternalSemaphoreInfo,
2916 VkExternalSemaphoreProperties* pExternalSemaphoreProperties)
2917 {
2918 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
2919 auto vkEnc = HostConnection::get()->vkEncoder();
2920 vkEnc->vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties);
2921 }
2922 #endif
2923 #ifdef VK_KHR_external_semaphore
2924 #endif
2925 #ifdef VK_KHR_external_semaphore_win32
entry_vkImportSemaphoreWin32HandleKHR(VkDevice device,const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo)2926 static VkResult entry_vkImportSemaphoreWin32HandleKHR(
2927 VkDevice device,
2928 const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo)
2929 {
2930 AEMU_SCOPED_TRACE("vkImportSemaphoreWin32HandleKHR");
2931 auto vkEnc = HostConnection::get()->vkEncoder();
2932 VkResult vkImportSemaphoreWin32HandleKHR_VkResult_return = (VkResult)0;
2933 vkImportSemaphoreWin32HandleKHR_VkResult_return = vkEnc->vkImportSemaphoreWin32HandleKHR(device, pImportSemaphoreWin32HandleInfo);
2934 return vkImportSemaphoreWin32HandleKHR_VkResult_return;
2935 }
dynCheck_entry_vkImportSemaphoreWin32HandleKHR(VkDevice device,const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo)2936 static VkResult dynCheck_entry_vkImportSemaphoreWin32HandleKHR(
2937 VkDevice device,
2938 const VkImportSemaphoreWin32HandleInfoKHR* pImportSemaphoreWin32HandleInfo)
2939 {
2940 auto resources = ResourceTracker::get();
2941 if (!resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_win32"))
2942 {
2943 sOnInvalidDynamicallyCheckedCall("vkImportSemaphoreWin32HandleKHR", "VK_KHR_external_semaphore_win32");
2944 }
2945 AEMU_SCOPED_TRACE("vkImportSemaphoreWin32HandleKHR");
2946 auto vkEnc = HostConnection::get()->vkEncoder();
2947 VkResult vkImportSemaphoreWin32HandleKHR_VkResult_return = (VkResult)0;
2948 vkImportSemaphoreWin32HandleKHR_VkResult_return = vkEnc->vkImportSemaphoreWin32HandleKHR(device, pImportSemaphoreWin32HandleInfo);
2949 return vkImportSemaphoreWin32HandleKHR_VkResult_return;
2950 }
entry_vkGetSemaphoreWin32HandleKHR(VkDevice device,const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle)2951 static VkResult entry_vkGetSemaphoreWin32HandleKHR(
2952 VkDevice device,
2953 const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
2954 HANDLE* pHandle)
2955 {
2956 AEMU_SCOPED_TRACE("vkGetSemaphoreWin32HandleKHR");
2957 auto vkEnc = HostConnection::get()->vkEncoder();
2958 VkResult vkGetSemaphoreWin32HandleKHR_VkResult_return = (VkResult)0;
2959 vkGetSemaphoreWin32HandleKHR_VkResult_return = vkEnc->vkGetSemaphoreWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
2960 return vkGetSemaphoreWin32HandleKHR_VkResult_return;
2961 }
dynCheck_entry_vkGetSemaphoreWin32HandleKHR(VkDevice device,const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle)2962 static VkResult dynCheck_entry_vkGetSemaphoreWin32HandleKHR(
2963 VkDevice device,
2964 const VkSemaphoreGetWin32HandleInfoKHR* pGetWin32HandleInfo,
2965 HANDLE* pHandle)
2966 {
2967 auto resources = ResourceTracker::get();
2968 if (!resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_win32"))
2969 {
2970 sOnInvalidDynamicallyCheckedCall("vkGetSemaphoreWin32HandleKHR", "VK_KHR_external_semaphore_win32");
2971 }
2972 AEMU_SCOPED_TRACE("vkGetSemaphoreWin32HandleKHR");
2973 auto vkEnc = HostConnection::get()->vkEncoder();
2974 VkResult vkGetSemaphoreWin32HandleKHR_VkResult_return = (VkResult)0;
2975 vkGetSemaphoreWin32HandleKHR_VkResult_return = vkEnc->vkGetSemaphoreWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
2976 return vkGetSemaphoreWin32HandleKHR_VkResult_return;
2977 }
2978 #endif
2979 #ifdef VK_KHR_external_semaphore_fd
entry_vkImportSemaphoreFdKHR(VkDevice device,const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo)2980 static VkResult entry_vkImportSemaphoreFdKHR(
2981 VkDevice device,
2982 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo)
2983 {
2984 AEMU_SCOPED_TRACE("vkImportSemaphoreFdKHR");
2985 auto vkEnc = HostConnection::get()->vkEncoder();
2986 VkResult vkImportSemaphoreFdKHR_VkResult_return = (VkResult)0;
2987 auto resources = ResourceTracker::get();
2988 vkImportSemaphoreFdKHR_VkResult_return = resources->on_vkImportSemaphoreFdKHR(vkEnc, VK_SUCCESS, device, pImportSemaphoreFdInfo);
2989 return vkImportSemaphoreFdKHR_VkResult_return;
2990 }
dynCheck_entry_vkImportSemaphoreFdKHR(VkDevice device,const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo)2991 static VkResult dynCheck_entry_vkImportSemaphoreFdKHR(
2992 VkDevice device,
2993 const VkImportSemaphoreFdInfoKHR* pImportSemaphoreFdInfo)
2994 {
2995 auto resources = ResourceTracker::get();
2996 if (!resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_fd"))
2997 {
2998 sOnInvalidDynamicallyCheckedCall("vkImportSemaphoreFdKHR", "VK_KHR_external_semaphore_fd");
2999 }
3000 AEMU_SCOPED_TRACE("vkImportSemaphoreFdKHR");
3001 auto vkEnc = HostConnection::get()->vkEncoder();
3002 VkResult vkImportSemaphoreFdKHR_VkResult_return = (VkResult)0;
3003 vkImportSemaphoreFdKHR_VkResult_return = resources->on_vkImportSemaphoreFdKHR(vkEnc, VK_SUCCESS, device, pImportSemaphoreFdInfo);
3004 return vkImportSemaphoreFdKHR_VkResult_return;
3005 }
entry_vkGetSemaphoreFdKHR(VkDevice device,const VkSemaphoreGetFdInfoKHR * pGetFdInfo,int * pFd)3006 static VkResult entry_vkGetSemaphoreFdKHR(
3007 VkDevice device,
3008 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
3009 int* pFd)
3010 {
3011 AEMU_SCOPED_TRACE("vkGetSemaphoreFdKHR");
3012 auto vkEnc = HostConnection::get()->vkEncoder();
3013 VkResult vkGetSemaphoreFdKHR_VkResult_return = (VkResult)0;
3014 auto resources = ResourceTracker::get();
3015 vkGetSemaphoreFdKHR_VkResult_return = resources->on_vkGetSemaphoreFdKHR(vkEnc, VK_SUCCESS, device, pGetFdInfo, pFd);
3016 return vkGetSemaphoreFdKHR_VkResult_return;
3017 }
dynCheck_entry_vkGetSemaphoreFdKHR(VkDevice device,const VkSemaphoreGetFdInfoKHR * pGetFdInfo,int * pFd)3018 static VkResult dynCheck_entry_vkGetSemaphoreFdKHR(
3019 VkDevice device,
3020 const VkSemaphoreGetFdInfoKHR* pGetFdInfo,
3021 int* pFd)
3022 {
3023 auto resources = ResourceTracker::get();
3024 if (!resources->hasDeviceExtension(device, "VK_KHR_external_semaphore_fd"))
3025 {
3026 sOnInvalidDynamicallyCheckedCall("vkGetSemaphoreFdKHR", "VK_KHR_external_semaphore_fd");
3027 }
3028 AEMU_SCOPED_TRACE("vkGetSemaphoreFdKHR");
3029 auto vkEnc = HostConnection::get()->vkEncoder();
3030 VkResult vkGetSemaphoreFdKHR_VkResult_return = (VkResult)0;
3031 vkGetSemaphoreFdKHR_VkResult_return = resources->on_vkGetSemaphoreFdKHR(vkEnc, VK_SUCCESS, device, pGetFdInfo, pFd);
3032 return vkGetSemaphoreFdKHR_VkResult_return;
3033 }
3034 #endif
3035 #ifdef VK_KHR_push_descriptor
entry_vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites)3036 static void entry_vkCmdPushDescriptorSetKHR(
3037 VkCommandBuffer commandBuffer,
3038 VkPipelineBindPoint pipelineBindPoint,
3039 VkPipelineLayout layout,
3040 uint32_t set,
3041 uint32_t descriptorWriteCount,
3042 const VkWriteDescriptorSet* pDescriptorWrites)
3043 {
3044 AEMU_SCOPED_TRACE("vkCmdPushDescriptorSetKHR");
3045 auto vkEnc = HostConnection::get()->vkEncoder();
3046 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
3047 vkEnc->vkCmdPushDescriptorSetKHR(commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites);
3048 }
entry_vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer,VkDescriptorUpdateTemplate descriptorUpdateTemplate,VkPipelineLayout layout,uint32_t set,const void * pData)3049 static void entry_vkCmdPushDescriptorSetWithTemplateKHR(
3050 VkCommandBuffer commandBuffer,
3051 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3052 VkPipelineLayout layout,
3053 uint32_t set,
3054 const void* pData)
3055 {
3056 AEMU_SCOPED_TRACE("vkCmdPushDescriptorSetWithTemplateKHR");
3057 auto vkEnc = HostConnection::get()->vkEncoder();
3058 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
3059 vkEnc->vkCmdPushDescriptorSetWithTemplateKHR(commandBuffer, descriptorUpdateTemplate, layout, set, pData);
3060 }
3061 #endif
3062 #ifdef VK_KHR_16bit_storage
3063 #endif
3064 #ifdef VK_KHR_incremental_present
3065 #endif
3066 #ifdef VK_KHR_descriptor_update_template
entry_vkCreateDescriptorUpdateTemplateKHR(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate)3067 static VkResult entry_vkCreateDescriptorUpdateTemplateKHR(
3068 VkDevice device,
3069 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
3070 const VkAllocationCallbacks* pAllocator,
3071 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
3072 {
3073 AEMU_SCOPED_TRACE("vkCreateDescriptorUpdateTemplateKHR");
3074 auto vkEnc = HostConnection::get()->vkEncoder();
3075 VkResult vkCreateDescriptorUpdateTemplateKHR_VkResult_return = (VkResult)0;
3076 vkCreateDescriptorUpdateTemplateKHR_VkResult_return = vkEnc->vkCreateDescriptorUpdateTemplateKHR(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
3077 return vkCreateDescriptorUpdateTemplateKHR_VkResult_return;
3078 }
dynCheck_entry_vkCreateDescriptorUpdateTemplateKHR(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate)3079 static VkResult dynCheck_entry_vkCreateDescriptorUpdateTemplateKHR(
3080 VkDevice device,
3081 const VkDescriptorUpdateTemplateCreateInfo* pCreateInfo,
3082 const VkAllocationCallbacks* pAllocator,
3083 VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate)
3084 {
3085 auto resources = ResourceTracker::get();
3086 if (!resources->hasDeviceExtension(device, "VK_KHR_descriptor_update_template"))
3087 {
3088 sOnInvalidDynamicallyCheckedCall("vkCreateDescriptorUpdateTemplateKHR", "VK_KHR_descriptor_update_template");
3089 }
3090 AEMU_SCOPED_TRACE("vkCreateDescriptorUpdateTemplateKHR");
3091 auto vkEnc = HostConnection::get()->vkEncoder();
3092 VkResult vkCreateDescriptorUpdateTemplateKHR_VkResult_return = (VkResult)0;
3093 vkCreateDescriptorUpdateTemplateKHR_VkResult_return = vkEnc->vkCreateDescriptorUpdateTemplateKHR(device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate);
3094 return vkCreateDescriptorUpdateTemplateKHR_VkResult_return;
3095 }
entry_vkDestroyDescriptorUpdateTemplateKHR(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator)3096 static void entry_vkDestroyDescriptorUpdateTemplateKHR(
3097 VkDevice device,
3098 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3099 const VkAllocationCallbacks* pAllocator)
3100 {
3101 AEMU_SCOPED_TRACE("vkDestroyDescriptorUpdateTemplateKHR");
3102 auto vkEnc = HostConnection::get()->vkEncoder();
3103 vkEnc->vkDestroyDescriptorUpdateTemplateKHR(device, descriptorUpdateTemplate, pAllocator);
3104 }
dynCheck_entry_vkDestroyDescriptorUpdateTemplateKHR(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator)3105 static void dynCheck_entry_vkDestroyDescriptorUpdateTemplateKHR(
3106 VkDevice device,
3107 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3108 const VkAllocationCallbacks* pAllocator)
3109 {
3110 auto resources = ResourceTracker::get();
3111 if (!resources->hasDeviceExtension(device, "VK_KHR_descriptor_update_template"))
3112 {
3113 sOnInvalidDynamicallyCheckedCall("vkDestroyDescriptorUpdateTemplateKHR", "VK_KHR_descriptor_update_template");
3114 }
3115 AEMU_SCOPED_TRACE("vkDestroyDescriptorUpdateTemplateKHR");
3116 auto vkEnc = HostConnection::get()->vkEncoder();
3117 vkEnc->vkDestroyDescriptorUpdateTemplateKHR(device, descriptorUpdateTemplate, pAllocator);
3118 }
entry_vkUpdateDescriptorSetWithTemplateKHR(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData)3119 static void entry_vkUpdateDescriptorSetWithTemplateKHR(
3120 VkDevice device,
3121 VkDescriptorSet descriptorSet,
3122 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3123 const void* pData)
3124 {
3125 AEMU_SCOPED_TRACE("vkUpdateDescriptorSetWithTemplateKHR");
3126 auto vkEnc = HostConnection::get()->vkEncoder();
3127 vkEnc->vkUpdateDescriptorSetWithTemplateKHR(device, descriptorSet, descriptorUpdateTemplate, pData);
3128 }
dynCheck_entry_vkUpdateDescriptorSetWithTemplateKHR(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData)3129 static void dynCheck_entry_vkUpdateDescriptorSetWithTemplateKHR(
3130 VkDevice device,
3131 VkDescriptorSet descriptorSet,
3132 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3133 const void* pData)
3134 {
3135 auto resources = ResourceTracker::get();
3136 if (!resources->hasDeviceExtension(device, "VK_KHR_descriptor_update_template"))
3137 {
3138 sOnInvalidDynamicallyCheckedCall("vkUpdateDescriptorSetWithTemplateKHR", "VK_KHR_descriptor_update_template");
3139 }
3140 AEMU_SCOPED_TRACE("vkUpdateDescriptorSetWithTemplateKHR");
3141 auto vkEnc = HostConnection::get()->vkEncoder();
3142 vkEnc->vkUpdateDescriptorSetWithTemplateKHR(device, descriptorSet, descriptorUpdateTemplate, pData);
3143 }
3144 #endif
3145 #ifdef VK_KHR_create_renderpass2
entry_vkCreateRenderPass2KHR(VkDevice device,const VkRenderPassCreateInfo2KHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass)3146 static VkResult entry_vkCreateRenderPass2KHR(
3147 VkDevice device,
3148 const VkRenderPassCreateInfo2KHR* pCreateInfo,
3149 const VkAllocationCallbacks* pAllocator,
3150 VkRenderPass* pRenderPass)
3151 {
3152 AEMU_SCOPED_TRACE("vkCreateRenderPass2KHR");
3153 auto vkEnc = HostConnection::get()->vkEncoder();
3154 VkResult vkCreateRenderPass2KHR_VkResult_return = (VkResult)0;
3155 vkCreateRenderPass2KHR_VkResult_return = vkEnc->vkCreateRenderPass2KHR(device, pCreateInfo, pAllocator, pRenderPass);
3156 return vkCreateRenderPass2KHR_VkResult_return;
3157 }
dynCheck_entry_vkCreateRenderPass2KHR(VkDevice device,const VkRenderPassCreateInfo2KHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass)3158 static VkResult dynCheck_entry_vkCreateRenderPass2KHR(
3159 VkDevice device,
3160 const VkRenderPassCreateInfo2KHR* pCreateInfo,
3161 const VkAllocationCallbacks* pAllocator,
3162 VkRenderPass* pRenderPass)
3163 {
3164 auto resources = ResourceTracker::get();
3165 if (!resources->hasDeviceExtension(device, "VK_KHR_create_renderpass2"))
3166 {
3167 sOnInvalidDynamicallyCheckedCall("vkCreateRenderPass2KHR", "VK_KHR_create_renderpass2");
3168 }
3169 AEMU_SCOPED_TRACE("vkCreateRenderPass2KHR");
3170 auto vkEnc = HostConnection::get()->vkEncoder();
3171 VkResult vkCreateRenderPass2KHR_VkResult_return = (VkResult)0;
3172 vkCreateRenderPass2KHR_VkResult_return = vkEnc->vkCreateRenderPass2KHR(device, pCreateInfo, pAllocator, pRenderPass);
3173 return vkCreateRenderPass2KHR_VkResult_return;
3174 }
entry_vkCmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfoKHR * pSubpassBeginInfo)3175 static void entry_vkCmdBeginRenderPass2KHR(
3176 VkCommandBuffer commandBuffer,
3177 const VkRenderPassBeginInfo* pRenderPassBegin,
3178 const VkSubpassBeginInfoKHR* pSubpassBeginInfo)
3179 {
3180 AEMU_SCOPED_TRACE("vkCmdBeginRenderPass2KHR");
3181 auto vkEnc = HostConnection::get()->vkEncoder();
3182 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
3183 vkEnc->vkCmdBeginRenderPass2KHR(commandBuffer, pRenderPassBegin, pSubpassBeginInfo);
3184 }
entry_vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer,const VkSubpassBeginInfoKHR * pSubpassBeginInfo,const VkSubpassEndInfoKHR * pSubpassEndInfo)3185 static void entry_vkCmdNextSubpass2KHR(
3186 VkCommandBuffer commandBuffer,
3187 const VkSubpassBeginInfoKHR* pSubpassBeginInfo,
3188 const VkSubpassEndInfoKHR* pSubpassEndInfo)
3189 {
3190 AEMU_SCOPED_TRACE("vkCmdNextSubpass2KHR");
3191 auto vkEnc = HostConnection::get()->vkEncoder();
3192 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
3193 vkEnc->vkCmdNextSubpass2KHR(commandBuffer, pSubpassBeginInfo, pSubpassEndInfo);
3194 }
entry_vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer,const VkSubpassEndInfoKHR * pSubpassEndInfo)3195 static void entry_vkCmdEndRenderPass2KHR(
3196 VkCommandBuffer commandBuffer,
3197 const VkSubpassEndInfoKHR* pSubpassEndInfo)
3198 {
3199 AEMU_SCOPED_TRACE("vkCmdEndRenderPass2KHR");
3200 auto vkEnc = HostConnection::get()->vkEncoder();
3201 ResourceTracker::get()->syncEncodersForCommandBuffer(commandBuffer, vkEnc);
3202 vkEnc->vkCmdEndRenderPass2KHR(commandBuffer, pSubpassEndInfo);
3203 }
3204 #endif
3205 #ifdef VK_KHR_shared_presentable_image
entry_vkGetSwapchainStatusKHR(VkDevice device,VkSwapchainKHR swapchain)3206 static VkResult entry_vkGetSwapchainStatusKHR(
3207 VkDevice device,
3208 VkSwapchainKHR swapchain)
3209 {
3210 AEMU_SCOPED_TRACE("vkGetSwapchainStatusKHR");
3211 auto vkEnc = HostConnection::get()->vkEncoder();
3212 VkResult vkGetSwapchainStatusKHR_VkResult_return = (VkResult)0;
3213 vkGetSwapchainStatusKHR_VkResult_return = vkEnc->vkGetSwapchainStatusKHR(device, swapchain);
3214 return vkGetSwapchainStatusKHR_VkResult_return;
3215 }
dynCheck_entry_vkGetSwapchainStatusKHR(VkDevice device,VkSwapchainKHR swapchain)3216 static VkResult dynCheck_entry_vkGetSwapchainStatusKHR(
3217 VkDevice device,
3218 VkSwapchainKHR swapchain)
3219 {
3220 auto resources = ResourceTracker::get();
3221 if (!resources->hasDeviceExtension(device, "VK_KHR_shared_presentable_image"))
3222 {
3223 sOnInvalidDynamicallyCheckedCall("vkGetSwapchainStatusKHR", "VK_KHR_shared_presentable_image");
3224 }
3225 AEMU_SCOPED_TRACE("vkGetSwapchainStatusKHR");
3226 auto vkEnc = HostConnection::get()->vkEncoder();
3227 VkResult vkGetSwapchainStatusKHR_VkResult_return = (VkResult)0;
3228 vkGetSwapchainStatusKHR_VkResult_return = vkEnc->vkGetSwapchainStatusKHR(device, swapchain);
3229 return vkGetSwapchainStatusKHR_VkResult_return;
3230 }
3231 #endif
3232 #ifdef VK_KHR_external_fence_capabilities
entry_vkGetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties)3233 static void entry_vkGetPhysicalDeviceExternalFencePropertiesKHR(
3234 VkPhysicalDevice physicalDevice,
3235 const VkPhysicalDeviceExternalFenceInfo* pExternalFenceInfo,
3236 VkExternalFenceProperties* pExternalFenceProperties)
3237 {
3238 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceExternalFencePropertiesKHR");
3239 auto vkEnc = HostConnection::get()->vkEncoder();
3240 auto resources = ResourceTracker::get();
3241 resources->on_vkGetPhysicalDeviceExternalFencePropertiesKHR(vkEnc, physicalDevice, pExternalFenceInfo, pExternalFenceProperties);
3242 }
3243 #endif
3244 #ifdef VK_KHR_external_fence
3245 #endif
3246 #ifdef VK_KHR_external_fence_win32
entry_vkImportFenceWin32HandleKHR(VkDevice device,const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo)3247 static VkResult entry_vkImportFenceWin32HandleKHR(
3248 VkDevice device,
3249 const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo)
3250 {
3251 AEMU_SCOPED_TRACE("vkImportFenceWin32HandleKHR");
3252 auto vkEnc = HostConnection::get()->vkEncoder();
3253 VkResult vkImportFenceWin32HandleKHR_VkResult_return = (VkResult)0;
3254 vkImportFenceWin32HandleKHR_VkResult_return = vkEnc->vkImportFenceWin32HandleKHR(device, pImportFenceWin32HandleInfo);
3255 return vkImportFenceWin32HandleKHR_VkResult_return;
3256 }
dynCheck_entry_vkImportFenceWin32HandleKHR(VkDevice device,const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo)3257 static VkResult dynCheck_entry_vkImportFenceWin32HandleKHR(
3258 VkDevice device,
3259 const VkImportFenceWin32HandleInfoKHR* pImportFenceWin32HandleInfo)
3260 {
3261 auto resources = ResourceTracker::get();
3262 if (!resources->hasDeviceExtension(device, "VK_KHR_external_fence_win32"))
3263 {
3264 sOnInvalidDynamicallyCheckedCall("vkImportFenceWin32HandleKHR", "VK_KHR_external_fence_win32");
3265 }
3266 AEMU_SCOPED_TRACE("vkImportFenceWin32HandleKHR");
3267 auto vkEnc = HostConnection::get()->vkEncoder();
3268 VkResult vkImportFenceWin32HandleKHR_VkResult_return = (VkResult)0;
3269 vkImportFenceWin32HandleKHR_VkResult_return = vkEnc->vkImportFenceWin32HandleKHR(device, pImportFenceWin32HandleInfo);
3270 return vkImportFenceWin32HandleKHR_VkResult_return;
3271 }
entry_vkGetFenceWin32HandleKHR(VkDevice device,const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle)3272 static VkResult entry_vkGetFenceWin32HandleKHR(
3273 VkDevice device,
3274 const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
3275 HANDLE* pHandle)
3276 {
3277 AEMU_SCOPED_TRACE("vkGetFenceWin32HandleKHR");
3278 auto vkEnc = HostConnection::get()->vkEncoder();
3279 VkResult vkGetFenceWin32HandleKHR_VkResult_return = (VkResult)0;
3280 vkGetFenceWin32HandleKHR_VkResult_return = vkEnc->vkGetFenceWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
3281 return vkGetFenceWin32HandleKHR_VkResult_return;
3282 }
dynCheck_entry_vkGetFenceWin32HandleKHR(VkDevice device,const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle)3283 static VkResult dynCheck_entry_vkGetFenceWin32HandleKHR(
3284 VkDevice device,
3285 const VkFenceGetWin32HandleInfoKHR* pGetWin32HandleInfo,
3286 HANDLE* pHandle)
3287 {
3288 auto resources = ResourceTracker::get();
3289 if (!resources->hasDeviceExtension(device, "VK_KHR_external_fence_win32"))
3290 {
3291 sOnInvalidDynamicallyCheckedCall("vkGetFenceWin32HandleKHR", "VK_KHR_external_fence_win32");
3292 }
3293 AEMU_SCOPED_TRACE("vkGetFenceWin32HandleKHR");
3294 auto vkEnc = HostConnection::get()->vkEncoder();
3295 VkResult vkGetFenceWin32HandleKHR_VkResult_return = (VkResult)0;
3296 vkGetFenceWin32HandleKHR_VkResult_return = vkEnc->vkGetFenceWin32HandleKHR(device, pGetWin32HandleInfo, pHandle);
3297 return vkGetFenceWin32HandleKHR_VkResult_return;
3298 }
3299 #endif
3300 #ifdef VK_KHR_external_fence_fd
entry_vkImportFenceFdKHR(VkDevice device,const VkImportFenceFdInfoKHR * pImportFenceFdInfo)3301 static VkResult entry_vkImportFenceFdKHR(
3302 VkDevice device,
3303 const VkImportFenceFdInfoKHR* pImportFenceFdInfo)
3304 {
3305 AEMU_SCOPED_TRACE("vkImportFenceFdKHR");
3306 auto vkEnc = HostConnection::get()->vkEncoder();
3307 VkResult vkImportFenceFdKHR_VkResult_return = (VkResult)0;
3308 auto resources = ResourceTracker::get();
3309 vkImportFenceFdKHR_VkResult_return = resources->on_vkImportFenceFdKHR(vkEnc, VK_SUCCESS, device, pImportFenceFdInfo);
3310 return vkImportFenceFdKHR_VkResult_return;
3311 }
dynCheck_entry_vkImportFenceFdKHR(VkDevice device,const VkImportFenceFdInfoKHR * pImportFenceFdInfo)3312 static VkResult dynCheck_entry_vkImportFenceFdKHR(
3313 VkDevice device,
3314 const VkImportFenceFdInfoKHR* pImportFenceFdInfo)
3315 {
3316 auto resources = ResourceTracker::get();
3317 if (!resources->hasDeviceExtension(device, "VK_KHR_external_fence_fd"))
3318 {
3319 sOnInvalidDynamicallyCheckedCall("vkImportFenceFdKHR", "VK_KHR_external_fence_fd");
3320 }
3321 AEMU_SCOPED_TRACE("vkImportFenceFdKHR");
3322 auto vkEnc = HostConnection::get()->vkEncoder();
3323 VkResult vkImportFenceFdKHR_VkResult_return = (VkResult)0;
3324 vkImportFenceFdKHR_VkResult_return = resources->on_vkImportFenceFdKHR(vkEnc, VK_SUCCESS, device, pImportFenceFdInfo);
3325 return vkImportFenceFdKHR_VkResult_return;
3326 }
entry_vkGetFenceFdKHR(VkDevice device,const VkFenceGetFdInfoKHR * pGetFdInfo,int * pFd)3327 static VkResult entry_vkGetFenceFdKHR(
3328 VkDevice device,
3329 const VkFenceGetFdInfoKHR* pGetFdInfo,
3330 int* pFd)
3331 {
3332 AEMU_SCOPED_TRACE("vkGetFenceFdKHR");
3333 auto vkEnc = HostConnection::get()->vkEncoder();
3334 VkResult vkGetFenceFdKHR_VkResult_return = (VkResult)0;
3335 auto resources = ResourceTracker::get();
3336 vkGetFenceFdKHR_VkResult_return = resources->on_vkGetFenceFdKHR(vkEnc, VK_SUCCESS, device, pGetFdInfo, pFd);
3337 return vkGetFenceFdKHR_VkResult_return;
3338 }
dynCheck_entry_vkGetFenceFdKHR(VkDevice device,const VkFenceGetFdInfoKHR * pGetFdInfo,int * pFd)3339 static VkResult dynCheck_entry_vkGetFenceFdKHR(
3340 VkDevice device,
3341 const VkFenceGetFdInfoKHR* pGetFdInfo,
3342 int* pFd)
3343 {
3344 auto resources = ResourceTracker::get();
3345 if (!resources->hasDeviceExtension(device, "VK_KHR_external_fence_fd"))
3346 {
3347 sOnInvalidDynamicallyCheckedCall("vkGetFenceFdKHR", "VK_KHR_external_fence_fd");
3348 }
3349 AEMU_SCOPED_TRACE("vkGetFenceFdKHR");
3350 auto vkEnc = HostConnection::get()->vkEncoder();
3351 VkResult vkGetFenceFdKHR_VkResult_return = (VkResult)0;
3352 vkGetFenceFdKHR_VkResult_return = resources->on_vkGetFenceFdKHR(vkEnc, VK_SUCCESS, device, pGetFdInfo, pFd);
3353 return vkGetFenceFdKHR_VkResult_return;
3354 }
3355 #endif
3356 #ifdef VK_KHR_maintenance2
3357 #endif
3358 #ifdef VK_KHR_get_surface_capabilities2
entry_vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkSurfaceCapabilities2KHR * pSurfaceCapabilities)3359 static VkResult entry_vkGetPhysicalDeviceSurfaceCapabilities2KHR(
3360 VkPhysicalDevice physicalDevice,
3361 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
3362 VkSurfaceCapabilities2KHR* pSurfaceCapabilities)
3363 {
3364 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSurfaceCapabilities2KHR");
3365 auto vkEnc = HostConnection::get()->vkEncoder();
3366 VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR_VkResult_return = (VkResult)0;
3367 vkGetPhysicalDeviceSurfaceCapabilities2KHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceCapabilities2KHR(physicalDevice, pSurfaceInfo, pSurfaceCapabilities);
3368 return vkGetPhysicalDeviceSurfaceCapabilities2KHR_VkResult_return;
3369 }
entry_vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pSurfaceFormatCount,VkSurfaceFormat2KHR * pSurfaceFormats)3370 static VkResult entry_vkGetPhysicalDeviceSurfaceFormats2KHR(
3371 VkPhysicalDevice physicalDevice,
3372 const VkPhysicalDeviceSurfaceInfo2KHR* pSurfaceInfo,
3373 uint32_t* pSurfaceFormatCount,
3374 VkSurfaceFormat2KHR* pSurfaceFormats)
3375 {
3376 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceSurfaceFormats2KHR");
3377 auto vkEnc = HostConnection::get()->vkEncoder();
3378 VkResult vkGetPhysicalDeviceSurfaceFormats2KHR_VkResult_return = (VkResult)0;
3379 vkGetPhysicalDeviceSurfaceFormats2KHR_VkResult_return = vkEnc->vkGetPhysicalDeviceSurfaceFormats2KHR(physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats);
3380 return vkGetPhysicalDeviceSurfaceFormats2KHR_VkResult_return;
3381 }
3382 #endif
3383 #ifdef VK_KHR_variable_pointers
3384 #endif
3385 #ifdef VK_KHR_get_display_properties2
entry_vkGetPhysicalDeviceDisplayProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayProperties2KHR * pProperties)3386 static VkResult entry_vkGetPhysicalDeviceDisplayProperties2KHR(
3387 VkPhysicalDevice physicalDevice,
3388 uint32_t* pPropertyCount,
3389 VkDisplayProperties2KHR* pProperties)
3390 {
3391 AEMU_SCOPED_TRACE("vkGetPhysicalDeviceDisplayProperties2KHR");
3392 auto vkEnc = HostConnection::get()->vkEncoder();
3393 VkResult vkGetPhysicalDeviceDisplayProperties2KHR_VkResult_return = (VkResult)0;
3394 vkGetPhysicalDeviceDisplayProperties2KHR_VkResult_return = vkEnc->vkGetPhysicalDeviceDisplayProperties2KHR(physicalDevice, pPropertyCount, pProperties);
3395 return vkGetPhysicalDeviceDisplayProperties2KHR_VkResult_return;
3396 }
entry_vkGetPhysicalDeviceDisplayPlaneProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlaneProperties2KHR * pProperties)3397