functions.d 11 KB

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