summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/i830_uxa.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/i830_uxa.c b/src/i830_uxa.c
index bb1c6161..af43a416 100644
--- a/src/i830_uxa.c
+++ b/src/i830_uxa.c
@@ -615,3 +615,7 @@ i830_uxa_create_pixmap (ScreenPtr screen, int w, int h, int depth, unsigned usag
if (tiling == I915_TILING_NONE) {
- size = stride * h;
+ /* Round the height up so that the GPU's access to a 2x2 aligned
+ * subspan doesn't address an invalid page offset beyond the
+ * end of the GTT.
+ */
+ size = stride * ALIGN(h, 2);
} else {
@@ -622,3 +626,2 @@ i830_uxa_create_pixmap (ScreenPtr screen, int w, int h, int depth, unsigned usag
aligned_h = ALIGN(h, 32);
- assert(aligned_h >= h);