diff options
author | Nicolai Hähnle <[email protected]> | 2016-09-12 11:46:12 +0200 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2016-09-27 16:45:34 +0200 |
commit | a1e391e39df2b1d8169e773a30153167ab8e13e8 (patch) | |
tree | 0c203d55ab010cdacfe7548b11d5c583d4494643 /src/gallium/winsys/radeon/drm/radeon_drm_bo.h | |
parent | 0edebde9a48ab609c636050208505885da363593 (diff) |
winsys/radeon: add fine-grained fences for slab buffers
Note the logic for adding fences is somewhat different than for amdgpu,
because radeon has no scheduler and we therefore have no guarantee about
the order in which submissions from multiple threads are processed.
(Ironically, this is only an issue when "multi-threaded submission" is
disabled, because "multi-threaded submission" actually means that all
submissions happen from a single thread that happens to be separate from
the application's threads. If we only supported "multi-threaded
submission", the fence handling could be simplified by adding the fences
in that thread where everything is serialized.)
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/winsys/radeon/drm/radeon_drm_bo.h')
-rw-r--r-- | src/gallium/winsys/radeon/drm/radeon_drm_bo.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.h b/src/gallium/winsys/radeon/drm/radeon_drm_bo.h index 8e35a385ed8..8f767fd2c73 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.h +++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.h @@ -50,6 +50,10 @@ struct radeon_bo { struct { struct pb_slab_entry entry; struct radeon_bo *real; + + unsigned num_fences; + unsigned max_fences; + struct radeon_bo **fences; } slab; } u; |