Plasma Engine
2.0
Loading...
Searching...
No Matches
ResourceViewVulkan.h
1
2
#pragma once
3
4
#include <RendererFoundation/Resources/ResourceView.h>
5
6
#include <vulkan/vulkan.hpp>
7
8
class
plGALBufferVulkan
;
9
class
plGALTextureVulkan
;
10
11
class
plGALTextureResourceViewVulkan
:
public
plGALTextureResourceView
12
{
13
public
:
14
const
vk::DescriptorImageInfo& GetImageInfo(
bool
bIsArray)
const
;
15
vk::ImageSubresourceRange GetRange()
const
;
16
17
protected
:
18
friend
class
plGALDeviceVulkan
;
19
friend
class
plMemoryUtils
;
20
21
plGALTextureResourceViewVulkan
(
plGALTexture
* pResource,
const
plGALTextureResourceViewCreationDescription
& Description);
22
~plGALTextureResourceViewVulkan
();
23
24
virtual
plResult
InitPlatform(
plGALDevice
* pDevice)
override
;
25
virtual
plResult
DeInitPlatform(
plGALDevice
* pDevice)
override
;
26
27
vk::ImageSubresourceRange m_range;
28
mutable
vk::DescriptorImageInfo m_resourceImageInfo;
29
mutable
vk::DescriptorImageInfo m_resourceImageInfoArray;
30
};
31
32
class
plGALBufferResourceViewVulkan
:
public
plGALBufferResourceView
33
{
34
public
:
35
const
vk::DescriptorBufferInfo& GetBufferInfo()
const
;
36
const
vk::BufferView& GetBufferView()
const
;
37
38
protected
:
39
friend
class
plGALDeviceVulkan
;
40
friend
class
plMemoryUtils
;
41
42
plGALBufferResourceViewVulkan
(
plGALBuffer
* pResource,
const
plGALBufferResourceViewCreationDescription
& Description);
43
~plGALBufferResourceViewVulkan
();
44
45
virtual
plResult
InitPlatform(
plGALDevice
* pDevice)
override
;
46
virtual
plResult
DeInitPlatform(
plGALDevice
* pDevice)
override
;
47
48
mutable
vk::DescriptorBufferInfo m_resourceBufferInfo;
49
vk::BufferView m_bufferView;
50
};
51
52
#include <RendererVulkan/Resources/Implementation/ResourceViewVulkan_inl.h>
plGALBuffer
Definition
Buffer.h:8
plGALBufferResourceView
Definition
ResourceView.h:30
plGALBufferResourceViewVulkan
Definition
ResourceViewVulkan.h:33
plGALBufferVulkan
Definition
BufferVulkan.h:11
plGALDevice
The plRenderDevice class is the primary interface for interactions with rendering APIs It contains a ...
Definition
Device.h:19
plGALDeviceVulkan
The Vulkan device implementation of the graphics abstraction layer.
Definition
DeviceVulkan.h:58
plGALTexture
Definition
Texture.h:8
plGALTextureResourceView
Definition
ResourceView.h:11
plGALTextureResourceViewVulkan
Definition
ResourceViewVulkan.h:12
plGALTextureVulkan
Definition
TextureVulkan.h:11
plMemoryUtils
This class provides functions to work on raw memory.
Definition
MemoryUtils.h:26
plGALBufferResourceViewCreationDescription
Definition
Descriptors.h:211
plGALTextureResourceViewCreationDescription
Definition
Descriptors.h:201
plResult
Default enum for returning failure or success, instead of using a bool.
Definition
Types.h:54
Code
Engine
RendererVulkan
Resources
ResourceViewVulkan.h
Generated by
1.11.0