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 <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5698>
This commit is contained in:

committed by
Marge Bot

parent
efec833a18
commit
11a6a96f8a
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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) |
|
||||
|
Reference in New Issue
Block a user