Foundation
Loading...
Searching...
No Matches
Surface.hpp
Go to the documentation of this file.
1#pragma once
2#include <RHICore/Surface.hpp>
3#include "Common.hpp"
4
5namespace Foundation::RHI {
6 class VulkanDevice;
7
8 class VulkanSurface : public RHISurface {
10 vk::raii::SurfaceKHR mSurface{ nullptr };
13
14 public:
15 VulkanSurface(const VulkanDevice& device, SurfaceDesc const& desc);
16
17 [[nodiscard]] auto const& GetVkSurface() const { return mSurface; }
18
19 [[nodiscard]] Span<RHISurfaceFormat const> GetSupportedFormats() const override { return mSupportedFormats; }
21
22 void DebugSetObjectName(const char* name) override {}
23 };
24}
Definition Surface.hpp:6
Definition Device.hpp:122
Definition Surface.hpp:8
Span< RHISurfaceFormat const > GetSupportedFormats() const override
Definition Surface.hpp:19
vk::raii::SurfaceKHR mSurface
Definition Surface.hpp:10
Vector< RHISurfaceFormat > mSupportedFormats
Definition Surface.hpp:11
auto const & GetVkSurface() const
Definition Surface.hpp:17
const VulkanDevice & mDevice
Definition Surface.hpp:9
Span< RHISwapchainPresentMode const > GetSupportedPresentModes() const override
Definition Surface.hpp:20
void DebugSetObjectName(const char *name) override
Definition Surface.hpp:22
Vector< RHISwapchainPresentMode > mSupportedPresentModes
Definition Surface.hpp:12
std::vector< T, StlAllocator< T > > Vector
std::vector with explicit Foundation::Core::StlAllocator constructor
Definition Container.hpp:149
std::span< T > Span
Alias for std::span
Definition Container.hpp:62
Low-level Rendering Hardware Interface (RHI) abstractions.
Definition Application.hpp:3