summaryrefslogtreecommitdiff
path: root/src/video_core/vulkan_common
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2023-08-04 03:33:04 +0200
committerGravatar Fernando Sahmkow2023-09-23 23:05:29 +0200
commit57401589c2e94d49b03fd68ae0ad5b2e36aac795 (patch)
tree5ce446785bbcc09bb956be65c066c8aa54342297 /src/video_core/vulkan_common
parentQuery Cachge: Fully rework Vulkan's query cache (diff)
downloadyuzu-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.cpp1
-rw-r--r--src/video_core/vulkan_common/vulkan_wrapper.h8
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(),