diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_vulkan/fixed_pipeline_state.cpp | 1 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/fixed_pipeline_state.h | 1 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp | 2 |
3 files changed, 3 insertions, 1 deletions
diff --git a/src/video_core/renderer_vulkan/fixed_pipeline_state.cpp b/src/video_core/renderer_vulkan/fixed_pipeline_state.cpp index 6cead3a28..568744e3c 100644 --- a/src/video_core/renderer_vulkan/fixed_pipeline_state.cpp +++ b/src/video_core/renderer_vulkan/fixed_pipeline_state.cpp | |||
| @@ -93,6 +93,7 @@ void FixedPipelineState::Rasterizer::Fill(const Maxwell& regs) noexcept { | |||
| 93 | tessellation_clockwise.Assign(regs.tess_mode.cw.Value()); | 93 | tessellation_clockwise.Assign(regs.tess_mode.cw.Value()); |
| 94 | logic_op_enable.Assign(regs.logic_op.enable != 0 ? 1 : 0); | 94 | logic_op_enable.Assign(regs.logic_op.enable != 0 ? 1 : 0); |
| 95 | logic_op.Assign(PackLogicOp(regs.logic_op.operation)); | 95 | logic_op.Assign(PackLogicOp(regs.logic_op.operation)); |
| 96 | rasterize_enable.Assign(regs.rasterize_enable != 0 ? 1 : 0); | ||
| 96 | std::memcpy(&point_size, ®s.point_size, sizeof(point_size)); // TODO: C++20 std::bit_cast | 97 | std::memcpy(&point_size, ®s.point_size, sizeof(point_size)); // TODO: C++20 std::bit_cast |
| 97 | } | 98 | } |
| 98 | 99 | ||
diff --git a/src/video_core/renderer_vulkan/fixed_pipeline_state.h b/src/video_core/renderer_vulkan/fixed_pipeline_state.h index cecaee48d..31a6398f2 100644 --- a/src/video_core/renderer_vulkan/fixed_pipeline_state.h +++ b/src/video_core/renderer_vulkan/fixed_pipeline_state.h | |||
| @@ -164,6 +164,7 @@ struct FixedPipelineState { | |||
| 164 | BitField<23, 1, u32> tessellation_clockwise; | 164 | BitField<23, 1, u32> tessellation_clockwise; |
| 165 | BitField<24, 1, u32> logic_op_enable; | 165 | BitField<24, 1, u32> logic_op_enable; |
| 166 | BitField<25, 4, u32> logic_op; | 166 | BitField<25, 4, u32> logic_op; |
| 167 | BitField<29, 1, u32> rasterize_enable; | ||
| 167 | }; | 168 | }; |
| 168 | 169 | ||
| 169 | // TODO(Rodrigo): Move this to push constants | 170 | // TODO(Rodrigo): Move this to push constants |
diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp index 5beea6a03..69b6bba00 100644 --- a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp +++ b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp | |||
| @@ -281,7 +281,7 @@ vk::Pipeline VKGraphicsPipeline::CreatePipeline(const RenderPassParams& renderpa | |||
| 281 | rasterization_ci.pNext = nullptr; | 281 | rasterization_ci.pNext = nullptr; |
| 282 | rasterization_ci.flags = 0; | 282 | rasterization_ci.flags = 0; |
| 283 | rasterization_ci.depthClampEnable = rs.depth_clamp_disabled == 0 ? VK_TRUE : VK_FALSE; | 283 | rasterization_ci.depthClampEnable = rs.depth_clamp_disabled == 0 ? VK_TRUE : VK_FALSE; |
| 284 | rasterization_ci.rasterizerDiscardEnable = VK_FALSE; | 284 | rasterization_ci.rasterizerDiscardEnable = rs.rasterize_enable == 0 ? VK_TRUE : VK_FALSE; |
| 285 | rasterization_ci.polygonMode = VK_POLYGON_MODE_FILL; | 285 | rasterization_ci.polygonMode = VK_POLYGON_MODE_FILL; |
| 286 | rasterization_ci.cullMode = | 286 | rasterization_ci.cullMode = |
| 287 | rs.cull_enable ? MaxwellToVK::CullFace(rs.CullFace()) : VK_CULL_MODE_NONE; | 287 | rs.cull_enable ? MaxwellToVK::CullFace(rs.CullFace()) : VK_CULL_MODE_NONE; |