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
9
11{
12public:
13 PL_ALWAYS_INLINE const vk::DescriptorImageInfo& GetImageInfo() const;
14 vk::ImageSubresourceRange GetRange() const;
15
16protected:
17 friend class plGALDeviceVulkan;
18 friend class plMemoryUtils;
19
22
23 virtual plResult InitPlatform(plGALDevice* pDevice) override;
24 virtual plResult DeInitPlatform(plGALDevice* pDevice) override;
25
26private:
27 mutable vk::DescriptorImageInfo m_resourceImageInfo;
28 // mutable vk::DescriptorBufferInfo m_resourceBufferInfo;
29 // vk::BufferView m_bufferView;
30 vk::ImageSubresourceRange m_range;
31};
32
34{
35public:
36 const vk::DescriptorBufferInfo& GetBufferInfo() const;
37 const vk::BufferView& GetBufferView() const;
38
39protected:
40 friend class plGALDeviceVulkan;
41 friend class plMemoryUtils;
42
45
46 virtual plResult InitPlatform(plGALDevice* pDevice) override;
47 virtual plResult DeInitPlatform(plGALDevice* pDevice) override;
48
49private:
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>
Definition Buffer.h:8
Definition UnorderedAccesView.h:28
Definition UnorderedAccessViewVulkan.h:34
Definition BufferVulkan.h:11
The plRenderDevice class is the primary interface for interactions with rendering APIs It contains a ...
Definition Device.h:19
The Vulkan device implementation of the graphics abstraction layer.
Definition DeviceVulkan.h:58
Definition Texture.h:8
Definition UnorderedAccesView.h:11
Definition UnorderedAccessViewVulkan.h:11
This class provides functions to work on raw memory.
Definition MemoryUtils.h:26
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54