diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2012-06-12 12:07:09 -0700 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2012-07-10 15:09:58 -0700 |
commit | 860d5bdf984730f69cd19b4f7145f3c84b57d33d (patch) | |
tree | dfff53f1153543e04713fe5a12b0030c87972c72 /src/mesa/drivers/dri/intel | |
parent | 4fae5e32d5272986e9e64303eadc974d57e7b3ed (diff) |
i965: Add hardware context support.
With fixes and updates from Ben Widawsky and comments from Paul Berry.
v2: Use drm_intel_gem_context_destroy to destroy hardware context;
remove useless initialization of hw_ctx, both suggested by Eric.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Acked-by: Paul Berry <stereotype441@gmail.com>
Diffstat (limited to 'src/mesa/drivers/dri/intel')
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_batchbuffer.c | 9 | ||||
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_context.h | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_batchbuffer.c b/src/mesa/drivers/dri/intel/intel_batchbuffer.c index 76a69f7c88d..a1b5ccc4204 100644 --- a/src/mesa/drivers/dri/intel/intel_batchbuffer.c +++ b/src/mesa/drivers/dri/intel/intel_batchbuffer.c @@ -188,8 +188,13 @@ do_flush_locked(struct intel_context *intel) if (ret == 0) { if (unlikely(INTEL_DEBUG & DEBUG_AUB) && intel->vtbl.annotate_aub) intel->vtbl.annotate_aub(intel); - ret = drm_intel_bo_mrb_exec(batch->bo, 4*batch->used, NULL, 0, 0, - flags); + if (intel->hw_ctx == NULL || batch->is_blit) { + ret = drm_intel_bo_mrb_exec(batch->bo, 4 * batch->used, NULL, 0, 0, + flags); + } else { + ret = drm_intel_gem_bo_context_exec(batch->bo, intel->hw_ctx, + 4 * batch->used, flags); + } } } diff --git a/src/mesa/drivers/dri/intel/intel_context.h b/src/mesa/drivers/dri/intel/intel_context.h index cc3ee0d3592..29ab187c3e7 100644 --- a/src/mesa/drivers/dri/intel/intel_context.h +++ b/src/mesa/drivers/dri/intel/intel_context.h @@ -225,6 +225,8 @@ struct intel_context int urb_size; + drm_intel_context *hw_ctx; + struct intel_batchbuffer batch; drm_intel_bo *first_post_swapbuffers_batch; |