aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/winsys/radeon/drm/radeon_drm_bo.h
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2016-09-12 11:46:12 +0200
committerNicolai Hähnle <[email protected]>2016-09-27 16:45:34 +0200
commita1e391e39df2b1d8169e773a30153167ab8e13e8 (patch)
tree0c203d55ab010cdacfe7548b11d5c583d4494643 /src/gallium/winsys/radeon/drm/radeon_drm_bo.h
parent0edebde9a48ab609c636050208505885da363593 (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.h4
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;