diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-09-02 20:42:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-02 20:42:42 +0200 |
commit | 76bddd3673fd960bfb7fd108b0120ae707dde306 (patch) | |
tree | dd38a2ab05cce71665e15ee7c063b69c90e59650 /src/video_core/vulkan_common | |
parent | Merge pull request #11384 from liamwhite/am-shutdown (diff) | |
parent | VideoCore: Implement DispatchIndirect (diff) | |
download | yuzu-76bddd3673fd960bfb7fd108b0120ae707dde306.tar yuzu-76bddd3673fd960bfb7fd108b0120ae707dde306.tar.gz yuzu-76bddd3673fd960bfb7fd108b0120ae707dde306.tar.bz2 yuzu-76bddd3673fd960bfb7fd108b0120ae707dde306.tar.lz yuzu-76bddd3673fd960bfb7fd108b0120ae707dde306.tar.xz yuzu-76bddd3673fd960bfb7fd108b0120ae707dde306.tar.zst yuzu-76bddd3673fd960bfb7fd108b0120ae707dde306.zip |
Diffstat (limited to 'src/video_core/vulkan_common')
-rw-r--r-- | src/video_core/vulkan_common/vulkan_wrapper.cpp | 1 | ||||
-rw-r--r-- | src/video_core/vulkan_common/vulkan_wrapper.h | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/video_core/vulkan_common/vulkan_wrapper.cpp b/src/video_core/vulkan_common/vulkan_wrapper.cpp index 78e5a248f..c3f388d89 100644 --- a/src/video_core/vulkan_common/vulkan_wrapper.cpp +++ b/src/video_core/vulkan_common/vulkan_wrapper.cpp @@ -92,6 +92,7 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept { X(vkCmdCopyImage); X(vkCmdCopyImageToBuffer); X(vkCmdDispatch); + X(vkCmdDispatchIndirect); X(vkCmdDraw); X(vkCmdDrawIndexed); X(vkCmdDrawIndirect); diff --git a/src/video_core/vulkan_common/vulkan_wrapper.h b/src/video_core/vulkan_common/vulkan_wrapper.h index c226a2a29..049fa8038 100644 --- a/src/video_core/vulkan_common/vulkan_wrapper.h +++ b/src/video_core/vulkan_common/vulkan_wrapper.h @@ -203,6 +203,7 @@ struct DeviceDispatch : InstanceDispatch { PFN_vkCmdCopyImage vkCmdCopyImage{}; PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer{}; PFN_vkCmdDispatch vkCmdDispatch{}; + PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect{}; PFN_vkCmdDraw vkCmdDraw{}; PFN_vkCmdDrawIndexed vkCmdDrawIndexed{}; PFN_vkCmdDrawIndirect vkCmdDrawIndirect{}; @@ -1209,6 +1210,10 @@ public: dld->vkCmdDispatch(handle, x, y, z); } + void DispatchIndirect(VkBuffer indirect_buffer, VkDeviceSize offset) const noexcept { + dld->vkCmdDispatchIndirect(handle, indirect_buffer, offset); + } + void PipelineBarrier(VkPipelineStageFlags src_stage_mask, VkPipelineStageFlags dst_stage_mask, VkDependencyFlags dependency_flags, Span<VkMemoryBarrier> memory_barriers, Span<VkBufferMemoryBarrier> buffer_barriers, |