mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-12-11 21:31:30 +00:00
10a1b99a92
Lighting doesn't actually do lights yet, but it's producing pixels. Translucent seems to be working (2d draw uses it), and compose seems to be working.
219 lines
8.9 KiB
C
219 lines
8.9 KiB
C
#ifndef EXPORTED_VULKAN_FUNCTION
|
|
#define EXPORTED_VULKAN_FUNCTION(function)
|
|
#endif
|
|
|
|
EXPORTED_VULKAN_FUNCTION (vkGetInstanceProcAddr)
|
|
|
|
#undef EXPORTED_VULKAN_FUNCTION
|
|
|
|
#ifndef GLOBAL_LEVEL_VULKAN_FUNCTION
|
|
#define GLOBAL_LEVEL_VULKAN_FUNCTION(function)
|
|
#endif
|
|
|
|
GLOBAL_LEVEL_VULKAN_FUNCTION (vkEnumerateInstanceVersion)
|
|
GLOBAL_LEVEL_VULKAN_FUNCTION (vkEnumerateInstanceExtensionProperties)
|
|
GLOBAL_LEVEL_VULKAN_FUNCTION (vkEnumerateInstanceLayerProperties)
|
|
GLOBAL_LEVEL_VULKAN_FUNCTION (vkCreateInstance)
|
|
|
|
#undef GLOBAL_LEVEL_VULKAN_FUNCTION
|
|
|
|
#ifndef INSTANCE_LEVEL_VULKAN_FUNCTION
|
|
#define INSTANCE_LEVEL_VULKAN_FUNCTION(function)
|
|
#endif
|
|
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION (vkEnumeratePhysicalDevices)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION (vkGetPhysicalDeviceProperties)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION (vkGetPhysicalDeviceFeatures)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION (vkGetPhysicalDeviceQueueFamilyProperties)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION (vkCreateDevice)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION (vkGetDeviceProcAddr)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION (vkDestroyInstance)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION (vkEnumerateDeviceLayerProperties)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION (vkEnumerateDeviceExtensionProperties)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION (vkGetPhysicalDeviceMemoryProperties)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION (vkGetPhysicalDeviceFormatProperties)
|
|
|
|
#undef INSTANCE_LEVEL_VULKAN_FUNCTION
|
|
|
|
#ifndef INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
#define INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION(function, extension)
|
|
#endif
|
|
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkCreateDebugUtilsMessengerEXT, VK_EXT_DEBUG_UTILS_EXTENSION_NAME)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkDestroyDebugUtilsMessengerEXT, VK_EXT_DEBUG_UTILS_EXTENSION_NAME)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkSubmitDebugUtilsMessageEXT, VK_EXT_DEBUG_UTILS_EXTENSION_NAME)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkGetPhysicalDeviceSurfaceSupportKHR, VK_KHR_SURFACE_EXTENSION_NAME)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkGetPhysicalDeviceSurfacePresentModesKHR, VK_KHR_SURFACE_EXTENSION_NAME)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkGetPhysicalDeviceSurfaceCapabilitiesKHR, VK_KHR_SURFACE_EXTENSION_NAME)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkGetPhysicalDeviceSurfaceFormatsKHR, VK_KHR_SURFACE_EXTENSION_NAME)
|
|
INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkDestroySurfaceKHR, VK_KHR_SURFACE_EXTENSION_NAME)
|
|
|
|
#undef INSTANCE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
|
|
#ifndef PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION
|
|
#define PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION(function, extension)
|
|
#endif
|
|
|
|
#if defined(VK_USE_PLATFORM_XLIB_KHR)
|
|
PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkGetPhysicalDeviceXlibPresentationSupportKHR,
|
|
VK_KHR_XLIB_SURFACE_EXTENSION_NAME)
|
|
PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkCreateXlibSurfaceKHR,
|
|
VK_KHR_XLIB_SURFACE_EXTENSION_NAME)
|
|
#elif defined(VK_USE_PLATFORM_WIN32_KHR)
|
|
PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkGetPhysicalDeviceWin32PresentationSupportKHR,
|
|
VK_KHR_WIN32_SURFACE_EXTENSION_NAME)
|
|
PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkCreateWin32SurfaceKHR,
|
|
VK_KHR_WIN32_SURFACE_EXTENSION_NAME)
|
|
#elif defined(VK_USE_PLATFORM_XCB_KHR)
|
|
PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkGetPhysicalDeviceXcbPresentationSupportKHR,
|
|
VK_KHR_XCB_SURFACE_EXTENSION_NAME)
|
|
PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkCreateXcbSurfaceKHR,
|
|
VK_KHR_XCB_SURFACE_EXTENSION_NAME)
|
|
#endif
|
|
|
|
#undef PRESENTATION_VULKAN_FUNCTION_FROM_EXTENSION
|
|
|
|
#ifndef DEVICE_LEVEL_VULKAN_FUNCTION
|
|
#define DEVICE_LEVEL_VULKAN_FUNCTION(function)
|
|
#endif
|
|
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyDevice)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkGetDeviceQueue)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateCommandPool)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkResetCommandPool)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkAllocateCommandBuffers)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkBeginCommandBuffer)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkEndCommandBuffer)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkResetCommandBuffer)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateSemaphore)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateFence)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkWaitForFences)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkResetFences)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkGetFenceStatus)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkQueueSubmit)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkQueueWaitIdle)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDeviceWaitIdle)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyFence)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroySemaphore)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkFreeCommandBuffers)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyCommandPool)
|
|
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateBuffer)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkGetBufferMemoryRequirements)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkBindBufferMemory)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateBufferView)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyBufferView)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyBuffer)
|
|
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateImage)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkGetImageMemoryRequirements)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkBindImageMemory)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateImageView)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyImageView)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyImage)
|
|
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkAllocateMemory)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkFreeMemory)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkMapMemory)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkUnmapMemory)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkFlushMappedMemoryRanges)
|
|
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateSampler)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateDescriptorSetLayout)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateDescriptorPool)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkAllocateDescriptorSets)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkUpdateDescriptorSets)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkFreeDescriptorSets)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkResetDescriptorPool)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyDescriptorPool)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyDescriptorSetLayout)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroySampler)
|
|
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateRenderPass)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateFramebuffer)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyRenderPass)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyFramebuffer)
|
|
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateShaderModule)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyShaderModule)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreatePipelineCache)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkGetPipelineCacheData)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkMergePipelineCaches)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyPipelineCache)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreatePipelineLayout)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyPipelineLayout)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateGraphicsPipelines)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCreateComputePipelines)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkDestroyPipeline)
|
|
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdPipelineBarrier)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdCopyBuffer)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdCopyBufferToImage)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdCopyImageToBuffer)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdBlitImage)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdBeginRenderPass)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdNextSubpass)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdEndRenderPass)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdBindPipeline)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdClearColorImage)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdExecuteCommands)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdPushConstants)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdPushDescriptorSetKHR)
|
|
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdSetViewport)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdSetScissor)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdBindVertexBuffers)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdBindIndexBuffer)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdBindDescriptorSets)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdDraw)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION (vkCmdDrawIndexed)
|
|
|
|
#undef DEVICE_LEVEL_VULKAN_FUNCTION
|
|
|
|
#ifndef DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
#define DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION(function, extension)
|
|
#endif
|
|
|
|
DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkCreateSwapchainKHR, VK_KHR_SWAPCHAIN_EXTENSION_NAME)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkDestroySwapchainKHR, VK_KHR_SWAPCHAIN_EXTENSION_NAME)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkGetSwapchainImagesKHR, VK_KHR_SWAPCHAIN_EXTENSION_NAME)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkAcquireNextImageKHR, VK_KHR_SWAPCHAIN_EXTENSION_NAME)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkQueuePresentKHR, VK_KHR_SWAPCHAIN_EXTENSION_NAME)
|
|
|
|
DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkCmdBeginDebugUtilsLabelEXT, 0)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkCmdEndDebugUtilsLabelEXT, 0)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkCmdInsertDebugUtilsLabelEXT, 0)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkQueueBeginDebugUtilsLabelEXT, 0)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkQueueEndDebugUtilsLabelEXT, 0)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkQueueInsertDebugUtilsLabelEXT, 0)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkSetDebugUtilsObjectNameEXT, 0)
|
|
DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|
|
(vkSetDebugUtilsObjectTagEXT, 0)
|
|
|
|
#undef DEVICE_LEVEL_VULKAN_FUNCTION_FROM_EXTENSION
|