summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_rasterizer.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-06-25 10:21:51 +0200
committerameerj <52414509+ameerj@users.noreply.github.com>2021-07-23 03:51:39 +0200
commit57a8921e01a90ff5993079dd638a6c48e5781756 (patch)
tree90c7c3b044c85f08dd5c2341c87414062be7db17 /src/video_core/renderer_vulkan/vk_rasterizer.cpp
parentspirv: Fix code emission when descriptor aliasing is unsupported (diff)
downloadyuzu-57a8921e01a90ff5993079dd638a6c48e5781756.tar
yuzu-57a8921e01a90ff5993079dd638a6c48e5781756.tar.gz
yuzu-57a8921e01a90ff5993079dd638a6c48e5781756.tar.bz2
yuzu-57a8921e01a90ff5993079dd638a6c48e5781756.tar.lz
yuzu-57a8921e01a90ff5993079dd638a6c48e5781756.tar.xz
yuzu-57a8921e01a90ff5993079dd638a6c48e5781756.tar.zst
yuzu-57a8921e01a90ff5993079dd638a6c48e5781756.zip
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_rasterizer.cpp')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index f04c3394c..bb7301c53 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -541,6 +541,7 @@ void RasterizerVulkan::UpdateDynamicStates() {
UpdateBlendConstants(regs);
UpdateDepthBounds(regs);
UpdateStencilFaces(regs);
+ UpdateLineWidth(regs);
if (device.IsExtExtendedDynamicStateSupported()) {
UpdateCullMode(regs);
UpdateDepthBoundsTestEnable(regs);
@@ -676,6 +677,14 @@ void RasterizerVulkan::UpdateStencilFaces(Tegra::Engines::Maxwell3D::Regs& regs)
}
}
+void RasterizerVulkan::UpdateLineWidth(Tegra::Engines::Maxwell3D::Regs& regs) {
+ if (!state_tracker.TouchLineWidth()) {
+ return;
+ }
+ const float width = regs.line_smooth_enable ? regs.line_width_smooth : regs.line_width_aliased;
+ scheduler.Record([width](vk::CommandBuffer cmdbuf) { cmdbuf.SetLineWidth(width); });
+}
+
void RasterizerVulkan::UpdateCullMode(Tegra::Engines::Maxwell3D::Regs& regs) {
if (!state_tracker.TouchCullMode()) {
return;