104 lines
		
	
	
	
		
			5.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
	
		
			5.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #define VK_NO_PROTOTYPES
 | |
| #define VK_USE_PLATFORM_XLIB_KHR
 | |
| #include <vulkan/vulkan.h>
 | |
| #include <vulkan/vulkan_xlib.h>
 | |
| 
 | |
| namespace lt::renderer::vk {
 | |
| 
 | |
| // NOLINTBEGIN(cppcoreguidelines-avoid-non-const-global-variables)
 | |
| extern PFN_vkGetPhysicalDeviceProperties vk_get_physical_device_properties;
 | |
| extern PFN_vkGetPhysicalDeviceQueueFamilyProperties vk_get_physical_device_queue_family_properties;
 | |
| extern PFN_vkCreateDevice vk_create_device;
 | |
| extern PFN_vkGetDeviceProcAddr vk_get_device_proc_address;
 | |
| extern PFN_vkDestroyDevice vk_destroy_device;
 | |
| extern PFN_vkGetPhysicalDeviceFeatures2 vk_get_physical_device_features;
 | |
| extern PFN_vkEnumerateDeviceExtensionProperties vk_enumerate_device_extension_properties;
 | |
| extern PFN_vkGetPhysicalDeviceMemoryProperties vk_get_physical_device_memory_properties;
 | |
| 
 | |
| // extension instance functions
 | |
| extern PFN_vkCmdBeginDebugUtilsLabelEXT vk_cmd_begin_debug_label;
 | |
| extern PFN_vkCmdEndDebugUtilsLabelEXT vk_cmd_end_debug_label;
 | |
| extern PFN_vkCmdInsertDebugUtilsLabelEXT vk_cmd_insert_debug_label;
 | |
| extern PFN_vkCreateDebugUtilsMessengerEXT vk_create_debug_messenger;
 | |
| extern PFN_vkDestroyDebugUtilsMessengerEXT vk_destroy_debug_messenger;
 | |
| extern PFN_vkQueueBeginDebugUtilsLabelEXT vk_queue_begin_debug_label;
 | |
| extern PFN_vkQueueEndDebugUtilsLabelEXT vk_queue_end_debug_label;
 | |
| extern PFN_vkQueueInsertDebugUtilsLabelEXT vk_queue_insert_debug_label;
 | |
| extern PFN_vkSetDebugUtilsObjectNameEXT vk_set_debug_object_name;
 | |
| extern PFN_vkSetDebugUtilsObjectTagEXT vk_set_debug_object_tag;
 | |
| extern PFN_vkSubmitDebugUtilsMessageEXT vk_submit_debug_message;
 | |
| 
 | |
| // surface instance functions
 | |
| extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR vk_get_physical_device_surface_support;
 | |
| extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vk_get_physical_device_surface_capabilities;
 | |
| extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vk_get_physical_device_surface_formats;
 | |
| 
 | |
| // device functions
 | |
| extern PFN_vkGetDeviceQueue vk_get_device_queue;
 | |
| extern PFN_vkCreateCommandPool vk_create_command_pool;
 | |
| extern PFN_vkDestroyCommandPool vk_destroy_command_pool;
 | |
| extern PFN_vkAllocateCommandBuffers vk_allocate_command_buffers;
 | |
| extern PFN_vkFreeCommandBuffers vk_free_command_buffers;
 | |
| extern PFN_vkBeginCommandBuffer vk_begin_command_buffer;
 | |
| extern PFN_vkEndCommandBuffer vk_end_command_buffer;
 | |
| extern PFN_vkCmdPipelineBarrier vk_cmd_pipeline_barrier;
 | |
| extern PFN_vkQueueSubmit vk_queue_submit;
 | |
| extern PFN_vkQueueWaitIdle vk_queue_wait_idle;
 | |
| extern PFN_vkDeviceWaitIdle vk_device_wait_idle;
 | |
| extern PFN_vkCreateFence vk_create_fence;
 | |
| extern PFN_vkDestroyFence vk_destroy_fence;
 | |
| extern PFN_vkWaitForFences vk_wait_for_fences;
 | |
| extern PFN_vkResetFences vk_reset_fences;
 | |
| extern PFN_vkCreateSemaphore vk_create_semaphore;
 | |
| extern PFN_vkDestroySemaphore vk_destroy_semaphore;
 | |
| extern PFN_vkCreateSwapchainKHR vk_create_swapchain_khr;
 | |
| extern PFN_vkDestroySwapchainKHR vk_destroy_swapchain_khr;
 | |
| extern PFN_vkGetSwapchainImagesKHR vk_get_swapchain_images_khr;
 | |
| extern PFN_vkAcquireNextImageKHR vk_acquire_next_image_khr;
 | |
| extern PFN_vkQueuePresentKHR vk_queue_present_khr;
 | |
| extern PFN_vkCreateImageView vk_create_image_view;
 | |
| extern PFN_vkDestroyImageView vk_destroy_image_view;
 | |
| extern PFN_vkCreateRenderPass vk_create_render_pass;
 | |
| extern PFN_vkDestroyRenderPass vk_destroy_render_pass;
 | |
| extern PFN_vkCreateFramebuffer vk_create_frame_buffer;
 | |
| extern PFN_vkDestroyFramebuffer vk_destroy_frame_buffer;
 | |
| extern PFN_vkCreateShaderModule vk_create_shader_module;
 | |
| extern PFN_vkDestroyShaderModule vk_destroy_shader_module;
 | |
| extern PFN_vkCreatePipelineLayout vk_create_pipeline_layout;
 | |
| extern PFN_vkDestroyPipelineLayout vk_destroy_pipeline_layout;
 | |
| extern PFN_vkCreateGraphicsPipelines vk_create_graphics_pipelines;
 | |
| extern PFN_vkDestroyPipeline vk_destroy_pipeline;
 | |
| extern PFN_vkCmdBeginRenderPass vk_cmd_begin_render_pass;
 | |
| extern PFN_vkCmdEndRenderPass vk_cmd_end_render_pass;
 | |
| extern PFN_vkCmdBindPipeline vk_cmd_bind_pipeline;
 | |
| extern PFN_vkCmdDraw vk_cmd_draw;
 | |
| extern PFN_vkCmdSetViewport vk_cmd_set_viewport;
 | |
| extern PFN_vkCmdSetScissor vk_cmd_set_scissors;
 | |
| extern PFN_vkCmdPushConstants vk_cmd_push_constants;
 | |
| extern PFN_vkCmdCopyBuffer vk_cmd_copy_buffer;
 | |
| 
 | |
| extern PFN_vkCreateDescriptorSetLayout vk_create_descriptor_set_layout;
 | |
| extern PFN_vkDestroyDescriptorSetLayout vk_destroy_descriptor_set_layout;
 | |
| extern PFN_vkCreateDescriptorPool vk_create_descriptor_pool;
 | |
| extern PFN_vkDestroyDescriptorPool vk_destroy_descriptor_pool;
 | |
| extern PFN_vkAllocateDescriptorSets vk_allocate_descriptor_sets;
 | |
| extern PFN_vkFreeDescriptorSets vk_free_descriptor_sets;
 | |
| 
 | |
| extern PFN_vkCreateBuffer vk_create_buffer;
 | |
| extern PFN_vkDestroyBuffer vk_destroy_buffer;
 | |
| extern PFN_vkGetBufferMemoryRequirements vk_get_buffer_memory_requirements;
 | |
| extern PFN_vkAllocateMemory vk_allocate_memory;
 | |
| extern PFN_vkBindBufferMemory vk_bind_buffer_memory;
 | |
| extern PFN_vkMapMemory vk_map_memory;
 | |
| extern PFN_vkUnmapMemory vk_unmap_memory;
 | |
| extern PFN_vkFreeMemory vk_free_memory;
 | |
| 
 | |
| extern PFN_vkResetCommandBuffer vk_reset_command_buffer;
 | |
| 
 | |
| extern PFN_vkCmdBeginRendering vk_cmd_begin_rendering;
 | |
| extern PFN_vkCmdEndRendering vk_cmd_end_rendering;
 | |
| // NOLINTEND(cppcoreguidelines-avoid-non-const-global-variables)
 | |
| 
 | |
| } // namespace lt::renderer::vk
 |