From 28bb056f8cd326770590157412835318863b4134 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Sat, 18 Oct 2008 19:37:09 -0700 Subject: Use pipes, not planes for sarea geometry data Vblank in the kernel is far simpler if it deals with pipes instead of planes, so we're changing both user and kernel side. This is the user mode side. This fixes both i830_crtc_dpms and i830PipeSetBase, the two functions which copy geometry from the crtc to the sarea. Signed-off-by: Keith Packard --- src/i830_common.h | 16 ++++++++-------- src/i830_display.c | 22 +++++++++++----------- src/i830_dri.c | 16 ++++++++-------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/src/i830_common.h b/src/i830_common.h index f3a7ea01..eeb2ed76 100644 --- a/src/i830_common.h +++ b/src/i830_common.h @@ -124,14 +124,14 @@ typedef struct { unsigned int rotated_tiled; unsigned int rotated2_tiled; - int planeA_x; - int planeA_y; - int planeA_w; - int planeA_h; - int planeB_x; - int planeB_y; - int planeB_w; - int planeB_h; + int pipeA_x; + int pipeA_y; + int pipeA_w; + int pipeA_h; + int pipeB_x; + int pipeB_y; + int pipeB_w; + int pipeB_h; /* Triple buffering */ drm_handle_t third_handle; diff --git a/src/i830_display.c b/src/i830_display.c index 0632f3a3..341def92 100644 --- a/src/i830_display.c +++ b/src/i830_display.c @@ -428,14 +428,14 @@ i830PipeSetBase(xf86CrtcPtr crtc, int x, int y) if (!sPriv) return; - switch (plane) { + switch (pipe) { case 0: - sPriv->planeA_x = x; - sPriv->planeA_y = y; + sPriv->pipeA_x = x; + sPriv->pipeA_y = y; break; case 1: - sPriv->planeB_x = x; - sPriv->planeB_y = y; + sPriv->pipeB_x = x; + sPriv->pipeB_y = y; break; default: xf86DrvMsg(pScrn->scrnIndex, X_ERROR, @@ -756,7 +756,7 @@ static void i830_modeset_ctl(xf86CrtcPtr crtc, int pre) if (!pI830->directRenderingEnabled) return; - modeset.crtc = intel_crtc->plane; + modeset.crtc = intel_crtc->pipe; /* * DPMS will be called many times (especially off), but we only @@ -921,14 +921,14 @@ i830_crtc_dpms(xf86CrtcPtr crtc, int mode) if (!sPriv) return; - switch (plane) { + switch (pipe) { case 0: - sPriv->planeA_w = enabled ? crtc->mode.HDisplay : 0; - sPriv->planeA_h = enabled ? crtc->mode.VDisplay : 0; + sPriv->pipeA_w = enabled ? crtc->mode.HDisplay : 0; + sPriv->pipeA_h = enabled ? crtc->mode.VDisplay : 0; break; case 1: - sPriv->planeB_w = enabled ? crtc->mode.HDisplay : 0; - sPriv->planeB_h = enabled ? crtc->mode.VDisplay : 0; + sPriv->pipeB_w = enabled ? crtc->mode.HDisplay : 0; + sPriv->pipeB_h = enabled ? crtc->mode.VDisplay : 0; break; default: xf86DrvMsg(pScrn->scrnIndex, X_ERROR, diff --git a/src/i830_dri.c b/src/i830_dri.c index 286b3579..c60ee246 100644 --- a/src/i830_dri.c +++ b/src/i830_dri.c @@ -1505,14 +1505,14 @@ I830DRIClipNotify(ScreenPtr pScreen, WindowPtr *ppWin, int num) unsigned numvisible[2] = { 0, 0 }; int i, j; - crtcBox[0].x1 = sPriv->planeA_x; - crtcBox[0].y1 = sPriv->planeA_y; - crtcBox[0].x2 = crtcBox[0].x1 + sPriv->planeA_w; - crtcBox[0].y2 = crtcBox[0].y1 + sPriv->planeA_h; - crtcBox[1].x1 = sPriv->planeB_x; - crtcBox[1].y1 = sPriv->planeB_y; - crtcBox[1].x2 = crtcBox[1].x1 + sPriv->planeB_w; - crtcBox[1].y2 = crtcBox[1].y1 + sPriv->planeB_h; + crtcBox[0].x1 = sPriv->pipeA_x; + crtcBox[0].y1 = sPriv->pipeA_y; + crtcBox[0].x2 = crtcBox[0].x1 + sPriv->pipeA_w; + crtcBox[0].y2 = crtcBox[0].y1 + sPriv->pipeA_h; + crtcBox[1].x1 = sPriv->pipeB_x; + crtcBox[1].y1 = sPriv->pipeB_y; + crtcBox[1].x2 = crtcBox[1].x1 + sPriv->pipeB_w; + crtcBox[1].y2 = crtcBox[1].y1 + sPriv->pipeB_h; for (i = 0; i < 2; i++) { for (j = 0; j < num; j++) { -- cgit v1.2.3