Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6a47baa6 authored by Owen Taylor's avatar Owen Taylor Committed by Dave Airlie
Browse files

i915: Don't attempt to short-circuit object_wait_rendering by checking domains.



This could return early when reading after writing a buffer, if somebody
had already put it on the flushing list (write domains are 0, but still
active), leading to glReadPixels failure.

Signed-off-by: default avatarEric Anholt <eric@anholt.net>
Signed-off-by: default avatarDave Airlie <airlied@linux.ie>
parent ad42ca8f
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -1455,11 +1455,9 @@ i915_gem_object_set_domain_range(struct drm_gem_object *obj,
						  read_domains, write_domain);

	/* Wait on any GPU rendering to the object to be flushed. */
	if (obj->write_domain & ~(I915_GEM_DOMAIN_CPU | I915_GEM_DOMAIN_GTT)) {
	ret = i915_gem_object_wait_rendering(obj);
	if (ret)
		return ret;
	}

	if (obj_priv->page_cpu_valid == NULL) {
		obj_priv->page_cpu_valid = drm_calloc(1, obj->size / PAGE_SIZE,