radv: Ignore WC flags for VRAM.

Otherwise there might be buffers for which we don't have a type.

Fixes: 7262c743dc ("radv: Determine memory type for import based on fd.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4280
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8996>
(cherry picked from commit 045a85085a)
This commit is contained in:
Bas Nieuwenhuizen 2021-02-11 20:32:00 +01:00 committed by Dylan Baker
parent 2e980353d2
commit 67db4ad07f
2 changed files with 6 additions and 1 deletions

View file

@ -3334,7 +3334,7 @@
"description": "radv: Ignore WC flags for VRAM.",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"master_sha": null,
"because_sha": "7262c743dc84d4efa778658bb77b10850c29e014"
},

View file

@ -7797,6 +7797,11 @@ static uint32_t radv_compute_valid_memory_types(struct radv_physical_device *dev
enum radeon_bo_flag ignore_flags = ~(RADEON_FLAG_NO_CPU_ACCESS | RADEON_FLAG_GTT_WC);
uint32_t bits = radv_compute_valid_memory_types_attempt(dev, domains, flags, ignore_flags);
if (!bits) {
ignore_flags |= RADEON_FLAG_GTT_WC;
bits = radv_compute_valid_memory_types_attempt(dev, domains, flags, ignore_flags);
}
if (!bits) {
ignore_flags |= RADEON_FLAG_NO_CPU_ACCESS;
bits = radv_compute_valid_memory_types_attempt(dev, domains, flags, ignore_flags);