radv: fix wide lines with multisample enabled
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Tue, 30 Jun 2020 17:10:36 +0000 (19:10 +0200)
committerMarge Bot <eric+marge@anholt.net>
Thu, 2 Jul 2020 07:51:48 +0000 (07:51 +0000)
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 <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5698>

.gitlab-ci/deqp-radv-fiji-aco-fails.txt
.gitlab-ci/deqp-radv-navi10-aco-fails.txt
.gitlab-ci/deqp-radv-navi14-aco-fails.txt
.gitlab-ci/deqp-radv-pitcairn-aco-fails.txt
.gitlab-ci/deqp-radv-polaris10-aco-fails.txt
.gitlab-ci/deqp-radv-raven-aco-fails.txt
.gitlab-ci/deqp-radv-vega10-aco-fails.txt
src/amd/vulkan/radv_pipeline.c

index 65bce8df81496b9d7f3aca8eac672bba55bbf2ac..486716cc5152bf3153ebd06be1e17fb6f91ef8e7 100644 (file)
@@ -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.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
 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
index a8c614c83ea5a356cf0c4bc910e893da77dd2593..d5e9453b0c58590b07fe0eddf4249eb092a8d6bf 100644 (file)
@@ -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.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
index a8c614c83ea5a356cf0c4bc910e893da77dd2593..d5e9453b0c58590b07fe0eddf4249eb092a8d6bf 100644 (file)
@@ -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.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
index c330ba885eec10a94cb09c499fca80c2a8209a6b..dd37cbc223ab474a1ecfd4a8793a89a0da50e4fb 100644 (file)
@@ -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.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
 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
index 5c77255ae6f78c8f8d50357be39405cf182d92cc..b921be647c01895adf701371dea12e1daf9a8dc7 100644 (file)
@@ -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.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
 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
index a8c614c83ea5a356cf0c4bc910e893da77dd2593..d5e9453b0c58590b07fe0eddf4249eb092a8d6bf 100644 (file)
@@ -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.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
index 78423d7d59ff0bb703a632834a95391ae451e2fd..1f4a94c4d9c853aa9cd1b115676870c41240f7fa 100644 (file)
@@ -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.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
index 5e7ea7e64baeb4812b392ccb17a080cb3c2667bb..0e6be65303380d728a137550b9e6d8572e7f391d 100644 (file)
@@ -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);
                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) |
                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) |