Kompute
Loading...
Searching...
No Matches
src
include
kompute
Shader.hpp
1
#pragma once
2
3
#include "kompute/Core.hpp"
4
#include "logger/Logger.hpp"
5
#include <memory>
6
7
namespace
kp {
8
9
// forward declarations for std::shared_from_this
10
class
Shader;
11
12
/*
13
* Wrapper for Vulkan's shader modules.
14
*/
15
class
Shader
16
{
17
// not-owned resources
18
std::shared_ptr<vk::Device> mDevice;
19
20
// owned resources
21
vk::ShaderModule mShaderModule;
22
bool
mDestroyed =
false
;
23
24
public
:
25
31
Shader
(
const
std::shared_ptr<vk::Device>& device,
32
const
std::vector<uint32_t>& spv);
33
37
const
vk::ShaderModule&
getShaderModule
();
38
39
void
destroy();
40
41
~Shader
();
42
};
43
44
}
// End namespace kp
kp::Shader
Definition
Shader.hpp:16
kp::Shader::Shader
Shader(const std::shared_ptr< vk::Device > &device, const std::vector< uint32_t > &spv)
kp::Shader::getShaderModule
const vk::ShaderModule & getShaderModule()
Generated by
1.9.8