summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2020-06-21 21:17:56 -0300
committerGravatar ReinUsesLisp2020-06-26 20:55:15 -0300
commita6db8e5f4d77961b4f5d48997362a0b1223a1b0e (patch)
tree256e80d30b44cf762a665a00dd9ce52695fd8e75 /src
parentfixed_pipeline_state: Add requirements for VK_EXT_extended_dynamic_state (diff)
downloadyuzu-a6db8e5f4d77961b4f5d48997362a0b1223a1b0e.tar.gz
yuzu-a6db8e5f4d77961b4f5d48997362a0b1223a1b0e.tar.xz
yuzu-a6db8e5f4d77961b4f5d48997362a0b1223a1b0e.zip
renderer_vulkan/wrapper: Add VK_EXT_extended_dynamic_state functions
Diffstat (limited to 'src')
-rw-r--r--src/video_core/renderer_vulkan/wrapper.cpp10
-rw-r--r--src/video_core/renderer_vulkan/wrapper.h54
2 files changed, 64 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/wrapper.cpp b/src/video_core/renderer_vulkan/wrapper.cpp
index 42eff85d3..a79871a94 100644
--- a/src/video_core/renderer_vulkan/wrapper.cpp
+++ b/src/video_core/renderer_vulkan/wrapper.cpp
@@ -88,6 +88,16 @@ void Load(VkDevice device, DeviceDispatch& dld) noexcept {
88 X(vkCmdSetStencilWriteMask); 88 X(vkCmdSetStencilWriteMask);
89 X(vkCmdSetViewport); 89 X(vkCmdSetViewport);
90 X(vkCmdWaitEvents); 90 X(vkCmdWaitEvents);
91 X(vkCmdBindVertexBuffers2EXT);
92 X(vkCmdSetCullModeEXT);
93 X(vkCmdSetDepthBoundsTestEnableEXT);
94 X(vkCmdSetDepthCompareOpEXT);
95 X(vkCmdSetDepthTestEnableEXT);
96 X(vkCmdSetDepthWriteEnableEXT);
97 X(vkCmdSetFrontFaceEXT);
98 X(vkCmdSetPrimitiveTopologyEXT);
99 X(vkCmdSetStencilOpEXT);
100 X(vkCmdSetStencilTestEnableEXT);
91 X(vkCreateBuffer); 101 X(vkCreateBuffer);
92 X(vkCreateBufferView); 102 X(vkCreateBufferView);
93 X(vkCreateCommandPool); 103 X(vkCreateCommandPool);
diff --git a/src/video_core/renderer_vulkan/wrapper.h b/src/video_core/renderer_vulkan/wrapper.h
index da42ca88e..29fffce16 100644
--- a/src/video_core/renderer_vulkan/wrapper.h
+++ b/src/video_core/renderer_vulkan/wrapper.h
@@ -206,6 +206,16 @@ struct DeviceDispatch : public InstanceDispatch {
206 PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask; 206 PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
207 PFN_vkCmdSetViewport vkCmdSetViewport; 207 PFN_vkCmdSetViewport vkCmdSetViewport;
208 PFN_vkCmdWaitEvents vkCmdWaitEvents; 208 PFN_vkCmdWaitEvents vkCmdWaitEvents;
209 PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT;
210 PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT;
211 PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT;
212 PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT;
213 PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT;
214 PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT;
215 PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT;
216 PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT;
217 PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT;
218 PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT;
209 PFN_vkCreateBuffer vkCreateBuffer; 219 PFN_vkCreateBuffer vkCreateBuffer;
210 PFN_vkCreateBufferView vkCreateBufferView; 220 PFN_vkCreateBufferView vkCreateBufferView;
211 PFN_vkCreateCommandPool vkCreateCommandPool; 221 PFN_vkCreateCommandPool vkCreateCommandPool;
@@ -968,6 +978,50 @@ public:
968 buffer_barriers.data(), image_barriers.size(), image_barriers.data()); 978 buffer_barriers.data(), image_barriers.size(), image_barriers.data());
969 } 979 }
970 980
981 void BindVertexBuffers2EXT(u32 first_binding, u32 binding_count, const VkBuffer* buffers,
982 const VkDeviceSize* offsets, const VkDeviceSize* sizes,
983 const VkDeviceSize* strides) const noexcept {
984 dld->vkCmdBindVertexBuffers2EXT(handle, first_binding, binding_count, buffers, offsets,
985 sizes, strides);
986 }
987
988 void SetCullModeEXT(VkCullModeFlags cull_mode) const noexcept {
989 dld->vkCmdSetCullModeEXT(handle, cull_mode);
990 }
991
992 void SetDepthBoundsTestEnableEXT(bool enable) const noexcept {
993 dld->vkCmdSetDepthBoundsTestEnableEXT(handle, enable ? VK_TRUE : VK_FALSE);
994 }
995
996 void SetDepthCompareOpEXT(VkCompareOp compare_op) const noexcept {
997 dld->vkCmdSetDepthCompareOpEXT(handle, compare_op);
998 }
999
1000 void SetDepthTestEnableEXT(bool enable) const noexcept {
1001 dld->vkCmdSetDepthTestEnableEXT(handle, enable ? VK_TRUE : VK_FALSE);
1002 }
1003
1004 void SetDepthWriteEnableEXT(bool enable) const noexcept {
1005 dld->vkCmdSetDepthWriteEnableEXT(handle, enable ? VK_TRUE : VK_FALSE);
1006 }
1007
1008 void SetFrontFaceEXT(VkFrontFace front_face) const noexcept {
1009 dld->vkCmdSetFrontFaceEXT(handle, front_face);
1010 }
1011
1012 void SetPrimitiveTopologyEXT(VkPrimitiveTopology primitive_topology) const noexcept {
1013 dld->vkCmdSetPrimitiveTopologyEXT(handle, primitive_topology);
1014 }
1015
1016 void SetStencilOpEXT(VkStencilFaceFlags face_mask, VkStencilOp fail_op, VkStencilOp pass_op,
1017 VkStencilOp depth_fail_op, VkCompareOp compare_op) const noexcept {
1018 dld->vkCmdSetStencilOpEXT(handle, face_mask, fail_op, pass_op, depth_fail_op, compare_op);
1019 }
1020
1021 void SetStencilTestEnableEXT(bool enable) const noexcept {
1022 dld->vkCmdSetStencilTestEnableEXT(handle, enable ? VK_TRUE : VK_FALSE);
1023 }
1024
971 void BindTransformFeedbackBuffersEXT(u32 first, u32 count, const VkBuffer* buffers, 1025 void BindTransformFeedbackBuffersEXT(u32 first, u32 count, const VkBuffer* buffers,
972 const VkDeviceSize* offsets, 1026 const VkDeviceSize* offsets,
973 const VkDeviceSize* sizes) const noexcept { 1027 const VkDeviceSize* sizes) const noexcept {