radv: force persample shading when required.
We need to force persample shading when a) shader uses sample_id b) shader uses sample_position c) shader uses sample qualifier. Also since ps_iter_samples can now change independently of the rasterizer samples we need to move setting the regs more often. This fixes: dEQP-VK.pipeline.multisample_interpolation.centroid_interpolate_at_consistency.* dEQP-VK.pipeline.multisample_interpolation.centroid_qualifier_inside_primitive.137_191_1.* dEQP-VK.pipeline.multisample_interpolation.sample_interpolate_at_distinct_values.* dEQP-VK.pipeline.multisample_interpolation.sample_qualifier_distinct_values.128_128_1.* Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -1022,6 +1022,11 @@ radv_pipeline_init_multisample_state(struct radv_pipeline *pipeline,
|
||||
uint32_t mask = 0xffff;
|
||||
|
||||
ms->num_samples = vkms->rasterizationSamples;
|
||||
|
||||
if (pipeline->shaders[MESA_SHADER_FRAGMENT]->info.fs.force_persample) {
|
||||
ps_iter_samples = vkms->rasterizationSamples;
|
||||
}
|
||||
|
||||
ms->pa_sc_line_cntl = S_028BDC_DX10_DIAMOND_TEST_ENA(1);
|
||||
ms->pa_sc_aa_config = 0;
|
||||
ms->db_eqaa = S_028804_HIGH_QUALITY_INTERSECTIONS(1) |
|
||||
|
Reference in New Issue
Block a user