summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/maxwell_to_vk.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-05-08 21:16:53 +0200
committerGitHub <noreply@github.com>2020-05-08 21:16:53 +0200
commit50c27d5ae1bfe6cff6f091f07d68ab7b8e394d9d (patch)
tree594f42eb18464e5370917bfad61694ecce7a050b /src/video_core/renderer_vulkan/maxwell_to_vk.cpp
parentMerge pull request #3879 from lioncash/global2 (diff)
parentvk_graphics_pipeline: Implement viewport swizzles with NV_viewport_swizzle (diff)
downloadyuzu-50c27d5ae1bfe6cff6f091f07d68ab7b8e394d9d.tar
yuzu-50c27d5ae1bfe6cff6f091f07d68ab7b8e394d9d.tar.gz
yuzu-50c27d5ae1bfe6cff6f091f07d68ab7b8e394d9d.tar.bz2
yuzu-50c27d5ae1bfe6cff6f091f07d68ab7b8e394d9d.tar.lz
yuzu-50c27d5ae1bfe6cff6f091f07d68ab7b8e394d9d.tar.xz
yuzu-50c27d5ae1bfe6cff6f091f07d68ab7b8e394d9d.tar.zst
yuzu-50c27d5ae1bfe6cff6f091f07d68ab7b8e394d9d.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_vulkan/maxwell_to_vk.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/maxwell_to_vk.cpp b/src/video_core/renderer_vulkan/maxwell_to_vk.cpp
index 8681b821f..850165606 100644
--- a/src/video_core/renderer_vulkan/maxwell_to_vk.cpp
+++ b/src/video_core/renderer_vulkan/maxwell_to_vk.cpp
@@ -672,4 +672,27 @@ VkComponentSwizzle SwizzleSource(Tegra::Texture::SwizzleSource swizzle) {
return {};
}
+VkViewportCoordinateSwizzleNV ViewportSwizzle(Maxwell::ViewportSwizzle swizzle) {
+ switch (swizzle) {
+ case Maxwell::ViewportSwizzle::PositiveX:
+ return VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_X_NV;
+ case Maxwell::ViewportSwizzle::NegativeX:
+ return VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_X_NV;
+ case Maxwell::ViewportSwizzle::PositiveY:
+ return VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Y_NV;
+ case Maxwell::ViewportSwizzle::NegativeY:
+ return VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Y_NV;
+ case Maxwell::ViewportSwizzle::PositiveZ:
+ return VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_Z_NV;
+ case Maxwell::ViewportSwizzle::NegativeZ:
+ return VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_Z_NV;
+ case Maxwell::ViewportSwizzle::PositiveW:
+ return VK_VIEWPORT_COORDINATE_SWIZZLE_POSITIVE_W_NV;
+ case Maxwell::ViewportSwizzle::NegativeW:
+ return VK_VIEWPORT_COORDINATE_SWIZZLE_NEGATIVE_W_NV;
+ }
+ UNREACHABLE_MSG("Invalid swizzle={}", static_cast<int>(swizzle));
+ return {};
+}
+
} // namespace Vulkan::MaxwellToVK