diff options
| author | 2022-12-05 12:25:46 -0500 | |
|---|---|---|
| committer | 2022-12-05 12:25:46 -0500 | |
| commit | c7f32300b21eed44b14a6ad1f7fd5222d7445fd1 (patch) | |
| tree | 42c0c6571509a919d884ed408c4bf070d98f6f70 /src | |
| parent | Merge pull request #9381 from liamwhite/uninit (diff) | |
| parent | Vulkan: Implement Alpha coverage (diff) | |
| download | yuzu-c7f32300b21eed44b14a6ad1f7fd5222d7445fd1.tar.gz yuzu-c7f32300b21eed44b14a6ad1f7fd5222d7445fd1.tar.xz yuzu-c7f32300b21eed44b14a6ad1f7fd5222d7445fd1.zip | |
Merge pull request #9383 from FernandoS27/poke-great
Vulkan: Implement Alpha coverage
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/renderer_vulkan/fixed_pipeline_state.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/fixed_pipeline_state.h | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp | 4 |
3 files changed, 6 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/fixed_pipeline_state.cpp b/src/video_core/renderer_vulkan/fixed_pipeline_state.cpp index f3f08b42c..5864e772b 100644 --- a/src/video_core/renderer_vulkan/fixed_pipeline_state.cpp +++ b/src/video_core/renderer_vulkan/fixed_pipeline_state.cpp | |||
| @@ -93,6 +93,8 @@ void FixedPipelineState::Refresh(Tegra::Engines::Maxwell3D& maxwell3d, | |||
| 93 | provoking_vertex_last.Assign(regs.provoking_vertex == Maxwell::ProvokingVertex::Last ? 1 : 0); | 93 | provoking_vertex_last.Assign(regs.provoking_vertex == Maxwell::ProvokingVertex::Last ? 1 : 0); |
| 94 | conservative_raster_enable.Assign(regs.conservative_raster_enable != 0 ? 1 : 0); | 94 | conservative_raster_enable.Assign(regs.conservative_raster_enable != 0 ? 1 : 0); |
| 95 | smooth_lines.Assign(regs.line_anti_alias_enable != 0 ? 1 : 0); | 95 | smooth_lines.Assign(regs.line_anti_alias_enable != 0 ? 1 : 0); |
| 96 | alpha_to_coverage_enabled.Assign(regs.anti_alias_alpha_control.alpha_to_coverage != 0 ? 1 : 0); | ||
| 97 | alpha_to_one_enabled.Assign(regs.anti_alias_alpha_control.alpha_to_one != 0 ? 1 : 0); | ||
| 96 | 98 | ||
| 97 | for (size_t i = 0; i < regs.rt.size(); ++i) { | 99 | for (size_t i = 0; i < regs.rt.size(); ++i) { |
| 98 | color_formats[i] = static_cast<u8>(regs.rt[i].format); | 100 | color_formats[i] = static_cast<u8>(regs.rt[i].format); |
diff --git a/src/video_core/renderer_vulkan/fixed_pipeline_state.h b/src/video_core/renderer_vulkan/fixed_pipeline_state.h index 1afdef329..ab79fb8f3 100644 --- a/src/video_core/renderer_vulkan/fixed_pipeline_state.h +++ b/src/video_core/renderer_vulkan/fixed_pipeline_state.h | |||
| @@ -195,6 +195,8 @@ struct FixedPipelineState { | |||
| 195 | BitField<12, 1, u32> provoking_vertex_last; | 195 | BitField<12, 1, u32> provoking_vertex_last; |
| 196 | BitField<13, 1, u32> conservative_raster_enable; | 196 | BitField<13, 1, u32> conservative_raster_enable; |
| 197 | BitField<14, 1, u32> smooth_lines; | 197 | BitField<14, 1, u32> smooth_lines; |
| 198 | BitField<15, 1, u32> alpha_to_coverage_enabled; | ||
| 199 | BitField<16, 1, u32> alpha_to_one_enabled; | ||
| 198 | }; | 200 | }; |
| 199 | std::array<u8, Maxwell::NumRenderTargets> color_formats; | 201 | std::array<u8, Maxwell::NumRenderTargets> color_formats; |
| 200 | 202 | ||
diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp index e77a57a4a..006128638 100644 --- a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp +++ b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp | |||
| @@ -714,8 +714,8 @@ void GraphicsPipeline::MakePipeline(VkRenderPass render_pass) { | |||
| 714 | .sampleShadingEnable = VK_FALSE, | 714 | .sampleShadingEnable = VK_FALSE, |
| 715 | .minSampleShading = 0.0f, | 715 | .minSampleShading = 0.0f, |
| 716 | .pSampleMask = nullptr, | 716 | .pSampleMask = nullptr, |
| 717 | .alphaToCoverageEnable = VK_FALSE, | 717 | .alphaToCoverageEnable = key.state.alpha_to_coverage_enabled != 0 ? VK_TRUE : VK_FALSE, |
| 718 | .alphaToOneEnable = VK_FALSE, | 718 | .alphaToOneEnable = key.state.alpha_to_one_enabled != 0 ? VK_TRUE : VK_FALSE, |
| 719 | }; | 719 | }; |
| 720 | const VkPipelineDepthStencilStateCreateInfo depth_stencil_ci{ | 720 | const VkPipelineDepthStencilStateCreateInfo depth_stencil_ci{ |
| 721 | .sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO, | 721 | .sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO, |