diff options
| author | 2020-03-31 20:28:33 -0300 | |
|---|---|---|
| committer | 2020-03-31 21:32:07 -0300 | |
| commit | affee77b7054cbc9cdd38806e12138dab0ce3d06 (patch) | |
| tree | f9de3be35cf8a4b489af92e41458fd6631e28652 /src | |
| parent | renderer_vulkan/wrapper: Add queue handle (diff) | |
| download | yuzu-affee77b7054cbc9cdd38806e12138dab0ce3d06.tar.gz yuzu-affee77b7054cbc9cdd38806e12138dab0ce3d06.tar.xz yuzu-affee77b7054cbc9cdd38806e12138dab0ce3d06.zip | |
renderer_vulkan/wrapper: Add buffer and image handles
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_vulkan/wrapper.cpp | 8 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/wrapper.h | 16 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/wrapper.cpp b/src/video_core/renderer_vulkan/wrapper.cpp index 1ec7a542d..84a4c354f 100644 --- a/src/video_core/renderer_vulkan/wrapper.cpp +++ b/src/video_core/renderer_vulkan/wrapper.cpp | |||
| @@ -420,4 +420,12 @@ std::vector<VkCheckpointDataNV> Queue::GetCheckpointDataNV(const DeviceDispatch& | |||
| 420 | return checkpoints; | 420 | return checkpoints; |
| 421 | } | 421 | } |
| 422 | 422 | ||
| 423 | void Buffer::BindMemory(VkDeviceMemory memory, VkDeviceSize offset) const { | ||
| 424 | Check(dld->vkBindBufferMemory(owner, handle, memory, offset)); | ||
| 425 | } | ||
| 426 | |||
| 427 | void Image::BindMemory(VkDeviceMemory memory, VkDeviceSize offset) const { | ||
| 428 | Check(dld->vkBindImageMemory(owner, handle, memory, offset)); | ||
| 429 | } | ||
| 430 | |||
| 423 | } // namespace Vulkan::vk | 431 | } // namespace Vulkan::vk |
diff --git a/src/video_core/renderer_vulkan/wrapper.h b/src/video_core/renderer_vulkan/wrapper.h index a4077136b..c6d7cbb3f 100644 --- a/src/video_core/renderer_vulkan/wrapper.h +++ b/src/video_core/renderer_vulkan/wrapper.h | |||
| @@ -584,4 +584,20 @@ private: | |||
| 584 | const DeviceDispatch* dld = nullptr; | 584 | const DeviceDispatch* dld = nullptr; |
| 585 | }; | 585 | }; |
| 586 | 586 | ||
| 587 | class Buffer : public Handle<VkBuffer, VkDevice, DeviceDispatch> { | ||
| 588 | using Handle<VkBuffer, VkDevice, DeviceDispatch>::Handle; | ||
| 589 | |||
| 590 | public: | ||
| 591 | /// Attaches a memory allocation. | ||
| 592 | void BindMemory(VkDeviceMemory memory, VkDeviceSize offset) const; | ||
| 593 | }; | ||
| 594 | |||
| 595 | class Image : public Handle<VkImage, VkDevice, DeviceDispatch> { | ||
| 596 | using Handle<VkImage, VkDevice, DeviceDispatch>::Handle; | ||
| 597 | |||
| 598 | public: | ||
| 599 | /// Attaches a memory allocation. | ||
| 600 | void BindMemory(VkDeviceMemory memory, VkDeviceSize offset) const; | ||
| 601 | }; | ||
| 602 | |||
| 587 | } // namespace Vulkan::vk | 603 | } // namespace Vulkan::vk |