[i915] Remove old frontbuffer rotation hack.
authorEric Anholt <eric@anholt.net>
Fri, 9 Nov 2007 23:05:56 +0000 (15:05 -0800)
committerEric Anholt <eric@anholt.net>
Fri, 9 Nov 2007 23:05:56 +0000 (15:05 -0800)
This was replaced in previous releases of xserver/dri/libGL by reporting the
damage to the frontbuffer so that the server and driver could handle it
appropriately.

src/mesa/drivers/dri/i915/Makefile
src/mesa/drivers/dri/i915/i830_context.h
src/mesa/drivers/dri/i915/i915_metaops.c
src/mesa/drivers/dri/i915/intel_context.c
src/mesa/drivers/dri/i915/intel_context.h
src/mesa/drivers/dri/i915/intel_rotate.c [deleted file]
src/mesa/drivers/dri/i915/intel_rotate.h [deleted file]
src/mesa/drivers/dri/intel/intel_buffers.c
src/mesa/drivers/dri/intel/intel_buffers.h
src/mesa/drivers/dri/intel/intel_screen.c
src/mesa/drivers/dri/intel/intel_screen.h

index ae96ddda0abe23bc5fa55ea13a402b25cf905438..bff09ee842422f6baf9572eda56bb1e8c79eea57 100644 (file)
@@ -46,7 +46,6 @@ DRIVER_SOURCES = \
        intel_context.c \
        intel_decode.c \
        intel_ioctl.c \
-       intel_rotate.c \
        intel_screen.c \
        intel_span.c \
        intel_state.c \
index 9397fa45b528f1cb3a7598c577e1afacce3e27bb..a298c1407def85391d5940b1220d47e0fc5cd62c 100644 (file)
@@ -196,10 +196,6 @@ extern void i830InitState(struct i830_context *i830);
  */
 extern void i830InitMetaFuncs(struct i830_context *i830);
 
-extern void
-i830RotateWindow(struct intel_context *intel, __DRIdrawablePrivate * dPriv,
-                 GLuint srcBuf);
-
 /*======================================================================
  * Inline conversion functions.  These are better-typed than the
  * macros used previously:
index a739bd658119eee1c16fceb9222ff3d1757e0de9..73aa63451e067761dff6a97ded2d15c64ce6dace 100644 (file)
@@ -35,7 +35,6 @@
 #include "intel_batchbuffer.h"
 #include "intel_ioctl.h"
 #include "intel_regions.h"
-#include "intel_rotate.h"
 
 #include "i915_context.h"
 #include "i915_reg.h"
index b85b0c2939c19d2b639b0ee5de3286aed8e09424..2b93f60ab4d2f3fc62c37f4f3438b231e1d06b36 100644 (file)
@@ -278,37 +278,6 @@ intelFlush(GLcontext * ctx)
     */
 }
 
-
-/**
- * Check if we need to rotate/warp the front color buffer to the
- * rotated screen.  We generally need to do this when we get a glFlush
- * or glFinish after drawing to the front color buffer.
- */
-static void
-intelCheckFrontRotate(GLcontext * ctx)
-{
-   struct intel_context *intel = intel_context(ctx);
-   if (intel->ctx.DrawBuffer->_ColorDrawBufferMask[0] ==
-       BUFFER_BIT_FRONT_LEFT) {
-      intelScreenPrivate *screen = intel->intelScreen;
-      if (screen->current_rotation != 0) {
-         __DRIdrawablePrivate *dPriv = intel->driDrawable;
-         intelRotateWindow(intel, dPriv, BUFFER_BIT_FRONT_LEFT);
-      }
-   }
-}
-
-
-/**
- * Called via glFlush.
- */
-static void
-intelglFlush(GLcontext * ctx)
-{
-   intelFlush(ctx);
-   intelCheckFrontRotate(ctx);
-}
-
 void
 intelFinish(GLcontext * ctx)
 {
@@ -319,7 +288,6 @@ intelFinish(GLcontext * ctx)
       dri_fence_unreference(intel->batch->last_fence);
       intel->batch->last_fence = NULL;
    }
-   intelCheckFrontRotate(ctx);
 }
 
 
