Commit 64e5fcc6 authored by Dave Airlie's avatar Dave Airlie

Merge tag 'drm-intel-fixes-2014-11-13' of git://anongit.freedesktop.org/drm-intel into drm-fixes

one regression fix.

* tag 'drm-intel-fixes-2014-11-13' of git://anongit.freedesktop.org/drm-intel:
  drm/i915: Fix obj->map_and_fenceable across tiling changes
parents 5f2fcdbd e9d784d5
...@@ -364,22 +364,9 @@ i915_gem_set_tiling(struct drm_device *dev, void *data, ...@@ -364,22 +364,9 @@ i915_gem_set_tiling(struct drm_device *dev, void *data,
* has to also include the unfenced register the GPU uses * has to also include the unfenced register the GPU uses
* whilst executing a fenced command for an untiled object. * whilst executing a fenced command for an untiled object.
*/ */
if (obj->map_and_fenceable &&
obj->map_and_fenceable = !i915_gem_object_fence_ok(obj, args->tiling_mode))
!i915_gem_obj_ggtt_bound(obj) || ret = i915_gem_object_ggtt_unbind(obj);
(i915_gem_obj_ggtt_offset(obj) +
obj->base.size <= dev_priv->gtt.mappable_end &&
i915_gem_object_fence_ok(obj, args->tiling_mode));
/* Rebind if we need a change of alignment */
if (!obj->map_and_fenceable) {
u32 unfenced_align =
i915_gem_get_gtt_alignment(dev, obj->base.size,
args->tiling_mode,
false);
if (i915_gem_obj_ggtt_offset(obj) & (unfenced_align - 1))
ret = i915_gem_object_ggtt_unbind(obj);
}
if (ret == 0) { if (ret == 0) {
obj->fence_dirty = obj->fence_dirty =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment