diff options
Diffstat (limited to 'src/mesa')
| -rw-r--r-- | src/mesa/drivers/dri/i915/i830_state.c | 32 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/i915/i915_state.c | 43 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/intel/intel_regions.c | 6 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/intel/intel_screen.c | 26 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/intel/intel_screen.h | 7 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/intel/intel_tex_copy.c | 2 | ||||
| -rw-r--r-- | src/mesa/drivers/dri/intel/intel_tex_format.c | 2 | 
7 files changed, 13 insertions, 105 deletions
diff --git a/src/mesa/drivers/dri/i915/i830_state.c b/src/mesa/drivers/dri/i915/i830_state.c index 3c149e6905..e44a7dfca1 100644 --- a/src/mesa/drivers/dri/i915/i830_state.c +++ b/src/mesa/drivers/dri/i915/i830_state.c @@ -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; diff --git a/src/mesa/drivers/dri/i915/i915_state.c b/src/mesa/drivers/dri/i915/i915_state.c index 21d2fe6289..c814f8d532 100644 --- a/src/mesa/drivers/dri/i915/i915_state.c +++ b/src/mesa/drivers/dri/i915/i915_state.c @@ -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); diff --git a/src/mesa/drivers/dri/intel/intel_regions.c b/src/mesa/drivers/dri/intel/intel_regions.c index a5de01a3a8..6e127dc31e 100644 --- a/src/mesa/drivers/dri/intel/intel_regions.c +++ b/src/mesa/drivers/dri/intel/intel_regions.c @@ -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); diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index 504bc918eb..247fc4c5bc 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -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)) { diff --git a/src/mesa/drivers/dri/intel/intel_screen.h b/src/mesa/drivers/dri/intel/intel_screen.h index c1bf5bf8d3..b1ca500008 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.h +++ b/src/mesa/drivers/dri/intel/intel_screen.h @@ -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; diff --git a/src/mesa/drivers/dri/intel/intel_tex_copy.c b/src/mesa/drivers/dri/intel/intel_tex_copy.c index 521ce06640..7facc469f4 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_copy.c +++ b/src/mesa/drivers/dri/intel/intel_tex_copy.c @@ -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: diff --git a/src/mesa/drivers/dri/intel/intel_tex_format.c b/src/mesa/drivers/dri/intel/intel_tex_format.c index 51ea1e69cb..349a29bd71 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_format.c +++ b/src/mesa/drivers/dri/intel/intel_tex_format.c @@ -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:  | 
