summaryrefslogtreecommitdiff
path: root/src/radeon.h
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2016-07-11 12:51:46 +0900
committerMichel Dänzer <michel@daenzer.net>2016-08-17 18:14:40 +0900
commit121a6de72da5fcf9a32408eff36b2235f3dfbcfe (patch)
tree443e310a3b86c48dbd5a1cf4297278cba547cd50 /src/radeon.h
parent9090309e057dc703d1a5bffd88e6cae14108cfc3 (diff)
Keep track of damage event related flushes per-client v2
This further reduces the compositing slowdown due to flushing overhead, by only flushing when the X server actually sends XDamageNotify events to a client, and there hasn't been a flush yet in the meantime. v2: Use ScreenPrivateKey, fixes invalid memory access with GPU screens Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'src/radeon.h')
-rw-r--r--src/radeon.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/radeon.h b/src/radeon.h
index 25ff61c6..f3a3e1c8 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -448,6 +448,10 @@ struct radeon_accel_state {
Bool force;
};
+struct radeon_client_priv {
+ uint_fast32_t needs_flush;
+};
+
typedef struct {
EntityInfoPtr pEnt;
pciVideoPtr PciInfo;
@@ -474,7 +478,6 @@ typedef struct {
Bool allowColorTiling;
Bool allowColorTiling2D;
int callback_event_type;
- uint_fast32_t callback_needs_flush;
uint_fast32_t gpu_flushed;
uint_fast32_t gpu_synced;
struct radeon_accel_state *accel_state;