Mesa (master): intel: Align region height as required for tiled regions.

Eric Anholt anholt at kemper.freedesktop.org
Sat Aug 8 01:33:36 UTC 2009


Module: Mesa
Branch: master
Commit: ceb8afcca5b0a52b005a782ea54b301beaee1a15
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ceb8afcca5b0a52b005a782ea54b301beaee1a15

Author: Eric Anholt <eric at anholt.net>
Date:   Fri Aug  7 18:09:31 2009 -0700

intel: Align region height as required for tiled regions.

Otherwise, we would address beyond the end of our buffers.  Fixes reliable
GPU segfault with texture_tiling=true and oglconform shadow.c.

Bug #22406.

---

 src/mesa/drivers/dri/intel/intel_regions.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/intel/intel_regions.c b/src/mesa/drivers/dri/intel/intel_regions.c
index 69574f2..497f796 100644
--- a/src/mesa/drivers/dri/intel/intel_regions.c
+++ b/src/mesa/drivers/dri/intel/intel_regions.c
@@ -181,6 +181,11 @@ intel_region_alloc(struct intel_context *intel,
    dri_bo *buffer;
    struct intel_region *region;
 
+   if (tiling == I915_TILING_X)
+      height = ALIGN(height, 8);
+   else if (tiling == I915_TILING_Y)
+      height = ALIGN(height, 32);
+
    if (expect_accelerated_upload) {
       buffer = drm_intel_bo_alloc_for_render(intel->bufmgr, "region",
 					     pitch * cpp * height, 64);




More information about the mesa-commit mailing list