11f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall/*
21f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * Copyright 2015 The Android Open Source Project
31f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall *
41f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * Licensed under the Apache License, Version 2.0 (the "License");
51f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * you may not use this file except in compliance with the License.
61f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * You may obtain a copy of the License at
71f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall *
81f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall *      http://www.apache.org/licenses/LICENSE-2.0
91f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall *
101f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * Unless required by applicable law or agreed to in writing, software
111f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * distributed under the License is distributed on an "AS IS" BASIS,
121f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
131f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * See the License for the specific language governing permissions and
141f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall * limitations under the License.
151f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall */
161f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall
170a402094986739a2ce1942363370f8e097305933Jesse Hall// WARNING: This file is generated. See ../README.md for instructions.
181f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall
191f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall#ifndef NULLDRV_NULL_DRIVER_H
201f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall#define NULLDRV_NULL_DRIVER_H 1
211f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall
221f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall#include <vulkan/vk_android_native_buffer.h>
231f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall#include <vulkan/vulkan.h>
241f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall
251f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hallnamespace null_driver {
261f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall
271f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallPFN_vkVoidFunction GetGlobalProcAddr(const char* name);
281f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallPFN_vkVoidFunction GetInstanceProcAddr(const char* name);
291f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall
301f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall// clang-format off
311f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateInstance(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
321f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyInstance(VkInstance instance, const VkAllocationCallbacks* pAllocator);
331f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult EnumeratePhysicalDevices(VkInstance instance, uint32_t* pPhysicalDeviceCount, VkPhysicalDevice* pPhysicalDevices);
341f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR PFN_vkVoidFunction GetDeviceProcAddr(VkDevice device, const char* pName);
351f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR PFN_vkVoidFunction GetInstanceProcAddr(VkInstance instance, const char* pName);
361f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void GetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties* pProperties);
371f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void GetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice, uint32_t* pQueueFamilyPropertyCount, VkQueueFamilyProperties* pQueueFamilyProperties);
381f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void GetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties* pMemoryProperties);
391f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures* pFeatures);
401f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void GetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties* pFormatProperties);
411f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult GetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties);
421f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateDevice(VkPhysicalDevice physicalDevice, const VkDeviceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDevice* pDevice);
431f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator);
441f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult EnumerateInstanceLayerProperties(uint32_t* pPropertyCount, VkLayerProperties* pProperties);
451f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult EnumerateInstanceExtensionProperties(const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
461f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice, uint32_t* pPropertyCount, VkLayerProperties* pProperties);
471f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice, const char* pLayerName, uint32_t* pPropertyCount, VkExtensionProperties* pProperties);
481f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void GetDeviceQueue(VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue);
491f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult QueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence);
501f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult QueueWaitIdle(VkQueue queue);
511f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult DeviceWaitIdle(VkDevice device);
521f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult AllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory);
531f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void FreeMemory(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator);
541f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult MapMemory(VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData);
551f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void UnmapMemory(VkDevice device, VkDeviceMemory memory);
561f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult FlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
571f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult InvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges);
581f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void GetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes);
591f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void GetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements);
601f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult BindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset);
611f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void GetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements);
621f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult BindImageMemory(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
631f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void GetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements);
641f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void GetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties);
651f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult QueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence);
661f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence);
671f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator);
681f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult ResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences);
691f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult GetFenceStatus(VkDevice device, VkFence fence);
701f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult WaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout);
711f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore);
721f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator);
731f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent);
741f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator);
751f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult GetEventStatus(VkDevice device, VkEvent event);
761f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult SetEvent(VkDevice device, VkEvent event);
771f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult ResetEvent(VkDevice device, VkEvent event);
781f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool);
791f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator);
80f9fa9a50d5e87dacce36ef2a56b392fc053cf8ceJesse HallVKAPI_ATTR VkResult GetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags);
811f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer);
821f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator);
831f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView);
841f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator);
851f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage);
861f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator);
871f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void GetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout);
881f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView);
891f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator);
901f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShaderModule);
911f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator);
921f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache);
931f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator);
941f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult GetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData);
951f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult MergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches);
961f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
971f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines);
981f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator);
991f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout);
1001f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator);
1011f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler);
1021f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator);
1031f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout);
1041f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator);
1051f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool);
1061f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator);
1071f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult ResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags);
1081f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult AllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets);
1091f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult FreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets);
1101f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void UpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies);
1111f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer);
1121f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator);
1131f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass);
1141f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator);
1151f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void GetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity);
1161f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult CreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool);
1171f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void DestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator);
1181f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult ResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags);
1191f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult AllocateCommandBuffers(VkDevice device, const VkCommandBufferAllocateInfo* pAllocateInfo, VkCommandBuffer* pCommandBuffers);
1201f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void FreeCommandBuffers(VkDevice device, VkCommandPool commandPool, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
1211f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult BeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo);
1221f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult EndCommandBuffer(VkCommandBuffer commandBuffer);
1231f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult ResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags);
1241f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline);
125f9fa9a50d5e87dacce36ef2a56b392fc053cf8ceJesse HallVKAPI_ATTR void CmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports);
126f9fa9a50d5e87dacce36ef2a56b392fc053cf8ceJesse HallVKAPI_ATTR void CmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors);
1271f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth);
1281f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor);
1291f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4]);
1301f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds);
1311f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask);
1321f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask);
1331f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference);
1341f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets);
1351f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType);
136f9fa9a50d5e87dacce36ef2a56b392fc053cf8ceJesse HallVKAPI_ATTR void CmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets);
1371f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance);
1381f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance);
1391f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
1401f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride);
1411f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdDispatch(VkCommandBuffer commandBuffer, uint32_t x, uint32_t y, uint32_t z);
1421f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset);
1431f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
1441f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions);
1451f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter);
1461f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
1471f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
1481f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const uint32_t* pData);
1491f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data);
1501f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
1511f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
1521f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects);
1531f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions);
1541f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
1551f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask);
1563dd678a6a30e2d94bfd570ec43ffd379e9c5d409Jesse HallVKAPI_ATTR void CmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount, const VkEvent* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
1573dd678a6a30e2d94bfd570ec43ffd379e9c5d409Jesse HallVKAPI_ATTR void CmdPipelineBarrier(VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const VkMemoryBarrier* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const VkBufferMemoryBarrier* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const VkImageMemoryBarrier* pImageMemoryBarriers);
1583dd678a6a30e2d94bfd570ec43ffd379e9c5d409Jesse HallVKAPI_ATTR void CmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags);
1593dd678a6a30e2d94bfd570ec43ffd379e9c5d409Jesse HallVKAPI_ATTR void CmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query);
160f9fa9a50d5e87dacce36ef2a56b392fc053cf8ceJesse HallVKAPI_ATTR void CmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount);
1613dd678a6a30e2d94bfd570ec43ffd379e9c5d409Jesse HallVKAPI_ATTR void CmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query);
162f9fa9a50d5e87dacce36ef2a56b392fc053cf8ceJesse HallVKAPI_ATTR void CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags);
1631f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues);
1641f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents);
1651f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents);
1661f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR void CmdEndRenderPass(VkCommandBuffer commandBuffer);
1673dd678a6a30e2d94bfd570ec43ffd379e9c5d409Jesse HallVKAPI_ATTR void CmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer* pCommandBuffers);
168715b86ac7d0853131b375ff786c87d8d87a762a1Jesse HallVKAPI_ATTR VkResult CreateDebugReportCallbackEXT(VkInstance instance, const VkDebugReportCallbackCreateInfoEXT* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDebugReportCallbackEXT* pCallback);
169715b86ac7d0853131b375ff786c87d8d87a762a1Jesse HallVKAPI_ATTR void DestroyDebugReportCallbackEXT(VkInstance instance, VkDebugReportCallbackEXT callback, const VkAllocationCallbacks* pAllocator);
170715b86ac7d0853131b375ff786c87d8d87a762a1Jesse HallVKAPI_ATTR void DebugReportMessageEXT(VkInstance instance, VkDebugReportFlagsEXT flags, VkDebugReportObjectTypeEXT objectType, uint64_t object, size_t location, int32_t messageCode, const char* pLayerPrefix, const char* pMessage);
1711f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult GetSwapchainGrallocUsageANDROID(VkDevice device, VkFormat format, VkImageUsageFlags imageUsage, int* grallocUsage);
1721f91d390ac013ea2514a67e12ddb083119d636d7Jesse HallVKAPI_ATTR VkResult AcquireImageANDROID(VkDevice device, VkImage image, int nativeFenceFd, VkSemaphore semaphore, VkFence fence);
173275d76c8158c90ec5317b82cb10b094bca2b43cfJesse HallVKAPI_ATTR VkResult QueueSignalReleaseImageANDROID(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image, int* pNativeFenceFd);
1741f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall// clang-format on
1751f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall
1761f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall}  // namespace null_driver
1771f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall
1781f91d390ac013ea2514a67e12ddb083119d636d7Jesse Hall#endif  // NULLDRV_NULL_DRIVER_H
179