summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-04-02 14:29:29 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2013-04-02 14:29:29 +0100
commit4e2fc5aee035c3059ca33dbcafc71dc5988d6b09 (patch)
tree46a72ac586b8c0bc6f3ef00ba930419c7d3a55fa
parent5a36fdcee769195d5c6e642e84a8976114e7c6de (diff)
sna: Relax scanline waits on HSW to be emittable from either ring
My overzealous reading of the bspec lead me to the conclusion that the MI_LOAD_SCANLINES command was only available on the blitter ring. This is false, thankfully, and allows us to do vsync'ed Xv. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_display.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index 6d61650b..0d32086c 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -2887,15 +2887,13 @@ static bool sna_emit_wait_for_scanline_hsw(struct sna *sna,
uint32_t event;
uint32_t *b;
- if (sna->kgem.mode != KGEM_BLT)
- return false;
-
b = kgem_get_batch(&sna->kgem);
sna->kgem.nbatch += 5;
/* The documentation says that the LOAD_SCAN_LINES command
* always comes in pairs. Don't ask me why. */
switch (pipe) {
+ default: assert(0);
case 0: event = 0; break;
case 1: event = 1 << 19; break;
case 2: event = 4 << 19; break;
@@ -2904,6 +2902,7 @@ static bool sna_emit_wait_for_scanline_hsw(struct sna *sna,
b[3] = b[1] = (y1 << 16) | (y2-1);
switch (pipe) {
+ default: assert(0);
case 0: event = 0; break;
case 1: event = 1 << 8; break;
case 2: event = 1 << 14; break;