vkNullDriverImpl.inl revision b18ad66a6d666bcd3eed8d4ada025f2eeb8c65e5
1/* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
3 */
4VkResult 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
10VkResult 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
16VkResult 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
22VkResult 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
28VkResult 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
34VkResult 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
40VkResult 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
46VkResult 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
52VkResult 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
58VkResult 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
64VkResult 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
70VkResult 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
76VkResult 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
82VkResult 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
88VkResult 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
94VkResult 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
100VkResult 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
106VkResult 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
112VkResult 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
118VkResult 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
124void destroyInstance (VkInstance instance, const VkAllocationCallbacks* pAllocator)
125{
126	DE_UNREF(pAllocator);
127	delete reinterpret_cast<Instance*>(instance);
128}
129
130void destroyDevice (VkDevice device, const VkAllocationCallbacks* pAllocator)
131{
132	DE_UNREF(pAllocator);
133	delete reinterpret_cast<Device*>(device);
134}
135
136void 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
143void 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
150void 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
157void 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
164void 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
171void 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
178void 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
185void 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
192void 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
199void 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
206void 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
213void 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
220void 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
227void 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
234void 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
241void 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
248void 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
255void 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
262void 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
269void getPhysicalDeviceFeatures (VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures)
270{
271	DE_UNREF(physicalDevice);
272	DE_UNREF(pFeatures);
273}
274
275VkResult 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
287VkResult 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
295VkResult 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
304VkResult enumerateInstanceLayerProperties (deUint32* pPropertyCount, VkLayerProperties* pProperties)
305{
306	DE_UNREF(pPropertyCount);
307	DE_UNREF(pProperties);
308	return VK_SUCCESS;
309}
310
311VkResult 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
319void 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
327VkResult 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
336VkResult queueWaitIdle (VkQueue queue)
337{
338	DE_UNREF(queue);
339	return VK_SUCCESS;
340}
341
342VkResult deviceWaitIdle (VkDevice device)
343{
344	DE_UNREF(device);
345	return VK_SUCCESS;
346}
347
348void unmapMemory (VkDevice device, VkDeviceMemory memory)
349{
350	DE_UNREF(device);
351	DE_UNREF(memory);
352}
353
354VkResult 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
362VkResult 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
370void getDeviceMemoryCommitment (VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
371{
372	DE_UNREF(device);
373	DE_UNREF(memory);
374	DE_UNREF(pCommittedMemoryInBytes);
375}
376
377VkResult 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
386VkResult 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
395void 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
403void 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
415VkResult 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
424VkResult 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
432VkResult getFenceStatus (VkDevice device, VkFence fence)
433{
434	DE_UNREF(device);
435	DE_UNREF(fence);
436	return VK_SUCCESS;
437}
438
439VkResult 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
449VkResult getEventStatus (VkDevice device, VkEvent event)
450{
451	DE_UNREF(device);
452	DE_UNREF(event);
453	return VK_SUCCESS;
454}
455
456VkResult setEvent (VkDevice device, VkEvent event)
457{
458	DE_UNREF(device);
459	DE_UNREF(event);
460	return VK_SUCCESS;
461}
462
463VkResult resetEvent (VkDevice device, VkEvent event)
464{
465	DE_UNREF(device);
466	DE_UNREF(event);
467	return VK_SUCCESS;
468}
469
470VkResult 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
483void 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
491VkResult 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
500VkResult 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
509void updateDescriptorSets (VkDevice device, deUint32 descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, deUint32 descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
510{
511	DE_UNREF(device);
512	DE_UNREF(descriptorWriteCount);
513	DE_UNREF(pDescriptorWrites);
514	DE_UNREF(descriptorCopyCount);
515	DE_UNREF(pDescriptorCopies);
516}
517
518void getRenderAreaGranularity (VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
519{
520	DE_UNREF(device);
521	DE_UNREF(renderPass);
522	DE_UNREF(pGranularity);
523}
524
525VkResult resetCommandPool (VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
526{
527	DE_UNREF(device);
528	DE_UNREF(commandPool);
529	DE_UNREF(flags);
530	return VK_SUCCESS;
531}
532
533VkResult beginCommandBuffer (VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
534{
535	DE_UNREF(commandBuffer);
536	DE_UNREF(pBeginInfo);
537	return VK_SUCCESS;
538}
539
540VkResult endCommandBuffer (VkCommandBuffer commandBuffer)
541{
542	DE_UNREF(commandBuffer);
543	return VK_SUCCESS;
544}
545
546VkResult resetCommandBuffer (VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
547{
548	DE_UNREF(commandBuffer);
549	DE_UNREF(flags);
550	return VK_SUCCESS;
551}
552
553void cmdBindPipeline (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
554{
555	DE_UNREF(commandBuffer);
556	DE_UNREF(pipelineBindPoint);
557	DE_UNREF(pipeline);
558}
559
560void cmdSetViewport (VkCommandBuffer commandBuffer, deUint32 viewportCount, const VkViewport* pViewports)
561{
562	DE_UNREF(commandBuffer);
563	DE_UNREF(viewportCount);
564	DE_UNREF(pViewports);
565}
566
567void cmdSetScissor (VkCommandBuffer commandBuffer, deUint32 scissorCount, const VkRect2D* pScissors)
568{
569	DE_UNREF(commandBuffer);
570	DE_UNREF(scissorCount);
571	DE_UNREF(pScissors);
572}
573
574void cmdSetLineWidth (VkCommandBuffer commandBuffer, float lineWidth)
575{
576	DE_UNREF(commandBuffer);
577	DE_UNREF(lineWidth);
578}
579
580void cmdSetDepthBias (VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
581{
582	DE_UNREF(commandBuffer);
583	DE_UNREF(depthBiasConstantFactor);
584	DE_UNREF(depthBiasClamp);
585	DE_UNREF(depthBiasSlopeFactor);
586}
587
588void cmdSetBlendConstants (VkCommandBuffer commandBuffer, const float blendConstants[4])
589{
590	DE_UNREF(commandBuffer);
591	DE_UNREF(blendConstants);
592}
593
594void cmdSetDepthBounds (VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
595{
596	DE_UNREF(commandBuffer);
597	DE_UNREF(minDepthBounds);
598	DE_UNREF(maxDepthBounds);
599}
600
601void cmdSetStencilCompareMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 compareMask)
602{
603	DE_UNREF(commandBuffer);
604	DE_UNREF(faceMask);
605	DE_UNREF(compareMask);
606}
607
608void cmdSetStencilWriteMask (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 writeMask)
609{
610	DE_UNREF(commandBuffer);
611	DE_UNREF(faceMask);
612	DE_UNREF(writeMask);
613}
614
615void cmdSetStencilReference (VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, deUint32 reference)
616{
617	DE_UNREF(commandBuffer);
618	DE_UNREF(faceMask);
619	DE_UNREF(reference);
620}
621
622void cmdBindDescriptorSets (VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, deUint32 firstSet, deUint32 descriptorSetCount, const VkDescriptorSet* pDescriptorSets, deUint32 dynamicOffsetCount, const deUint32* pDynamicOffsets)
623{
624	DE_UNREF(commandBuffer);
625	DE_UNREF(pipelineBindPoint);
626	DE_UNREF(layout);
627	DE_UNREF(firstSet);
628	DE_UNREF(descriptorSetCount);
629	DE_UNREF(pDescriptorSets);
630	DE_UNREF(dynamicOffsetCount);
631	DE_UNREF(pDynamicOffsets);
632}
633
634void cmdBindIndexBuffer (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
635{
636	DE_UNREF(commandBuffer);
637	DE_UNREF(buffer);
638	DE_UNREF(offset);
639	DE_UNREF(indexType);
640}
641
642void cmdBindVertexBuffers (VkCommandBuffer commandBuffer, deUint32 startBinding, deUint32 bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
643{
644	DE_UNREF(commandBuffer);
645	DE_UNREF(startBinding);
646	DE_UNREF(bindingCount);
647	DE_UNREF(pBuffers);
648	DE_UNREF(pOffsets);
649}
650
651void cmdDraw (VkCommandBuffer commandBuffer, deUint32 vertexCount, deUint32 instanceCount, deUint32 firstVertex, deUint32 firstInstance)
652{
653	DE_UNREF(commandBuffer);
654	DE_UNREF(vertexCount);
655	DE_UNREF(instanceCount);
656	DE_UNREF(firstVertex);
657	DE_UNREF(firstInstance);
658}
659
660void cmdDrawIndexed (VkCommandBuffer commandBuffer, deUint32 indexCount, deUint32 instanceCount, deUint32 firstIndex, deInt32 vertexOffset, deUint32 firstInstance)
661{
662	DE_UNREF(commandBuffer);
663	DE_UNREF(indexCount);
664	DE_UNREF(instanceCount);
665	DE_UNREF(firstIndex);
666	DE_UNREF(vertexOffset);
667	DE_UNREF(firstInstance);
668}
669
670void cmdDrawIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride)
671{
672	DE_UNREF(commandBuffer);
673	DE_UNREF(buffer);
674	DE_UNREF(offset);
675	DE_UNREF(drawCount);
676	DE_UNREF(stride);
677}
678
679void cmdDrawIndexedIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, deUint32 drawCount, deUint32 stride)
680{
681	DE_UNREF(commandBuffer);
682	DE_UNREF(buffer);
683	DE_UNREF(offset);
684	DE_UNREF(drawCount);
685	DE_UNREF(stride);
686}
687
688void cmdDispatch (VkCommandBuffer commandBuffer, deUint32 x, deUint32 y, deUint32 z)
689{
690	DE_UNREF(commandBuffer);
691	DE_UNREF(x);
692	DE_UNREF(y);
693	DE_UNREF(z);
694}
695
696void cmdDispatchIndirect (VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
697{
698	DE_UNREF(commandBuffer);
699	DE_UNREF(buffer);
700	DE_UNREF(offset);
701}
702
703void cmdCopyBuffer (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferCopy* pRegions)
704{
705	DE_UNREF(commandBuffer);
706	DE_UNREF(srcBuffer);
707	DE_UNREF(dstBuffer);
708	DE_UNREF(regionCount);
709	DE_UNREF(pRegions);
710}
711
712void cmdCopyImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageCopy* pRegions)
713{
714	DE_UNREF(commandBuffer);
715	DE_UNREF(srcImage);
716	DE_UNREF(srcImageLayout);
717	DE_UNREF(dstImage);
718	DE_UNREF(dstImageLayout);
719	DE_UNREF(regionCount);
720	DE_UNREF(pRegions);
721}
722
723void cmdBlitImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageBlit* pRegions, VkFilter filter)
724{
725	DE_UNREF(commandBuffer);
726	DE_UNREF(srcImage);
727	DE_UNREF(srcImageLayout);
728	DE_UNREF(dstImage);
729	DE_UNREF(dstImageLayout);
730	DE_UNREF(regionCount);
731	DE_UNREF(pRegions);
732	DE_UNREF(filter);
733}
734
735void cmdCopyBufferToImage (VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkBufferImageCopy* pRegions)
736{
737	DE_UNREF(commandBuffer);
738	DE_UNREF(srcBuffer);
739	DE_UNREF(dstImage);
740	DE_UNREF(dstImageLayout);
741	DE_UNREF(regionCount);
742	DE_UNREF(pRegions);
743}
744
745void cmdCopyImageToBuffer (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, deUint32 regionCount, const VkBufferImageCopy* pRegions)
746{
747	DE_UNREF(commandBuffer);
748	DE_UNREF(srcImage);
749	DE_UNREF(srcImageLayout);
750	DE_UNREF(dstBuffer);
751	DE_UNREF(regionCount);
752	DE_UNREF(pRegions);
753}
754
755void cmdUpdateBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const deUint32* pData)
756{
757	DE_UNREF(commandBuffer);
758	DE_UNREF(dstBuffer);
759	DE_UNREF(dstOffset);
760	DE_UNREF(dataSize);
761	DE_UNREF(pData);
762}
763
764void cmdFillBuffer (VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, deUint32 data)
765{
766	DE_UNREF(commandBuffer);
767	DE_UNREF(dstBuffer);
768	DE_UNREF(dstOffset);
769	DE_UNREF(size);
770	DE_UNREF(data);
771}
772
773void cmdClearColorImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, deUint32 rangeCount, const VkImageSubresourceRange* pRanges)
774{
775	DE_UNREF(commandBuffer);
776	DE_UNREF(image);
777	DE_UNREF(imageLayout);
778	DE_UNREF(pColor);
779	DE_UNREF(rangeCount);
780	DE_UNREF(pRanges);
781}
782
783void cmdClearDepthStencilImage (VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, deUint32 rangeCount, const VkImageSubresourceRange* pRanges)
784{
785	DE_UNREF(commandBuffer);
786	DE_UNREF(image);
787	DE_UNREF(imageLayout);
788	DE_UNREF(pDepthStencil);
789	DE_UNREF(rangeCount);
790	DE_UNREF(pRanges);
791}
792
793void cmdClearAttachments (VkCommandBuffer commandBuffer, deUint32 attachmentCount, const VkClearAttachment* pAttachments, deUint32 rectCount, const VkClearRect* pRects)
794{
795	DE_UNREF(commandBuffer);
796	DE_UNREF(attachmentCount);
797	DE_UNREF(pAttachments);
798	DE_UNREF(rectCount);
799	DE_UNREF(pRects);
800}
801
802void cmdResolveImage (VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, deUint32 regionCount, const VkImageResolve* pRegions)
803{
804	DE_UNREF(commandBuffer);
805	DE_UNREF(srcImage);
806	DE_UNREF(srcImageLayout);
807	DE_UNREF(dstImage);
808	DE_UNREF(dstImageLayout);
809	DE_UNREF(regionCount);
810	DE_UNREF(pRegions);
811}
812
813void cmdSetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
814{
815	DE_UNREF(commandBuffer);
816	DE_UNREF(event);
817	DE_UNREF(stageMask);
818}
819
820void cmdResetEvent (VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
821{
822	DE_UNREF(commandBuffer);
823	DE_UNREF(event);
824	DE_UNREF(stageMask);
825}
826
827void cmdWaitEvents (VkCommandBuffer commandBuffer, deUint32 eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, deUint32 memoryBarrierCount, const void* const* ppMemoryBarriers)
828{
829	DE_UNREF(commandBuffer);
830	DE_UNREF(eventCount);
831	DE_UNREF(pEvents);
832	DE_UNREF(srcStageMask);
833	DE_UNREF(dstStageMask);
834	DE_UNREF(memoryBarrierCount);
835	DE_UNREF(ppMemoryBarriers);
836}
837
838void cmdPipelineBarrier (VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, deUint32 memoryBarrierCount, const void* const* ppMemoryBarriers)
839{
840	DE_UNREF(commandBuffer);
841	DE_UNREF(srcStageMask);
842	DE_UNREF(dstStageMask);
843	DE_UNREF(dependencyFlags);
844	DE_UNREF(memoryBarrierCount);
845	DE_UNREF(ppMemoryBarriers);
846}
847
848void cmdBeginQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 entry, VkQueryControlFlags flags)
849{
850	DE_UNREF(commandBuffer);
851	DE_UNREF(queryPool);
852	DE_UNREF(entry);
853	DE_UNREF(flags);
854}
855
856void cmdEndQuery (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 entry)
857{
858	DE_UNREF(commandBuffer);
859	DE_UNREF(queryPool);
860	DE_UNREF(entry);
861}
862
863void cmdResetQueryPool (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 startQuery, deUint32 queryCount)
864{
865	DE_UNREF(commandBuffer);
866	DE_UNREF(queryPool);
867	DE_UNREF(startQuery);
868	DE_UNREF(queryCount);
869}
870
871void cmdWriteTimestamp (VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, deUint32 entry)
872{
873	DE_UNREF(commandBuffer);
874	DE_UNREF(pipelineStage);
875	DE_UNREF(queryPool);
876	DE_UNREF(entry);
877}
878
879void cmdCopyQueryPoolResults (VkCommandBuffer commandBuffer, VkQueryPool queryPool, deUint32 startQuery, deUint32 queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags)
880{
881	DE_UNREF(commandBuffer);
882	DE_UNREF(queryPool);
883	DE_UNREF(startQuery);
884	DE_UNREF(queryCount);
885	DE_UNREF(dstBuffer);
886	DE_UNREF(dstOffset);
887	DE_UNREF(stride);
888	DE_UNREF(flags);
889}
890
891void cmdPushConstants (VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, deUint32 offset, deUint32 size, const void* pValues)
892{
893	DE_UNREF(commandBuffer);
894	DE_UNREF(layout);
895	DE_UNREF(stageFlags);
896	DE_UNREF(offset);
897	DE_UNREF(size);
898	DE_UNREF(pValues);
899}
900
901void cmdBeginRenderPass (VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
902{
903	DE_UNREF(commandBuffer);
904	DE_UNREF(pRenderPassBegin);
905	DE_UNREF(contents);
906}
907
908void cmdNextSubpass (VkCommandBuffer commandBuffer, VkSubpassContents contents)
909{
910	DE_UNREF(commandBuffer);
911	DE_UNREF(contents);
912}
913
914void cmdEndRenderPass (VkCommandBuffer commandBuffer)
915{
916	DE_UNREF(commandBuffer);
917}
918
919void cmdExecuteCommands (VkCommandBuffer commandBuffer, deUint32 commandBuffersCount, const VkCommandBuffer* pCommandBuffers)
920{
921	DE_UNREF(commandBuffer);
922	DE_UNREF(commandBuffersCount);
923	DE_UNREF(pCommandBuffers);
924}
925
926static const tcu::StaticFunctionLibrary::Entry s_platformFunctions[] =
927{
928	VK_NULL_FUNC_ENTRY(vkCreateInstance,						createInstance),
929	VK_NULL_FUNC_ENTRY(vkGetInstanceProcAddr,					getInstanceProcAddr),
930	VK_NULL_FUNC_ENTRY(vkEnumerateInstanceExtensionProperties,	enumerateInstanceExtensionProperties),
931	VK_NULL_FUNC_ENTRY(vkEnumerateInstanceLayerProperties,		enumerateInstanceLayerProperties),
932};
933
934static const tcu::StaticFunctionLibrary::Entry s_instanceFunctions[] =
935{
936	VK_NULL_FUNC_ENTRY(vkDestroyInstance,							destroyInstance),
937	VK_NULL_FUNC_ENTRY(vkEnumeratePhysicalDevices,					enumeratePhysicalDevices),
938	VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFeatures,					getPhysicalDeviceFeatures),
939	VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceFormatProperties,			getPhysicalDeviceFormatProperties),
940	VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceImageFormatProperties,	getPhysicalDeviceImageFormatProperties),
941	VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceProperties,				getPhysicalDeviceProperties),
942	VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceQueueFamilyProperties,	getPhysicalDeviceQueueFamilyProperties),
943	VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceMemoryProperties,			getPhysicalDeviceMemoryProperties),
944	VK_NULL_FUNC_ENTRY(vkGetDeviceProcAddr,							getDeviceProcAddr),
945	VK_NULL_FUNC_ENTRY(vkCreateDevice,								createDevice),
946	VK_NULL_FUNC_ENTRY(vkEnumerateDeviceExtensionProperties,		enumerateDeviceExtensionProperties),
947	VK_NULL_FUNC_ENTRY(vkEnumerateDeviceLayerProperties,			enumerateDeviceLayerProperties),
948};
949
950static const tcu::StaticFunctionLibrary::Entry s_deviceFunctions[] =
951{
952	VK_NULL_FUNC_ENTRY(vkDestroyDevice,									destroyDevice),
953	VK_NULL_FUNC_ENTRY(vkGetDeviceQueue,								getDeviceQueue),
954	VK_NULL_FUNC_ENTRY(vkQueueSubmit,									queueSubmit),
955	VK_NULL_FUNC_ENTRY(vkQueueWaitIdle,									queueWaitIdle),
956	VK_NULL_FUNC_ENTRY(vkDeviceWaitIdle,								deviceWaitIdle),
957	VK_NULL_FUNC_ENTRY(vkAllocateMemory,								allocateMemory),
958	VK_NULL_FUNC_ENTRY(vkFreeMemory,									freeMemory),
959	VK_NULL_FUNC_ENTRY(vkMapMemory,										mapMemory),
960	VK_NULL_FUNC_ENTRY(vkUnmapMemory,									unmapMemory),
961	VK_NULL_FUNC_ENTRY(vkFlushMappedMemoryRanges,						flushMappedMemoryRanges),
962	VK_NULL_FUNC_ENTRY(vkInvalidateMappedMemoryRanges,					invalidateMappedMemoryRanges),
963	VK_NULL_FUNC_ENTRY(vkGetDeviceMemoryCommitment,						getDeviceMemoryCommitment),
964	VK_NULL_FUNC_ENTRY(vkBindBufferMemory,								bindBufferMemory),
965	VK_NULL_FUNC_ENTRY(vkBindImageMemory,								bindImageMemory),
966	VK_NULL_FUNC_ENTRY(vkGetBufferMemoryRequirements,					getBufferMemoryRequirements),
967	VK_NULL_FUNC_ENTRY(vkGetImageMemoryRequirements,					getImageMemoryRequirements),
968	VK_NULL_FUNC_ENTRY(vkGetImageSparseMemoryRequirements,				getImageSparseMemoryRequirements),
969	VK_NULL_FUNC_ENTRY(vkGetPhysicalDeviceSparseImageFormatProperties,	getPhysicalDeviceSparseImageFormatProperties),
970	VK_NULL_FUNC_ENTRY(vkQueueBindSparse,								queueBindSparse),
971	VK_NULL_FUNC_ENTRY(vkCreateFence,									createFence),
972	VK_NULL_FUNC_ENTRY(vkDestroyFence,									destroyFence),
973	VK_NULL_FUNC_ENTRY(vkResetFences,									resetFences),
974	VK_NULL_FUNC_ENTRY(vkGetFenceStatus,								getFenceStatus),
975	VK_NULL_FUNC_ENTRY(vkWaitForFences,									waitForFences),
976	VK_NULL_FUNC_ENTRY(vkCreateSemaphore,								createSemaphore),
977	VK_NULL_FUNC_ENTRY(vkDestroySemaphore,								destroySemaphore),
978	VK_NULL_FUNC_ENTRY(vkCreateEvent,									createEvent),
979	VK_NULL_FUNC_ENTRY(vkDestroyEvent,									destroyEvent),
980	VK_NULL_FUNC_ENTRY(vkGetEventStatus,								getEventStatus),
981	VK_NULL_FUNC_ENTRY(vkSetEvent,										setEvent),
982	VK_NULL_FUNC_ENTRY(vkResetEvent,									resetEvent),
983	VK_NULL_FUNC_ENTRY(vkCreateQueryPool,								createQueryPool),
984	VK_NULL_FUNC_ENTRY(vkDestroyQueryPool,								destroyQueryPool),
985	VK_NULL_FUNC_ENTRY(vkGetQueryPoolResults,							getQueryPoolResults),
986	VK_NULL_FUNC_ENTRY(vkCreateBuffer,									createBuffer),
987	VK_NULL_FUNC_ENTRY(vkDestroyBuffer,									destroyBuffer),
988	VK_NULL_FUNC_ENTRY(vkCreateBufferView,								createBufferView),
989	VK_NULL_FUNC_ENTRY(vkDestroyBufferView,								destroyBufferView),
990	VK_NULL_FUNC_ENTRY(vkCreateImage,									createImage),
991	VK_NULL_FUNC_ENTRY(vkDestroyImage,									destroyImage),
992	VK_NULL_FUNC_ENTRY(vkGetImageSubresourceLayout,						getImageSubresourceLayout),
993	VK_NULL_FUNC_ENTRY(vkCreateImageView,								createImageView),
994	VK_NULL_FUNC_ENTRY(vkDestroyImageView,								destroyImageView),
995	VK_NULL_FUNC_ENTRY(vkCreateShaderModule,							createShaderModule),
996	VK_NULL_FUNC_ENTRY(vkDestroyShaderModule,							destroyShaderModule),
997	VK_NULL_FUNC_ENTRY(vkCreatePipelineCache,							createPipelineCache),
998	VK_NULL_FUNC_ENTRY(vkDestroyPipelineCache,							destroyPipelineCache),
999	VK_NULL_FUNC_ENTRY(vkGetPipelineCacheData,							getPipelineCacheData),
1000	VK_NULL_FUNC_ENTRY(vkMergePipelineCaches,							mergePipelineCaches),
1001	VK_NULL_FUNC_ENTRY(vkCreateGraphicsPipelines,						createGraphicsPipelines),
1002	VK_NULL_FUNC_ENTRY(vkCreateComputePipelines,						createComputePipelines),
1003	VK_NULL_FUNC_ENTRY(vkDestroyPipeline,								destroyPipeline),
1004	VK_NULL_FUNC_ENTRY(vkCreatePipelineLayout,							createPipelineLayout),
1005	VK_NULL_FUNC_ENTRY(vkDestroyPipelineLayout,							destroyPipelineLayout),
1006	VK_NULL_FUNC_ENTRY(vkCreateSampler,									createSampler),
1007	VK_NULL_FUNC_ENTRY(vkDestroySampler,								destroySampler),
1008	VK_NULL_FUNC_ENTRY(vkCreateDescriptorSetLayout,						createDescriptorSetLayout),
1009	VK_NULL_FUNC_ENTRY(vkDestroyDescriptorSetLayout,					destroyDescriptorSetLayout),
1010	VK_NULL_FUNC_ENTRY(vkCreateDescriptorPool,							createDescriptorPool),
1011	VK_NULL_FUNC_ENTRY(vkDestroyDescriptorPool,							destroyDescriptorPool),
1012	VK_NULL_FUNC_ENTRY(vkResetDescriptorPool,							resetDescriptorPool),
1013	VK_NULL_FUNC_ENTRY(vkAllocateDescriptorSets,						allocateDescriptorSets),
1014	VK_NULL_FUNC_ENTRY(vkFreeDescriptorSets,							freeDescriptorSets),
1015	VK_NULL_FUNC_ENTRY(vkUpdateDescriptorSets,							updateDescriptorSets),
1016	VK_NULL_FUNC_ENTRY(vkCreateFramebuffer,								createFramebuffer),
1017	VK_NULL_FUNC_ENTRY(vkDestroyFramebuffer,							destroyFramebuffer),
1018	VK_NULL_FUNC_ENTRY(vkCreateRenderPass,								createRenderPass),
1019	VK_NULL_FUNC_ENTRY(vkDestroyRenderPass,								destroyRenderPass),
1020	VK_NULL_FUNC_ENTRY(vkGetRenderAreaGranularity,						getRenderAreaGranularity),
1021	VK_NULL_FUNC_ENTRY(vkCreateCommandPool,								createCommandPool),
1022	VK_NULL_FUNC_ENTRY(vkDestroyCommandPool,							destroyCommandPool),
1023	VK_NULL_FUNC_ENTRY(vkResetCommandPool,								resetCommandPool),
1024	VK_NULL_FUNC_ENTRY(vkAllocateCommandBuffers,						allocateCommandBuffers),
1025	VK_NULL_FUNC_ENTRY(vkFreeCommandBuffers,							freeCommandBuffers),
1026	VK_NULL_FUNC_ENTRY(vkBeginCommandBuffer,							beginCommandBuffer),
1027	VK_NULL_FUNC_ENTRY(vkEndCommandBuffer,								endCommandBuffer),
1028	VK_NULL_FUNC_ENTRY(vkResetCommandBuffer,							resetCommandBuffer),
1029	VK_NULL_FUNC_ENTRY(vkCmdBindPipeline,								cmdBindPipeline),
1030	VK_NULL_FUNC_ENTRY(vkCmdSetViewport,								cmdSetViewport),
1031	VK_NULL_FUNC_ENTRY(vkCmdSetScissor,									cmdSetScissor),
1032	VK_NULL_FUNC_ENTRY(vkCmdSetLineWidth,								cmdSetLineWidth),
1033	VK_NULL_FUNC_ENTRY(vkCmdSetDepthBias,								cmdSetDepthBias),
1034	VK_NULL_FUNC_ENTRY(vkCmdSetBlendConstants,							cmdSetBlendConstants),
1035	VK_NULL_FUNC_ENTRY(vkCmdSetDepthBounds,								cmdSetDepthBounds),
1036	VK_NULL_FUNC_ENTRY(vkCmdSetStencilCompareMask,						cmdSetStencilCompareMask),
1037	VK_NULL_FUNC_ENTRY(vkCmdSetStencilWriteMask,						cmdSetStencilWriteMask),
1038	VK_NULL_FUNC_ENTRY(vkCmdSetStencilReference,						cmdSetStencilReference),
1039	VK_NULL_FUNC_ENTRY(vkCmdBindDescriptorSets,							cmdBindDescriptorSets),
1040	VK_NULL_FUNC_ENTRY(vkCmdBindIndexBuffer,							cmdBindIndexBuffer),
1041	VK_NULL_FUNC_ENTRY(vkCmdBindVertexBuffers,							cmdBindVertexBuffers),
1042	VK_NULL_FUNC_ENTRY(vkCmdDraw,										cmdDraw),
1043	VK_NULL_FUNC_ENTRY(vkCmdDrawIndexed,								cmdDrawIndexed),
1044	VK_NULL_FUNC_ENTRY(vkCmdDrawIndirect,								cmdDrawIndirect),
1045	VK_NULL_FUNC_ENTRY(vkCmdDrawIndexedIndirect,						cmdDrawIndexedIndirect),
1046	VK_NULL_FUNC_ENTRY(vkCmdDispatch,									cmdDispatch),
1047	VK_NULL_FUNC_ENTRY(vkCmdDispatchIndirect,							cmdDispatchIndirect),
1048	VK_NULL_FUNC_ENTRY(vkCmdCopyBuffer,									cmdCopyBuffer),
1049	VK_NULL_FUNC_ENTRY(vkCmdCopyImage,									cmdCopyImage),
1050	VK_NULL_FUNC_ENTRY(vkCmdBlitImage,									cmdBlitImage),
1051	VK_NULL_FUNC_ENTRY(vkCmdCopyBufferToImage,							cmdCopyBufferToImage),
1052	VK_NULL_FUNC_ENTRY(vkCmdCopyImageToBuffer,							cmdCopyImageToBuffer),
1053	VK_NULL_FUNC_ENTRY(vkCmdUpdateBuffer,								cmdUpdateBuffer),
1054	VK_NULL_FUNC_ENTRY(vkCmdFillBuffer,									cmdFillBuffer),
1055	VK_NULL_FUNC_ENTRY(vkCmdClearColorImage,							cmdClearColorImage),
1056	VK_NULL_FUNC_ENTRY(vkCmdClearDepthStencilImage,						cmdClearDepthStencilImage),
1057	VK_NULL_FUNC_ENTRY(vkCmdClearAttachments,							cmdClearAttachments),
1058	VK_NULL_FUNC_ENTRY(vkCmdResolveImage,								cmdResolveImage),
1059	VK_NULL_FUNC_ENTRY(vkCmdSetEvent,									cmdSetEvent),
1060	VK_NULL_FUNC_ENTRY(vkCmdResetEvent,									cmdResetEvent),
1061	VK_NULL_FUNC_ENTRY(vkCmdWaitEvents,									cmdWaitEvents),
1062	VK_NULL_FUNC_ENTRY(vkCmdPipelineBarrier,							cmdPipelineBarrier),
1063	VK_NULL_FUNC_ENTRY(vkCmdBeginQuery,									cmdBeginQuery),
1064	VK_NULL_FUNC_ENTRY(vkCmdEndQuery,									cmdEndQuery),
1065	VK_NULL_FUNC_ENTRY(vkCmdResetQueryPool,								cmdResetQueryPool),
1066	VK_NULL_FUNC_ENTRY(vkCmdWriteTimestamp,								cmdWriteTimestamp),
1067	VK_NULL_FUNC_ENTRY(vkCmdCopyQueryPoolResults,						cmdCopyQueryPoolResults),
1068	VK_NULL_FUNC_ENTRY(vkCmdPushConstants,								cmdPushConstants),
1069	VK_NULL_FUNC_ENTRY(vkCmdBeginRenderPass,							cmdBeginRenderPass),
1070	VK_NULL_FUNC_ENTRY(vkCmdNextSubpass,								cmdNextSubpass),
1071	VK_NULL_FUNC_ENTRY(vkCmdEndRenderPass,								cmdEndRenderPass),
1072	VK_NULL_FUNC_ENTRY(vkCmdExecuteCommands,							cmdExecuteCommands),
1073};
1074
1075