diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2011-03-27 16:17:54 +0200 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2011-03-29 22:49:09 +0200 |
commit | 8ab88c9af062512dee6dc2c43d400a71b165c284 (patch) | |
tree | a62898d83904150ef21e93c87c65979d9e5ce98e /lib/intel_batchbuffer.c | |
parent | 2374af20feaaeac849b9a506aeb1e8e9028e5ff7 (diff) |
lib: execbuffer2 support
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'lib/intel_batchbuffer.c')
-rw-r--r-- | lib/intel_batchbuffer.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/intel_batchbuffer.c b/lib/intel_batchbuffer.c index 14446df6..a2f9ae71 100644 --- a/lib/intel_batchbuffer.c +++ b/lib/intel_batchbuffer.c @@ -122,7 +122,8 @@ intel_batchbuffer_flush(struct intel_batchbuffer *batch) void intel_batchbuffer_emit_reloc(struct intel_batchbuffer *batch, drm_intel_bo *buffer, uint32_t delta, - uint32_t read_domains, uint32_t write_domain) + uint32_t read_domains, uint32_t write_domain, + int fenced) { int ret; @@ -132,9 +133,14 @@ intel_batchbuffer_emit_reloc(struct intel_batchbuffer *batch, (int)(batch->ptr - batch->buffer), BATCH_SZ); - ret = drm_intel_bo_emit_reloc(batch->bo, batch->ptr - batch->buffer, - buffer, delta, - read_domains, write_domain); + if (fenced) + ret = drm_intel_bo_emit_reloc_fence(batch->bo, batch->ptr - batch->buffer, + buffer, delta, + read_domains, write_domain); + else + ret = drm_intel_bo_emit_reloc(batch->bo, batch->ptr - batch->buffer, + buffer, delta, + read_domains, write_domain); intel_batchbuffer_emit_dword(batch, buffer->offset + delta); assert(ret == 0); } |