RavEngine
Loading...
Searching...
No Matches
VkShaderLibrary.hpp
1
#pragma once
2
#include <RGL/Types.hpp>
3
#include <RGL/ShaderLibrary.hpp>
4
#include "VkDevice.hpp"
5
#include <volk.h>
6
#include <span>
7
#include <filesystem>
8
#include "VkPipelineLibraryShared.hpp"
9
10
namespace
RGL {
11
struct
ShaderLibraryVk
:
public
IShaderLibrary
{
12
const
std::shared_ptr<DeviceVk> owningDevice;
13
VkShaderModule shaderModule = VK_NULL_HANDLE;
14
15
BufferBindingStore bindingInfo;
16
17
ShaderLibraryVk
(
decltype
(owningDevice));
18
ShaderLibraryVk
(
decltype
(owningDevice),
const
std::span<const uint8_t, std::dynamic_extent>);
19
ShaderLibraryVk
(
decltype
(owningDevice),
const
std::string_view,
const
FromSourceConfig
& config);
20
ShaderLibraryVk
(
decltype
(owningDevice),
const
std::filesystem::path& path);
21
22
virtual
~ShaderLibraryVk
();
23
private
:
24
void
ShaderLibraryFromBytes(VkDevice device, VkShaderModule& module,
const
std::span<const uint8_t, std::dynamic_extent> code);
25
};
26
}
RGL::FromSourceConfig
Definition
ShaderLibrary.hpp:11
RGL::IShaderLibrary
Definition
ShaderLibrary.hpp:15
RGL::ShaderLibraryVk
Definition
VkShaderLibrary.hpp:11
RavEngine
deps
RGL
src
VkShaderLibrary.hpp
Generated by
1.9.8