diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2021-06-25 10:21:51 +0200 |
---|---|---|
committer | ameerj <52414509+ameerj@users.noreply.github.com> | 2021-07-23 03:51:39 +0200 |
commit | 57a8921e01a90ff5993079dd638a6c48e5781756 (patch) | |
tree | 90c7c3b044c85f08dd5c2341c87414062be7db17 /src/video_core/renderer_vulkan/vk_rasterizer.cpp | |
parent | spirv: Fix code emission when descriptor aliasing is unsupported (diff) | |
download | yuzu-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.cpp | 9 |
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; |