@@ -328,7 +296,7 @@ intelInitDriverFunctions(struct dd_function_table *functions)
 {
    _mesa_init_driver_functions(functions);
 
-   functions->Flush = intelglFlush;
+   functions->Flush = intelFlush;
    functions->Finish = intelFinish;
    functions->GetString = intelGetString;
    functions->UpdateState = intelInvalidateState;
@@ -371,7 +339,6 @@ intelInitContext(struct intel_context *intel,
 
    intel->width = intelScreen->width;
    intel->height = intelScreen->height;
-   intel->current_rotation = intelScreen->current_rotation;
 
    if (!lockMutexInit) {
       lockMutexInit = GL_TRUE;
@@ -676,16 +643,8 @@ intelContendedLock(struct intel_context *intel, GLuint flags)
         intel_decode_context_reset();
    }
 
-   if (sarea->width != intelScreen->width ||
-       sarea->height != intelScreen->height ||
-       sarea->rotation != intelScreen->current_rotation) {
-
-      intelUpdateScreenRotation(sPriv, sarea);
-   }
-
    if (sarea->width != intel->width ||
-       sarea->height != intel->height ||
-       sarea->rotation != intel->current_rotation) {
+       sarea->height != intel->height) {
       int numClipRects = intel->numClipRects;
 
       /*
@@ -713,7 +672,6 @@ intelContendedLock(struct intel_context *intel, GLuint flags)
 
       intel->width = sarea->width;
       intel->height = sarea->height;
-      intel->current_rotation = sarea->rotation;
    }
 
    /* Drawable changed?
index ce9a362944b5d4b1979e90bf297204f240a4e6b8..7272f8f352ba953f14ddfcc7376e72ba9c44ae5f 100644 (file)
@@ -174,8 +174,6 @@ struct intel_context
                                        GLuint pitch,
                                        GLuint height,
                                        GLenum format, GLenum type);
-      void (*rotate_window) (struct intel_context * intel,
-                             __DRIdrawablePrivate * dPriv, GLuint srcBuf);
 
       void (*assert_not_dirty) (struct intel_context *intel);
 
@@ -229,14 +227,6 @@ struct intel_context
    GLuint vertex_size;
    GLubyte *verts;              /* points to tnl->clipspace.vertex_buf */
 
-#if 0
-   struct intel_region *front_region;   /* XXX FBO: obsolete */
-   struct intel_region *rotated_region; /* XXX FBO: obsolete */
-   struct intel_region *back_region;    /* XXX FBO: obsolete */
-   struct intel_region *draw_region;    /* XXX FBO: rename to color_region */
-   struct intel_region *depth_region;   /**< currently bound depth/Z region */
-#endif
-
    /* Fallback rasterization functions 
     */
    intel_point_func draw_point;
@@ -272,13 +262,9 @@ struct intel_context
     */
    driOptionCache optionCache;
 
-  /* Rotation. Need to match that of the
-   * current screen.
-   */
-
-  int width;
-  int height;
-  int current_rotation;
+   /* Last seen width/height of the screen */
+   int width;
+   int height;
 };
 
 /* These are functions now:
diff --git a/src/mesa/drivers/dri/i915/intel_rotate.c b/src/mesa/drivers/dri/i915/intel_rotate.c
deleted file mode 100644 (file)
index 12d98c4..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-
-/**
- * Routines for simple 2D->2D transformations for rotated, flipped screens.
- *
- * XXX This code is not intel-specific.  Move it into a common/utility
- * someday.
- */
-
-#include "intel_rotate.h"
-
-#define MIN2(A, B)   ( ((A) < (B)) ? (A) : (B) )
-
-#define ABS(A)  ( ((A) < 0) ? -(A) : (A) )
-
-
-void
-matrix23Set(struct matrix23 *m,
-            int m00, int m01, int m02, int m10, int m11, int m12)
-{
-   m->m00 = m00;
-   m->m01 = m01;
-   m->m02 = m02;
-   m->m10 = m10;
-   m->m11 = m11;
-   m->m12 = m12;
-}
-
-
-/*
- * Transform (x,y) coordinate by the given matrix.
- */
-void
-matrix23TransformCoordf(const struct matrix23 *m, float *x, float *y)
-{
-   const float x0 = *x;
-   const float y0 = *y;
-
-   *x = m->m00 * x0 + m->m01 * y0 + m->m02;
-   *y = m->m10 * x0 + m->m11 * y0 + m->m12;
-}
-
-
-void
-matrix23TransformCoordi(const struct matrix23 *m, int *x, int *y)
-{
-   const int x0 = *x;
-   const int y0 = *y;
-
-   *x = m->m00 * x0 + m->m01 * y0 + m->m02;
-   *y = m->m10 * x0 + m->m11 * y0 + m->m12;
-}
-
-
-/*
- * Transform a width and height by the given matrix.
- * XXX this could be optimized quite a bit.
- */
-void
-matrix23TransformDistance(const struct matrix23 *m, int *xDist, int *yDist)
-{
-   int x0 = 0, y0 = 0;
-   int x1 = *xDist, y1 = 0;
-   int x2 = 0, y2 = *yDist;
-   matrix23TransformCoordi(m, &x0, &y0);
-   matrix23TransformCoordi(m, &x1, &y1);
-   matrix23TransformCoordi(m, &x2, &y2);
-
-   *xDist = (x1 - x0) + (x2 - x0);
-   *yDist = (y1 - y0) + (y2 - y0);
-
-   if (*xDist < 0)
-      *xDist = -*xDist;
-   if (*yDist < 0)
-      *yDist = -*yDist;
-}
-
-
-/**
- * Transform the rect defined by (x, y, w, h) by m.
- */
-void
-matrix23TransformRect(const struct matrix23 *m, int *x, int *y, int *w,
-                      int *h)
-{
-   int x0 = *x, y0 = *y;
-   int x1 = *x + *w, y1 = *y;
-   int x2 = *x + *w, y2 = *y + *h;
-   int x3 = *x, y3 = *y + *h;
-   matrix23TransformCoordi(m, &x0, &y0);
-   matrix23TransformCoordi(m, &x1, &y1);
-   matrix23TransformCoordi(m, &x2, &y2);
-   matrix23TransformCoordi(m, &x3, &y3);
-   *w = ABS(x1 - x0) + ABS(x2 - x1);
-   /**w = ABS(*w);*/
-   *h = ABS(y1 - y0) + ABS(y2 - y1);
-   /**h = ABS(*h);*/
-   *x = MIN2(x0, x1);
-   *x = MIN2(*x, x2);
-   *y = MIN2(y0, y1);
-   *y = MIN2(*y, y2);
-}
-
-
-/*
- * Make rotation matrix for width X height screen.
- */
-void
-matrix23Rotate(struct matrix23 *m, int width, int height, int angle)
-{
-   switch (angle) {
-   case 0:
-      matrix23Set(m, 1, 0, 0, 0, 1, 0);
-      break;
-   case 90:
-      matrix23Set(m, 0, 1, 0, -1, 0, width);
-      break;
-   case 180:
-      matrix23Set(m, -1, 0, width, 0, -1, height);
-      break;
-   case 270:
-      matrix23Set(m, 0, -1, height, 1, 0, 0);
-      break;
-   default:
-      /*abort() */ ;
-   }
-}
-
-
-/*
- * Make flip/reflection matrix for width X height screen.
- */
-void
-matrix23Flip(struct matrix23 *m, int width, int height, int xflip, int yflip)
-{
-   if (xflip) {
-      m->m00 = -1;
-      m->m01 = 0;
-      m->m02 = width - 1;
-   }
-   else {
-      m->m00 = 1;
-      m->m01 = 0;
-      m->m02 = 0;
-   }
-   if (yflip) {
-      m->m10 = 0;
-      m->m11 = -1;
-      m->m12 = height - 1;
-   }
-   else {
-      m->m10 = 0;
-      m->m11 = 1;
-      m->m12 = 0;
-   }
-}
-
-
-/*
- * result = a * b
- */
-void
-matrix23Multiply(struct matrix23 *result,
-                 const struct matrix23 *a, const struct matrix23 *b)
-{
-   result->m00 = a->m00 * b->m00 + a->m01 * b->m10;
-   result->m01 = a->m00 * b->m01 + a->m01 * b->m11;
-   result->m02 = a->m00 * b->m02 + a->m01 * b->m12 + a->m02;
-
-   result->m10 = a->m10 * b->m00 + a->m11 * b->m10;
-   result->m11 = a->m10 * b->m01 + a->m11 * b->m11;
-   result->m12 = a->m10 * b->m02 + a->m11 * b->m12 + a->m12;
-}
-
-
-#if 000
-
-#include <stdio.h>
-
-int
-main(int argc, char *argv[])
-{
-   int width = 500, height = 400;
-   int rot;
-   int fx = 0, fy = 0;          /* flip x and/or y ? */
-   int coords[4][2];
-
-   /* four corner coords to test with */
-   coords[0][0] = 0;
-   coords[0][1] = 0;
-   coords[1][0] = width - 1;
-   coords[1][1] = 0;
-   coords[2][0] = width - 1;
-   coords[2][1] = height - 1;
-   coords[3][0] = 0;
-   coords[3][1] = height - 1;
-
-
-   for (rot = 0; rot < 360; rot += 90) {
-      struct matrix23 rotate, flip, m;
-      int i;
-
-      printf("Rot %d, xFlip %d, yFlip %d:\n", rot, fx, fy);
-
-      /* make transformation matrix 'm' */
-      matrix23Rotate(&rotate, width, height, rot);
-      matrix23Flip(&flip, width, height, fx, fy);
-      matrix23Multiply(&m, &rotate, &flip);
-
-      /* xform four coords */
-      for (i = 0; i < 4; i++) {
-         int x = coords[i][0];
-         int y = coords[i][1];
-         matrix23TransformCoordi(&m, &x, &y);
-         printf("  %d, %d  -> %d %d\n", coords[i][0], coords[i][1], x, y);
-      }
-
-      /* xform width, height */
-      {
-         int x = width;
-         int y = height;
-         matrix23TransformDistance(&m, &x, &y);
-         printf("  %d x %d -> %d x %d\n", width, height, x, y);
-      }
-
-      /* xform rect */
-      {
-         int x = 50, y = 10, w = 200, h = 100;
-         matrix23TransformRect(&m, &x, &y, &w, &h);
-         printf("  %d,%d %d x %d -> %d, %d %d x %d\n", 50, 10, 200, 100,
-                x, y, w, h);
-      }
-
-   }
-
-   return 0;
-}
-#endif
diff --git a/src/mesa/drivers/dri/i915/intel_rotate.h b/src/mesa/drivers/dri/i915/intel_rotate.h
deleted file mode 100644 (file)
index 9c8802c..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef INTEL_ROTATE_H
-#define INTEL_ROTATE_H 1
-
-struct matrix23
-{
-   int m00, m01, m02;
-   int m10, m11, m12;
-};
-
-
-
-extern void
-matrix23Set(struct matrix23 *m,
-            int m00, int m01, int m02, int m10, int m11, int m12);
-
-extern void matrix23TransformCoordi(const struct matrix23 *m, int *x, int *y);
-
-extern void
-matrix23TransformCoordf(const struct matrix23 *m, float *x, float *y);
-
-extern void
-matrix23TransformDistance(const struct matrix23 *m, int *xDist, int *yDist);
-
-extern void
-matrix23TransformRect(const struct matrix23 *m,
-                      int *x, int *y, int *w, int *h);
-
-extern void
-matrix23Rotate(struct matrix23 *m, int width, int height, int angle);
-
-extern void
-matrix23Flip(struct matrix23 *m, int width, int height, int xflip, int yflip);
-
-extern void
-matrix23Multiply(struct matrix23 *result,
-                 const struct matrix23 *a, const struct matrix23 *b);
-
-
-#endif /* INTEL_ROTATE_H */
index 1ae8b5feb4c6ae439ea89f52e5bc1856c2c3eabf..808529b9e30e2115c09eccd7c3021ef2b85d432f 100644 (file)
@@ -485,156 +485,6 @@ intelClearWithTris(struct intel_context *intel, GLbitfield mask)
    UNLOCK_HARDWARE(intel);
 }
 
-
-
-
-/**
- * Copy the window contents named by dPriv to the rotated (or reflected)
- * color buffer.
- * srcBuf is BUFFER_BIT_FRONT_LEFT or BUFFER_BIT_BACK_LEFT to indicate the source.
- */
-void
-intelRotateWindow(struct intel_context *intel,
-                  __DRIdrawablePrivate * dPriv, GLuint srcBuf)
-{
-   intelScreenPrivate *screen = intel->intelScreen;
-   drm_clip_rect_t fullRect;
-   struct intel_framebuffer *intel_fb;
-   struct intel_region *src;
-   const drm_clip_rect_t *clipRects;
-   int numClipRects;
-   int i;
-   GLenum format, type;
-
-   int xOrig, yOrig;
-   int origNumClipRects;
-   drm_clip_rect_t *origRects;
-
-   /*
-    * set up hardware state
-    */
-   intelFlush(&intel->ctx);
-
-   LOCK_HARDWARE(intel);
-
-   if (!intel->numClipRects) {
-      UNLOCK_HARDWARE(intel);
-      return;
-   }
-
-   intel->vtbl.install_meta_state(intel);
-
-   intel->vtbl.meta_no_depth_write(intel);
-   intel->vtbl.meta_no_stencil_write(intel);
-   intel->vtbl.meta_color_mask(intel, GL_FALSE);
-
-
-   /* save current drawing origin and cliprects (restored at end) */
-   xOrig = intel->drawX;
-   yOrig = intel->drawY;
-   origNumClipRects = intel->numClipRects;
-   origRects = intel->pClipRects;
-
-   /*
-    * set drawing origin, cliprects for full-screen access to rotated screen
-    */
-   fullRect.x1 = 0;
-   fullRect.y1 = 0;
-   fullRect.x2 = screen->rotatedWidth;
-   fullRect.y2 = screen->rotatedHeight;
-   intel->drawX = 0;
-   intel->drawY = 0;
-   intel->numClipRects = 1;
-   intel->pClipRects = &fullRect;
-
-   intel->vtbl.meta_draw_region(intel, screen->rotated_region, NULL);    /* ? */
-
-   intel_fb = dPriv->driverPrivate;
-
-   if ((srcBuf == BUFFER_BIT_BACK_LEFT && !intel_fb->pf_active)) {
-      src = intel_get_rb_region(&intel_fb->Base, BUFFER_BACK_LEFT);
-      clipRects = dPriv->pBackClipRects;
-      numClipRects = dPriv->numBackClipRects;
-   }
-   else {
-      src = intel_get_rb_region(&intel_fb->Base, BUFFER_FRONT_LEFT);
-      clipRects = dPriv->pClipRects;
-      numClipRects = dPriv->numClipRects;
-   }
-
-   if (src->cpp == 4) {
-      format = GL_BGRA;
-      type = GL_UNSIGNED_BYTE;
-   }
-   else {
-      format = GL_BGR;
-      type = GL_UNSIGNED_SHORT_5_6_5_REV;
-   }
-
-   /* set the whole screen up as a texture to avoid alignment issues */
-   intel->vtbl.meta_tex_rect_source(intel,
-                                    src->buffer,
-                                    screen->width,
-                                    screen->height, src->pitch, format, type);
-
-   intel->vtbl.meta_texture_blend_replace(intel);
-
-   /*
-    * loop over the source window's cliprects
-    */
-   for (i = 0; i < numClipRects; i++) {
-      int srcX0 = clipRects[i].x1;
-      int srcY0 = clipRects[i].y1;
-      int srcX1 = clipRects[i].x2;
-      int srcY1 = clipRects[i].y2;
-      GLfloat verts[4][2], tex[4][2];
-      int j;
-
-      /* build vertices for four corners of clip rect */
-      verts[0][0] = srcX0;
-      verts[0][1] = srcY0;
-      verts[1][0] = srcX1;
-      verts[1][1] = srcY0;
-      verts[2][0] = srcX1;
-      verts[2][1] = srcY1;
-      verts[3][0] = srcX0;
-      verts[3][1] = srcY1;
-
-      /* .. and texcoords */
-      tex[0][0] = srcX0;
-      tex[0][1] = srcY0;
-      tex[1][0] = srcX1;
-      tex[1][1] = srcY0;
-      tex[2][0] = srcX1;
-      tex[2][1] = srcY1;
-      tex[3][0] = srcX0;
-      tex[3][1] = srcY1;
-
-      /* transform coords to rotated screen coords */
-
-      for (j = 0; j < 4; j++) {
-         matrix23TransformCoordf(&screen->rotMatrix,
-                                 &verts[j][0], &verts[j][1]);
-      }
-
-      /* draw polygon to map source image to dest region */
-      intel_meta_draw_poly(intel, 4, verts, 0, 0, tex);
-
-   }                            /* cliprect loop */
-
-   intel->vtbl.leave_meta_state(intel);
-   intel_batchbuffer_flush(intel->batch);
-
-   /* restore original drawing origin and cliprects */
-   intel->drawX = xOrig;
-   intel->drawY = yOrig;
-   intel->numClipRects = origNumClipRects;
-   intel->pClipRects = origRects;
-
-   UNLOCK_HARDWARE(intel);
-}
-
-
 /**
  * Called by ctx->Driver.Clear.
  */
@@ -848,7 +698,6 @@ intelScheduleSwap(__DRIdrawablePrivate * dPriv, GLboolean *missed_target)
 
    if (!dPriv->vblFlags ||
        (dPriv->vblFlags & VBLANK_FLAG_NO_IRQ) ||
-       intelScreen->current_rotation != 0 ||
        intelScreen->drmMinor < (intel_fb->pf_active ? 9 : 6))
       return GL_FALSE;
 
@@ -933,17 +782,12 @@ intelSwapBuffers(__DRIdrawablePrivate * dPriv)
          
         _mesa_notifySwapBuffers(ctx);  /* flush pending rendering comands */
 
-         if (screen->current_rotation != 0 ||
-            !intelScheduleSwap(dPriv, &missed_target)) {
+         if (!intelScheduleSwap(dPriv, &missed_target)) {
            driWaitForVBlank(dPriv, &missed_target);
 
-           if (screen->current_rotation != 0 || !intelPageFlip(dPriv)) {
+           if (!intelPageFlip(dPriv)) {
               intelCopyBuffer(dPriv, NULL);
            }
-
-           if (screen->current_rotation != 0) {
-              intelRotateWindow(intel, dPriv, BUFFER_BIT_FRONT_LEFT);
-           }
         }
 
         intel_fb->swap_count++;
index 3b686cb5c184388f320858d2d26fc6d61796c0e8..13d1a15ffbfb3faaf968d6aeb9cbe2dafa478aaa 100644 (file)
@@ -52,8 +52,4 @@ extern void intel_draw_buffer(GLcontext * ctx, struct gl_framebuffer *fb);
 
 extern void intelInitBufferFuncs(struct dd_function_table *functions);
 
-extern void
-intelRotateWindow(struct intel_context *intel,
-                  __DRIdrawablePrivate * dPriv, GLuint srcBuf);
-
 #endif /* INTEL_BUFFERS_H */
index a34250952acfec46d90f7626e5ded2e96f1e72f9..35dff8c565cbc780ea6d4f62b4eaf834589d8674 100644 (file)
@@ -202,8 +202,7 @@ intel_recreate_static(intelScreenPrivate *intelScreen,
  *
  * Although FBO's mean we now no longer use these as render targets in
  * all circumstances, they won't go away until the back and depth
- * buffers become private, and the front and rotated buffers will
- * remain even then.
+ * buffers become private, and the front buffer will remain even then.
  *
  * Note that these don't allocate video memory, just describe
  * allocations alread made by the X server.
@@ -217,17 +216,6 @@ intel_recreate_static_regions(intelScreenPrivate *intelScreen)
                            &intelScreen->front,
                            DRM_BO_FLAG_MEM_TT);
 
-   /* The rotated region is only used for old DDXes that didn't handle rotation
-\    * on their own.
-    */
-   if (intelScreen->driScrnPriv->ddx_version.minor < 8) {
-      intelScreen->rotated_region =
-        intel_recreate_static(intelScreen,
-                              intelScreen->rotated_region,
-                              &intelScreen->rotated,
-                              DRM_BO_FLAG_MEM_TT);
-   }
-
    intelScreen->back_region =
       intel_recreate_static(intelScreen,
                            intelScreen->back_region,
@@ -252,24 +240,6 @@ intel_recreate_static_regions(intelScreenPrivate *intelScreen)
                            DRM_BO_FLAG_MEM_TT);
 }
 
-/**
- * Use the information in the sarea to update the screen parameters
- * related to screen rotation. Needs to be called locked.
- */
-void
-intelUpdateScreenRotation(__DRIscreenPrivate * sPriv, drmI830Sarea * sarea)
-{
-   intelScreenPrivate *intelScreen = (intelScreenPrivate *) sPriv->private;
-
-   intelUnmapScreenRegions(intelScreen);
-   intelUpdateScreenFromSAREA(intelScreen, sarea);
-   if (!intelMapScreenRegions(sPriv)) {
-      fprintf(stderr, "ERROR Remapping screen regions!!!\n");
-   }
-   intel_recreate_static_regions(intelScreen);
-}
-
-
 void
 intelUnmapScreenRegions(intelScreenPrivate * intelScreen)
 {
@@ -323,9 +293,6 @@ intelPrintDRIInfo(intelScreenPrivate * intelScreen,
    fprintf(stderr, "*** Depth size:   0x%x  offset: 0x%x  pitch: %d\n",
            intelScreen->depth.size, intelScreen->depth.offset,
            intelScreen->depth.pitch);
-   fprintf(stderr, "*** Rotated size: 0x%x  offset: 0x%x  pitch: %d\n",
-           intelScreen->rotated.size, intelScreen->rotated.offset,
-           intelScreen->rotated.pitch);
    fprintf(stderr, "*** Texture size: 0x%x  offset: 0x%x\n",
            intelScreen->tex.size, intelScreen->tex.offset);
    fprintf(stderr, "*** Memory : 0x%x\n", gDRIPriv->mem);
@@ -351,11 +318,6 @@ intelPrintSAREA(const drmI830Sarea * sarea)
            (unsigned) sarea->depth_handle);
    fprintf(stderr, "SAREA: tex   offset: 0x%08x  size: 0x%x  handle: 0x%x\n",
            sarea->tex_offset, sarea->tex_size, (unsigned) sarea->tex_handle);
-   fprintf(stderr, "SAREA: rotation: %d\n", sarea->rotation);
-   fprintf(stderr,
-           "SAREA: rotated offset: 0x%08x  size: 0x%x\n",
-           sarea->rotated_offset, sarea->rotated_size);
-   fprintf(stderr, "SAREA: rotated pitch: %d\n", sarea->rotated_pitch);
 }
 
 
@@ -409,15 +371,6 @@ intelUpdateScreenFromSAREA(intelScreenPrivate * intelScreen,
    intelScreen->tex.handle = sarea->tex_handle;
    intelScreen->tex.size = sarea->tex_size;
 
-   intelScreen->rotated.offset = sarea->rotated_offset;
-   intelScreen->rotated.pitch = sarea->rotated_pitch * intelScreen->cpp;
-   intelScreen->rotated.size = sarea->rotated_size;
-   intelScreen->current_rotation = sarea->rotation;
-   matrix23Rotate(&intelScreen->rotMatrix,
-                  sarea->width, sarea->height, sarea->rotation);
-   intelScreen->rotatedWidth = sarea->virtualX;
-   intelScreen->rotatedHeight = sarea->virtualY;
-
    if (0)
       intelPrintSAREA(sarea);
 }
index aa0ef2c5090aeb534d37ef9d403961fb54743bf6..26197b760a74aae0f34b8ae3c1ff76cbc2c298bc 100644 (file)
@@ -30,7 +30,6 @@
 
 #include <sys/time.h>
 #include "dri_util.h"
-#include "intel_rotate.h"
 #include "i830_common.h"
 #include "xmlconfig.h"
 #include "dri_bufmgr.h"
@@ -53,7 +52,6 @@ typedef struct
    intelRegion front;
    intelRegion back;
    intelRegion third;
-   intelRegion rotated;
    intelRegion depth;
    intelRegion tex;
 
@@ -61,7 +59,6 @@ typedef struct
    struct intel_region *back_region;
    struct intel_region *third_region;
    struct intel_region *depth_region;
-   struct intel_region *rotated_region;
 
    int deviceID;
    int width;
@@ -82,11 +79,6 @@ typedef struct
    int irq_active;
    int allow_batchbuffer;
 
-   struct matrix23 rotMatrix;
-
-   int current_rotation;        /* 0, 90, 180 or 270 */
-   int rotatedWidth, rotatedHeight;
-
    /**
    * Configuration cache with default values for all contexts
    */
@@ -128,7 +120,4 @@ intelCopySubBuffer(__DRIdrawablePrivate * dPriv, int x, int y, int w, int h);
 
 extern struct intel_context *intelScreenContext(intelScreenPrivate *intelScreen);
 
-extern void
-intelUpdateScreenRotation(__DRIscreenPrivate * sPriv, drmI830Sarea * sarea);
-
 #endif