diff options
author | Kristian Høgsberg <krh@bitplanet.net> | 2011-04-25 09:53:22 -0400 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2011-04-26 13:26:34 -0400 |
commit | 5dfba09d49ccec2655e4d22ef6f46b9c67862bc9 (patch) | |
tree | 73031f0fabdaf9175d457e85941537bbb494ec0a | |
parent | 7363088f9f9558b2bad3ac6da48947514a8cd790 (diff) |
intel: Use tiling for dri2AllocateBuffer implementation
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_screen.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index bfbfec5f93..7de0d12beb 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -672,12 +672,21 @@ intelAllocateBuffer(__DRIscreen *screen, { struct intel_buffer *intelBuffer; struct intel_screen *intelScreen = screen->private; + uint32_t tiling; intelBuffer = CALLOC(sizeof *intelBuffer); if (intelBuffer == NULL) return NULL; - intelBuffer->region = intel_region_alloc(intelScreen, I915_TILING_NONE, + if ((attachment == __DRI_BUFFER_DEPTH || + attachment == __DRI_BUFFER_STENCIL || + attachment == __DRI_BUFFER_DEPTH_STENCIL) && + intelScreen->gen >= 4) + tiling = I915_TILING_Y; + else + tiling = I915_TILING_X; + + intelBuffer->region = intel_region_alloc(intelScreen, tiling, format / 8, width, height, GL_TRUE); if (intelBuffer->region == NULL) { |