vkdoom_m/libraries/ZVulkan/include/zvulkan/vulkansurface.h
2022-12-05 07:49:43 +01:00

30 lines
627 B
C++

#pragma once
#include "vulkaninstance.h"
#if defined(VK_USE_PLATFORM_XLIB_KHR)
#include <X11/Xlib.h>
#endif
class VulkanSurface
{
public:
VulkanSurface(std::shared_ptr<VulkanInstance> instance, VkSurfaceKHR surface);
~VulkanSurface();
std::shared_ptr<VulkanInstance> Instance;
VkSurfaceKHR Surface = VK_NULL_HANDLE;
#ifdef VK_USE_PLATFORM_WIN32_KHR
VulkanSurface(std::shared_ptr<VulkanInstance> instance, HWND window);
HWND Window = 0;
#elif defined(VK_USE_PLATFORM_XLIB_KHR)
VulkanSurface(std::shared_ptr<VulkanInstance> instance, Display* disp, Window wind);
Display* disp = nullptr;
Window wind;
#endif
};