Plasma Engine
2.0
Loading...
Searching...
No Matches
UnorderedAccessViewVulkan.h
1
2
#pragma once
3
4
#include <RendererFoundation/Resources/UnorderedAccesView.h>
5
6
#include <vulkan/vulkan.hpp>
7
8
class
plGALBufferVulkan
;
9
10
class
plGALTextureUnorderedAccessViewVulkan
:
public
plGALTextureUnorderedAccessView
11
{
12
public
:
13
PL_ALWAYS_INLINE
const
vk::DescriptorImageInfo& GetImageInfo()
const
;
14
vk::ImageSubresourceRange GetRange()
const
;
15
16
protected
:
17
friend
class
plGALDeviceVulkan
;
18
friend
class
plMemoryUtils
;
19
20
plGALTextureUnorderedAccessViewVulkan
(
plGALTexture
* pResource,
const
plGALTextureUnorderedAccessViewCreationDescription
& Description);
21
~plGALTextureUnorderedAccessViewVulkan
();
22
23
virtual
plResult
InitPlatform(
plGALDevice
* pDevice)
override
;
24
virtual
plResult
DeInitPlatform(
plGALDevice
* pDevice)
override
;
25
26
private
:
27
mutable
vk::DescriptorImageInfo m_resourceImageInfo;
28
// mutable vk::DescriptorBufferInfo m_resourceBufferInfo;
29
// vk::BufferView m_bufferView;
30
vk::ImageSubresourceRange m_range;
31
};
32
33
class
plGALBufferUnorderedAccessViewVulkan
:
public
plGALBufferUnorderedAccessView
34
{
35
public
:
36
const
vk::DescriptorBufferInfo& GetBufferInfo()
const
;
37
const
vk::BufferView& GetBufferView()
const
;
38
39
protected
:
40
friend
class
plGALDeviceVulkan
;
41
friend
class
plMemoryUtils
;
42
43
plGALBufferUnorderedAccessViewVulkan
(
plGALBuffer
* pResource,
const
plGALBufferUnorderedAccessViewCreationDescription
& Description);
44
~plGALBufferUnorderedAccessViewVulkan
();
45
46
virtual
plResult
InitPlatform(
plGALDevice
* pDevice)
override
;
47
virtual
plResult
DeInitPlatform(
plGALDevice
* pDevice)
override
;
48
49
private
:
50
// mutable vk::DescriptorImageInfo m_resourceImageInfo;
51
mutable
vk::DescriptorBufferInfo m_resourceBufferInfo;
52
vk::BufferView m_bufferView;
53
// vk::ImageSubresourceRange m_range;
54
};
55
56
#include <RendererVulkan/Resources/Implementation/UnorderedAccessViewVulkan_inl.h>
plGALBuffer
Definition
Buffer.h:8
plGALBufferUnorderedAccessView
Definition
UnorderedAccesView.h:28
plGALBufferUnorderedAccessViewVulkan
Definition
UnorderedAccessViewVulkan.h:34
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
plGALTextureUnorderedAccessView
Definition
UnorderedAccesView.h:11
plGALTextureUnorderedAccessViewVulkan
Definition
UnorderedAccessViewVulkan.h:11
plMemoryUtils
This class provides functions to work on raw memory.
Definition
MemoryUtils.h:26
plGALBufferUnorderedAccessViewCreationDescription
Definition
Descriptors.h:243
plGALTextureUnorderedAccessViewCreationDescription
Definition
Descriptors.h:234
plResult
Default enum for returning failure or success, instead of using a bool.
Definition
Types.h:54
Code
Engine
RendererVulkan
Resources
UnorderedAccessViewVulkan.h
Generated by
1.11.0