From 11a6a96f8a5fbec77353618d158be391e46ca647 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 30 Jun 2020 19:10:36 +0200 Subject: [PATCH] radv: fix wide lines with multisample enabled When set, EXPAND_LINE_WIDTH expands the line width by 1/cos(a), where a is the minimum angle from horizontal or vertical. This seems required by OpenGL line rasterization but not by Vulkan. Similar to what AMDVLK and AMDGPU-PRO do for AA wide lines. This fixes dEQP-VK.rasterization.interpolation_multisample_*_bit.*lines_wide. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: --- .gitlab-ci/deqp-radv-fiji-aco-fails.txt | 6 ------ .gitlab-ci/deqp-radv-navi10-aco-fails.txt | 6 ------ .gitlab-ci/deqp-radv-navi14-aco-fails.txt | 6 ------ .gitlab-ci/deqp-radv-pitcairn-aco-fails.txt | 6 ------ .gitlab-ci/deqp-radv-polaris10-aco-fails.txt | 6 ------ .gitlab-ci/deqp-radv-raven-aco-fails.txt | 6 ------ .gitlab-ci/deqp-radv-vega10-aco-fails.txt | 6 ------ src/amd/vulkan/radv_pipeline.c | 1 - 8 files changed, 43 deletions(-) diff --git a/.gitlab-ci/deqp-radv-fiji-aco-fails.txt b/.gitlab-ci/deqp-radv-fiji-aco-fails.txt index 65bce8df814..486716cc515 100644 --- a/.gitlab-ci/deqp-radv-fiji-aco-fails.txt +++ b/.gitlab-ci/deqp-radv-fiji-aco-fails.txt @@ -27,12 +27,6 @@ dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide dEQP-VK.rasterization.interpolation.projected.lines_wide dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.non_strict_lines_wide dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec3 dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec3_requiredsubgroupsize64 dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec3 diff --git a/.gitlab-ci/deqp-radv-navi10-aco-fails.txt b/.gitlab-ci/deqp-radv-navi10-aco-fails.txt index a8c614c83ea..d5e9453b0c5 100644 --- a/.gitlab-ci/deqp-radv-navi10-aco-fails.txt +++ b/.gitlab-ci/deqp-radv-navi10-aco-fails.txt @@ -13,9 +13,3 @@ dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide dEQP-VK.rasterization.interpolation.projected.lines_wide dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.non_strict_lines_wide diff --git a/.gitlab-ci/deqp-radv-navi14-aco-fails.txt b/.gitlab-ci/deqp-radv-navi14-aco-fails.txt index a8c614c83ea..d5e9453b0c5 100644 --- a/.gitlab-ci/deqp-radv-navi14-aco-fails.txt +++ b/.gitlab-ci/deqp-radv-navi14-aco-fails.txt @@ -13,9 +13,3 @@ dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide dEQP-VK.rasterization.interpolation.projected.lines_wide dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.non_strict_lines_wide diff --git a/.gitlab-ci/deqp-radv-pitcairn-aco-fails.txt b/.gitlab-ci/deqp-radv-pitcairn-aco-fails.txt index c330ba885ee..dd37cbc223a 100644 --- a/.gitlab-ci/deqp-radv-pitcairn-aco-fails.txt +++ b/.gitlab-ci/deqp-radv-pitcairn-aco-fails.txt @@ -11,12 +11,6 @@ dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide dEQP-VK.rasterization.interpolation.projected.lines_wide dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.non_strict_lines_wide dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec3 dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec3_requiredsubgroupsize64 dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec3 diff --git a/.gitlab-ci/deqp-radv-polaris10-aco-fails.txt b/.gitlab-ci/deqp-radv-polaris10-aco-fails.txt index 5c77255ae6f..b921be647c0 100644 --- a/.gitlab-ci/deqp-radv-polaris10-aco-fails.txt +++ b/.gitlab-ci/deqp-radv-polaris10-aco-fails.txt @@ -7,12 +7,6 @@ dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide dEQP-VK.rasterization.interpolation.projected.lines_wide dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.non_strict_lines_wide dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec3 dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_bvec3_requiredsubgroupsize64 dEQP-VK.subgroups.ballot_broadcast.compute.subgroupbroadcast_dvec3 diff --git a/.gitlab-ci/deqp-radv-raven-aco-fails.txt b/.gitlab-ci/deqp-radv-raven-aco-fails.txt index a8c614c83ea..d5e9453b0c5 100644 --- a/.gitlab-ci/deqp-radv-raven-aco-fails.txt +++ b/.gitlab-ci/deqp-radv-raven-aco-fails.txt @@ -13,9 +13,3 @@ dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide dEQP-VK.rasterization.interpolation.projected.lines_wide dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.non_strict_lines_wide diff --git a/.gitlab-ci/deqp-radv-vega10-aco-fails.txt b/.gitlab-ci/deqp-radv-vega10-aco-fails.txt index 78423d7d59f..1f4a94c4d9c 100644 --- a/.gitlab-ci/deqp-radv-vega10-aco-fails.txt +++ b/.gitlab-ci/deqp-radv-vega10-aco-fails.txt @@ -11,9 +11,3 @@ dEQP-VK.rasterization.interpolation.basic.non_strict_lines_wide dEQP-VK.rasterization.interpolation.projected.lines_wide dEQP-VK.rasterization.interpolation.projected.non_strict_line_strip_wide dEQP-VK.rasterization.interpolation.projected.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_2_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_4_bit.non_strict_lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.lines_wide -dEQP-VK.rasterization.interpolation_multisample_8_bit.non_strict_lines_wide diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 5e7ea7e64ba..0e6be653033 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -1154,7 +1154,6 @@ radv_pipeline_init_multisample_state(struct radv_pipeline *pipeline, unsigned log_z_samples = util_logbase2(z_samples); unsigned log_ps_iter_samples = util_logbase2(ps_iter_samples); ms->pa_sc_mode_cntl_0 |= S_028A48_MSAA_ENABLE(1); - ms->pa_sc_line_cntl |= S_028BDC_EXPAND_LINE_WIDTH(1); /* CM_R_028BDC_PA_SC_LINE_CNTL */ ms->db_eqaa |= S_028804_MAX_ANCHOR_SAMPLES(log_z_samples) | S_028804_PS_ITER_SAMPLES(log_ps_iter_samples) | S_028804_MASK_EXPORT_NUM_SAMPLES(log_samples) | -- 2.30.2