diff options
| author | 2020-06-21 21:17:56 -0300 | |
|---|---|---|
| committer | 2020-06-26 20:55:15 -0300 | |
| commit | a6db8e5f4d77961b4f5d48997362a0b1223a1b0e (patch) | |
| tree | 256e80d30b44cf762a665a00dd9ce52695fd8e75 /src | |
| parent | fixed_pipeline_state: Add requirements for VK_EXT_extended_dynamic_state (diff) | |
| download | yuzu-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.cpp | 10 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/wrapper.h | 54 |
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 { |