diff options
author | Marek Olšák <maraeo@gmail.com> | 2011-02-15 05:43:44 +0100 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2011-02-15 09:17:39 +0100 |
commit | b9e2cde6006b557a3a23a82384899f4d5a5ac7b8 (patch) | |
tree | a71d951e991ee3161fa1c2acc15ec58a79056caa /src/gallium/winsys/radeon/drm/radeon_drm_bo.h | |
parent | 8e0437914bb786d0b05be8f95e4ff37bf5a19f44 (diff) |
r300g: offload the CS ioctl to another thread
This is a multi-threading optimization which hides the kernel overhead
behind a thread. It improves performance in CPU-limited apps by 2-15%.
Of course you must have at least 2 cores for it to make any difference.
It can be disabled with:
export RADEON_THREAD=0
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 d877512be5..a26866b7e7 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.h +++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.h @@ -59,6 +59,10 @@ struct radeon_bo { /* how many command streams is this bo referenced in? */ int num_cs_references; + /* how many command streams, which are being emitted in a separate + * thread, is this bo referenced in? */ + int num_active_ioctls; + boolean flinked; uint32_t flink; }; |