Lugdunum
0.1.0
Main Page
+
Namespaces
Namespace List
+
Namespace Members
+
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
+
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
v
Variables
Typedefs
Enumerations
Enumerator
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
:
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
~
+
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
~
+
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
v
w
x
y
Typedefs
Enumerations
+
Related Functions
:
b
c
d
g
l
p
s
w
+
Files
File List
+
File Members
+
All
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
+
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
+
Macros
d
f
l
n
s
v
w
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
include
lug
Graphics
Vulkan
API
GraphicsPipeline.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <
lug/Graphics/Vulkan/API/PipelineLayout.hpp
>
4
#include <
lug/Graphics/Vulkan/API/RenderPass.hpp
>
5
6
namespace
lug
{
7
namespace
Graphics {
8
namespace
Vulkan
{
9
namespace
API {
10
11
namespace
Builder {
12
class
GraphicsPipeline;
13
}
// Builder
14
15
class
Device;
16
17
class
LUG_GRAPHICS_API
GraphicsPipeline
{
18
friend
class
Builder::GraphicsPipeline
;
19
20
public
:
21
GraphicsPipeline
() =
default
;
22
23
GraphicsPipeline
(
const
GraphicsPipeline
&) =
delete
;
24
GraphicsPipeline
(
GraphicsPipeline
&& pipeline);
25
26
GraphicsPipeline
& operator=(
const
GraphicsPipeline
&) =
delete
;
27
GraphicsPipeline
& operator=(
GraphicsPipeline
&& pipeline);
28
29
~
GraphicsPipeline
();
30
31
explicit
operator
VkPipeline()
const
{
32
return
_pipeline;
33
}
34
35
void
destroy();
36
37
const
RenderPass
* getRenderPass()
const
;
38
const
PipelineLayout
* getLayout()
const
;
39
40
private
:
41
explicit
GraphicsPipeline
(VkPipeline pipeline,
const
Device
* device,
RenderPass
renderPass,
PipelineLayout
pipelineLayout);
42
43
private
:
44
VkPipeline _pipeline{VK_NULL_HANDLE};
45
const
Device
*
_device
;
46
47
RenderPass
_renderPass
;
48
PipelineLayout
_pipelineLayout
;
49
};
50
51
}
// API
52
}
// Vulkan
53
}
// Graphics
54
}
// lug
lug::Graphics::Vulkan::API::GraphicsPipeline::_device
const Device * _device
Definition:
GraphicsPipeline.hpp:45
LUG_GRAPHICS_API
#define LUG_GRAPHICS_API
Definition:
Export.hpp:11
lug::Graphics::Vulkan::API::RenderPass
Definition:
RenderPass.hpp:21
Vulkan
Definition:
Vulkan.hpp:155
PipelineLayout.hpp
lug::Graphics::Vulkan::API::Builder::GraphicsPipeline
Definition:
GraphicsPipeline.hpp:23
lug::Graphics::Vulkan::API::Device
Definition:
Device.hpp:16
lug::Graphics::Vulkan::API::PipelineLayout
Definition:
PipelineLayout.hpp:21
lug::Graphics::Vulkan::API::GraphicsPipeline::_renderPass
RenderPass _renderPass
Definition:
GraphicsPipeline.hpp:47
lug
Definition:
Application.hpp:11
lug::Graphics::Vulkan::API::GraphicsPipeline::_pipelineLayout
PipelineLayout _pipelineLayout
Definition:
GraphicsPipeline.hpp:48
lug::Graphics::Vulkan::API::GraphicsPipeline
Definition:
GraphicsPipeline.hpp:17
RenderPass.hpp
Generated by
1.8.13