Populate the stride field when creating gbm_bos
BUG=chromium:394868,chromium:402597,chromium:413947,chromium:412508
TEST=compiled & verified stride value on pixel
Change-Id: I5555289a9549b803ee29a7d4fbf75987b02afa1b
Reviewed-on: https://chromium-review.googlesource.com/219865
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Tested-by: Daniel Nicoara <dnicoara@chromium.org>
diff --git a/i915.c b/i915.c
index 1dd67a0..8d120c4 100644
--- a/i915.c
+++ b/i915.c
@@ -108,13 +108,15 @@
else if (flags & GBM_BO_USE_RENDERING)
tiling_mode = I915_TILING_Y;
+ bo->stride = i915_get_pitch(bo->gbm,
+ width * gbm_bytes_from_format(format),
+ tiling_mode);
+
memset(&gem_set_tiling, 0, sizeof(gem_set_tiling));
do {
gem_set_tiling.handle = bo->handle.u32;
gem_set_tiling.tiling_mode = tiling_mode;
- gem_set_tiling.stride = i915_get_pitch(bo->gbm,
- width * gbm_bytes_from_format(format),
- tiling_mode);
+ gem_set_tiling.stride = bo->stride;
ret = drmIoctl(bo->gbm->fd, DRM_IOCTL_I915_GEM_SET_TILING, &gem_set_tiling);
} while (ret == -1 && (errno == EINTR || errno == EAGAIN));