@@ -1355,11 +1355,9 @@ bool GPU_HW::CompilePipelines(Error* error)
13551355 GPUPipeline::GraphicsConfig plconfig = {};
13561356 plconfig.layout = GPUPipeline::Layout::SingleTextureAndUBO;
13571357 plconfig.input_layout .vertex_stride = sizeof (BatchVertex);
1358- plconfig.rasterization = GPUPipeline::RasterizationState::GetNoCullState ();
1358+ plconfig.rasterization = GPUPipeline::RasterizationState::GetNoCullState (m_multisamples, per_sample_shading );
13591359 plconfig.primitive = GPUPipeline::Primitive::Triangles;
13601360 plconfig.geometry_shader = nullptr ;
1361- plconfig.samples = m_multisamples;
1362- plconfig.per_sample_shading = per_sample_shading;
13631361 plconfig.depth = GPUPipeline::DepthState::GetNoTestsState ();
13641362
13651363 // [depth_test][transparency_mode][render_mode][texture_mode][dithering][interlacing][check_mask]
@@ -1585,7 +1583,7 @@ bool GPU_HW::CompilePipelines(Error* error)
15851583 SetScreenQuadInputLayout (plconfig);
15861584 plconfig.vertex_shader = m_screen_quad_vertex_shader.get ();
15871585 plconfig.layout = GPUPipeline::Layout::SingleTextureAndPushConstants;
1588- plconfig.per_sample_shading = false ;
1586+ plconfig.rasterization = GPUPipeline::RasterizationState::GetNoCullState (m_multisamples, false ) ;
15891587 plconfig.blend = GPUPipeline::BlendState::GetNoBlendingState ();
15901588 plconfig.color_formats [1 ] = needs_rov_depth ? VRAM_DS_COLOR_FORMAT : GPUTexture::Format::Unknown;
15911589
@@ -1729,8 +1727,7 @@ bool GPU_HW::CompilePipelines(Error* error)
17291727 plconfig.render_pass_flags = GPUPipeline::NoRenderPassFlags;
17301728 plconfig.depth = GPUPipeline::DepthState::GetNoTestsState ();
17311729 plconfig.blend = GPUPipeline::BlendState::GetNoBlendingState ();
1732- plconfig.samples = m_multisamples;
1733- plconfig.per_sample_shading = true ;
1730+ plconfig.rasterization = GPUPipeline::RasterizationState::GetNoCullState (m_multisamples, true );
17341731 plconfig.SetTargetFormats (VRAM_DS_COLOR_FORMAT);
17351732 if (!(m_copy_depth_pipeline = g_gpu_device->CreatePipeline (plconfig, error)))
17361733 return false ;
@@ -1743,7 +1740,7 @@ bool GPU_HW::CompilePipelines(Error* error)
17431740 SetScreenQuadInputLayout (plconfig);
17441741 plconfig.vertex_shader = m_screen_quad_vertex_shader.get ();
17451742 plconfig.fragment_shader = fs.get ();
1746- plconfig.per_sample_shading = false ;
1743+ plconfig.rasterization = GPUPipeline::RasterizationState::GetNoCullState (m_multisamples, false ) ;
17471744 if (!m_use_rov_for_shader_blend)
17481745 {
17491746 plconfig.SetTargetFormats (VRAM_RT_FORMAT, depth_buffer_format);
@@ -1791,8 +1788,6 @@ bool GPU_HW::CompileResolutionDependentPipelines(Error* error)
17911788 plconfig.rasterization = GPUPipeline::RasterizationState::GetNoCullState ();
17921789 plconfig.primitive = GPUPipeline::Primitive::Triangles;
17931790 plconfig.geometry_shader = nullptr ;
1794- plconfig.samples = 1 ;
1795- plconfig.per_sample_shading = false ;
17961791 plconfig.render_pass_flags = GPUPipeline::NoRenderPassFlags;
17971792 plconfig.depth = GPUPipeline::DepthState::GetNoTestsState ();
17981793 plconfig.blend = GPUPipeline::BlendState::GetNoBlendingState ();
@@ -1871,8 +1866,6 @@ bool GPU_HW::CompileDownsamplePipelines(Error* error)
18711866 plconfig.rasterization = GPUPipeline::RasterizationState::GetNoCullState ();
18721867 plconfig.primitive = GPUPipeline::Primitive::Triangles;
18731868 plconfig.geometry_shader = nullptr ;
1874- plconfig.samples = 1 ;
1875- plconfig.per_sample_shading = false ;
18761869 plconfig.depth = GPUPipeline::DepthState::GetNoTestsState ();
18771870 plconfig.blend = GPUPipeline::BlendState::GetNoBlendingState ();
18781871 plconfig.vertex_shader = m_fullscreen_quad_vertex_shader.get ();
0 commit comments