1 /*
2 
3 Boost Software License - Version 1.0 - August 17th, 2003
4 
5 Permission is hereby granted, free of charge, to any person or organization
6 obtaining a copy of the software and accompanying documentation covered by
7 this license (the "Software") to use, reproduce, display, distribute,
8 execute, and transmit the Software, and to prepare derivative works of the
9 Software, and to permit third-parties to whom the Software is furnished to
10 do so, all subject to the following:
11 
12 The copyright notices in the Software and this entire statement, including
13 the above license grant, this restriction and the following disclaimer,
14 must be included in all copies of the Software, in whole or in part, and
15 all derivative works of the Software, unless such copies or derivative
16 works are solely in the form of machine-executable object code generated by
17 a source language processor.
18 
19 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
22 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
23 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
24 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25 DEALINGS IN THE SOFTWARE.
26 
27 */
28 module derelict.vulkan.functions;
29 public import derelict.vulkan.system;
30 
31 private {
32 	import derelict.vulkan.types;
33 	import derelict.util.system;
34 }
35 
36 __gshared {
37 	PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
38 	PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
39 	PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
40 	PFN_vkAllocateMemory vkAllocateMemory;
41 	PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
42 	PFN_vkBindBufferMemory vkBindBufferMemory;
43 	PFN_vkBindImageMemory vkBindImageMemory;
44 	PFN_vkCmdBeginQuery vkCmdBeginQuery;
45 	PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
46 	PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
47 	PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;
48 	PFN_vkCmdBindPipeline vkCmdBindPipeline;
49 	PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;
50 	PFN_vkCmdBlitImage vkCmdBlitImage;
51 	PFN_vkCmdClearAttachments vkCmdClearAttachments;
52 	PFN_vkCmdClearColorImage vkCmdClearColorImage;
53 	PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;
54 	PFN_vkCmdCopyBuffer vkCmdCopyBuffer;
55 	PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;
56 	PFN_vkCmdCopyImage vkCmdCopyImage;
57 	PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;
58 	PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;
59 	PFN_vkCmdDispatch vkCmdDispatch;
60 	PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;
61 	PFN_vkCmdDraw vkCmdDraw;
62 	PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
63 	PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
64 	PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
65 	PFN_vkCmdEndQuery vkCmdEndQuery;
66 	PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
67 	PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
68 	PFN_vkCmdFillBuffer vkCmdFillBuffer;
69 	PFN_vkCmdNextSubpass vkCmdNextSubpass;
70 	PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;
71 	PFN_vkCmdPushConstants vkCmdPushConstants;
72 	PFN_vkCmdResetEvent vkCmdResetEvent;
73 	PFN_vkCmdResetQueryPool vkCmdResetQueryPool;
74 	PFN_vkCmdResolveImage vkCmdResolveImage;
75 	PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;
76 	PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
77 	PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;
78 	PFN_vkCmdSetEvent vkCmdSetEvent;
79 	PFN_vkCmdSetLineWidth vkCmdSetLineWidth;
80 	PFN_vkCmdSetScissor vkCmdSetScissor;
81 	PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;
82 	PFN_vkCmdSetStencilReference vkCmdSetStencilReference;
83 	PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
84 	PFN_vkCmdSetViewport vkCmdSetViewport;
85 	PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;
86 	PFN_vkCmdWaitEvents vkCmdWaitEvents;
87 	PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;
88 	PFN_vkCreateBuffer vkCreateBuffer;
89 	PFN_vkCreateBufferView vkCreateBufferView;
90 	PFN_vkCreateCommandPool vkCreateCommandPool;
91 	PFN_vkCreateComputePipelines vkCreateComputePipelines;
92 	PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
93 	PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
94 	PFN_vkCreateDevice vkCreateDevice;
95 	PFN_vkCreateEvent vkCreateEvent;
96 	PFN_vkCreateFence vkCreateFence;
97 	PFN_vkCreateFramebuffer vkCreateFramebuffer;
98 	PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
99 	PFN_vkCreateImage vkCreateImage;
100 	PFN_vkCreateImageView vkCreateImageView;
101 	PFN_vkCreateInstance vkCreateInstance;
102 	PFN_vkCreatePipelineCache vkCreatePipelineCache;
103 	PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
104 	PFN_vkCreateQueryPool vkCreateQueryPool;
105 	PFN_vkCreateRenderPass vkCreateRenderPass;
106 	PFN_vkCreateSampler vkCreateSampler;
107 	PFN_vkCreateSemaphore vkCreateSemaphore;
108 	PFN_vkCreateShaderModule vkCreateShaderModule;
109 	PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
110 	PFN_vkDestroyBuffer vkDestroyBuffer;
111 	PFN_vkDestroyBufferView vkDestroyBufferView;
112 	PFN_vkDestroyCommandPool vkDestroyCommandPool;
113 	PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;
114 	PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
115 	PFN_vkDestroyDevice vkDestroyDevice;
116 	PFN_vkDestroyEvent vkDestroyEvent;
117 	PFN_vkDestroyFence vkDestroyFence;
118 	PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
119 	PFN_vkDestroyImage vkDestroyImage;
120 	PFN_vkDestroyImageView vkDestroyImageView;
121 	PFN_vkDestroyInstance vkDestroyInstance;
122 	PFN_vkDestroyPipeline vkDestroyPipeline;
123 	PFN_vkDestroyPipelineCache vkDestroyPipelineCache;
124 	PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
125 	PFN_vkDestroyQueryPool vkDestroyQueryPool;
126 	PFN_vkDestroyRenderPass vkDestroyRenderPass;
127 	PFN_vkDestroySampler vkDestroySampler;
128 	PFN_vkDestroySemaphore vkDestroySemaphore;
129 	PFN_vkDestroyShaderModule vkDestroyShaderModule;
130 	PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
131 	PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;
132 	PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
133 	PFN_vkEndCommandBuffer vkEndCommandBuffer;
134 	PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties;
135 	PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties;
136 	PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;
137 	PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties;
138 	PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;
139 	PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;
140 	PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
141 	PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
142 	PFN_vkFreeMemory vkFreeMemory;
143 	PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
144 	PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;
145 	PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
146 	PFN_vkGetDeviceQueue vkGetDeviceQueue;
147 	PFN_vkGetEventStatus vkGetEventStatus;
148 	PFN_vkGetFenceStatus vkGetFenceStatus;
149 	PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
150 	PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;
151 	PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;
152 	PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
153 	PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures;
154 	PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties;
155 	PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties;
156 	PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties;
157 	PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;
158 	PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties;
159 	PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties;
160 	PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
161 	PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR;
162 	PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR;
163 	PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR;
164 	PFN_vkGetPipelineCacheData vkGetPipelineCacheData;
165 	PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
166 	PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;
167 	PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;
168 	PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;
169 	PFN_vkMapMemory vkMapMemory;
170 	PFN_vkMergePipelineCaches vkMergePipelineCaches;
171 	PFN_vkQueueBindSparse vkQueueBindSparse;
172 	PFN_vkQueuePresentKHR vkQueuePresentKHR;
173 	PFN_vkQueueSubmit vkQueueSubmit;
174 	PFN_vkQueueWaitIdle vkQueueWaitIdle;
175 	PFN_vkResetCommandBuffer vkResetCommandBuffer;
176 	PFN_vkResetCommandPool vkResetCommandPool;
177 	PFN_vkResetDescriptorPool vkResetDescriptorPool;
178 	PFN_vkResetEvent vkResetEvent;
179 	PFN_vkResetFences vkResetFences;
180 	PFN_vkSetEvent vkSetEvent;
181 	PFN_vkUnmapMemory vkUnmapMemory;
182 	PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
183 	PFN_vkWaitForFences vkWaitForFences;
184 
185 	mixin Functions;
186 }