PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
render_device_internal.h
1#pragma once
2
3#include "pixelbullet/graphics/render_device.h"
4
5#include <memory>
6#include <thread>
7
8namespace pixelbullet
9{
10class CommandPool;
11class Graphics;
12class Instance;
13class LogicalDevice;
14class PhysicalDevice;
15class Surface;
16class Swapchain;
17
19{
20public:
21 static Graphics& GetGraphics(const RenderDevice& render_device) noexcept;
22 static const Instance& GetInstance(const RenderDevice& render_device) noexcept;
23 static const PhysicalDevice& GetPhysicalDevice(const RenderDevice& render_device) noexcept;
24 static const LogicalDevice& GetLogicalDevice(const RenderDevice& render_device) noexcept;
25 static const Swapchain* GetSwapchain(const RenderDevice& render_device, std::size_t id) noexcept;
26 static const Surface* GetSurface(const RenderDevice& render_device, std::size_t id) noexcept;
27 static std::shared_ptr<CommandPool> GetCommandPool(const RenderDevice& render_device, VkQueueFlagBits queue_type,
28 const std::thread::id& thread_id);
29 static const VkPipelineCache& GetPipelineCache(const RenderDevice& render_device) noexcept;
30 static bool HasPreparedFrame(const RenderDevice& render_device) noexcept;
31 static uint32_t GetPreparedImageIndex(const RenderDevice& render_device, std::size_t id);
32};
33} // namespace pixelbullet
Module that manages the Vulkan instance_, Surface, Window and the renderpass structure.
Definition graphics.h:36
Definition instance.h:17
Definition logical_device.h:13
Definition physical_device.h:12
Definition render_device_internal.h:19
Definition render_device.h:15
Definition surface.h:13