[Intel-gfx] [PATCH] Use pipes, not planes for sarea geometry data
Eric Anholt
eric at anholt.net
Mon Oct 20 00:13:34 CEST 2008
On Sun, 2008-10-19 at 15:06 -0700, Keith Packard wrote:
> 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.
Looks good, I like it.
> Signed-off-by: Keith Packard <keithp at keithp.com>
> ---
> 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 f3a7ea0..eeb2ed7 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 0632f3a..341def9 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 c964486..488409d 100644
> --- a/src/i830_dri.c
> +++ b/src/i830_dri.c
> @@ -1504,14 +1504,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++) {
--
Eric Anholt
eric at anholt.net eric.anholt at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20081019/dbaa2c7e/attachment.sig>
More information about the Intel-gfx
mailing list