On Tue, Apr 29, 2014 at 4:34 PM, Eric Anholt <e...@anholt.net> wrote: > --- > src/mesa/drivers/dri/i965/intel_screen.c | 30 +++++++++++++++++------------- > 1 file changed, 17 insertions(+), 13 deletions(-)
Oh, right, I forgot about the __DRIbuffer usage. This really show how intel_region just added redundancy. Reviewed-by: Kristian Høgsberg <k...@bitplanet.net> > diff --git a/src/mesa/drivers/dri/i965/intel_screen.c > b/src/mesa/drivers/dri/i965/intel_screen.c > index ab95a39..454f1cb 100644 > --- a/src/mesa/drivers/dri/i965/intel_screen.c > +++ b/src/mesa/drivers/dri/i965/intel_screen.c > @@ -1371,7 +1371,7 @@ __DRIconfig **intelInitScreen2(__DRIscreen *psp) > > struct intel_buffer { > __DRIbuffer base; > - struct intel_region *region; > + drm_intel_bo *bo; > }; > > static __DRIbuffer * > @@ -1390,23 +1390,27 @@ intelAllocateBuffer(__DRIscreen *screen, > return NULL; > > /* The front and back buffers are color buffers, which are X tiled. */ > - intelBuffer->region = intel_region_alloc(intelScreen, > - I915_TILING_X, > - format / 8, > - width, > - height, > - true); > - > - if (intelBuffer->region == NULL) { > + uint32_t tiling = I915_TILING_X; > + unsigned long pitch; > + int cpp = format / 8; > + intelBuffer->bo = drm_intel_bo_alloc_tiled(intelScreen->bufmgr, > + "intelAllocateBuffer", > + width, > + height, > + cpp, > + &tiling, &pitch, > + BO_ALLOC_FOR_RENDER); > + > + if (intelBuffer->bo == NULL) { > free(intelBuffer); > return NULL; > } > > - drm_intel_bo_flink(intelBuffer->region->bo, &intelBuffer->base.name); > + drm_intel_bo_flink(intelBuffer->bo, &intelBuffer->base.name); > > intelBuffer->base.attachment = attachment; > - intelBuffer->base.cpp = intelBuffer->region->cpp; > - intelBuffer->base.pitch = intelBuffer->region->pitch; > + intelBuffer->base.cpp = cpp; > + intelBuffer->base.pitch = pitch; > > return &intelBuffer->base; > } > @@ -1416,7 +1420,7 @@ intelReleaseBuffer(__DRIscreen *screen, __DRIbuffer > *buffer) > { > struct intel_buffer *intelBuffer = (struct intel_buffer *) buffer; > > - intel_region_release(&intelBuffer->region); > + drm_intel_bo_unreference(&intelBuffer->bo); > free(intelBuffer); > } > > -- > 1.9.2 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev