wren
Vulkan-based game engine
Toggle main menu visibility
Loading...
Searching...
No Matches
device.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <vulkan/vulkan.hpp>
4
#include <vulkan/vulkan_handles.hpp>
5
#include <
wren/utils/result.hpp
>
6
7
namespace
wren::vulkan
{
8
9
class
Device
{
10
public
:
11
static
auto
create
(const ::vk::Instance& instance,
12
const ::vk::PhysicalDevice& physical_device,
13
const ::vk::SurfaceKHR& surface) ->
expected<Device>
;
14
15
[[nodiscard]]
auto
get
() const -> ::
vk
::
Device
{
return
device_
; }
16
17
[[nodiscard]]
auto
get_graphics_queue
()
const
{
return
graphics_queue_
; }
18
19
[[nodiscard]]
auto
get_present_queue
()
const
{
return
present_queue_
; }
20
21
[[nodiscard]]
auto
command_pool
()
const
{
return
command_pool_
; }
22
23
private
:
24
auto
create_device
(const ::vk::Instance& instance,
25
const ::vk::PhysicalDevice& physical_device,
26
const ::vk::SurfaceKHR& surface) ->
expected<void>
;
27
28
::vk::CommandPool
command_pool_
;
29
::vk::Device
device_
;
30
::vk::Queue
graphics_queue_
;
31
::vk::Queue
present_queue_
;
32
};
33
34
}
// namespace wren::vulkan
wren::vulkan::Device
Definition
device.hpp:9
wren::vulkan::Device::get_graphics_queue
auto get_graphics_queue() const
Definition
device.hpp:17
wren::vulkan::Device::get
auto get() const -> ::vk::Device
Definition
device.hpp:15
wren::vulkan::Device::create_device
auto create_device(const ::vk::Instance &instance, const ::vk::PhysicalDevice &physical_device, const ::vk::SurfaceKHR &surface) -> expected< void >
Definition
device.cpp:24
wren::vulkan::Device::present_queue_
::vk::Queue present_queue_
Definition
device.hpp:31
wren::vulkan::Device::get_present_queue
auto get_present_queue() const
Definition
device.hpp:19
wren::vulkan::Device::device_
::vk::Device device_
Definition
device.hpp:29
wren::vulkan::Device::graphics_queue_
::vk::Queue graphics_queue_
Definition
device.hpp:30
wren::vulkan::Device::command_pool
auto command_pool() const
Definition
device.hpp:21
wren::vulkan::Device::create
static auto create(const ::vk::Instance &instance, const ::vk::PhysicalDevice &physical_device, const ::vk::SurfaceKHR &surface) -> expected< Device >
Definition
device.cpp:13
wren::vulkan::Device::command_pool_
::vk::CommandPool command_pool_
Definition
device.hpp:28
vk
Definition
ui.hpp:5
wren::vulkan
Definition
device.cpp:11
wren::expected
std::expected< T, Err > expected
Definition
result.hpp:43
result.hpp
wren
include
wren
utils
device.hpp
Generated by
1.17.0