mirror of
https://github.com/opus-tango/IntroductionToVulkan.git
synced 2026-03-20 12:05:20 +00:00
Added license.txt file.
Added Project folder with source code examples Part 1, Part 2, Part 3 and Part 4.
This commit is contained in:
150
Project/Common/ListOfFunctions.inl
Normal file
150
Project/Common/ListOfFunctions.inl
Normal file
@@ -0,0 +1,150 @@
|
||||
// Copyright 2016 Intel Corporation All Rights Reserved
|
||||
//
|
||||
// Intel makes no representations about the suitability of this software for any purpose.
|
||||
// THIS SOFTWARE IS PROVIDED ""AS IS."" INTEL SPECIFICALLY DISCLAIMS ALL WARRANTIES,
|
||||
// EXPRESS OR IMPLIED, AND ALL LIABILITY, INCLUDING CONSEQUENTIAL AND OTHER INDIRECT DAMAGES,
|
||||
// FOR THE USE OF THIS SOFTWARE, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PROPRIETARY
|
||||
// RIGHTS, AND INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
// Intel does not assume any responsibility for any errors which may appear in this software
|
||||
// nor any responsibility to update it.
|
||||
|
||||
// ************************************************************ //
|
||||
// Exported functions //
|
||||
// //
|
||||
// These functions are always exposed by vulkan libraries. //
|
||||
// ************************************************************ //
|
||||
|
||||
#if !defined(VK_EXPORTED_FUNCTION)
|
||||
#define VK_EXPORTED_FUNCTION( fun )
|
||||
#endif
|
||||
|
||||
VK_EXPORTED_FUNCTION( vkGetInstanceProcAddr )
|
||||
|
||||
#undef VK_EXPORTED_FUNCTION
|
||||
|
||||
|
||||
// ************************************************************ //
|
||||
// Global level functions //
|
||||
// //
|
||||
// They allow checking what instance extensions are available //
|
||||
// and allow creation of a Vulkan Instance. //
|
||||
// ************************************************************ //
|
||||
|
||||
#if !defined(VK_GLOBAL_LEVEL_FUNCTION)
|
||||
#define VK_GLOBAL_LEVEL_FUNCTION( fun )
|
||||
#endif
|
||||
|
||||
VK_GLOBAL_LEVEL_FUNCTION( vkCreateInstance )
|
||||
VK_GLOBAL_LEVEL_FUNCTION( vkEnumerateInstanceExtensionProperties )
|
||||
VK_GLOBAL_LEVEL_FUNCTION( vkEnumerateInstanceLayerProperties )
|
||||
|
||||
#undef VK_GLOBAL_LEVEL_FUNCTION
|
||||
|
||||
|
||||
// ************************************************************ //
|
||||
// Instance level functions //
|
||||
// //
|
||||
// These functions allow for device queries and creation. //
|
||||
// They help choose which device is well suited for our needs. //
|
||||
// ************************************************************ //
|
||||
|
||||
#if !defined(VK_INSTANCE_LEVEL_FUNCTION)
|
||||
#define VK_INSTANCE_LEVEL_FUNCTION( fun )
|
||||
#endif
|
||||
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkDestroyInstance )
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkEnumeratePhysicalDevices )
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceProperties )
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceFeatures )
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceQueueFamilyProperties )
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkCreateDevice )
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkGetDeviceProcAddr )
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkEnumerateDeviceExtensionProperties )
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceMemoryProperties )
|
||||
// From extensions
|
||||
#if defined(USE_SWAPCHAIN_EXTENSIONS)
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkDestroySurfaceKHR )
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceSurfaceSupportKHR )
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceSurfaceCapabilitiesKHR )
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceSurfaceFormatsKHR )
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkGetPhysicalDeviceSurfacePresentModesKHR )
|
||||
#if defined(VK_USE_PLATFORM_WIN32_KHR)
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkCreateWin32SurfaceKHR )
|
||||
#elif defined(VK_USE_PLATFORM_XCB_KHR)
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkCreateXcbSurfaceKHR )
|
||||
#elif defined(VK_USE_PLATFORM_XLIB_KHR)
|
||||
VK_INSTANCE_LEVEL_FUNCTION( vkCreateXlibSurfaceKHR )
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#undef VK_INSTANCE_LEVEL_FUNCTION
|
||||
|
||||
|
||||
// ************************************************************ //
|
||||
// Device level functions //
|
||||
// //
|
||||
// These functions are used mainly for drawing //
|
||||
// ************************************************************ //
|
||||
|
||||
#if !defined(VK_DEVICE_LEVEL_FUNCTION)
|
||||
#define VK_DEVICE_LEVEL_FUNCTION( fun )
|
||||
#endif
|
||||
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkGetDeviceQueue )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDestroyDevice )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDeviceWaitIdle )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCreateCommandPool )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkAllocateCommandBuffers )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkBeginCommandBuffer )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCmdPipelineBarrier )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCmdClearColorImage )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkEndCommandBuffer )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCreateSemaphore )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDestroySemaphore )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkQueueSubmit )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkFreeCommandBuffers )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDestroyCommandPool )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCreateRenderPass )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDestroyRenderPass )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCreateImageView )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDestroyImageView )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCreateFramebuffer )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDestroyFramebuffer )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCreateShaderModule )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDestroyShaderModule )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCreatePipelineLayout )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDestroyPipelineLayout )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCreateGraphicsPipelines )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDestroyPipeline )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCmdBeginRenderPass )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCmdEndRenderPass )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCmdBindPipeline )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCmdDraw )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCreateImage )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCmdCopyImage )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDestroyImage )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkGetImageMemoryRequirements )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkAllocateMemory )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkBindImageMemory )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkFreeMemory )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCreateBuffer )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDestroyBuffer )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkGetBufferMemoryRequirements )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkBindBufferMemory )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkMapMemory )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkUnmapMemory )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCmdBindVertexBuffers )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCreateFence )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDestroyFence )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkResetFences )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkWaitForFences )
|
||||
// From extensions
|
||||
#if defined(USE_SWAPCHAIN_EXTENSIONS)
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkCreateSwapchainKHR )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkDestroySwapchainKHR )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkGetSwapchainImagesKHR )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkAcquireNextImageKHR )
|
||||
VK_DEVICE_LEVEL_FUNCTION( vkQueuePresentKHR )
|
||||
#endif
|
||||
|
||||
#undef VK_DEVICE_LEVEL_FUNCTION
|
||||
Reference in New Issue
Block a user