mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 20:38:06 +02:00
radv: enable stippledBresenhamLines on GFX9 chips
This isn't supposed to work nor does it match radeonsi but setting AUTO_RESET_CNTL=0 by default for GFX9 chips is what gets it passing linestrip CTS tests: dEQP-VK.rasterization.primitives.dynamic_stipple.bresenham_line_strip dEQP-VK.rasterization.primitives.dynamic_stipple_and_topology.bresenham_line_strip dEQP-VK.rasterization.primitives.dynamic_stipple_and_topology.bresenham_line_strip_wide dEQP-VK.rasterization.primitives.static_stipple.bresenham_line_strip Signed-off-by: Juston Li <justonli@google.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24623>
This commit is contained in:
parent
7301327f9c
commit
dc7c1d989b
2 changed files with 4 additions and 5 deletions
|
|
@ -2211,7 +2211,9 @@ static void
|
|||
radv_emit_line_stipple(struct radv_cmd_buffer *cmd_buffer)
|
||||
{
|
||||
const struct radv_dynamic_state *d = &cmd_buffer->state.dynamic;
|
||||
uint32_t auto_reset_cntl = 2;
|
||||
enum amd_gfx_level gfx_level = cmd_buffer->device->physical_device->rad_info.gfx_level;
|
||||
/* GFX9 chips fail linestrip CTS tests unless this is set to 0 = no reset */
|
||||
uint32_t auto_reset_cntl = (gfx_level == GFX9) ? 0 : 2;
|
||||
|
||||
if (radv_primitive_topology_is_line_list(d->vk.ia.primitive_topology))
|
||||
auto_reset_cntl = 1;
|
||||
|
|
|
|||
|
|
@ -796,10 +796,7 @@ radv_physical_device_get_features(const struct radv_physical_device *pdevice, st
|
|||
.bresenhamLines = true,
|
||||
.smoothLines = true,
|
||||
.stippledRectangularLines = false,
|
||||
/* FIXME: Some stippled Bresenham CTS fails on Vega10
|
||||
* but work on Raven.
|
||||
*/
|
||||
.stippledBresenhamLines = pdevice->rad_info.gfx_level != GFX9,
|
||||
.stippledBresenhamLines = true,
|
||||
.stippledSmoothLines = false,
|
||||
|
||||
/* VK_EXT_robustness2 */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue