diff options
author | Bas Nieuwenhuizen <[email protected]> | 2018-04-09 12:46:49 +0200 |
---|---|---|
committer | Bas Nieuwenhuizen <[email protected]> | 2018-04-18 22:56:54 +0200 |
commit | 4b13fe55a454723bc8642d8f5d754cd9a57e5c7c (patch) | |
tree | 75438bbb5de1fb0031ecb16f0527060ddf3fa913 /src/amd/vulkan/radv_radeon_winsys.h | |
parent | 22d6b89e395e8cab06cbcbde111e64b613e675b6 (diff) |
radv: Keep a global BO list for VkMemory.
With update after bind we can't attach bo's to the command buffer
from the descriptor set anymore, so we have to have a global BO
list.
I am somewhat surprised this works really well even though we have
implicit synchronization in the WSI based on the bo list associations
and with the new behavior every command buffer is associated with
every swapchain image. But I could not find slowdowns in games because
of it.
Reviewed-by: Samuel Pitoiset <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_radeon_winsys.h')
-rw-r--r-- | src/amd/vulkan/radv_radeon_winsys.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_radeon_winsys.h b/src/amd/vulkan/radv_radeon_winsys.h index ba16bf332ab..7f19934ab80 100644 --- a/src/amd/vulkan/radv_radeon_winsys.h +++ b/src/amd/vulkan/radv_radeon_winsys.h @@ -178,6 +178,11 @@ struct radv_winsys_sem_info { struct radv_winsys_sem_counts signal; }; +struct radv_winsys_bo_list { + struct radeon_winsys_bo **bos; + unsigned count; +}; + struct radeon_winsys { void (*destroy)(struct radeon_winsys *ws); @@ -246,6 +251,7 @@ struct radeon_winsys { struct radeon_winsys_cs *initial_preamble_cs, struct radeon_winsys_cs *continue_preamble_cs, struct radv_winsys_sem_info *sem_info, + const struct radv_winsys_bo_list *bo_list, /* optional */ bool can_patch, struct radeon_winsys_fence *fence); |