Start moving code to vulkan_common.h

This commit is contained in:
twinaphex 2016-02-19 14:23:51 +01:00
parent 2d5e10e840
commit e1a1843edc
2 changed files with 47 additions and 40 deletions

View File

@ -16,7 +16,16 @@
#ifndef VULKAN_COMMON_H__
#define VULKAN_COMMON_H__
#ifdef HAVE_CONFIG_H
#include "../../config.h"
#endif
#define VK_PROTOTYPES
#ifdef HAVE_WAYLAND
#define VK_USE_PLATFORM_WAYLAND_KHR
#endif
#include <vulkan/vulkan.h>
#include <gfx/math/matrix_4x4.h>
@ -78,6 +87,44 @@ typedef struct vulkan_context
bool swapchain_is_srgb;
} vulkan_context_t;
typedef struct gfx_ctx_vulkan_data
{
vulkan_context_t context;
PFN_vkGetPhysicalDeviceSurfaceSupportKHR fpGetPhysicalDeviceSurfaceSupportKHR;
PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR fpGetPhysicalDeviceSurfaceCapabilitiesKHR;
PFN_vkGetPhysicalDeviceSurfaceFormatsKHR fpGetPhysicalDeviceSurfaceFormatsKHR;
PFN_vkGetPhysicalDeviceSurfacePresentModesKHR fpGetPhysicalDeviceSurfacePresentModesKHR;
PFN_vkCreateSwapchainKHR fpCreateSwapchainKHR;
PFN_vkDestroySwapchainKHR fpDestroySwapchainKHR;
PFN_vkGetSwapchainImagesKHR fpGetSwapchainImagesKHR;
PFN_vkAcquireNextImageKHR fpAcquireNextImageKHR;
PFN_vkQueuePresentKHR fpQueuePresentKHR;
#ifdef _WIN32
PFN_vkCreateWin32SurfaceKHR fpCreateWin32SurfaceKHR;
#endif
#ifdef HAVE_XCB
PFN_vkCreateXcbSurfaceKHR fpCreateXcbSurfaceKHR;
#endif
#ifdef HAVE_XLIB
PFN_vkCreateXlibSurfaceKHR fpCreateXlibSurfaceKHR;
#endif
#ifdef ANDROID
PFN_vkCreateAndroidSurfaceKHR fpCreateAndroidSurfaceKHR;
#endif
#ifdef HAVE_WAYLAND
PFN_vkCreateWaylandSurfaceKHR fpCreateWaylandSurfaceKHR;
#endif
#ifdef HAVE_MIR
FN_vkCreateMirSurfaceKHR fpCreateMirSurfaceKHR;
#endif
PFN_vkDestroySurfaceKHR fpDestroySurfaceKHR;
VkSurfaceKHR vk_surface;
VkSwapchainKHR swapchain;
bool need_new_swapchain;
} gfx_ctx_vulkan_data_t;
struct vk_color
{
float r, g, b, a;

View File

@ -19,7 +19,6 @@
#endif
#ifdef HAVE_VULKAN
#define VK_USE_PLATFORM_WAYLAND_KHR
#include "../common/vulkan_common.h"
#endif
@ -49,49 +48,10 @@ static volatile sig_atomic_t g_quit = 0;
#ifdef HAVE_VULKAN
static VkInstance cached_instance;
static VkDevice cached_device;
typedef struct gfx_ctx_vulkan_data
{
struct vulkan_context context;
PFN_vkGetPhysicalDeviceSurfaceSupportKHR fpGetPhysicalDeviceSurfaceSupportKHR;
PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR fpGetPhysicalDeviceSurfaceCapabilitiesKHR;
PFN_vkGetPhysicalDeviceSurfaceFormatsKHR fpGetPhysicalDeviceSurfaceFormatsKHR;
PFN_vkGetPhysicalDeviceSurfacePresentModesKHR fpGetPhysicalDeviceSurfacePresentModesKHR;
PFN_vkCreateSwapchainKHR fpCreateSwapchainKHR;
PFN_vkDestroySwapchainKHR fpDestroySwapchainKHR;
PFN_vkGetSwapchainImagesKHR fpGetSwapchainImagesKHR;
PFN_vkAcquireNextImageKHR fpAcquireNextImageKHR;
PFN_vkQueuePresentKHR fpQueuePresentKHR;
#ifdef _WIN32
PFN_vkCreateWin32SurfaceKHR fpCreateWin32SurfaceKHR;
#endif
#ifdef HAVE_XCB
PFN_vkCreateXcbSurfaceKHR fpCreateXcbSurfaceKHR;
#endif
#ifdef HAVE_XLIB
PFN_vkCreateXlibSurfaceKHR fpCreateXlibSurfaceKHR;
#endif
#ifdef ANDROID
PFN_vkCreateAndroidSurfaceKHR fpCreateAndroidSurfaceKHR;
#endif
#ifdef HAVE_WAYLAND
PFN_vkCreateWaylandSurfaceKHR fpCreateWaylandSurfaceKHR;
#endif
#ifdef HAVE_MIR
FN_vkCreateMirSurfaceKHR fpCreateMirSurfaceKHR;
#endif
PFN_vkDestroySurfaceKHR fpDestroySurfaceKHR;
VkSurfaceKHR vk_surface;
VkSwapchainKHR swapchain;
bool need_new_swapchain;
} gfx_ctx_vulkan_data_t;
#endif
typedef struct gfx_ctx_wayland_data
{
#ifdef HAVE_EGL
egl_ctx_data_t egl;
struct wl_egl_window *win;