[cairo-commit] src/drm
Chris Wilson
ickle at kemper.freedesktop.org
Wed Feb 10 04:02:12 PST 2010
src/drm/cairo-drm-intel.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
New commits:
commit fb5af4ae407044d1c0d0144ec13f5951075426a3
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Wed Feb 10 12:00:59 2010 +0000
drm/intel: An interrupted SET_TILING modifies the input parameters
If a signal interrupts the SET_TILING ioctl, the tiling and stride
values are updated to reflect the current condition of the buffer, so we
need to restore those to the desired values before repeating the ioctl.
diff --git a/src/drm/cairo-drm-intel.c b/src/drm/cairo-drm-intel.c
index 334c07c..748acee 100644
--- a/src/drm/cairo-drm-intel.c
+++ b/src/drm/cairo-drm-intel.c
@@ -538,11 +538,11 @@ intel_bo_set_tiling (const intel_device_t *device,
if (bo->virtual)
intel_bo_unmap (bo);
- set_tiling.handle = bo->base.handle;
- set_tiling.tiling_mode = tiling;
- set_tiling.stride = stride;
-
do {
+ set_tiling.handle = bo->base.handle;
+ set_tiling.tiling_mode = tiling;
+ set_tiling.stride = stride;
+
ret = ioctl (device->base.fd, DRM_IOCTL_I915_GEM_SET_TILING, &set_tiling);
} while (ret == -1 && errno == EINTR);
if (ret == 0) {
More information about the cairo-commit
mailing list