6a0db19a8251a1ba15ed33f8cffa961584fa32a6
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / framework / vulkan / vkNullDriverImpl.inl
1 /* WARNING: This is auto-generated file. Do not modify, since changes will
2  * be lost! Modify the generating script instead.
3  */
4 VkResult createInstance (const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance)
5 {
6         DE_UNREF(pAllocator);
7         VK_NULL_RETURN(*pInstance = reinterpret_cast<VkInstance>(new Instance(pCreateInfo)));
8 }
9
10 VkResult createDevice (VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice)
11 {
12         DE_UNREF(pAllocator);
13         VK_NULL_RETURN(*pDevice = reinterpret_cast<VkDevice>(new Device(physicalDevice, pCreateInfo)));
14 }
15
16 VkResult allocateMemory (VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
17 {
18         DE_UNREF(pAllocator);
19         VK_NULL_RETURN(*pMemory = VkDeviceMemory((deUint64)(deUintptr)new DeviceMemory(device, pAllocateInfo)));
20 }
21
22 VkResult createFence (VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
23 {
24         DE_UNREF(pAllocator);
25         VK_NULL_RETURN(*pFence = VkFence((deUint64)(deUintptr)new Fence(device, pCreateInfo)));
26 }
27
28 VkResult createSemaphore (VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
29 {
30         DE_UNREF(pAllocator);
31         VK_NULL_RETURN(*pSemaphore = VkSemaphore((deUint64)(deUintptr)new Semaphore(device, pCreateInfo)));
32 }
33
34 VkResult createEvent (VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
35 {
36         DE_UNREF(pAllocator);
37         VK_NULL_RETURN(*pEvent = VkEvent((deUint64)(deUintptr)new Event(device, pCreateInfo)));
38 }
39
40 VkResult createQueryPool (VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
41 {
42         DE_UNREF(pAllocator);
43         VK_NULL_RETURN(*pQueryPool = VkQueryPool((deUint64)(deUintptr)new QueryPool(device, pCreateInfo)));
44 }
45
46 VkResult createBuffer (VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
47 {
48         DE_UNREF(pAllocator);
49         VK_NULL_RETURN(*pBuffer = VkBuffer((deUint64)(deUintptr)new Buffer(device, pCreateInfo)));
50 }
51
52 VkResult createBufferView (VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
53 {
54         DE_UNREF(pAllocator);
55         VK_NULL_RETURN(*pView = VkBufferView((deUint64)(deUintptr)new BufferView(device, pCreateInfo)));
56 }
57
58 VkResult createImage (VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
59 {
60         DE_UNREF(pAllocator);
61         VK_NULL_RETURN(*pImage = VkImage((deUint64)(deUintptr)new Image(device, pCreateInfo)));
62 }
63
64 VkResult createImageView (VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
65 {
66         DE_UNREF(pAllocator);
67         VK_NULL_RETURN(*pView = VkImageView((deUint64)(deUintptr)new ImageView(device, pCreateInfo)));
68 }
69
70 VkResult createShaderModule (VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule)
71 {
72         DE_UNREF(pAllocator);
73         VK_NULL_RETURN(*pShaderModule = VkShaderModule((deUint64)(deUintptr)new ShaderModule(device, pCreateInfo)));
74 }
75
76 VkResult createPipelineCache (VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
77 {
78         DE_UNREF(pAllocator);
79         VK_NULL_RETURN(*pPipelineCache = VkPipelineCache((deUint64)(deUintptr)new PipelineCache(device, pCreateInfo)));
80 }
81
82 VkResult createPipelineLayout (VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
83 {
84         DE_UNREF(pAllocator);
85         VK_NULL_RETURN(*pPipelineLayout = VkPipelineLayout((deUint64)(deUintptr)new PipelineLayout(device, pCreateInfo)));
86 }
87
88 VkResult createSampler (VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
89 {
90         DE_UNREF(pAllocator);
91         VK_NULL_RETURN(*pSampler = VkSampler((deUint64)(deUintptr)new Sampler(device, pCreateInfo)));
92 }
93
94 VkResult createDescriptorSetLayout (VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
95 {
96         DE_UNREF(pAllocator);
97         VK_NULL_RETURN(*pSetLayout = VkDescriptorSetLayout((deUint64)(deUintptr)new DescriptorSetLayout(device, pCreateInfo)));
98 }
99
100 VkResult createDescriptorPool (VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
101 {
102         DE_UNREF(pAllocator);
103         VK_NULL_RETURN(*pDescriptorPool = VkDescriptorPool((deUint64)(deUintptr)new DescriptorPool(device, pCreateInfo)));
104 }
105
106 VkResult createFramebuffer (VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
107 {
108         DE_UNREF(pAllocator);
109         VK_NULL_RETURN(*pFramebuffer = VkFramebuffer((deUint64)(deUintptr)new Framebuffer(device, pCreateInfo)));
110 }
111
112 VkResult createRenderPass (VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
113 {
114         DE_UNREF(pAllocator);
115         VK_NULL_RETURN(*pRenderPass = VkRenderPass((deUint64)(deUintptr)new RenderPass(device, pCreateInfo)));
116 }
117
118 VkResult createCommandPool (VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
119 {
120         DE_UNREF(pAllocator);
121         VK_NULL_RETURN(*pCommandPool = VkCommandPool((deUint64)(deUintptr)new CommandPool(device, pCreateInfo)));
122 }
123
124 void destroyInstance (VkInstance instance, const VkAllocationCallbacks* pAllocator)
125 {
126         DE_UNREF(pAllocator);
127         delete reinterpret_cast<Instance*>(instance);
128 }
129
130 void destroyDevice (VkDevice device, const VkAllocationCallbacks* pAllocator)
131 {
132         DE_UNREF(pAllocator);
133         delete reinterpret_cast<Device*>(device);
134 }
135
136 void freeMemory (VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator)
137 {
138         DE_UNREF(device);
139         DE_UNREF(pAllocator);
140         delete reinterpret_cast<DeviceMemory*>((deUintptr)memory.getInternal());
141 }
142
143 void destroyFence (VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
144 {
145         DE_UNREF(device);
146         DE_UNREF(pAllocator);
147         delete reinterpret_cast<Fence*>((deUintptr)fence.getInternal());
148 }
149
150 void destroySemaphore (VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
151 {
152         DE_UNREF(device);
153         DE_UNREF(pAllocator);
154         delete reinterpret_cast<Semaphore*>((deUintptr)semaphore.getInternal());
155 }
156
157 void destroyEvent (VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
158 {
159         DE_UNREF(device);
160         DE_UNREF(pAllocator);
161         delete reinterpret_cast<Event*>((deUintptr)event.getInternal());
162 }
163
164 void destroyQueryPool (VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
165 {
166         DE_UNREF(device);
167         DE_UNREF(pAllocator);
168         delete reinterpret_cast<QueryPool*>((deUintptr)queryPool.getInternal());
169 }
170
171 void destroyBuffer (VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
172 {
173         DE_UNREF(device);
174         DE_UNREF(pAllocator);
175         delete reinterpret_cast<Buffer*>((deUintptr)buffer.getInternal());
176 }
177
178 void destroyBufferView (VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
179 {
180         DE_UNREF(device);
181         DE_UNREF(pAllocator);
182         delete reinterpret_cast<BufferView*>((deUintptr)bufferView.getInternal());
183 }
184
185 void destroyImage (VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
186 {
187         DE_UNREF(device);
188         DE_UNREF(pAllocator);
189         delete reinterpret_cast<Image*>((deUintptr)image.getInternal());
190 }
191
192 void destroyImageView (VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
193 {
194         DE_UNREF(device);
195         DE_UNREF(pAllocator);
196         delete reinterpret_cast<ImageView*>((deUintptr)imageView.getInternal());
197 }
198
199 void destroyShaderModule (VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
200 {
201         DE_UNREF(device);
202         DE_UNREF(pAllocator);
203         delete reinterpret_cast<ShaderModule*>((deUintptr)shaderModule.getInternal());
204 }
205
206 void destroyPipelineCache (VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
207 {
208         DE_UNREF(device);
209         DE_UNREF(pAllocator);
210         delete reinterpret_cast<PipelineCache*>((deUintptr)pipelineCache.getInternal());
211 }
212
213 void destroyPipeline (VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
214 {
215         DE_UNREF(device);
216         DE_UNREF(pAllocator);
217         delete reinterpret_cast<Pipeline*>((deUintptr)pipeline.getInternal());
218 }
219
220 void destroyPipelineLayout (VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
221 {
222         DE_UNREF(device);
223         DE_UNREF(pAllocator);
224         delete reinterpret_cast<PipelineLayout*>((deUintptr)pipelineLayout.getInternal());
225 }
226
227 void destroySampler (VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
228 {
229         DE_UNREF(device);
230         DE_UNREF(pAllocator);
231         delete reinterpret_cast<Sampler*>((deUintptr)sampler.getInternal());
232 }
233
234 void destroyDescriptorSetLayout (VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
235 {
236         DE_UNREF(device);
237         DE_UNREF(pAllocator);
238         delete reinterpret_cast<DescriptorSetLayout*>((deUintptr)descriptorSetLayout.getInternal());
239 }
240
241 void destroyDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
242 {
243         DE_UNREF(device);
244         DE_UNREF(pAllocator);
245         delete reinterpret_cast<DescriptorPool*>((deUintptr)descriptorPool.getInternal());
246 }
247
248 void destroyFramebuffer (VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
249 {
250         DE_UNREF(device);
251         DE_UNREF(pAllocator);
252         delete reinterpret_cast<Framebuffer*>((deUintptr)framebuffer.getInternal());
253 }
254
255 void destroyRenderPass (VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
256 {
257         DE_UNREF(device);
258         DE_UNREF(pAllocator);
259         delete reinterpret_cast<RenderPass*>((deUintptr)renderPass.getInternal());
260 }
261
262 void destroyCommandPool (VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
263 {
264         DE_UNREF(device);
265         DE_UNREF(pAllocator);
266         delete reinterpret_cast<CommandPool*>((deUintptr)commandPool.getInternal());
267 }
268
269 void getPhysicalDeviceFeatures (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
270 {
271         DE_UNREF(physicalDevice);
272         DE_UNREF(pFeatures);
273 }
274
275 VkResult getPhysicalDeviceImageFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
276 {
277         DE_UNREF(physicalDevice);
278         DE_UNREF(format);
279         DE_UNREF(type);
280         DE_UNREF(tiling);
281         DE_UNREF(usage);
282         DE_UNREF(flags);
283         DE_UNREF(pImageFormatProperties);
284         return VK_SUCCESS;
285 }
286
287 VkResult enumerateInstanceExtensionProperties (const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties)
288 {
289         DE_UNREF(pLayerName);
290         DE_UNREF(pPropertyCount);
291         DE_UNREF(pProperties);
292         return VK_SUCCESS;
293 }
294
295 VkResult enumerateDeviceExtensionProperties (VkPhysicalDevice physicalDevice, const char* pLayerName, deUint32* pPropertyCount, VkExtensionProperties* pProperties)
296 {
297         DE_UNREF(physicalDevice);
298         DE_UNREF(pLayerName);
299         DE_UNREF(pPropertyCount);
300         DE_UNREF(pProperties);
301         return VK_SUCCESS;
302 }
303
304 VkResult enumerateInstanceLayerProperties (deUint32* pPropertyCount, VkLayerProperties* pProperties)
305 {
306         DE_UNREF(pPropertyCount);
307         DE_UNREF(pProperties);
308         return VK_SUCCESS;
309 }
310
311 VkResult enumerateDeviceLayerProperties (VkPhysicalDevice physicalDevice, deUint32* pPropertyCount, VkLayerProperties* pProperties)
312 {
313         DE_UNREF(physicalDevice);
314         DE_UNREF(pPropertyCount);
315         DE_UNREF(pProperties);
316         return VK_SUCCESS;
317 }
318
319 void getDeviceQueue (VkDevice device, deUint32 queueFamilyIndex, deUint32 queueIndex, VkQueue* pQueue)
320 {
321         DE_UNREF(device);
322         DE_UNREF(queueFamilyIndex);
323         DE_UNREF(queueIndex);
324         DE_UNREF(pQueue);
325 }
326
327 VkResult queueSubmit (VkQueue queue, deUint32 submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
328 {
329         DE_UNREF(queue);
330         DE_UNREF(submitCount);
331         DE_UNREF(pSubmits);
332         DE_UNREF(fence);
333         return VK_SUCCESS;
334 }
335
336 VkResult queueWaitIdle (VkQueue queue)
337 {
338         DE_UNREF(queue);
339         return VK_SUCCESS;
340 }
341
342 VkResult deviceWaitIdle (VkDevice device)
343 {
344         DE_UNREF(device);
345         return VK_SUCCESS;
346 }
347
348 void unmapMemory (VkDevice device, VkDeviceMemory memory)
349 {
350         DE_UNREF(device);
351         DE_UNREF(memory);
352 }
353
354 VkResult flushMappedMemoryRanges (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
355 {
356         DE_UNREF(device);
357         DE_UNREF(memoryRangeCount);
358         DE_UNREF(pMemoryRanges);
359         return VK_SUCCESS;
360 }
361
362 VkResult invalidateMappedMemoryRanges (VkDevice device, deUint32 memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
363 {
364         DE_UNREF(device);
365         DE_UNREF(memoryRangeCount);
366         DE_UNREF(pMemoryRanges);
367         return VK_SUCCESS;
368 }
369
370 void getDeviceMemoryCommitment (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
371 {
372         DE_UNREF(device);
373         DE_UNREF(memory);
374         DE_UNREF(pCommittedMemoryInBytes);
375 }
376
377 VkResult bindBufferMemory (VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset)
378 {
379         DE_UNREF(device);
380         DE_UNREF(buffer);
381         DE_UNREF(memory);
382         DE_UNREF(memoryOffset);
383         return VK_SUCCESS;
384 }
385
386 VkResult bindImageMemory (VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset)
387 {
388         DE_UNREF(device);
389         DE_UNREF(image);
390         DE_UNREF(memory);
391         DE_UNREF(memoryOffset);
392         return VK_SUCCESS;
393 }
394
395 void getImageSparseMemoryRequirements (VkDevice device, VkImage image, deUint32* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
396 {
397         DE_UNREF(device);
398         DE_UNREF(image);
399         DE_UNREF(pSparseMemoryRequirementCount);
400         DE_UNREF(pSparseMemoryRequirements);
401 }
402
403 void getPhysicalDeviceSparseImageFormatProperties (VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, deUint32* pPropertyCount, VkSparseImageFormatProperties* pProperties)
404 {
405         DE_UNREF(physicalDevice);
406         DE_UNREF(format);
407         DE_UNREF(type);
408         DE_UNREF(samples);
409         DE_UNREF(usage);
410         DE_UNREF(tiling);
411         DE_UNREF(pPropertyCount);
412         DE_UNREF(pProperties);
413 }
414
415 VkResult queueBindSparse (VkQueue queue, deUint32 bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
416 {
417         DE_UNREF(queue);
418         DE_UNREF(bindInfoCount);
419         DE_UNREF(pBindInfo);
420         DE_UNREF(fence);
421         return VK_SUCCESS;
422 }
423
424 VkResult resetFences (VkDevice device, deUint32 fenceCount, const VkFence* pFences)
425 {
426         DE_UNREF(device);
427         DE_UNREF(fenceCount);
428         DE_UNREF(pFences);
429         return VK_SUCCESS;
430 }
431
432 VkResult getFenceStatus (VkDevice device, VkFence fence)
433 {
434         DE_UNREF(device);
435         DE_UNREF(fence);
436         return VK_SUCCESS;
437 }
438
439 VkResult waitForFences (VkDevice device, deUint32 fenceCount, const VkFence* pFences, VkBool32 waitAll, deUint64 timeout)
440 {
441         DE_UNREF(device);
442         DE_UNREF(fenceCount);
443         DE_UNREF(pFences);
444         DE_UNREF(waitAll);
445         DE_UNREF(timeout);
446         return VK_SUCCESS;
447 }
448
449 VkResult getEventStatus (VkDevice device, VkEvent event)
450 {
451         DE_UNREF(device);
452         DE_UNREF(event);
453         return VK_SUCCESS;
454 }
455
456 VkResult setEvent (VkDevice device, VkEvent event)
457 {
458         DE_UNREF(device);
459         DE_UNREF(event);
460         return VK_SUCCESS;
461 }
462
463 VkResult resetEvent (VkDevice device, VkEvent event)
464 {
465         DE_UNREF(device);
466         DE_UNREF(event);
467         return VK_SUCCESS;
468 }
469
470 VkResult getQueryPoolResults (VkDevice device, VkQueryPool queryPool, deUint32 startQuery, deUint32 queryCount, deUintptr dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
471 {
472         DE_UNREF(device);
473         DE_UNREF(queryPool);
474         DE_UNREF(startQuery);
475         DE_UNREF(queryCount);
476         DE_UNREF(dataSize);
477         DE_UNREF(pData);
478         DE_UNREF(stride);
479         DE_UNREF(flags);
480         return VK_SUCCESS;
481 }
482
483 void getImageSubresourceLayout (VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
484 {
485         DE_UNREF(device);
486         DE_UNREF(image);
487         DE_UNREF(pSubresource);
488         DE_UNREF(pLayout);
489 }
490
491 VkResult getPipelineCacheData (VkDevice device, VkPipelineCache pipelineCache, deUintptr* pDataSize, void* pData)
492 {
493         DE_UNREF(device);
494         DE_UNREF(pipelineCache);
495         DE_UNREF(pDataSize);
496         DE_UNREF(pData);
497         return VK_SUCCESS;
498 }
499
500 VkResult mergePipelineCaches (VkDevice device, VkPipelineCache dstCache, deUint32 srcCacheCount, const VkPipelineCache* pSrcCaches)
501 {
502         DE_UNREF(device);
503         DE_UNREF(dstCache);
504         DE_UNREF(srcCacheCount);
505         DE_UNREF(pSrcCaches);
506         return VK_SUCCESS;
507 }
508
509 VkResult resetDescriptorPool (VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
510 {
511         DE_UNREF(device);
512         DE_UNREF(descriptorPool);
513         DE_UNREF(flags);
514         return VK_SUCCESS;
515 }
516
517 void updateDescriptorSets (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
518 {
519         DE_UNREF(device);
520         DE_UNREF(descriptorWriteCount);
521         DE_UNREF(pDescriptorWrites);
522         DE_UNREF(descriptorCopyCount);
523         DE_UNREF(pDescriptorCopies);
524 }
525
526 void getRenderAreaGranularity (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
527 {
528         DE_UNREF(device);
529         DE_UNREF(renderPass);
530         DE_UNREF(pGranularity);
531 }
532
533 VkResult resetCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
534 {
535         DE_UNREF(device);
536         DE_UNREF(commandPool);
537         DE_UNREF(flags);
538         return VK_SUCCESS;
539 }
540
541 VkResult beginCommandBuffer (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
542 {
543         DE_UNREF(commandBuffer);
544         DE_UNREF(pBeginInfo);
545         return VK_SUCCESS;
546 }
547
548 VkResult endCommandBuffer (VkCommandBuffer commandBuffer)
549 {
550         DE_UNREF(commandBuffer);
551         return VK_SUCCESS;
552 }
553
554 VkResult resetCommandBuffer (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
555 {
556         DE_UNREF(commandBuffer);
557         DE_UNREF(flags);
558         return VK_SUCCESS;
559 }
560
561 void cmdBindPipeline (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
562 {
563         DE_UNREF(commandBuffer);
564         DE_UNREF(pipelineBindPoint);
565         DE_UNREF(pipeline);
566 }
567
568 void cmdSetViewport (VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports)
569 {
570         DE_UNREF(commandBuffer);
571         DE_UNREF(viewportCount);
572         DE_UNREF(pViewports);
573 }
574
575 void cmdSetScissor (VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors)
576 {
577         DE_UNREF(commandBuffer);
578         DE_UNREF(scissorCount);
579         DE_UNREF(pScissors);
580 }
581
582 void cmdSetLineWidth (VkCommandBuffer commandBuffer, float lineWidth)
583 {
584         DE_UNREF(commandBuffer);
585         DE_UNREF(lineWidth);
586 }
587
588 void cmdSetDepthBias (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
589 {
590         DE_UNREF(commandBuffer);
591         DE_UNREF(depthBiasConstantFactor);
592         DE_UNREF(depthBiasClamp);
593         DE_UNREF(depthBiasSlopeFactor);
594 }
595
596 void cmdSetBlendConstants (VkCommandBuffer commandBuffer, const float blendConstants[4])
597 {
598         DE_UNREF(commandBuffer);
599         DE_UNREF(blendConstants);
600 }
601
602 void cmdSetDepthBounds (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
603 {
604         DE_UNREF(commandBuffer);
605         DE_UNREF(minDepthBounds);
606         DE_UNREF(maxDepthBounds);
607 }
608
609 void cmdSetStencilCompareMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask)
610 {
611         DE_UNREF(commandBuffer);
612         DE_UNREF(faceMask);
613         DE_UNREF(compareMask);
614 }
615
616 void cmdSetStencilWriteMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask)
617 {
618         DE_UNREF(commandBuffer);
619         DE_UNREF(faceMask);
620         DE_UNREF(writeMask);
621 }
622
623 void cmdSetStencilReference (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference)
624 {
625         DE_UNREF(commandBuffer);
626         DE_UNREF(faceMask);
627         DE_UNREF(reference);
628 }
629
630 void cmdBindDescriptorSets (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets)
631 {
632         DE_UNREF(commandBuffer);
633         DE_UNREF(pipelineBindPoint);
634         DE_UNREF(layout);
635         DE_UNREF(firstSet);
636         DE_UNREF(descriptorSetCount);
637         DE_UNREF(pDescriptorSets);
638         DE_UNREF(dynamicOffsetCount);
639         DE_UNREF(pDynamicOffsets);
640 }
641
642 void cmdBindIndexBuffer (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
643 {
644         DE_UNREF(commandBuffer);
645         DE_UNREF(buffer);
646         DE_UNREF(offset);
647         DE_UNREF(indexType);
648 }
649
650 void cmdBindVertexBuffers (VkCommandBuffer commandBuffer, deUint32 startBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
651 {
652         DE_UNREF(commandBuffer);
653         DE_UNREF(startBinding);
654         DE_UNREF(bindingCount);
655         DE_UNREF(pBuffers);
656         DE_UNREF(pOffsets);
657 }
658
659 void cmdDraw (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance)
660 {
661         DE_UNREF(commandBuffer);
662         DE_UNREF(vertexCount);
663         DE_UNREF(instanceCount);
664         DE_UNREF(firstVertex);
665         DE_UNREF(firstInstance);
666 }
667
668 void cmdDrawIndexed (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance)
669 {
670         DE_UNREF(commandBuffer);
671         DE_UNREF(indexCount);
672         DE_UNREF(instanceCount);
673         DE_UNREF(firstIndex);
674         DE_UNREF(vertexOffset);
675         DE_UNREF(firstInstance);
676 }
677
678 void cmdDrawIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride)
679 {
680         DE_UNREF(commandBuffer);
681         DE_UNREF(buffer);
682         DE_UNREF(offset);
683         DE_UNREF(drawCount);
684         DE_UNREF(stride);
685 }
686
687 void cmdDrawIndexedIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride)
688 {
689         DE_UNREF(commandBuffer);
690         DE_UNREF(buffer);
691         DE_UNREF(offset);
692         DE_UNREF(drawCount);
693         DE_UNREF(stride);
694 }
695
696 void cmdDispatch (VkCommandBuffer commandBuffer, deUint32 x, deUint32 y, deUint32 z)
697 {
698         DE_UNREF(commandBuffer);
699         DE_UNREF(x);
700         DE_UNREF(y);
701         DE_UNREF(z);
702 }
703
704 void cmdDispatchIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
705 {
706         DE_UNREF(commandBuffer);
707         DE_UNREF(buffer);
708         DE_UNREF(offset);
709 }
710
711 void cmdCopyBuffer (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions)
712 {
713         DE_UNREF(commandBuffer);
714         DE_UNREF(srcBuffer);
715         DE_UNREF(dstBuffer);
716         DE_UNREF(regionCount);
717         DE_UNREF(pRegions);
718 }
719
720 void cmdCopyImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions)
721 {
722         DE_UNREF(commandBuffer);
723         DE_UNREF(srcImage);
724         DE_UNREF(srcImageLayout);
725         DE_UNREF(dstImage);
726         DE_UNREF(dstImageLayout);
727         DE_UNREF(regionCount);
728         DE_UNREF(pRegions);
729 }
730
731 void cmdBlitImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter)
732 {
733         DE_UNREF(commandBuffer);
734         DE_UNREF(srcImage);
735         DE_UNREF(srcImageLayout);
736         DE_UNREF(dstImage);
737         DE_UNREF(dstImageLayout);
738         DE_UNREF(regionCount);
739         DE_UNREF(pRegions);
740         DE_UNREF(filter);
741 }
742
743 void cmdCopyBufferToImage (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions)
744 {
745         DE_UNREF(commandBuffer);
746         DE_UNREF(srcBuffer);
747         DE_UNREF(dstImage);
748         DE_UNREF(dstImageLayout);
749         DE_UNREF(regionCount);
750         DE_UNREF(pRegions);
751 }
752
753 void cmdCopyImageToBuffer (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions)
754 {
755         DE_UNREF(commandBuffer);
756         DE_UNREF(srcImage);
757         DE_UNREF(srcImageLayout);
758         DE_UNREF(dstBuffer);
759         DE_UNREF(regionCount);
760         DE_UNREF(pRegions);
761 }
762
763 void cmdUpdateBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const deUint32* pData)
764 {
765         DE_UNREF(commandBuffer);
766         DE_UNREF(dstBuffer);
767         DE_UNREF(dstOffset);
768         DE_UNREF(dataSize);
769         DE_UNREF(pData);
770 }
771
772 void cmdFillBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data)
773 {
774         DE_UNREF(commandBuffer);
775         DE_UNREF(dstBuffer);
776         DE_UNREF(dstOffset);
777         DE_UNREF(size);
778         DE_UNREF(data);
779 }
780
781 void cmdClearColorImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges)
782 {
783         DE_UNREF(commandBuffer);
784         DE_UNREF(image);
785         DE_UNREF(imageLayout);
786         DE_UNREF(pColor);
787         DE_UNREF(rangeCount);
788         DE_UNREF(pRanges);
789 }
790
791 void cmdClearDepthStencilImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges)
792 {
793         DE_UNREF(commandBuffer);
794         DE_UNREF(image);
795         DE_UNREF(imageLayout);
796         DE_UNREF(pDepthStencil);
797         DE_UNREF(rangeCount);
798         DE_UNREF(pRanges);
799 }
800
801 void cmdClearAttachments (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects)
802 {
803         DE_UNREF(commandBuffer);
804         DE_UNREF(attachmentCount);
805         DE_UNREF(pAttachments);
806         DE_UNREF(rectCount);
807         DE_UNREF(pRects);
808 }
809
810 void cmdResolveImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions)
811 {
812         DE_UNREF(commandBuffer);
813         DE_UNREF(srcImage);
814         DE_UNREF(srcImageLayout);
815         DE_UNREF(dstImage);
816         DE_UNREF(dstImageLayout);
817         DE_UNREF(regionCount);
818         DE_UNREF(pRegions);
819 }
820
821 void cmdSetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
822 {
823         DE_UNREF(commandBuffer);
824         DE_UNREF(event);
825         DE_UNREF(stageMask);
826 }
827
828 void cmdResetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
829 {
830         DE_UNREF(commandBuffer);
831         DE_UNREF(event);
832         DE_UNREF(stageMask);
833 }
834
835 void cmdWaitEvents (VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, deUint32 memoryBarrierCount, const void* const* ppMemoryBarriers)
836 {
837         DE_UNREF(commandBuffer);
838         DE_UNREF(eventCount);
839         DE_UNREF(pEvents);
840         DE_UNREF(srcStageMask);
841         DE_UNREF(dstStageMask);
842         DE_UNREF(memoryBarrierCount);
843         DE_UNREF(ppMemoryBarriers);
844 }
845
846 void cmdPipelineBarrier (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const void* const* ppMemoryBarriers)
847 {
848         DE_UNREF(commandBuffer);
849         DE_UNREF(srcStageMask);
850         DE_UNREF(dstStageMask);
851         DE_UNREF(dependencyFlags);
852         DE_UNREF(memoryBarrierCount);
853         DE_UNREF(ppMemoryBarriers);
854 }
855
856 void cmdBeginQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 entry, VkQueryControlFlags flags)
857 {
858         DE_UNREF(commandBuffer);
859         DE_UNREF(queryPool);
860         DE_UNREF(entry);
861         DE_UNREF(flags);
862 }
863
864 void cmdEndQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 entry)
865 {
866         DE_UNREF(commandBuffer);
867         DE_UNREF(queryPool);
868         DE_UNREF(entry);
869 }
870
871 void cmdResetQueryPool (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 startQuery, deUint32 queryCount)
872 {
873         DE_UNREF(commandBuffer);
874         DE_UNREF(queryPool);
875         DE_UNREF(startQuery);
876         DE_UNREF(queryCount);
877 }
878
879 void cmdWriteTimestamp (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 entry)
880 {
881         DE_UNREF(commandBuffer);
882         DE_UNREF(pipelineStage);
883         DE_UNREF(queryPool);
884         DE_UNREF(entry);
885 }
886
887 void cmdCopyQueryPoolResults (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 startQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
888 {
889         DE_UNREF(commandBuffer);
890         DE_UNREF(queryPool);
891         DE_UNREF(startQuery);
892         DE_UNREF(queryCount);
893         DE_UNREF(dstBuffer);
894         DE_UNREF(dstOffset);
895         DE_UNREF(stride);
896         DE_UNREF(flags);
897 }
898
899 void cmdPushConstants (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues)
900 {
901         DE_UNREF(commandBuffer);
902         DE_UNREF(layout);
903         DE_UNREF(stageFlags);
904         DE_UNREF(offset);
905         DE_UNREF(size);
906         DE_UNREF(pValues);
907 }
908
909 void cmdBeginRenderPass (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
910 {
911         DE_UNREF(commandBuffer);
912         DE_UNREF(pRenderPassBegin);
913         DE_UNREF(contents);
914 }
915
916 void cmdNextSubpass (VkCommandBuffer commandBuffer, VkSubpassContents contents)
917 {
918         DE_UNREF(commandBuffer);
919         DE_UNREF(contents);
920 }
921
922 void cmdEndRenderPass (VkCommandBuffer commandBuffer)
923 {
924         DE_UNREF(commandBuffer);
925 }
926
927 void cmdExecuteCommands (VkCommandBuffer commandBuffer, deUint32 commandBuffersCount, const VkCommandBuffer* pCommandBuffers)
928 {
929         DE_UNREF(commandBuffer);
930         DE_UNREF(commandBuffersCount);
931         DE_UNREF(pCommandBuffers);
932 }
933
934 static const tcu::StaticFunctionLibrary::Entry s_platformFunctions[] =
935 {
936         VK_NULL_FUNC_ENTRY(vkCreateInstance,                                            createInstance),
937         VK_NULL_FUNC_ENTRY(vkGetInstanceProcAddr,                                       getInstanceProcAddr),
938         VK_NULL_FUNC_ENTRY(vkEnumerateInstanceExtensionProperties,      enumerateInstanceExtensionProperties),
939         VK_NULL_FUNC_ENTRY(vkEnumerateInstanceLayerProperties,          enumerateInstanceLayerProperties),
940 };
941
942 static const tcu::StaticFunctionLibrary::Entry s_instanceFunctions[] =
943 {
944         VK_NULL_FUNC_ENTRY(vkDestroyInstance,                                                   destroyInstance),
945         VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDevices,                                  enumeratePhysicalDevices),
946         VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures,                                 getPhysicalDeviceFeatures),
947         VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties,                 getPhysicalDeviceFormatProperties),
948         VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties,    getPhysicalDeviceImageFormatProperties),
949         VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties,                               getPhysicalDeviceProperties),
950         VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties,    getPhysicalDeviceQueueFamilyProperties),
951         VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties,                 getPhysicalDeviceMemoryProperties),
952         VK_NULL_FUNC_ENTRY(vkGetDeviceProcAddr,                                                 getDeviceProcAddr),
953         VK_NULL_FUNC_ENTRY(vkCreateDevice,                                                              createDevice),
954         VK_NULL_FUNC_ENTRY(vkEnumerateDeviceExtensionProperties,                enumerateDeviceExtensionProperties),
955         VK_NULL_FUNC_ENTRY(vkEnumerateDeviceLayerProperties,                    enumerateDeviceLayerProperties),
956 };
957
958 static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
959 {
960         VK_NULL_FUNC_ENTRY(vkDestroyDevice,                                                                     destroyDevice),
961         VK_NULL_FUNC_ENTRY(vkGetDeviceQueue,                                                            getDeviceQueue),
962         VK_NULL_FUNC_ENTRY(vkQueueSubmit,                                                                       queueSubmit),
963         VK_NULL_FUNC_ENTRY(vkQueueWaitIdle,                                                                     queueWaitIdle),
964         VK_NULL_FUNC_ENTRY(vkDeviceWaitIdle,                                                            deviceWaitIdle),
965         VK_NULL_FUNC_ENTRY(vkAllocateMemory,                                                            allocateMemory),
966         VK_NULL_FUNC_ENTRY(vkFreeMemory,                                                                        freeMemory),
967         VK_NULL_FUNC_ENTRY(vkMapMemory,                                                                         mapMemory),
968         VK_NULL_FUNC_ENTRY(vkUnmapMemory,                                                                       unmapMemory),
969         VK_NULL_FUNC_ENTRY(vkFlushMappedMemoryRanges,                                           flushMappedMemoryRanges),
970         VK_NULL_FUNC_ENTRY(vkInvalidateMappedMemoryRanges,                                      invalidateMappedMemoryRanges),
971         VK_NULL_FUNC_ENTRY(vkGetDeviceMemoryCommitment,                                         getDeviceMemoryCommitment),
972         VK_NULL_FUNC_ENTRY(vkBindBufferMemory,                                                          bindBufferMemory),
973         VK_NULL_FUNC_ENTRY(vkBindImageMemory,                                                           bindImageMemory),
974         VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements,                                       getBufferMemoryRequirements),
975         VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements,                                        getImageMemoryRequirements),
976         VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements,                          getImageSparseMemoryRequirements),
977         VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties,      getPhysicalDeviceSparseImageFormatProperties),
978         VK_NULL_FUNC_ENTRY(vkQueueBindSparse,                                                           queueBindSparse),
979         VK_NULL_FUNC_ENTRY(vkCreateFence,                                                                       createFence),
980         VK_NULL_FUNC_ENTRY(vkDestroyFence,                                                                      destroyFence),
981         VK_NULL_FUNC_ENTRY(vkResetFences,                                                                       resetFences),
982         VK_NULL_FUNC_ENTRY(vkGetFenceStatus,                                                            getFenceStatus),
983         VK_NULL_FUNC_ENTRY(vkWaitForFences,                                                                     waitForFences),
984         VK_NULL_FUNC_ENTRY(vkCreateSemaphore,                                                           createSemaphore),
985         VK_NULL_FUNC_ENTRY(vkDestroySemaphore,                                                          destroySemaphore),
986         VK_NULL_FUNC_ENTRY(vkCreateEvent,                                                                       createEvent),
987         VK_NULL_FUNC_ENTRY(vkDestroyEvent,                                                                      destroyEvent),
988         VK_NULL_FUNC_ENTRY(vkGetEventStatus,                                                            getEventStatus),
989         VK_NULL_FUNC_ENTRY(vkSetEvent,                                                                          setEvent),
990         VK_NULL_FUNC_ENTRY(vkResetEvent,                                                                        resetEvent),
991         VK_NULL_FUNC_ENTRY(vkCreateQueryPool,                                                           createQueryPool),
992         VK_NULL_FUNC_ENTRY(vkDestroyQueryPool,                                                          destroyQueryPool),
993         VK_NULL_FUNC_ENTRY(vkGetQueryPoolResults,                                                       getQueryPoolResults),
994         VK_NULL_FUNC_ENTRY(vkCreateBuffer,                                                                      createBuffer),
995         VK_NULL_FUNC_ENTRY(vkDestroyBuffer,                                                                     destroyBuffer),
996         VK_NULL_FUNC_ENTRY(vkCreateBufferView,                                                          createBufferView),
997         VK_NULL_FUNC_ENTRY(vkDestroyBufferView,                                                         destroyBufferView),
998         VK_NULL_FUNC_ENTRY(vkCreateImage,                                                                       createImage),
999         VK_NULL_FUNC_ENTRY(vkDestroyImage,                                                                      destroyImage),
1000         VK_NULL_FUNC_ENTRY(vkGetImageSubresourceLayout,                                         getImageSubresourceLayout),
1001         VK_NULL_FUNC_ENTRY(vkCreateImageView,                                                           createImageView),
1002         VK_NULL_FUNC_ENTRY(vkDestroyImageView,                                                          destroyImageView),
1003         VK_NULL_FUNC_ENTRY(vkCreateShaderModule,                                                        createShaderModule),
1004         VK_NULL_FUNC_ENTRY(vkDestroyShaderModule,                                                       destroyShaderModule),
1005         VK_NULL_FUNC_ENTRY(vkCreatePipelineCache,                                                       createPipelineCache),
1006         VK_NULL_FUNC_ENTRY(vkDestroyPipelineCache,                                                      destroyPipelineCache),
1007         VK_NULL_FUNC_ENTRY(vkGetPipelineCacheData,                                                      getPipelineCacheData),
1008         VK_NULL_FUNC_ENTRY(vkMergePipelineCaches,                                                       mergePipelineCaches),
1009         VK_NULL_FUNC_ENTRY(vkCreateGraphicsPipelines,                                           createGraphicsPipelines),
1010         VK_NULL_FUNC_ENTRY(vkCreateComputePipelines,                                            createComputePipelines),
1011         VK_NULL_FUNC_ENTRY(vkDestroyPipeline,                                                           destroyPipeline),
1012         VK_NULL_FUNC_ENTRY(vkCreatePipelineLayout,                                                      createPipelineLayout),
1013         VK_NULL_FUNC_ENTRY(vkDestroyPipelineLayout,                                                     destroyPipelineLayout),
1014         VK_NULL_FUNC_ENTRY(vkCreateSampler,                                                                     createSampler),
1015         VK_NULL_FUNC_ENTRY(vkDestroySampler,                                                            destroySampler),
1016         VK_NULL_FUNC_ENTRY(vkCreateDescriptorSetLayout,                                         createDescriptorSetLayout),
1017         VK_NULL_FUNC_ENTRY(vkDestroyDescriptorSetLayout,                                        destroyDescriptorSetLayout),
1018         VK_NULL_FUNC_ENTRY(vkCreateDescriptorPool,                                                      createDescriptorPool),
1019         VK_NULL_FUNC_ENTRY(vkDestroyDescriptorPool,                                                     destroyDescriptorPool),
1020         VK_NULL_FUNC_ENTRY(vkResetDescriptorPool,                                                       resetDescriptorPool),
1021         VK_NULL_FUNC_ENTRY(vkAllocateDescriptorSets,                                            allocateDescriptorSets),
1022         VK_NULL_FUNC_ENTRY(vkFreeDescriptorSets,                                                        freeDescriptorSets),
1023         VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSets,                                                      updateDescriptorSets),
1024         VK_NULL_FUNC_ENTRY(vkCreateFramebuffer,                                                         createFramebuffer),
1025         VK_NULL_FUNC_ENTRY(vkDestroyFramebuffer,                                                        destroyFramebuffer),
1026         VK_NULL_FUNC_ENTRY(vkCreateRenderPass,                                                          createRenderPass),
1027         VK_NULL_FUNC_ENTRY(vkDestroyRenderPass,                                                         destroyRenderPass),
1028         VK_NULL_FUNC_ENTRY(vkGetRenderAreaGranularity,                                          getRenderAreaGranularity),
1029         VK_NULL_FUNC_ENTRY(vkCreateCommandPool,                                                         createCommandPool),
1030         VK_NULL_FUNC_ENTRY(vkDestroyCommandPool,                                                        destroyCommandPool),
1031         VK_NULL_FUNC_ENTRY(vkResetCommandPool,                                                          resetCommandPool),
1032         VK_NULL_FUNC_ENTRY(vkAllocateCommandBuffers,                                            allocateCommandBuffers),
1033         VK_NULL_FUNC_ENTRY(vkFreeCommandBuffers,                                                        freeCommandBuffers),
1034         VK_NULL_FUNC_ENTRY(vkBeginCommandBuffer,                                                        beginCommandBuffer),
1035         VK_NULL_FUNC_ENTRY(vkEndCommandBuffer,                                                          endCommandBuffer),
1036         VK_NULL_FUNC_ENTRY(vkResetCommandBuffer,                                                        resetCommandBuffer),
1037         VK_NULL_FUNC_ENTRY(vkCmdBindPipeline,                                                           cmdBindPipeline),
1038         VK_NULL_FUNC_ENTRY(vkCmdSetViewport,                                                            cmdSetViewport),
1039         VK_NULL_FUNC_ENTRY(vkCmdSetScissor,                                                                     cmdSetScissor),
1040         VK_NULL_FUNC_ENTRY(vkCmdSetLineWidth,                                                           cmdSetLineWidth),
1041         VK_NULL_FUNC_ENTRY(vkCmdSetDepthBias,                                                           cmdSetDepthBias),
1042         VK_NULL_FUNC_ENTRY(vkCmdSetBlendConstants,                                                      cmdSetBlendConstants),
1043         VK_NULL_FUNC_ENTRY(vkCmdSetDepthBounds,                                                         cmdSetDepthBounds),
1044         VK_NULL_FUNC_ENTRY(vkCmdSetStencilCompareMask,                                          cmdSetStencilCompareMask),
1045         VK_NULL_FUNC_ENTRY(vkCmdSetStencilWriteMask,                                            cmdSetStencilWriteMask),
1046         VK_NULL_FUNC_ENTRY(vkCmdSetStencilReference,                                            cmdSetStencilReference),
1047         VK_NULL_FUNC_ENTRY(vkCmdBindDescriptorSets,                                                     cmdBindDescriptorSets),
1048         VK_NULL_FUNC_ENTRY(vkCmdBindIndexBuffer,                                                        cmdBindIndexBuffer),
1049         VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers,                                                      cmdBindVertexBuffers),
1050         VK_NULL_FUNC_ENTRY(vkCmdDraw,                                                                           cmdDraw),
1051         VK_NULL_FUNC_ENTRY(vkCmdDrawIndexed,                                                            cmdDrawIndexed),
1052         VK_NULL_FUNC_ENTRY(vkCmdDrawIndirect,                                                           cmdDrawIndirect),
1053         VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirect,                                            cmdDrawIndexedIndirect),
1054         VK_NULL_FUNC_ENTRY(vkCmdDispatch,                                                                       cmdDispatch),
1055         VK_NULL_FUNC_ENTRY(vkCmdDispatchIndirect,                                                       cmdDispatchIndirect),
1056         VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer,                                                                     cmdCopyBuffer),
1057         VK_NULL_FUNC_ENTRY(vkCmdCopyImage,                                                                      cmdCopyImage),
1058         VK_NULL_FUNC_ENTRY(vkCmdBlitImage,                                                                      cmdBlitImage),
1059         VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage,                                                      cmdCopyBufferToImage),
1060         VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer,                                                      cmdCopyImageToBuffer),
1061         VK_NULL_FUNC_ENTRY(vkCmdUpdateBuffer,                                                           cmdUpdateBuffer),
1062         VK_NULL_FUNC_ENTRY(vkCmdFillBuffer,                                                                     cmdFillBuffer),
1063         VK_NULL_FUNC_ENTRY(vkCmdClearColorImage,                                                        cmdClearColorImage),
1064         VK_NULL_FUNC_ENTRY(vkCmdClearDepthStencilImage,                                         cmdClearDepthStencilImage),
1065         VK_NULL_FUNC_ENTRY(vkCmdClearAttachments,                                                       cmdClearAttachments),
1066         VK_NULL_FUNC_ENTRY(vkCmdResolveImage,                                                           cmdResolveImage),
1067         VK_NULL_FUNC_ENTRY(vkCmdSetEvent,                                                                       cmdSetEvent),
1068         VK_NULL_FUNC_ENTRY(vkCmdResetEvent,                                                                     cmdResetEvent),
1069         VK_NULL_FUNC_ENTRY(vkCmdWaitEvents,                                                                     cmdWaitEvents),
1070         VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier,                                                        cmdPipelineBarrier),
1071         VK_NULL_FUNC_ENTRY(vkCmdBeginQuery,                                                                     cmdBeginQuery),
1072         VK_NULL_FUNC_ENTRY(vkCmdEndQuery,                                                                       cmdEndQuery),
1073         VK_NULL_FUNC_ENTRY(vkCmdResetQueryPool,                                                         cmdResetQueryPool),
1074         VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp,                                                         cmdWriteTimestamp),
1075         VK_NULL_FUNC_ENTRY(vkCmdCopyQueryPoolResults,                                           cmdCopyQueryPoolResults),
1076         VK_NULL_FUNC_ENTRY(vkCmdPushConstants,                                                          cmdPushConstants),
1077         VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass,                                                        cmdBeginRenderPass),
1078         VK_NULL_FUNC_ENTRY(vkCmdNextSubpass,                                                            cmdNextSubpass),
1079         VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass,                                                          cmdEndRenderPass),
1080         VK_NULL_FUNC_ENTRY(vkCmdExecuteCommands,                                                        cmdExecuteCommands),
1081 };
1082