mirror of
https://github.com/libretro/RetroArch
synced 2025-02-19 12:41:00 +00:00
Start moving code to vulkan_common.h
This commit is contained in:
parent
2d5e10e840
commit
e1a1843edc
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user