1 /* 2 ** Copyright 2015-2023 The Khronos Group Inc. 3 ** 4 ** SPDX-License-Identifier: Apache-2.0 5 */ 6 7 /* 8 ** This header is generated from the Khronos Vulkan XML API Registry. 9 ** 10 */ 11 12 #pragma once 13 #ifdef VK_GFXSTREAM_STRUCTURE_TYPE_EXT 14 #include "vulkan_gfxstream_structure_type.h" 15 #endif 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 22 23 // VK_GOOGLE_gfxstream is a preprocessor guard. Do not pass it to API calls. 24 #define VK_GOOGLE_gfxstream 1 25 #define VK_GOOGLE_GFXSTREAM_SPEC_VERSION 0 26 #define VK_GOOGLE_GFXSTREAM_NUMBER 386 27 #define VK_GOOGLE_GFXSTREAM_EXTENSION_NAME "VK_GOOGLE_gfxstream" 28 typedef struct VkImportColorBufferGOOGLE { 29 VkStructureType sType; 30 void* pNext; 31 uint32_t colorBuffer; 32 } VkImportColorBufferGOOGLE; 33 34 typedef struct VkImportBufferGOOGLE { 35 VkStructureType sType; 36 void* pNext; 37 uint32_t buffer; 38 } VkImportBufferGOOGLE; 39 40 typedef struct VkCreateBlobGOOGLE { 41 VkStructureType sType; 42 void* pNext; 43 uint32_t blobMem; 44 uint32_t blobFlags; 45 uint64_t blobId; 46 } VkCreateBlobGOOGLE; 47 48 typedef VkResult (VKAPI_PTR *PFN_vkMapMemoryIntoAddressSpaceGOOGLE)(VkDevice device, VkDeviceMemory memory, uint64_t* pAddress); 49 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateSizedGOOGLE)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, uint32_t imageInfoCount, uint32_t bufferInfoCount, uint32_t bufferViewCount, const uint32_t* pImageInfoEntryIndices, const uint32_t* pBufferInfoEntryIndices, const uint32_t* pBufferViewEntryIndices, const VkDescriptorImageInfo* pImageInfos, const VkDescriptorBufferInfo* pBufferInfos, const VkBufferView* pBufferViews); 50 typedef void (VKAPI_PTR *PFN_vkBeginCommandBufferAsyncGOOGLE)(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo); 51 typedef void (VKAPI_PTR *PFN_vkEndCommandBufferAsyncGOOGLE)(VkCommandBuffer commandBuffer); 52 typedef void (VKAPI_PTR *PFN_vkResetCommandBufferAsyncGOOGLE)(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags); 53 typedef void (VKAPI_PTR *PFN_vkCommandBufferHostSyncGOOGLE)(VkCommandBuffer commandBuffer, uint32_t needHostSync, uint32_t sequenceNumber); 54 typedef VkResult (VKAPI_PTR *PFN_vkCreateImageWithRequirementsGOOGLE)(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage, VkMemoryRequirements* pMemoryRequirements); 55 typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferWithRequirementsGOOGLE)(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer, VkMemoryRequirements* pMemoryRequirements); 56 typedef VkResult (VKAPI_PTR *PFN_vkGetMemoryHostAddressInfoGOOGLE)(VkDevice device, VkDeviceMemory memory, uint64_t* pAddress, uint64_t* pSize, uint64_t* pHostmemId); 57 typedef VkResult (VKAPI_PTR *PFN_vkFreeMemorySyncGOOGLE)(VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks* pAllocator); 58 typedef void (VKAPI_PTR *PFN_vkQueueHostSyncGOOGLE)(VkQueue queue, uint32_t needHostSync, uint32_t sequenceNumber); 59 typedef void (VKAPI_PTR *PFN_vkQueueSubmitAsyncGOOGLE)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence); 60 typedef void (VKAPI_PTR *PFN_vkQueueWaitIdleAsyncGOOGLE)(VkQueue queue); 61 typedef void (VKAPI_PTR *PFN_vkQueueBindSparseAsyncGOOGLE)(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence); 62 typedef void (VKAPI_PTR *PFN_vkGetLinearImageLayoutGOOGLE)(VkDevice device, VkFormat format, VkDeviceSize* pOffset, VkDeviceSize* pRowPitchAlignment); 63 typedef void (VKAPI_PTR *PFN_vkGetLinearImageLayout2GOOGLE)(VkDevice device, const VkImageCreateInfo* pCreateInfo, VkDeviceSize* pOffset, VkDeviceSize* pRowPitchAlignment); 64 typedef void (VKAPI_PTR *PFN_vkQueueFlushCommandsGOOGLE)(VkQueue queue, VkCommandBuffer commandBuffer, VkDeviceSize dataSize, const void* pData); 65 typedef void (VKAPI_PTR *PFN_vkQueueCommitDescriptorSetUpdatesGOOGLE)(VkQueue queue, uint32_t descriptorPoolCount, const VkDescriptorPool* pDescriptorPools, uint32_t descriptorSetCount, const VkDescriptorSetLayout* pSetLayouts, const uint64_t* pDescriptorSetPoolIds, const uint32_t* pDescriptorSetWhichPool, const uint32_t* pDescriptorSetPendingAllocation, const uint32_t* pDescriptorWriteStartingIndices, uint32_t pendingDescriptorWriteCount, const VkWriteDescriptorSet* pPendingDescriptorWrites); 66 typedef void (VKAPI_PTR *PFN_vkCollectDescriptorPoolIdsGOOGLE)(VkDevice device, VkDescriptorPool descriptorPool, uint32_t* pPoolIdCount, uint64_t* pPoolIds); 67 typedef void (VKAPI_PTR *PFN_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE)(VkQueue queue, uint32_t waitSemaphoreCount, const VkSemaphore* pWaitSemaphores, VkImage image); 68 typedef void (VKAPI_PTR *PFN_vkQueueFlushCommandsFromAuxMemoryGOOGLE)(VkQueue queue, VkCommandBuffer commandBuffer, VkDeviceMemory deviceMemory, VkDeviceSize dataOffset, VkDeviceSize dataSize); 69 typedef VkResult (VKAPI_PTR *PFN_vkGetBlobGOOGLE)(VkDevice device, VkDeviceMemory memory); 70 typedef void (VKAPI_PTR *PFN_vkUpdateDescriptorSetWithTemplateSized2GOOGLE)(VkDevice device, VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, uint32_t imageInfoCount, uint32_t bufferInfoCount, uint32_t bufferViewCount, uint32_t inlineUniformBlockCount, const uint32_t* pImageInfoEntryIndices, const uint32_t* pBufferInfoEntryIndices, const uint32_t* pBufferViewEntryIndices, const VkDescriptorImageInfo* pImageInfos, const VkDescriptorBufferInfo* pBufferInfos, const VkBufferView* pBufferViews, const uint8_t* pInlineUniformBlockData); 71 typedef void (VKAPI_PTR *PFN_vkQueueSubmitAsync2GOOGLE)(VkQueue queue, uint32_t submitCount, const VkSubmitInfo2* pSubmits, VkFence fence); 72 73 #ifndef VK_NO_PROTOTYPES 74 VKAPI_ATTR VkResult VKAPI_CALL vkMapMemoryIntoAddressSpaceGOOGLE( 75 VkDevice device, 76 VkDeviceMemory memory, 77 uint64_t* pAddress); 78 79 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateSizedGOOGLE( 80 VkDevice device, 81 VkDescriptorSet descriptorSet, 82 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 83 uint32_t imageInfoCount, 84 uint32_t bufferInfoCount, 85 uint32_t bufferViewCount, 86 const uint32_t* pImageInfoEntryIndices, 87 const uint32_t* pBufferInfoEntryIndices, 88 const uint32_t* pBufferViewEntryIndices, 89 const VkDescriptorImageInfo* pImageInfos, 90 const VkDescriptorBufferInfo* pBufferInfos, 91 const VkBufferView* pBufferViews); 92 93 VKAPI_ATTR void VKAPI_CALL vkBeginCommandBufferAsyncGOOGLE( 94 VkCommandBuffer commandBuffer, 95 const VkCommandBufferBeginInfo* pBeginInfo); 96 97 VKAPI_ATTR void VKAPI_CALL vkEndCommandBufferAsyncGOOGLE( 98 VkCommandBuffer commandBuffer); 99 100 VKAPI_ATTR void VKAPI_CALL vkResetCommandBufferAsyncGOOGLE( 101 VkCommandBuffer commandBuffer, 102 VkCommandBufferResetFlags flags); 103 104 VKAPI_ATTR void VKAPI_CALL vkCommandBufferHostSyncGOOGLE( 105 VkCommandBuffer commandBuffer, 106 uint32_t needHostSync, 107 uint32_t sequenceNumber); 108 109 VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageWithRequirementsGOOGLE( 110 VkDevice device, 111 const VkImageCreateInfo* pCreateInfo, 112 const VkAllocationCallbacks* pAllocator, 113 VkImage* pImage, 114 VkMemoryRequirements* pMemoryRequirements); 115 116 VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferWithRequirementsGOOGLE( 117 VkDevice device, 118 const VkBufferCreateInfo* pCreateInfo, 119 const VkAllocationCallbacks* pAllocator, 120 VkBuffer* pBuffer, 121 VkMemoryRequirements* pMemoryRequirements); 122 123 VKAPI_ATTR VkResult VKAPI_CALL vkGetMemoryHostAddressInfoGOOGLE( 124 VkDevice device, 125 VkDeviceMemory memory, 126 uint64_t* pAddress, 127 uint64_t* pSize, 128 uint64_t* pHostmemId); 129 130 VKAPI_ATTR VkResult VKAPI_CALL vkFreeMemorySyncGOOGLE( 131 VkDevice device, 132 VkDeviceMemory memory, 133 const VkAllocationCallbacks* pAllocator); 134 135 VKAPI_ATTR void VKAPI_CALL vkQueueHostSyncGOOGLE( 136 VkQueue queue, 137 uint32_t needHostSync, 138 uint32_t sequenceNumber); 139 140 VKAPI_ATTR void VKAPI_CALL vkQueueSubmitAsyncGOOGLE( 141 VkQueue queue, 142 uint32_t submitCount, 143 const VkSubmitInfo* pSubmits, 144 VkFence fence); 145 146 VKAPI_ATTR void VKAPI_CALL vkQueueWaitIdleAsyncGOOGLE( 147 VkQueue queue); 148 149 VKAPI_ATTR void VKAPI_CALL vkQueueBindSparseAsyncGOOGLE( 150 VkQueue queue, 151 uint32_t bindInfoCount, 152 const VkBindSparseInfo* pBindInfo, 153 VkFence fence); 154 155 VKAPI_ATTR void VKAPI_CALL vkGetLinearImageLayoutGOOGLE( 156 VkDevice device, 157 VkFormat format, 158 VkDeviceSize* pOffset, 159 VkDeviceSize* pRowPitchAlignment); 160 161 VKAPI_ATTR void VKAPI_CALL vkGetLinearImageLayout2GOOGLE( 162 VkDevice device, 163 const VkImageCreateInfo* pCreateInfo, 164 VkDeviceSize* pOffset, 165 VkDeviceSize* pRowPitchAlignment); 166 167 VKAPI_ATTR void VKAPI_CALL vkQueueFlushCommandsGOOGLE( 168 VkQueue queue, 169 VkCommandBuffer commandBuffer, 170 VkDeviceSize dataSize, 171 const void* pData); 172 173 VKAPI_ATTR void VKAPI_CALL vkQueueCommitDescriptorSetUpdatesGOOGLE( 174 VkQueue queue, 175 uint32_t descriptorPoolCount, 176 const VkDescriptorPool* pDescriptorPools, 177 uint32_t descriptorSetCount, 178 const VkDescriptorSetLayout* pSetLayouts, 179 const uint64_t* pDescriptorSetPoolIds, 180 const uint32_t* pDescriptorSetWhichPool, 181 const uint32_t* pDescriptorSetPendingAllocation, 182 const uint32_t* pDescriptorWriteStartingIndices, 183 uint32_t pendingDescriptorWriteCount, 184 const VkWriteDescriptorSet* pPendingDescriptorWrites); 185 186 VKAPI_ATTR void VKAPI_CALL vkCollectDescriptorPoolIdsGOOGLE( 187 VkDevice device, 188 VkDescriptorPool descriptorPool, 189 uint32_t* pPoolIdCount, 190 uint64_t* pPoolIds); 191 192 VKAPI_ATTR void VKAPI_CALL vkQueueSignalReleaseImageANDROIDAsyncGOOGLE( 193 VkQueue queue, 194 uint32_t waitSemaphoreCount, 195 const VkSemaphore* pWaitSemaphores, 196 VkImage image); 197 198 VKAPI_ATTR void VKAPI_CALL vkQueueFlushCommandsFromAuxMemoryGOOGLE( 199 VkQueue queue, 200 VkCommandBuffer commandBuffer, 201 VkDeviceMemory deviceMemory, 202 VkDeviceSize dataOffset, 203 VkDeviceSize dataSize); 204 205 VKAPI_ATTR VkResult VKAPI_CALL vkGetBlobGOOGLE( 206 VkDevice device, 207 VkDeviceMemory memory); 208 209 VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSetWithTemplateSized2GOOGLE( 210 VkDevice device, 211 VkDescriptorSet descriptorSet, 212 VkDescriptorUpdateTemplate descriptorUpdateTemplate, 213 uint32_t imageInfoCount, 214 uint32_t bufferInfoCount, 215 uint32_t bufferViewCount, 216 uint32_t inlineUniformBlockCount, 217 const uint32_t* pImageInfoEntryIndices, 218 const uint32_t* pBufferInfoEntryIndices, 219 const uint32_t* pBufferViewEntryIndices, 220 const VkDescriptorImageInfo* pImageInfos, 221 const VkDescriptorBufferInfo* pBufferInfos, 222 const VkBufferView* pBufferViews, 223 const uint8_t* pInlineUniformBlockData); 224 225 VKAPI_ATTR void VKAPI_CALL vkQueueSubmitAsync2GOOGLE( 226 VkQueue queue, 227 uint32_t submitCount, 228 const VkSubmitInfo2* pSubmits, 229 VkFence fence); 230 #endif 231 232 #ifdef __cplusplus 233 } 234 #endif 235