73 lines
1.5 KiB
C++
73 lines
1.5 KiB
C++
#include "filesystem.h"
|
|
#include "rendering.h"
|
|
#include "tier0/platform.h"
|
|
#include "tier1/utlvector.h"
|
|
#include "console.h"
|
|
#include "tier1/commandline.h"
|
|
|
|
#include "X11/X.h"
|
|
#include "X11/Xlib.h"
|
|
#include "vulkan/vulkan.h"
|
|
#include "vulkan/vulkan_core.h"
|
|
#include "vulkan/vulkan_xlib.h"
|
|
|
|
#define VULKAN_RENDERING_IMPL
|
|
#include "vk_video.h"
|
|
|
|
#define VK_DEVICE_FUNCTION(name) extern PFN_##name _##name
|
|
#include "vk_external_functions.cpp"
|
|
#undef VK_DEVICE_FUNCTION
|
|
|
|
#include "cglm/affine.h"
|
|
#include "cglm/cglm.h"
|
|
|
|
extern Display* g_xdisplay;
|
|
extern int g_xscreen;
|
|
extern Window g_xroot;
|
|
extern Window g_xwin;
|
|
|
|
extern VkInstance g_vkInstance;
|
|
extern VkPhysicalDevice g_vkPhysicalDevice;
|
|
extern VkDevice g_vkDevice;
|
|
extern uint32_t g_drawfamily;
|
|
extern VkQueue g_drawQueue;
|
|
extern uint32_t g_presentfamily;
|
|
extern VkQueue g_presentQueue;
|
|
extern VmaAllocator g_allocator;
|
|
|
|
extern VkSurfaceKHR g_surface;
|
|
extern VkSwapchainKHR g_swapchain;
|
|
|
|
extern VkCommandPool g_vkCommandPool;
|
|
extern VkCommandBuffer g_vkCommandBuffer;
|
|
extern VkImageView g_swapchainImageView;
|
|
extern VkImage g_swapchainImage;
|
|
|
|
extern uint32_t g_nWindowWidth;
|
|
extern uint32_t g_nWindowHeight;
|
|
|
|
class CVertexBuffer: public IVertexBuffer
|
|
{
|
|
public:
|
|
void *Map() override;
|
|
void Unmap() override;
|
|
vk_buffer_t m_buffer;
|
|
void *m_pAllocated = NULL;
|
|
};
|
|
|
|
class CIndexBuffer: public IIndexBuffer
|
|
{
|
|
public:
|
|
void *Map() override;
|
|
void Unmap() override;
|
|
vk_buffer_t m_buffer;
|
|
void *m_pAllocated;
|
|
};
|
|
|
|
|
|
class CTexture: public ITexture
|
|
{
|
|
public:
|
|
vk_image2d_t image;
|
|
};
|