diff options
-rw-r--r-- | src/i830_uxa.c | 7 |
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); |