diff mbox series

drm/fourcc: Document open source user waiver

Message ID 20221123192437.1065826-1-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show
Series drm/fourcc: Document open source user waiver | expand

Commit Message

Daniel Vetter Nov. 23, 2022, 7:24 p.m. UTC
It's a bit a FAQ, and we really can't claim to be the authoritative
source for allocating these numbers used in many standard extensions
if we tell closed source or vendor stacks in general to go away.

Iirc this was already clarified in some vulkan discussions, but I
can't find that anywhere anymore. At least not in a public link.

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Alex Deucher <alexdeucher@gmail.com>
Cc: Daniel Stone <daniel@fooishbar.org>
Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: Jason Ekstrand <jason@jlekstrand.net>
Cc: Neil Trevett <ntrevett@nvidia.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 include/uapi/drm/drm_fourcc.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Maxime Ripard Nov. 24, 2022, 7:37 a.m. UTC | #1
On Wed, Nov 23, 2022 at 08:24:37PM +0100, Daniel Vetter wrote:
> It's a bit a FAQ, and we really can't claim to be the authoritative
> source for allocating these numbers used in many standard extensions
> if we tell closed source or vendor stacks in general to go away.
> 
> Iirc this was already clarified in some vulkan discussions, but I
> can't find that anywhere anymore. At least not in a public link.
> 
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Alex Deucher <alexdeucher@gmail.com>
> Cc: Daniel Stone <daniel@fooishbar.org>
> Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
> Cc: Jason Ekstrand <jason@jlekstrand.net>
> Cc: Neil Trevett <ntrevett@nvidia.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Acked-by: Maxime Ripard <maxime@cerno.tech>

Maxime
Daniel Stone Nov. 24, 2022, 9:44 a.m. UTC | #2
On Wed, 23 Nov 2022 at 19:24, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> It's a bit a FAQ, and we really can't claim to be the authoritative
> source for allocating these numbers used in many standard extensions
> if we tell closed source or vendor stacks in general to go away.
>
> Iirc this was already clarified in some vulkan discussions, but I
> can't find that anywhere anymore. At least not in a public link.

I seem to recall the policy being set in an IRC discussion at some
point (or perhaps during the AFBC merge?). This is a good
clarification of what we already do in practice.

Acked-by: Daniel Stone <daniels@collabora.com>
Daniel Vetter Dec. 1, 2022, 10:07 a.m. UTC | #3
On Wed, Nov 23, 2022 at 08:24:37PM +0100, Daniel Vetter wrote:
> It's a bit a FAQ, and we really can't claim to be the authoritative
> source for allocating these numbers used in many standard extensions
> if we tell closed source or vendor stacks in general to go away.
> 
> Iirc this was already clarified in some vulkan discussions, but I
> can't find that anywhere anymore. At least not in a public link.
> 
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Alex Deucher <alexdeucher@gmail.com>
> Cc: Daniel Stone <daniel@fooishbar.org>
> Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
> Cc: Jason Ekstrand <jason@jlekstrand.net>
> Cc: Neil Trevett <ntrevett@nvidia.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

From irc:

<airlied> danvet: ack from me

