[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