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