> ---
>  include/uapi/drm/drm_fourcc.h | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h
> index bc056f2d537d..de703c6be969 100644
> --- a/include/uapi/drm/drm_fourcc.h
> +++ b/include/uapi/drm/drm_fourcc.h
> @@ -88,6 +88,18 @@ extern "C" {
>   *
>   * The authoritative list of format modifier codes is found in
>   * `include/uapi/drm/drm_fourcc.h`
> + *
> + * Open Source User Waiver
> + * -----------------------
> + *
> + * Because this is the authoritative source for pixel formats and modifiers
> + * referenced by GL, Vulkan extensions and other standards and hence used both
> + * by open source and closed source driver stacks, the usual requirement for an
> + * upstream in-kernel or open source userspace user does not apply.
> + *
> + * To ensure, as much as feasible, compatibility across stacks and avoid
> + * confusion with incompatible enumerations stakeholders for all relevant driver
> + * stacks should approve additions.
>   */
>  
>  #define fourcc_code(a, b, c, d) ((__u32)(a) | ((__u32)(b) << 8) | \
> -- 
> 2.37.2
>
Daniel Vetter Dec. 1, 2022, 10:21 a.m. UTC | #4
On Thu, 1 Dec 2022 at 11:07, Daniel Vetter <daniel@ffwll.ch> wrote:
>
> On Wed, Nov 23, 2022 at 08:24:37PM +0100, Daniel Vetter wrote:
> > It's a bit a FAQ, and we really can't claim to be the authoritative
> > source for allocating these numbers used in many standard extensions
> > if we tell closed source or vendor stacks in general to go away.
> >
> > Iirc this was already clarified in some vulkan discussions, but I
> > can't find that anywhere anymore. At least not in a public link.
> >
> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > Cc: Maxime Ripard <mripard@kernel.org>
> > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> > Cc: David Airlie <airlied@gmail.com>
> > Cc: Daniel Vetter <daniel@ffwll.ch>
> > Cc: Alex Deucher <alexdeucher@gmail.com>
> > Cc: Daniel Stone <daniel@fooishbar.org>
> > Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
> > Cc: Jason Ekstrand <jason@jlekstrand.net>
> > Cc: Neil Trevett <ntrevett@nvidia.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
>
> From irc:
>
> <airlied> danvet: ack from me

Also from irc:

<mareko> danvet: Acked

-Daniel

> > ---
> >  include/uapi/drm/drm_fourcc.h | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> >
> > diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h
> > index bc056f2d537d..de703c6be969 100644
> > --- a/include/uapi/drm/drm_fourcc.h
> > +++ b/include/uapi/drm/drm_fourcc.h
> > @@ -88,6 +88,18 @@ extern "C" {
> >   *
> >   * The authoritative list of format modifier codes is found in
> >   * `include/uapi/drm/drm_fourcc.h`
> > + *
> > + * Open Source User Waiver
> > + * -----------------------
> > + *
> > + * Because this is the authoritative source for pixel formats and modifiers
> > + * referenced by GL, Vulkan extensions and other standards and hence used both
> > + * by open source and closed source driver stacks, the usual requirement for an
> > + * upstream in-kernel or open source userspace user does not apply.
> > + *
> > + * To ensure, as much as feasible, compatibility across stacks and avoid
> > + * confusion with incompatible enumerations stakeholders for all relevant driver
> > + * stacks should approve additions.
> >   */
> >
> >  #define fourcc_code(a, b, c, d) ((__u32)(a) | ((__u32)(b) << 8) | \
> > --
> > 2.37.2
> >
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
Jason Ekstrand Dec. 1, 2022, 7:47 p.m. UTC | #5
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>

On Thu, Dec 1, 2022 at 4:22 AM Daniel Vetter <daniel.vetter@ffwll.ch> wrote:

> On Thu, 1 Dec 2022 at 11:07, Daniel Vetter <daniel@ffwll.ch> wrote:
> >
> > On Wed, Nov 23, 2022 at 08:24:37PM +0100, Daniel Vetter wrote:
> > > It's a bit a FAQ, and we really can't claim to be the authoritative
> > > source for allocating these numbers used in many standard extensions
> > > if we tell closed source or vendor stacks in general to go away.
> > >
> > > Iirc this was already clarified in some vulkan discussions, but I
> > > can't find that anywhere anymore. At least not in a public link.
> > >
> > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > > Cc: Maxime Ripard <mripard@kernel.org>
> > > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> > > Cc: David Airlie <airlied@gmail.com>
> > > Cc: Daniel Vetter <daniel@ffwll.ch>
> > > Cc: Alex Deucher <alexdeucher@gmail.com>
> > > Cc: Daniel Stone <daniel@fooishbar.org>
> > > Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
> > > Cc: Jason Ekstrand <jason@jlekstrand.net>
> > > Cc: Neil Trevett <ntrevett@nvidia.com>
> > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> >
> > From irc:
> >
> > <airlied> danvet: ack from me
>
> Also from irc:
>
> <mareko> danvet: Acked
>
> -Daniel
>
> > > ---
> > >  include/uapi/drm/drm_fourcc.h | 12 ++++++++++++
> > >  1 file changed, 12 insertions(+)
> > >
> > > diff --git a/include/uapi/drm/drm_fourcc.h
> b/include/uapi/drm/drm_fourcc.h
> > > index bc056f2d537d..de703c6be969 100644
> > > --- a/include/uapi/drm/drm_fourcc.h
> > > +++ b/include/uapi/drm/drm_fourcc.h
> > > @@ -88,6 +88,18 @@ extern "C" {
> > >   *
> > >   * The authoritative list of format modifier codes is found in
> > >   * `include/uapi/drm/drm_fourcc.h`
> > > + *
> > > + * Open Source User Waiver
> > > + * -----------------------
> > > + *
> > > + * Because this is the authoritative source for pixel formats and
> modifiers
> > > + * referenced by GL, Vulkan extensions and other standards and hence
> used both
> > > + * by open source and closed source driver stacks, the usual
> requirement for an
> > > + * upstream in-kernel or open source userspace user does not apply.
> > > + *
> > > + * To ensure, as much as feasible, compatibility across stacks and
> avoid
> > > + * confusion with incompatible enumerations stakeholders for all
> relevant driver
> > > + * stacks should approve additions.
> > >   */
> > >
> > >  #define fourcc_code(a, b, c, d) ((__u32)(a) | ((__u32)(b) << 8) | \
> > > --
> > > 2.37.2
> > >
> >
> > --
> > Daniel Vetter
> > Software Engineer, Intel Corporation
> > http://blog.ffwll.ch
>
>
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
>
Bas Nieuwenhuizen Dec. 2, 2022, 1:14 a.m. UTC | #6
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>

On Thu, Dec 1, 2022 at 8:47 PM Jason Ekstrand <jason@jlekstrand.net> wrote:
>
> Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
>
> On Thu, Dec 1, 2022 at 4:22 AM Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>>
>> On Thu, 1 Dec 2022 at 11:07, Daniel Vetter <daniel@ffwll.ch> wrote:
>> >
>> > On Wed, Nov 23, 2022 at 08:24:37PM +0100, Daniel Vetter wrote:
>> > > It's a bit a FAQ, and we really can't claim to be the authoritative
>> > > source for allocating these numbers used in many standard extensions
>> > > if we tell closed source or vendor stacks in general to go away.
>> > >
>> > > Iirc this was already clarified in some vulkan discussions, but I
>> > > can't find that anywhere anymore. At least not in a public link.
>> > >
>> > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> > > Cc: Maxime Ripard <mripard@kernel.org>
>> > > Cc: Thomas Zimmermann <tzimmermann@suse.de>
>> > > Cc: David Airlie <airlied@gmail.com>
>> > > Cc: Daniel Vetter <daniel@ffwll.ch>
>> > > Cc: Alex Deucher <alexdeucher@gmail.com>
>> > > Cc: Daniel Stone <daniel@fooishbar.org>
>> > > Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
>> > > Cc: Jason Ekstrand <jason@jlekstrand.net>
>> > > Cc: Neil Trevett <ntrevett@nvidia.com>
>> > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
>> >
>> > From irc:
>> >
>> > <airlied> danvet: ack from me
>>
>> Also from irc:
>>
>> <mareko> danvet: Acked
>>
>> -Daniel
>>
>> > > ---
>> > >  include/uapi/drm/drm_fourcc.h | 12 ++++++++++++
>> > >  1 file changed, 12 insertions(+)
>> > >
>> > > diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h
>> > > index bc056f2d537d..de703c6be969 100644
>> > > --- a/include/uapi/drm/drm_fourcc.h
>> > > +++ b/include/uapi/drm/drm_fourcc.h
>> > > @@ -88,6 +88,18 @@ extern "C" {
>> > >   *
>> > >   * The authoritative list of format modifier codes is found in
>> > >   * `include/uapi/drm/drm_fourcc.h`
>> > > + *
>> > > + * Open Source User Waiver
>> > > + * -----------------------
>> > > + *
>> > > + * Because this is the authoritative source for pixel formats and modifiers
>> > > + * referenced by GL, Vulkan extensions and other standards and hence used both
>> > > + * by open source and closed source driver stacks, the usual requirement for an
>> > > + * upstream in-kernel or open source userspace user does not apply.
>> > > + *
>> > > + * To ensure, as much as feasible, compatibility across stacks and avoid
>> > > + * confusion with incompatible enumerations stakeholders for all relevant driver
>> > > + * stacks should approve additions.
>> > >   */
>> > >
>> > >  #define fourcc_code(a, b, c, d) ((__u32)(a) | ((__u32)(b) << 8) | \
>> > > --
>> > > 2.37.2
>> > >
>> >
>> > --
>> > Daniel Vetter
>> > Software Engineer, Intel Corporation
>> > http://blog.ffwll.ch
>>
>>
>>
>> --
>> Daniel Vetter
>> Software Engineer, Intel Corporation
>> http://blog.ffwll.ch
Daniel Vetter Jan. 5, 2023, 12:19 p.m. UTC | #7
Thanks for all the acks, added them all and applied the patch.
-Daniel

On Fri, Dec 02, 2022 at 02:14:03AM +0100, Bas Nieuwenhuizen wrote:
> Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
> 
> On Thu, Dec 1, 2022 at 8:47 PM Jason Ekstrand <jason@jlekstrand.net> wrote:
> >
> > Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com>
> >
> > On Thu, Dec 1, 2022 at 4:22 AM Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> >>
> >> On Thu, 1 Dec 2022 at 11:07, Daniel Vetter <daniel@ffwll.ch> wrote:
> >> >
> >> > On Wed, Nov 23, 2022 at 08:24:37PM +0100, Daniel Vetter wrote:
> >> > > It's a bit a FAQ, and we really can't claim to be the authoritative
> >> > > source for allocating these numbers used in many standard extensions
> >> > > if we tell closed source or vendor stacks in general to go away.
> >> > >
> >> > > Iirc this was already clarified in some vulkan discussions, but I
> >> > > can't find that anywhere anymore. At least not in a public link.
> >> > >
> >> > > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> >> > > Cc: Maxime Ripard <mripard@kernel.org>
> >> > > Cc: Thomas Zimmermann <tzimmermann@suse.de>
> >> > > Cc: David Airlie <airlied@gmail.com>
> >> > > Cc: Daniel Vetter <daniel@ffwll.ch>
> >> > > Cc: Alex Deucher <alexdeucher@gmail.com>
> >> > > Cc: Daniel Stone <daniel@fooishbar.org>
> >> > > Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
> >> > > Cc: Jason Ekstrand <jason@jlekstrand.net>
> >> > > Cc: Neil Trevett <ntrevett@nvidia.com>
> >> > > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> >> >
> >> > From irc:
> >> >
> >> > <airlied> danvet: ack from me
> >>
> >> Also from irc:
> >>
> >> <mareko> danvet: Acked
> >>
> >> -Daniel
> >>
> >> > > ---
> >> > >  include/uapi/drm/drm_fourcc.h | 12 ++++++++++++
> >> > >  1 file changed, 12 insertions(+)
> >> > >
> >> > > diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h
> >> > > index bc056f2d537d..de703c6be969 100644
> >> > > --- a/include/uapi/drm/drm_fourcc.h
> >> > > +++ b/include/uapi/drm/drm_fourcc.h
> >> > > @@ -88,6 +88,18 @@ extern "C" {
> >> > >   *
> >> > >   * The authoritative list of format modifier codes is found in
> >> > >   * `include/uapi/drm/drm_fourcc.h`
> >> > > + *
> >> > > + * Open Source User Waiver
> >> > > + * -----------------------
> >> > > + *
> >> > > + * Because this is the authoritative source for pixel formats and modifiers
> >> > > + * referenced by GL, Vulkan extensions and other standards and hence used both
> >> > > + * by open source and closed source driver stacks, the usual requirement for an
> >> > > + * upstream in-kernel or open source userspace user does not apply.
> >> > > + *
> >> > > + * To ensure, as much as feasible, compatibility across stacks and avoid
> >> > > + * confusion with incompatible enumerations stakeholders for all relevant driver
> >> > > + * stacks should approve additions.
> >> > >   */
> >> > >
> >> > >  #define fourcc_code(a, b, c, d) ((__u32)(a) | ((__u32)(b) << 8) | \
> >> > > --
> >> > > 2.37.2
> >> > >
> >> >
> >> > --
> >> > Daniel Vetter
> >> > Software Engineer, Intel Corporation
> >> > http://blog.ffwll.ch
> >>
> >>
> >>
> >> --
> >> Daniel Vetter
> >> Software Engineer, Intel Corporation
> >> http://blog.ffwll.ch
diff mbox series

Patch

diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h
index bc056f2d537d..de703c6be969 100644
--- a/include/uapi/drm/drm_fourcc.h
+++ b/include/uapi/drm/drm_fourcc.h
@@ -88,6 +88,18 @@  extern "C" {
  *
  * The authoritative list of format modifier codes is found in
  * `include/uapi/drm/drm_fourcc.h`
+ *
+ * Open Source User Waiver
+ * -----------------------
+ *
+ * Because this is the authoritative source for pixel formats and modifiers
+ * referenced by GL, Vulkan extensions and other standards and hence used both
+ * by open source and closed source driver stacks, the usual requirement for an
+ * upstream in-kernel or open source userspace user does not apply.
+ *
+ * To ensure, as much as feasible, compatibility across stacks and avoid
+ * confusion with incompatible enumerations stakeholders for all relevant driver
+ * stacks should approve additions.
  */
 
 #define fourcc_code(a, b, c, d) ((__u32)(a) | ((__u32)(b) << 8) | \