summaryrefslogtreecommitdiffstats
path: root/src/glx/dri3_priv.h
diff options
context:
space:
mode:
authorKeith Packard <[email protected]>2013-11-25 21:14:55 -0800
committerEric Anholt <[email protected]>2014-01-30 16:35:00 -0800
commit71d614250ed1f83d8da3adb8e855ee00201c70da (patch)
treeadae5edc4621fae18680b5511f37038598734db1 /src/glx/dri3_priv.h
parent34a8a0820fa08037acd0e4fbc368d72c1a6209f1 (diff)
dri3: Track full 64-bit SBC numbers, instead of just 32-bits
Tracking the full 64-bit SBC values makes it clearer how those values are being used, and simplifies the wait_msc code. The only trick is in re-constructing the full 64-bit value from Present's 32-bit serial number that we use to pass the SBC value from request to event. Signed-off-by: Keith Packard <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src/glx/dri3_priv.h')
-rw-r--r--src/glx/dri3_priv.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/glx/dri3_priv.h b/src/glx/dri3_priv.h
index 682849386ab..9d142cf5137 100644
--- a/src/glx/dri3_priv.h
+++ b/src/glx/dri3_priv.h
@@ -183,16 +183,18 @@ struct dri3_drawable {
uint8_t have_fake_front;
uint8_t is_pixmap;
- uint32_t present_request_serial;
- uint32_t present_event_serial;
-
- uint64_t sbc;
+ /* SBC numbers are tracked by using the serial numbers
+ * in the present request and complete events
+ */
+ uint64_t send_sbc;
+ uint64_t recv_sbc;
+ /* Last received UST/MSC values */
uint64_t ust, msc;
- /* For WaitMSC */
- uint32_t present_msc_request_serial;
- uint32_t present_msc_event_serial;
+ /* Serial numbers for tracking wait_for_msc events */
+ uint32_t send_msc_serial;
+ uint32_t recv_msc_serial;
struct dri3_buffer *buffers[DRI3_NUM_BUFFERS];
int cur_back;