diff options
| author | 2023-08-04 03:33:04 +0200 | |
|---|---|---|
| committer | 2023-09-23 23:05:29 +0200 | |
| commit | 57401589c2e94d49b03fd68ae0ad5b2e36aac795 (patch) | |
| tree | 5ce446785bbcc09bb956be65c066c8aa54342297 /src/video_core/vulkan_common | |
| parent | Query Cachge: Fully rework Vulkan's query cache (diff) | |
| download | yuzu-57401589c2e94d49b03fd68ae0ad5b2e36aac795.tar.gz yuzu-57401589c2e94d49b03fd68ae0ad5b2e36aac795.tar.xz yuzu-57401589c2e94d49b03fd68ae0ad5b2e36aac795.zip | |
Macro HLE: Add DrawIndirectByteCount
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 | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/video_core/vulkan_common/vulkan_wrapper.cpp b/src/video_core/vulkan_common/vulkan_wrapper.cpp index 5a08a92e1..5afba365c 100644 --- a/src/video_core/vulkan_common/vulkan_wrapper.cpp +++ b/src/video_core/vulkan_common/vulkan_wrapper.cpp | |||
| @@ -101,6 +101,7 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept { | |||
| 101 | X(vkCmdDrawIndexedIndirect); | 101 | X(vkCmdDrawIndexedIndirect); |
| 102 | X(vkCmdDrawIndirectCount); | 102 | X(vkCmdDrawIndirectCount); |
| 103 | X(vkCmdDrawIndexedIndirectCount); | 103 | X(vkCmdDrawIndexedIndirectCount); |
| 104 | X(vkCmdDrawIndirectByteCountEXT); | ||
| 104 | X(vkCmdEndConditionalRenderingEXT); | 105 | X(vkCmdEndConditionalRenderingEXT); |
| 105 | X(vkCmdEndQuery); | 106 | X(vkCmdEndQuery); |
| 106 | X(vkCmdEndRenderPass); | 107 | X(vkCmdEndRenderPass); |
diff --git a/src/video_core/vulkan_common/vulkan_wrapper.h b/src/video_core/vulkan_common/vulkan_wrapper.h index 27d94a7d5..0d4bbe7f7 100644 --- a/src/video_core/vulkan_common/vulkan_wrapper.h +++ b/src/video_core/vulkan_common/vulkan_wrapper.h | |||
| @@ -212,6 +212,7 @@ struct DeviceDispatch : InstanceDispatch { | |||
| 212 | PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect{}; | 212 | PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect{}; |
| 213 | PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount{}; | 213 | PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount{}; |
| 214 | PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount{}; | 214 | PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount{}; |
| 215 | PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT{}; | ||
| 215 | PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT{}; | 216 | PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT{}; |
| 216 | PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT{}; | 217 | PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT{}; |
| 217 | PFN_vkCmdEndQuery vkCmdEndQuery{}; | 218 | PFN_vkCmdEndQuery vkCmdEndQuery{}; |
| @@ -1185,6 +1186,13 @@ public: | |||
| 1185 | count_offset, draw_count, stride); | 1186 | count_offset, draw_count, stride); |
| 1186 | } | 1187 | } |
| 1187 | 1188 | ||
| 1189 | void DrawIndirectByteCountEXT(u32 instance_count, u32 first_instance, VkBuffer counter_buffer, | ||
| 1190 | VkDeviceSize counter_buffer_offset, u32 counter_offset, | ||
| 1191 | u32 stride) { | ||
| 1192 | dld->vkCmdDrawIndirectByteCountEXT(handle, instance_count, first_instance, counter_buffer, | ||
| 1193 | counter_buffer_offset, counter_offset, stride); | ||
| 1194 | } | ||
| 1195 | |||
| 1188 | void ClearAttachments(Span<VkClearAttachment> attachments, | 1196 | void ClearAttachments(Span<VkClearAttachment> attachments, |
| 1189 | Span<VkClearRect> rects) const noexcept { | 1197 | Span<VkClearRect> rects) const noexcept { |
| 1190 | dld->vkCmdClearAttachments(handle, attachments.size(), attachments.data(), rects.size(), | 1198 | dld->vkCmdClearAttachments(handle, attachments.size(), attachments.data(), rects.size(), |