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