mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-29 14:30:10 +01:00
radv/amdgpu: fix creation with different but unused RADV_PERFTEST flags
This fixes an issue with Hellblade Senua's Sacrifice because
RADV_PERFTEST_RT_WAVE_64 is set using drirc, but if two devices are
created RADV_PERFTEST flags might differ.
The proposed solution is to filter out unused RADV_PERFTEST flags for
the winsys.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36727>
(cherry picked from commit 0c9f079295)
This commit is contained in:
parent
30f33ada9c
commit
abf6210b99
2 changed files with 10 additions and 1 deletions
|
|
@ -3904,7 +3904,7 @@
|
|||
"description": "radv/amdgpu: fix creation with different but unused RADV_PERFTEST flags",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null,
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -179,6 +179,13 @@ radv_amdgpu_winsys_get_sync_provider(struct radeon_winsys *rws)
|
|||
return p->clone(p);
|
||||
}
|
||||
|
||||
static uint64_t
|
||||
radv_amdgpu_winsys_filter_perftest_flags(uint64_t perftest_flags)
|
||||
{
|
||||
return perftest_flags & (RADV_PERFTEST_NO_GTT_SPILL | RADV_PERFTEST_LOCAL_BOS | RADV_PERFTEST_NO_SAM |
|
||||
RADV_PERFTEST_SAM | RADV_PERFTEST_BO_LIST);
|
||||
}
|
||||
|
||||
VkResult
|
||||
radv_amdgpu_winsys_create(int fd, uint64_t debug_flags, uint64_t perftest_flags, bool reserve_vmid, bool is_virtio,
|
||||
struct radeon_winsys **winsys)
|
||||
|
|
@ -189,6 +196,8 @@ radv_amdgpu_winsys_create(int fd, uint64_t debug_flags, uint64_t perftest_flags,
|
|||
ac_drm_device *dev;
|
||||
struct radv_amdgpu_winsys *ws = NULL;
|
||||
|
||||
perftest_flags = radv_amdgpu_winsys_filter_perftest_flags(perftest_flags);
|
||||
|
||||
r = ac_drm_device_initialize(fd, is_virtio, &drm_major, &drm_minor, &dev);
|
||||
if (r) {
|
||||
fprintf(stderr, "radv/amdgpu: failed to initialize device.\n");
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue