[intel] Clean up references to screen buffer metrics.
authorKristian Høgsberg <krh@temari.boston.redhat.com>
Tue, 22 Jan 2008 17:13:16 +0000 (12:13 -0500)
committerKristian Høgsberg <krh@temari.boston.redhat.com>
Tue, 22 Jan 2008 17:14:59 +0000 (12:14 -0500)
The screen wide info such as pitch and cpp are obsoleted by the FBO
changes, so clean up the last few references to those, except for
setting up the legacy screen regions.

src/mesa/drivers/dri/i915/i830_state.c
src/mesa/drivers/dri/i915/i915_state.c
src/mesa/drivers/dri/intel/intel_regions.c
src/mesa/drivers/dri/intel/intel_screen.c
src/mesa/drivers/dri/intel/intel_screen.h
src/mesa/drivers/dri/intel/intel_tex_copy.c
src/mesa/drivers/dri/intel/intel_tex_format.c

index 3c149e69055139774227ff0cffb5c5f1a4458bce..e44a7dfca1f41d19c763a1e92aac97dccef679f1 100644 (file)
@@ -760,7 +760,7 @@ i830Enable(GLcontext * ctx, GLenum cap, GLboolean state)
 
       /* Logicop doesn't seem to work at 16bpp:
        */
-      if (i830->intel.intelScreen->cpp == 2)
+      if (i830->intel.ctx.Visual.rgbBits == 16)
          FALLBACK(&i830->intel, I830_FALLBACK_LOGICOP, state);
       break;
 
@@ -879,8 +879,6 @@ i830Enable(GLcontext * ctx, GLenum cap, GLboolean state)
 static void
 i830_init_packets(struct i830_context *i830)
 {
-   intelScreenPrivate *screen = i830->intel.intelScreen;
-
    /* Zero all state */
    memset(&i830->state, 0, sizeof(i830->state));
 
@@ -1033,35 +1031,7 @@ i830_init_packets(struct i830_context *i830)
 
    i830->state.Stipple[I830_STPREG_ST0] = _3DSTATE_STIPPLE;
 
-   i830->state.Buffer[I830_DESTREG_CBUFADDR0] = _3DSTATE_BUF_INFO_CMD;
-   i830->state.Buffer[I830_DESTREG_CBUFADDR1] = (BUF_3D_ID_COLOR_BACK | BUF_3D_PITCH(screen->front.pitch) |     /* pitch in bytes */
-                                                 BUF_3D_USE_FENCE);
-
-
-   i830->state.Buffer[I830_DESTREG_DBUFADDR0] = _3DSTATE_BUF_INFO_CMD;
-   i830->state.Buffer[I830_DESTREG_DBUFADDR1] = (BUF_3D_ID_DEPTH | BUF_3D_PITCH(screen->depth.pitch) |  /* pitch in bytes */
-                                                 BUF_3D_USE_FENCE);
-
    i830->state.Buffer[I830_DESTREG_DV0] = _3DSTATE_DST_BUF_VARS_CMD;
-
-#if 0
-   switch (screen->fbFormat) {
-   case DV_PF_565:
-      i830->state.Buffer[I830_DESTREG_DV1] = (DSTORG_HORT_BIAS(0x8) |   /* .5 */
-                                              DSTORG_VERT_BIAS(0x8) |   /* .5 */
-                                              screen->fbFormat |
-                                              DEPTH_IS_Z |
-                                              DEPTH_FRMT_16_FIXED);
-      break;
-   case DV_PF_8888:
-      i830->state.Buffer[I830_DESTREG_DV1] = (DSTORG_HORT_BIAS(0x8) |   /* .5 */
-                                              DSTORG_VERT_BIAS(0x8) |   /* .5 */
-                                              screen->fbFormat |
-                                              DEPTH_IS_Z |
-                                              DEPTH_FRMT_24_FIXED_8_OTHER);
-      break;
-   }
-#endif
    i830->state.Buffer[I830_DESTREG_SENABLE] = (_3DSTATE_SCISSOR_ENABLE_CMD |
                                                DISABLE_SCISSOR_RECT);
    i830->state.Buffer[I830_DESTREG_SR0] = _3DSTATE_SCISSOR_RECT_0_CMD;
index 21d2fe6289f76a0749123cf753f4ea989f065e5f..c814f8d532e7a47f44cdda83f1cd798ac48e5673 100644 (file)
@@ -742,7 +742,7 @@ i915Enable(GLcontext * ctx, GLenum cap, GLboolean state)
 
       /* Logicop doesn't seem to work at 16bpp:
        */
-      if (i915->intel.intelScreen->cpp == 2)    /* XXX FBO fix */
+      if (ctx->Visual.rgbBits == 16)
          FALLBACK(&i915->intel, I915_FALLBACK_LOGICOP, state);
       break;
 
@@ -845,8 +845,6 @@ i915Enable(GLcontext * ctx, GLenum cap, GLboolean state)
 static void
 i915_init_packets(struct i915_context *i915)
 {
-   intelScreenPrivate *screen = i915->intel.intelScreen;
-
    /* Zero all state */
    memset(&i915->state, 0, sizeof(i915->state));
 
@@ -864,7 +862,7 @@ i915_init_packets(struct i915_context *i915)
       i915->state.Ctx[I915_CTXREG_LIS4] = 0;
       i915->state.Ctx[I915_CTXREG_LIS5] = 0;
 
-      if (screen->cpp == 2)     /* XXX FBO fix */
+      if (i915->intel.ctx.Visual.rgbBits == 16)
          i915->state.Ctx[I915_CTXREG_LIS5] |= S5_COLOR_DITHER_ENABLE;
 
 
@@ -907,46 +905,9 @@ i915_init_packets(struct i915_context *i915)
       i915->state.Fog[I915_FOGREG_COLOR] = _3DSTATE_FOG_COLOR_CMD;
    }
 
-
    {
-      I915_STATECHANGE(i915, I915_UPLOAD_BUFFERS);
-      /* color buffer offset/stride */
-      i915->state.Buffer[I915_DESTREG_CBUFADDR0] = _3DSTATE_BUF_INFO_CMD;
-      /* XXX FBO: remove this?  Also get set in i915_set_draw_region() */
-      i915->state.Buffer[I915_DESTREG_CBUFADDR1] = (BUF_3D_ID_COLOR_BACK | BUF_3D_PITCH(screen->front.pitch) |  /* pitch in bytes */
-                                                    BUF_3D_USE_FENCE);
-
-      i915->state.Buffer[I915_DESTREG_DBUFADDR0] = _3DSTATE_BUF_INFO_CMD;
-      /* XXX FBO: remove this?  Also get set in i915_set_draw_region() */
-      i915->state.Buffer[I915_DESTREG_DBUFADDR1] = (BUF_3D_ID_DEPTH | BUF_3D_PITCH(screen->depth.pitch) |       /* pitch in bytes */
-                                                    BUF_3D_USE_FENCE);
-
       i915->state.Buffer[I915_DESTREG_DV0] = _3DSTATE_DST_BUF_VARS_CMD;
 
-      /* XXX FBO: remove this?  Also get set in i915_set_draw_region() */
-#if 0                           /* seems we don't need this */
-      switch (screen->fbFormat) {
-      case DV_PF_565:
-         i915->state.Buffer[I915_DESTREG_DV1] = (DSTORG_HORT_BIAS(0x8) |        /* .5 */
-                                                 DSTORG_VERT_BIAS(0x8) |        /* .5 */
-                                                 LOD_PRECLAMP_OGL |
-                                                 TEX_DEFAULT_COLOR_OGL |
-                                                 DITHER_FULL_ALWAYS |
-                                                 screen->fbFormat |
-                                                 DEPTH_FRMT_16_FIXED);
-         break;
-      case DV_PF_8888:
-         i915->state.Buffer[I915_DESTREG_DV1] = (DSTORG_HORT_BIAS(0x8) |        /* .5 */
-                                                 DSTORG_VERT_BIAS(0x8) |        /* .5 */
-                                                 LOD_PRECLAMP_OGL |
-                                                 TEX_DEFAULT_COLOR_OGL |
-                                                 screen->fbFormat |
-                                                 DEPTH_FRMT_24_FIXED_8_OTHER);
-         break;
-      }
-#endif
-
-
       /* scissor */
       i915->state.Buffer[I915_DESTREG_SENABLE] =
          (_3DSTATE_SCISSOR_ENABLE_CMD | DISABLE_SCISSOR_RECT);
index a5de01a3a844718d308fe6a92a1963c9b0c44a0f..6e127dc31e72fbce2b49428bf04416f0bc45c6a5 100644 (file)
@@ -394,8 +394,8 @@ intel_recreate_static(struct intel_context *intel,
       region->refcount = 1;
    }
 
-   region->cpp = intelScreen->cpp;
-   region->pitch = region_desc->pitch / intelScreen->cpp;
+   region->cpp = intel->ctx.Visual.rgbBits / 8;
+   region->pitch = intelScreen->pitch;
    region->height = intelScreen->height;     /* needed? */
    region->tiled = region_desc->tiled;
 
@@ -408,7 +408,7 @@ intel_recreate_static(struct intel_context *intel,
       region->buffer = dri_bo_alloc_static(intel->bufmgr,
                                           name,
                                           region_desc->offset,
-                                          region_desc->pitch *
+                                          intelScreen->pitch *
                                           intelScreen->height,
                                           region_desc->map,
                                           DRM_BO_FLAG_MEM_TT);
index 504bc918eb8cf037aea3aeb9602224560df4d166..247fc4c5bc9955446f1d7d995ee2742b79989981 100644 (file)
@@ -194,13 +194,13 @@ intelPrintDRIInfo(intelScreenPrivate * intelScreen,
 {
    fprintf(stderr, "*** Front size:   0x%x  offset: 0x%x  pitch: %d\n",
            intelScreen->front.size, intelScreen->front.offset,
-           intelScreen->front.pitch);
+           intelScreen->pitch);
    fprintf(stderr, "*** Back size:    0x%x  offset: 0x%x  pitch: %d\n",
            intelScreen->back.size, intelScreen->back.offset,
-           intelScreen->back.pitch);
+           intelScreen->pitch);
    fprintf(stderr, "*** Depth size:   0x%x  offset: 0x%x  pitch: %d\n",
            intelScreen->depth.size, intelScreen->depth.offset,
-           intelScreen->depth.pitch);
+           intelScreen->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);
@@ -239,29 +239,26 @@ intelUpdateScreenFromSAREA(intelScreenPrivate * intelScreen,
 {
    intelScreen->width = sarea->width;
    intelScreen->height = sarea->height;
+   intelScreen->pitch = sarea->pitch;
 
    intelScreen->front.offset = sarea->front_offset;
-   intelScreen->front.pitch = sarea->pitch * intelScreen->cpp;
    intelScreen->front.handle = sarea->front_handle;
    intelScreen->front.size = sarea->front_size;
    intelScreen->front.tiled = sarea->front_tiled;
 
    intelScreen->back.offset = sarea->back_offset;
-   intelScreen->back.pitch = sarea->pitch * intelScreen->cpp;
    intelScreen->back.handle = sarea->back_handle;
    intelScreen->back.size = sarea->back_size;
    intelScreen->back.tiled = sarea->back_tiled;
 
    if (intelScreen->driScrnPriv->ddx_version.minor >= 8) {
       intelScreen->third.offset = sarea->third_offset;
-      intelScreen->third.pitch = sarea->pitch * intelScreen->cpp;
       intelScreen->third.handle = sarea->third_handle;
       intelScreen->third.size = sarea->third_size;
       intelScreen->third.tiled = sarea->third_tiled;
    }
 
    intelScreen->depth.offset = sarea->depth_offset;
-   intelScreen->depth.pitch = sarea->pitch * intelScreen->cpp;
    intelScreen->depth.handle = sarea->depth_handle;
    intelScreen->depth.size = sarea->depth_size;
    intelScreen->depth.tiled = sarea->depth_tiled;
@@ -350,21 +347,6 @@ static GLboolean intelInitDriver(__DRIscreenPrivate *sPriv)
 
    intelScreen->deviceID = gDRIPriv->deviceID;
 
-   intelScreen->mem = gDRIPriv->mem;
-   intelScreen->cpp = gDRIPriv->cpp;
-
-   switch (gDRIPriv->bitsPerPixel) {
-   case 16:
-      intelScreen->fbFormat = DV_PF_565;
-      break;
-   case 32:
-      intelScreen->fbFormat = DV_PF_8888;
-      break;
-   default:
-      exit(1);
-      break;
-   }
-
    intelUpdateScreenFromSAREA(intelScreen, sarea);
 
    if (!intelMapScreenRegions(sPriv)) {
index c1bf5bf8d38468728efdc7b8ff5d97b35d3fee5c..b1ca500008bbbb7042b37fc7319159a50a03e990 100644 (file)
@@ -42,7 +42,6 @@ typedef struct
    drmSize size;                /* region size in bytes */
    char *map;                   /* memory map */
    int offset;                  /* from start of video mem, in bytes */
-   int pitch;                   /* row stride, in bytes */
    unsigned int bo_handle;     /* buffer object id if available, or -1 */
    /**
     * Flags if the region is tiled.
@@ -63,11 +62,7 @@ typedef struct
    int deviceID;
    int width;
    int height;
-   int mem;                     /* unused */
-
-   int cpp;                     /* for front and back buffers */
-/*    int bitsPerPixel;   */
-   int fbFormat;                /* XXX FBO: this is obsolete - remove after i830 updates */
+   int pitch;                   /* common row stride, in pixels */
 
    int logTextureGranularity;
 
index 521ce06640f53e21bb9addcf5486be35af434552..7facc469f4809bbcfe9edceb25b80dbb5a2731e5 100644 (file)
@@ -75,7 +75,7 @@ get_teximage_source(struct intel_context *intel, GLenum internalFormat)
    case GL_RGBA8:
       return intel_readbuf_region(intel);
    case GL_RGB:
-      if (intel->intelScreen->cpp == 2)
+      if (intel->ctx.Visual.rgbBits == 16)
          return intel_readbuf_region(intel);
       return NULL;
    default:
index 51ea1e69cb55acc47daf05b7e39b94917725220f..349a29bd714fecea8d816ed496dca72b36f5aabd 100644 (file)
@@ -16,7 +16,7 @@ intelChooseTextureFormat(GLcontext * ctx, GLint internalFormat,
                          GLenum format, GLenum type)
 {
    struct intel_context *intel = intel_context(ctx);
-   const GLboolean do32bpt = (intel->intelScreen->cpp == 4);
+   const GLboolean do32bpt = (intel->ctx.Visual.rgbBits == 32);
 
    switch (internalFormat) {
    case 4: