From a5c4bbd779b4d417dc70d2da5bccdeb7caa1c6a0 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sat, 6 Jun 2009 09:45:58 +0100 Subject: [PATCH] --- yaml --- r: 148709 b: refs/heads/master c: 5f26a2c7ad6eba97141e8372f3def282f934b169 h: refs/heads/master i: 148707: 9921562cc300343bc6c9011aef043e81be67253d v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/i915/i915_gem.c | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index fca277e2297f..ee6a6b65a5a5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 83d60795157c83389e6aaa0532d5e19afa976a24 +refs/heads/master: 5f26a2c7ad6eba97141e8372f3def282f934b169 diff --git a/trunk/drivers/gpu/drm/i915/i915_gem.c b/trunk/drivers/gpu/drm/i915/i915_gem.c index ac22668b239a..2d705e8a297e 100644 --- a/trunk/drivers/gpu/drm/i915/i915_gem.c +++ b/trunk/drivers/gpu/drm/i915/i915_gem.c @@ -3369,8 +3369,12 @@ i915_gem_execbuffer(struct drm_device *dev, void *data, /* Set the pending read domains for the batch buffer to COMMAND */ batch_obj = object_list[args->buffer_count-1]; - batch_obj->pending_read_domains = I915_GEM_DOMAIN_COMMAND; - batch_obj->pending_write_domain = 0; + if (batch_obj->pending_write_domain) { + DRM_ERROR("Attempting to use self-modifying batch buffer\n"); + ret = -EINVAL; + goto err; + } + batch_obj->pending_read_domains |= I915_GEM_DOMAIN_COMMAND; /* Sanity check the batch buffer, prior to moving objects */ exec_offset = exec_list[args->buffer_count - 1].offset;