From: daniel@ffwll.ch
Cc: igt-dev@lists.freedesktop.org
Subject: Re: [igt-dev] [PATCH i-g-t 1/5] drm-uapi: bump i915_drm.h for timeline semaphores
Date: Wed, 29 Jul 2020 14:41:43 +0200 [thread overview]
Message-ID: <20200729124143.GM6419@phenom.ffwll.local> (raw)
In-Reply-To: <20200708132015.334750-2-lionel.g.landwerlin@intel.com>
On Wed, Jul 08, 2020 at 04:20:11PM +0300, Lionel Landwerlin wrote:
> To be updated with proper drm-next snapshot.
I'm assuming you'll respin this with the right sha1 once the kernel side
has made it into drm-next? With that
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
> include/drm-uapi/i915_drm.h | 65 +++++++++++++++++++++++++++++++++++--
> 1 file changed, 62 insertions(+), 3 deletions(-)
>
> diff --git a/include/drm-uapi/i915_drm.h b/include/drm-uapi/i915_drm.h
> index 2b55af13..6de897f0 100644
> --- a/include/drm-uapi/i915_drm.h
> +++ b/include/drm-uapi/i915_drm.h
> @@ -619,6 +619,13 @@ typedef struct drm_i915_irq_wait {
> */
> #define I915_PARAM_PERF_REVISION 54
>
> +/* Query whether DRM_I915_GEM_EXECBUFFER2 supports supplying an array of
> + * timeline syncobj through drm_i915_gem_execbuf_ext_timeline_fences. See
> + * I915_EXEC_USE_EXTENSIONS.
> + */
> +#define I915_PARAM_HAS_EXEC_TIMELINE_FENCES 55
> +
> +
> /* Must be kept compact -- no holes and well documented */
>
> typedef struct drm_i915_getparam {
> @@ -1046,6 +1053,42 @@ struct drm_i915_gem_exec_fence {
> __u32 flags;
> };
>
> +enum drm_i915_gem_execbuffer_ext {
> + /**
> + * See drm_i915_gem_execbuf_ext_timeline_fences.
> + */
> + DRM_I915_GEM_EXECBUFFER_EXT_TIMELINE_FENCES = 1,
> +
> + DRM_I915_GEM_EXECBUFFER_EXT_MAX /* non-ABI */
> +};
> +
> +/**
> + * This structure describes an array of drm_syncobj and associated points for
> + * timeline variants of drm_syncobj. It is invalid to append this structure to
> + * the execbuf if I915_EXEC_FENCE_ARRAY is set.
> + */
> +struct drm_i915_gem_execbuffer_ext_timeline_fences {
> + struct i915_user_extension base;
> +
> + /**
> + * Number of element in the handles_ptr & value_ptr arrays.
> + */
> + __u64 fence_count;
> +
> + /**
> + * Pointer to an array of struct drm_i915_gem_exec_fence of length
> + * fence_count.
> + */
> + __u64 handles_ptr;
> +
> + /**
> + * Pointer to an array of u64 values of length fence_count. Values
> + * must be 0 for a binary drm_syncobj. A Value of 0 for a timeline
> + * drm_syncobj is invalid as it turns a drm_syncobj into a binary one.
> + */
> + __u64 values_ptr;
> +};
> +
> struct drm_i915_gem_execbuffer2 {
> /**
> * List of gem_exec_object2 structs
> @@ -1062,8 +1105,15 @@ struct drm_i915_gem_execbuffer2 {
> __u32 num_cliprects;
> /**
> * This is a struct drm_clip_rect *cliprects if I915_EXEC_FENCE_ARRAY
> - * is not set. If I915_EXEC_FENCE_ARRAY is set, then this is a
> - * struct drm_i915_gem_exec_fence *fences.
> + * & I915_EXEC_USE_EXTENSIONS are not set.
> + *
> + * If I915_EXEC_FENCE_ARRAY is set, then this is a pointer to an array
> + * of struct drm_i915_gem_exec_fence and num_cliprects is the length
> + * of the array.
> + *
> + * If I915_EXEC_USE_EXTENSIONS is set, then this is a pointer to a
> + * single struct drm_i915_gem_base_execbuffer_ext and num_cliprects is
> + * 0.
> */
> __u64 cliprects_ptr;
> #define I915_EXEC_RING_MASK (0x3f)
> @@ -1181,7 +1231,16 @@ struct drm_i915_gem_execbuffer2 {
> */
> #define I915_EXEC_FENCE_SUBMIT (1 << 20)
>
> -#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_FENCE_SUBMIT << 1))
> +/*
> + * Setting I915_EXEC_USE_EXTENSIONS implies that
> + * drm_i915_gem_execbuffer2.cliprects_ptr is treated as a pointer to an linked
> + * list of i915_user_extension. Each i915_user_extension node is the base of a
> + * larger structure. The list of supported structures are listed in the
> + * drm_i915_gem_execbuffer_ext enum.
> + */
> +#define I915_EXEC_USE_EXTENSIONS (1 << 21)
> +
> +#define __I915_EXEC_UNKNOWN_FLAGS (-(I915_EXEC_USE_EXTENSIONS<<1))
>
> #define I915_EXEC_CONTEXT_ID_MASK (0xffffffff)
> #define i915_execbuffer2_set_context_id(eb2, context) \
> --
> 2.27.0
>
> _______________________________________________
> igt-dev mailing list
> igt-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
next prev parent reply other threads:[~2020-07-29 12:41 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-08 13:20 [igt-dev] [PATCH i-g-t 0/5] tests: Add timeline semaphore tests Lionel Landwerlin
2020-07-08 13:20 ` [igt-dev] [PATCH i-g-t 1/5] drm-uapi: bump i915_drm.h for timeline semaphores Lionel Landwerlin
2020-07-29 12:41 ` daniel [this message]
2020-07-08 13:20 ` [igt-dev] [PATCH i-g-t 2/5] igt: add timeline test cases Lionel Landwerlin
2020-07-08 13:20 ` [igt-dev] [PATCH i-g-t 3/5] tests/syncobj_timeline: add more timeline tests Lionel Landwerlin
2020-07-08 13:20 ` [igt-dev] [PATCH i-g-t 4/5] tests/i915/exec_fence: add timeline fence tests Lionel Landwerlin
2020-07-08 13:20 ` [igt-dev] [PATCH i-g-t 5/5] tests/i915/gem_exec_fence: add engine chaining tests Lionel Landwerlin
2020-07-08 14:01 ` [igt-dev] ✗ Fi.CI.BAT: failure for tests: Add timeline semaphore tests Patchwork
2020-07-29 13:19 ` [igt-dev] [PATCH i-g-t 0/5] " daniel
-- strict thread matches above, loose matches on Subject: below --
2020-07-31 13:41 Lionel Landwerlin
2020-07-31 13:41 ` [igt-dev] [PATCH i-g-t 1/5] drm-uapi: bump i915_drm.h for timeline semaphores Lionel Landwerlin
2020-08-03 9:00 [igt-dev] [PATCH i-g-t 0/5] tests: Add timeline semaphore tests Lionel Landwerlin
2020-08-03 9:00 ` [igt-dev] [PATCH i-g-t 1/5] drm-uapi: bump i915_drm.h for timeline semaphores Lionel Landwerlin
2020-08-03 13:58 [igt-dev] [PATCH i-g-t 0/5] tests: Add timeline semaphore tests Lionel Landwerlin
2020-08-03 13:58 ` [igt-dev] [PATCH i-g-t 1/5] drm-uapi: bump i915_drm.h for timeline semaphores Lionel Landwerlin
2020-08-04 8:50 [igt-dev] [PATCH i-g-t 0/5] tests: Add timeline semaphore tests Lionel Landwerlin
2020-08-04 8:50 ` [igt-dev] [PATCH i-g-t 1/5] drm-uapi: bump i915_drm.h for timeline semaphores Lionel Landwerlin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200729124143.GM6419@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=igt-dev@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox