radv: always write the sample positions when a new descriptor BO is created
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 5 Oct 2023 10:21:49 +0000 (12:21 +0200)
committerMarge Bot <emma+marge@anholt.net>
Fri, 6 Oct 2023 12:09:46 +0000 (12:09 +0000)
commit4192e01dcc49384404cc0b79eaeed5bacf8fc292
tree488f8938dc6613c80e78261ecffd6bc6a1065e59
parent596b4389364c41678c2c6e38e5801ae0df2fab00
radv: always write the sample positions when a new descriptor BO is created

This was completely broken, for example in the following scenario:
- submits something which needs sample positions (this creates a new
descriptor BO with sample positions)
- submits something which needs the tess rings (this creates a new
descriptor BO with tess rings but without sample positions, ie.
add_sample_positions would be FALSE)
- submits something which needs sample positions again (this won't
create a new descriptor BO because it incorrectly remembered that
sample positions were set)

Fix this by always writing the sample positions.

This should fix the following flakes:
- dEQP-VK.fragment_shading_barycentric.*.weights.pipeline_topology_dynamic.msaa_interpolate_at_sample.*
- dEQP-VK.pipeline.fast_linked_library.multisample_interpolation.sample_interpolate_at_distinct_values.*
- dEQP-VK.pipeline.fast_linked_library.multisample_interpolation.sample_interpolation_consistency.*
- dEQP-VK.draw.renderpass.linear_interpolation.*
- dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.*

These flakes were extremely hard to reproduce!

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25529>
12 files changed:
src/amd/ci/radv-navi10-aco-flakes.txt
src/amd/ci/radv-navi21-aco-fails.txt
src/amd/ci/radv-navi21-aco-flakes.txt
src/amd/ci/radv-navi21-llvm-fails.txt
src/amd/ci/radv-polaris10-aco-fails.txt
src/amd/ci/radv-polaris10-aco-flakes.txt
src/amd/ci/radv-raven-flakes.txt
src/amd/ci/radv-renoir-aco-flakes.txt
src/amd/ci/radv-vangogh-aco-fails.txt
src/amd/ci/radv-vangogh-aco-flakes.txt
src/amd/ci/radv-vega10-aco-flakes.txt
src/amd/vulkan/radv_queue.c