1- // Copyright 2016 Intel Corporation All Rights Reserved
2- //
3- // Intel makes no representations about the suitability of this software for any purpose.
4- // THIS SOFTWARE IS PROVIDED ""AS IS."" INTEL SPECIFICALLY DISCLAIMS ALL WARRANTIES,
5- // EXPRESS OR IMPLIED, AND ALL LIABILITY, INCLUDING CONSEQUENTIAL AND OTHER INDIRECT DAMAGES,
6- // FOR THE USE OF THIS SOFTWARE, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PROPRIETARY
7- // RIGHTS, AND INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
8- // Intel does not assume any responsibility for any errors which may appear in this software
9- // nor any responsibility to update it.
10-
11- // ************************************************************ //
12- // Exported functions //
13- // //
14- // These functions are always exposed by vulkan libraries. //
15- // ************************************************************ //
16-
17- #if !defined(VK_EXPORTED_FUNCTION)
18- #define VK_EXPORTED_FUNCTION ( fun )
19- #endif
20-
21- VK_EXPORTED_FUNCTION ( vkGetInstanceProcAddr )
22-
23- #undef VK_EXPORTED_FUNCTION
24-
25-
26- // ************************************************************ //
27- // Global level functions //
28- // //
29- // They allow checking what instance extensions are available //
30- // and allow creation of a Vulkan Instance. //
31- // ************************************************************ //
32-
33- #if !defined(VK_GLOBAL_LEVEL_FUNCTION)
34- #define VK_GLOBAL_LEVEL_FUNCTION ( fun )
35- #endif
36-
37- // Tutorial 01
38- VK_GLOBAL_LEVEL_FUNCTION ( vkCreateInstance )
39-
40- // Tutorial 02
41- VK_GLOBAL_LEVEL_FUNCTION( vkEnumerateInstanceExtensionProperties )
42-
43- #undef VK_GLOBAL_LEVEL_FUNCTION
44-
45-
46- // ************************************************************ //
47- // Instance level functions //
48- // //
49- // These functions allow for device queries and creation. //
50- // They help choose which device is well suited for our needs. //
51- // ************************************************************ //
52-
53- #if !defined(VK_INSTANCE_LEVEL_FUNCTION)
54- #define VK_INSTANCE_LEVEL_FUNCTION ( fun )
55- #endif
56-
57- // Tutorial 01
58- VK_INSTANCE_LEVEL_FUNCTION ( vkEnumeratePhysicalDevices )
59- VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceProperties )
60- VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceFeatures )
61- VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceQueueFamilyProperties )
62- VK_INSTANCE_LEVEL_FUNCTION( vkCreateDevice )
63- VK_INSTANCE_LEVEL_FUNCTION( vkGetDeviceProcAddr )
64- VK_INSTANCE_LEVEL_FUNCTION( vkDestroyInstance )
65-
66- // Tutorial 02
67- VK_INSTANCE_LEVEL_FUNCTION( vkEnumerateDeviceExtensionProperties )
68- #if defined(USE_SWAPCHAIN_EXTENSIONS)
69- VK_INSTANCE_LEVEL_FUNCTION ( vkGetPhysicalDeviceSurfaceSupportKHR )
70- VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceSurfaceCapabilitiesKHR )
71- VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceSurfaceFormatsKHR )
72- VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceSurfacePresentModesKHR )
73- VK_INSTANCE_LEVEL_FUNCTION( vkDestroySurfaceKHR )
74- #if defined(VK_USE_PLATFORM_WIN32_KHR)
75- VK_INSTANCE_LEVEL_FUNCTION ( vkCreateWin32SurfaceKHR )
76- #elif defined(VK_USE_PLATFORM_XCB_KHR)
77- VK_INSTANCE_LEVEL_FUNCTION ( vkCreateXcbSurfaceKHR )
78- #elif defined(VK_USE_PLATFORM_XLIB_KHR)
79- VK_INSTANCE_LEVEL_FUNCTION ( vkCreateXlibSurfaceKHR )
80- #endif
81- #endif
82-
83- // Tutorial 04
84- VK_INSTANCE_LEVEL_FUNCTION ( vkGetPhysicalDeviceMemoryProperties )
85-
86- #undef VK_INSTANCE_LEVEL_FUNCTION
87-
88-
89- // ************************************************************ //
90- // Device level functions //
91- // //
92- // These functions are used mainly for drawing //
93- // ************************************************************ //
94-
95- #if !defined(VK_DEVICE_LEVEL_FUNCTION)
96- #define VK_DEVICE_LEVEL_FUNCTION ( fun )
97- #endif
98-
99- // Tutorial 01
100- VK_DEVICE_LEVEL_FUNCTION ( vkGetDeviceQueue )
101- VK_DEVICE_LEVEL_FUNCTION( vkDeviceWaitIdle )
102- VK_DEVICE_LEVEL_FUNCTION( vkDestroyDevice )
103-
104- // Tutorial 02
105- VK_DEVICE_LEVEL_FUNCTION( vkCreateSemaphore )
106- VK_DEVICE_LEVEL_FUNCTION( vkCreateCommandPool )
107- VK_DEVICE_LEVEL_FUNCTION( vkAllocateCommandBuffers )
108- VK_DEVICE_LEVEL_FUNCTION( vkBeginCommandBuffer )
109- VK_DEVICE_LEVEL_FUNCTION( vkCmdPipelineBarrier )
110- VK_DEVICE_LEVEL_FUNCTION( vkCmdClearColorImage )
111- VK_DEVICE_LEVEL_FUNCTION( vkEndCommandBuffer )
112- VK_DEVICE_LEVEL_FUNCTION( vkQueueSubmit )
113- VK_DEVICE_LEVEL_FUNCTION( vkFreeCommandBuffers )
114- VK_DEVICE_LEVEL_FUNCTION( vkDestroyCommandPool )
115- VK_DEVICE_LEVEL_FUNCTION( vkDestroySemaphore )
116- #if defined(USE_SWAPCHAIN_EXTENSIONS)
117- VK_DEVICE_LEVEL_FUNCTION ( vkCreateSwapchainKHR )
118- VK_DEVICE_LEVEL_FUNCTION( vkGetSwapchainImagesKHR )
119- VK_DEVICE_LEVEL_FUNCTION( vkAcquireNextImageKHR )
120- VK_DEVICE_LEVEL_FUNCTION( vkQueuePresentKHR )
121- VK_DEVICE_LEVEL_FUNCTION( vkDestroySwapchainKHR )
122- #endif
123-
124- // Tutorial 03
125- VK_DEVICE_LEVEL_FUNCTION ( vkCreateImageView )
126- VK_DEVICE_LEVEL_FUNCTION( vkCreateRenderPass )
127- VK_DEVICE_LEVEL_FUNCTION( vkCreateFramebuffer )
128- VK_DEVICE_LEVEL_FUNCTION( vkCreateShaderModule )
129- VK_DEVICE_LEVEL_FUNCTION( vkCreatePipelineLayout )
130- VK_DEVICE_LEVEL_FUNCTION( vkCreateGraphicsPipelines )
131- VK_DEVICE_LEVEL_FUNCTION( vkCmdBeginRenderPass )
132- VK_DEVICE_LEVEL_FUNCTION( vkCmdBindPipeline )
133- VK_DEVICE_LEVEL_FUNCTION( vkCmdDraw )
134- VK_DEVICE_LEVEL_FUNCTION( vkCmdEndRenderPass )
135- VK_DEVICE_LEVEL_FUNCTION( vkDestroyShaderModule )
136- VK_DEVICE_LEVEL_FUNCTION( vkDestroyPipelineLayout )
137- VK_DEVICE_LEVEL_FUNCTION( vkDestroyPipeline )
138- VK_DEVICE_LEVEL_FUNCTION( vkDestroyRenderPass )
139- VK_DEVICE_LEVEL_FUNCTION( vkDestroyFramebuffer )
140- VK_DEVICE_LEVEL_FUNCTION( vkDestroyImageView )
141-
142- // Tutorial 04
143- VK_DEVICE_LEVEL_FUNCTION( vkCreateFence )
144- VK_DEVICE_LEVEL_FUNCTION( vkCreateBuffer )
145- VK_DEVICE_LEVEL_FUNCTION( vkGetBufferMemoryRequirements )
146- VK_DEVICE_LEVEL_FUNCTION( vkAllocateMemory )
147- VK_DEVICE_LEVEL_FUNCTION( vkBindBufferMemory )
148- VK_DEVICE_LEVEL_FUNCTION( vkMapMemory )
149- VK_DEVICE_LEVEL_FUNCTION( vkFlushMappedMemoryRanges )
150- VK_DEVICE_LEVEL_FUNCTION( vkUnmapMemory )
151- VK_DEVICE_LEVEL_FUNCTION( vkCmdSetViewport )
152- VK_DEVICE_LEVEL_FUNCTION( vkCmdSetScissor )
153- VK_DEVICE_LEVEL_FUNCTION( vkCmdBindVertexBuffers )
154- VK_DEVICE_LEVEL_FUNCTION( vkWaitForFences )
155- VK_DEVICE_LEVEL_FUNCTION( vkResetFences )
156- VK_DEVICE_LEVEL_FUNCTION( vkFreeMemory )
157- VK_DEVICE_LEVEL_FUNCTION( vkDestroyBuffer )
158- VK_DEVICE_LEVEL_FUNCTION( vkDestroyFence )
159-
160- // Tutorial 05
161- VK_DEVICE_LEVEL_FUNCTION( vkCmdCopyBuffer )
162-
163- // Tutorial 06
164- VK_DEVICE_LEVEL_FUNCTION( vkCreateImage )
165- VK_DEVICE_LEVEL_FUNCTION( vkGetImageMemoryRequirements )
166- VK_DEVICE_LEVEL_FUNCTION( vkBindImageMemory )
167- VK_DEVICE_LEVEL_FUNCTION( vkCreateSampler )
168- VK_DEVICE_LEVEL_FUNCTION( vkCmdCopyBufferToImage )
169- VK_DEVICE_LEVEL_FUNCTION( vkCreateDescriptorSetLayout )
170- VK_DEVICE_LEVEL_FUNCTION( vkCreateDescriptorPool )
171- VK_DEVICE_LEVEL_FUNCTION( vkAllocateDescriptorSets )
172- VK_DEVICE_LEVEL_FUNCTION( vkUpdateDescriptorSets )
173- VK_DEVICE_LEVEL_FUNCTION( vkCmdBindDescriptorSets )
174- VK_DEVICE_LEVEL_FUNCTION( vkDestroyDescriptorPool )
175- VK_DEVICE_LEVEL_FUNCTION( vkDestroyDescriptorSetLayout )
176- VK_DEVICE_LEVEL_FUNCTION( vkDestroySampler )
177- VK_DEVICE_LEVEL_FUNCTION( vkDestroyImage )
178-
1+ // ///////////////////////////////////////////////////////////////////////////////////////////
2+ // Copyright 2017 Intel Corporation
3+ //
4+ // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License.
5+ // ///////////////////////////////////////////////////////////////////////////////////////////
6+
7+ // ************************************************************ //
8+ // Exported functions //
9+ // //
10+ // These functions are always exposed by vulkan libraries. //
11+ // ************************************************************ //
12+
13+ #if !defined(VK_EXPORTED_FUNCTION)
14+ #define VK_EXPORTED_FUNCTION ( fun )
15+ #endif
16+
17+ VK_EXPORTED_FUNCTION ( vkGetInstanceProcAddr )
18+
19+ #undef VK_EXPORTED_FUNCTION
20+
21+
22+ // ************************************************************ //
23+ // Global level functions //
24+ // //
25+ // They allow checking what instance extensions are available //
26+ // and allow creation of a Vulkan Instance. //
27+ // ************************************************************ //
28+
29+ #if !defined(VK_GLOBAL_LEVEL_FUNCTION)
30+ #define VK_GLOBAL_LEVEL_FUNCTION ( fun )
31+ #endif
32+
33+ // Tutorial 01
34+ VK_GLOBAL_LEVEL_FUNCTION ( vkCreateInstance )
35+
36+ // Tutorial 02
37+ VK_GLOBAL_LEVEL_FUNCTION( vkEnumerateInstanceExtensionProperties )
38+
39+ #undef VK_GLOBAL_LEVEL_FUNCTION
40+
41+
42+ // ************************************************************ //
43+ // Instance level functions //
44+ // //
45+ // These functions allow for device queries and creation. //
46+ // They help choose which device is well suited for our needs. //
47+ // ************************************************************ //
48+
49+ #if !defined(VK_INSTANCE_LEVEL_FUNCTION)
50+ #define VK_INSTANCE_LEVEL_FUNCTION ( fun )
51+ #endif
52+
53+ // Tutorial 01
54+ VK_INSTANCE_LEVEL_FUNCTION ( vkEnumeratePhysicalDevices )
55+ VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceProperties )
56+ VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceFeatures )
57+ VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceQueueFamilyProperties )
58+ VK_INSTANCE_LEVEL_FUNCTION( vkCreateDevice )
59+ VK_INSTANCE_LEVEL_FUNCTION( vkGetDeviceProcAddr )
60+ VK_INSTANCE_LEVEL_FUNCTION( vkDestroyInstance )
61+
62+ // Tutorial 02
63+ VK_INSTANCE_LEVEL_FUNCTION( vkEnumerateDeviceExtensionProperties )
64+ #if defined(USE_SWAPCHAIN_EXTENSIONS)
65+ VK_INSTANCE_LEVEL_FUNCTION ( vkGetPhysicalDeviceSurfaceSupportKHR )
66+ VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceSurfaceCapabilitiesKHR )
67+ VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceSurfaceFormatsKHR )
68+ VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceSurfacePresentModesKHR )
69+ VK_INSTANCE_LEVEL_FUNCTION( vkDestroySurfaceKHR )
70+ #if defined(VK_USE_PLATFORM_WIN32_KHR)
71+ VK_INSTANCE_LEVEL_FUNCTION ( vkCreateWin32SurfaceKHR )
72+ #elif defined(VK_USE_PLATFORM_XCB_KHR)
73+ VK_INSTANCE_LEVEL_FUNCTION ( vkCreateXcbSurfaceKHR )
74+ #elif defined(VK_USE_PLATFORM_XLIB_KHR)
75+ VK_INSTANCE_LEVEL_FUNCTION ( vkCreateXlibSurfaceKHR )
76+ #endif
77+ #endif
78+
79+ // Tutorial 04
80+ VK_INSTANCE_LEVEL_FUNCTION ( vkGetPhysicalDeviceMemoryProperties )
81+
82+ #undef VK_INSTANCE_LEVEL_FUNCTION
83+
84+
85+ // ************************************************************ //
86+ // Device level functions //
87+ // //
88+ // These functions are used mainly for drawing //
89+ // ************************************************************ //
90+
91+ #if !defined(VK_DEVICE_LEVEL_FUNCTION)
92+ #define VK_DEVICE_LEVEL_FUNCTION ( fun )
93+ #endif
94+
95+ // Tutorial 01
96+ VK_DEVICE_LEVEL_FUNCTION ( vkGetDeviceQueue )
97+ VK_DEVICE_LEVEL_FUNCTION( vkDeviceWaitIdle )
98+ VK_DEVICE_LEVEL_FUNCTION( vkDestroyDevice )
99+
100+ // Tutorial 02
101+ VK_DEVICE_LEVEL_FUNCTION( vkCreateSemaphore )
102+ VK_DEVICE_LEVEL_FUNCTION( vkCreateCommandPool )
103+ VK_DEVICE_LEVEL_FUNCTION( vkAllocateCommandBuffers )
104+ VK_DEVICE_LEVEL_FUNCTION( vkBeginCommandBuffer )
105+ VK_DEVICE_LEVEL_FUNCTION( vkCmdPipelineBarrier )
106+ VK_DEVICE_LEVEL_FUNCTION( vkCmdClearColorImage )
107+ VK_DEVICE_LEVEL_FUNCTION( vkEndCommandBuffer )
108+ VK_DEVICE_LEVEL_FUNCTION( vkQueueSubmit )
109+ VK_DEVICE_LEVEL_FUNCTION( vkFreeCommandBuffers )
110+ VK_DEVICE_LEVEL_FUNCTION( vkDestroyCommandPool )
111+ VK_DEVICE_LEVEL_FUNCTION( vkDestroySemaphore )
112+ #if defined(USE_SWAPCHAIN_EXTENSIONS)
113+ VK_DEVICE_LEVEL_FUNCTION ( vkCreateSwapchainKHR )
114+ VK_DEVICE_LEVEL_FUNCTION( vkGetSwapchainImagesKHR )
115+ VK_DEVICE_LEVEL_FUNCTION( vkAcquireNextImageKHR )
116+ VK_DEVICE_LEVEL_FUNCTION( vkQueuePresentKHR )
117+ VK_DEVICE_LEVEL_FUNCTION( vkDestroySwapchainKHR )
118+ #endif
119+
120+ // Tutorial 03
121+ VK_DEVICE_LEVEL_FUNCTION ( vkCreateImageView )
122+ VK_DEVICE_LEVEL_FUNCTION( vkCreateRenderPass )
123+ VK_DEVICE_LEVEL_FUNCTION( vkCreateFramebuffer )
124+ VK_DEVICE_LEVEL_FUNCTION( vkCreateShaderModule )
125+ VK_DEVICE_LEVEL_FUNCTION( vkCreatePipelineLayout )
126+ VK_DEVICE_LEVEL_FUNCTION( vkCreateGraphicsPipelines )
127+ VK_DEVICE_LEVEL_FUNCTION( vkCmdBeginRenderPass )
128+ VK_DEVICE_LEVEL_FUNCTION( vkCmdBindPipeline )
129+ VK_DEVICE_LEVEL_FUNCTION( vkCmdDraw )
130+ VK_DEVICE_LEVEL_FUNCTION( vkCmdEndRenderPass )
131+ VK_DEVICE_LEVEL_FUNCTION( vkDestroyShaderModule )
132+ VK_DEVICE_LEVEL_FUNCTION( vkDestroyPipelineLayout )
133+ VK_DEVICE_LEVEL_FUNCTION( vkDestroyPipeline )
134+ VK_DEVICE_LEVEL_FUNCTION( vkDestroyRenderPass )
135+ VK_DEVICE_LEVEL_FUNCTION( vkDestroyFramebuffer )
136+ VK_DEVICE_LEVEL_FUNCTION( vkDestroyImageView )
137+
138+ // Tutorial 04
139+ VK_DEVICE_LEVEL_FUNCTION( vkCreateFence )
140+ VK_DEVICE_LEVEL_FUNCTION( vkCreateBuffer )
141+ VK_DEVICE_LEVEL_FUNCTION( vkGetBufferMemoryRequirements )
142+ VK_DEVICE_LEVEL_FUNCTION( vkAllocateMemory )
143+ VK_DEVICE_LEVEL_FUNCTION( vkBindBufferMemory )
144+ VK_DEVICE_LEVEL_FUNCTION( vkMapMemory )
145+ VK_DEVICE_LEVEL_FUNCTION( vkFlushMappedMemoryRanges )
146+ VK_DEVICE_LEVEL_FUNCTION( vkUnmapMemory )
147+ VK_DEVICE_LEVEL_FUNCTION( vkCmdSetViewport )
148+ VK_DEVICE_LEVEL_FUNCTION( vkCmdSetScissor )
149+ VK_DEVICE_LEVEL_FUNCTION( vkCmdBindVertexBuffers )
150+ VK_DEVICE_LEVEL_FUNCTION( vkWaitForFences )
151+ VK_DEVICE_LEVEL_FUNCTION( vkResetFences )
152+ VK_DEVICE_LEVEL_FUNCTION( vkFreeMemory )
153+ VK_DEVICE_LEVEL_FUNCTION( vkDestroyBuffer )
154+ VK_DEVICE_LEVEL_FUNCTION( vkDestroyFence )
155+
156+ // Tutorial 05
157+ VK_DEVICE_LEVEL_FUNCTION( vkCmdCopyBuffer )
158+
159+ // Tutorial 06
160+ VK_DEVICE_LEVEL_FUNCTION( vkCreateImage )
161+ VK_DEVICE_LEVEL_FUNCTION( vkGetImageMemoryRequirements )
162+ VK_DEVICE_LEVEL_FUNCTION( vkBindImageMemory )
163+ VK_DEVICE_LEVEL_FUNCTION( vkCreateSampler )
164+ VK_DEVICE_LEVEL_FUNCTION( vkCmdCopyBufferToImage )
165+ VK_DEVICE_LEVEL_FUNCTION( vkCreateDescriptorSetLayout )
166+ VK_DEVICE_LEVEL_FUNCTION( vkCreateDescriptorPool )
167+ VK_DEVICE_LEVEL_FUNCTION( vkAllocateDescriptorSets )
168+ VK_DEVICE_LEVEL_FUNCTION( vkUpdateDescriptorSets )
169+ VK_DEVICE_LEVEL_FUNCTION( vkCmdBindDescriptorSets )
170+ VK_DEVICE_LEVEL_FUNCTION( vkDestroyDescriptorPool )
171+ VK_DEVICE_LEVEL_FUNCTION( vkDestroyDescriptorSetLayout )
172+ VK_DEVICE_LEVEL_FUNCTION( vkDestroySampler )
173+ VK_DEVICE_LEVEL_FUNCTION( vkDestroyImage )
174+
179175#undef VK_DEVICE_LEVEL_FUNCTION
0 commit comments