[Intel-gfx] Wait-for-submit on future syncobj
Chris Wilson
chris at chris-wilson.co.uk
Mon May 4 13:54:37 UTC 2020
Quoting Chris Wilson (2020-05-04 14:50:24)
> A simplified example of out-of-order execution that is required by iris:
>
> struct drm_i915_gem_exec_object2 obj = {
> .offset = 24 << 20,
> .handle = future_submit_batch(i915, 24 << 20),
> .flags = EXEC_OBJECT_PINNED,
> };
> struct drm_i915_gem_exec_fence fence = {
> .handle = syncobj_create(i915, 0),
> };
> struct drm_i915_gem_execbuffer2 execbuf = {
> .buffers_ptr = to_user_pointer(&obj),
> .buffer_count = 1,
> .cliprects_ptr = to_user_pointer(&fence),
> .num_cliprects = 1,
> .flags = engine | I915_EXEC_FENCE_ARRAY,
> };
> uint32_t result;
> int out;
>
> /*
> * Here we submit client A waiting on client B, but internally client
> * B has a semaphore that waits on client A. This relies on timeslicing
> * to reorder B before A, even though userspace has asked to submit
A before B
More information about the Intel-gfx
mailing list