All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] gpu/docs: Clarify what userspace means for gl
@ 2019-04-24 13:46 Daniel Vetter
  2019-04-24 14:24 ` Zhou, David(ChunMing)
  0 siblings, 1 reply; 8+ messages in thread
From: Daniel Vetter @ 2019-04-24 13:46 UTC (permalink / raw)
  To: DRI Development, Mesa Dev
  Cc: Jérôme Glisse, Daniel Vetter, Karol Herbst,
	Kenneth Graunke, Ben Skeggs, Daniel Vetter, Sean Paul

Clear rules avoid arguing.

Note that this just aims to document current expectations. If that
shifts (e.g. because gl isn't the main api anymore, replaced by vk),
then we need to update this text.

I think it'd be good to have an equally solid list on the kms side.
But kms is much more meant to be a standard, and the list of userspace
projects we've accepted in the past is constantly shifting and
adjusting. So I figured I'll leave that as an exercise for later on.

v2: Try to clarify that we don't want a mesa driver just for mesa's
sake, and more clearly exclude anything that just doesn't make sense
technically.  Example would be a compute driver that makes sense to be
merged into drm (for kernel side code-sharing), but where the intended
use is some single-source CUDA-style compute without ever bothering
about any of the 3D/rendering side baggage that comes with gl/vk.

v3: Drop vulkan for now, the situation there isn't as obviously
clear-cut as on the gl side, and I don't want to tank this idea on a
hot discussion about vk and mesa. Plus I think once we have 1-2 more
vk drivers in mesa the situation on the vk side is clear-cut too, and
we can do a follow-up patch to add vk to the list where we expect the
userspace to be in upstream mesa. That's would give nice precedence to
make it clear that this isn't cast in stone, but meant to reflect
reality and should be adjusted as needed.

v4: Fix typo.

v5: Add a note to the commit message that this text needs to be
updated when the situation changes.

v6: Add a sentence why mesa will give the most meaningful review on gl
stuff - it's a very active project with lots of developers.

Acked-by: Dave Airlie <airlied@gmail.com> (v4)
Acked-by: Eric Anholt <eric@anholt.net> (v4)
Acked-by: Alex Deucher <alexdeucher@gmail.com> (v5)
Acked-by: Sean Paul <sean@poorly.run> (v5)
Acked-by: Kenneth Graunke <kenneth@whitecape.org> (v5)
Acked-by: Karol Herbst <karolherbst@gmail.com> (v5)
Acked-by: Rob Clark <robdclark@gmail.com>
Acked-by: Jérôme Glisse <jglisse@redhat.com>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Ben Skeggs <skeggs@redhat.com>
Cc: Dave Airlie <airlied@gmail.com>
Cc: Eric Anholt <eric@anholt.net>
Cc: Alex Deucher <alexdeucher@gmail.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Kenneth Graunke <kenneth@whitecape.org>
Cc: Karol Herbst <karolherbst@gmail.com>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Jérôme Glisse <jglisse@redhat.com>
Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: Ben Skeggs <skeggs@redhat.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
I chatted with a pile of people in private, and there's clearly some
solid support for this. But there's also some big concerns brought up
by other people. The main one summed up is "what if everyone just
ships vk, with a generic gl-on-vk like ANGLE?", but there's other
concerns too.

So all together I think this doesn't clear the bar of (almost)
unanimous support which we need to make documentation actually help
with clarifying what's expected. And if/when someone comes up with a
more creative userspace approach for gl/vk we'll need to figure this
all out with the time honored tradition of having a few massive
threads on dri-devel :-)

Hence this is more fyi as a guidance I guess, not a strict&hard rule.
And I don't plan on merging this.

Cheers, Daniel
---
 Documentation/gpu/drm-uapi.rst | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/Documentation/gpu/drm-uapi.rst b/Documentation/gpu/drm-uapi.rst
index c9fd23efd957..0f767cfd5db6 100644
--- a/Documentation/gpu/drm-uapi.rst
+++ b/Documentation/gpu/drm-uapi.rst
@@ -105,6 +105,31 @@ is already rather painful for the DRM subsystem, with multiple different uAPIs
 for the same thing co-existing. If we add a few more complete mistakes into the
 mix every year it would be entirely unmanageable.
 
+Below some clarifications what this means for specific areas in DRM.
+
+Compute&Rendering Userspace
+---------------------------
+
+Userspace API for enabling compute and rendering blocks which are capable of at
+least supporting one of the OpenGL or OpenGL ES standards from Khronos need to
+be enabled in the upstream `Mesa3D project<https://www.mesa3d.org/>`.
+
+Mesa3D is the canonical upstream for these areas because it is a fully
+compliant, performant and cross-vendor implementation that supports all kernel
+drivers in DRM. It is also an active project with plenty of developers who
+can perform meaningful review. It is therefore the best platform to validate
+userspace API and especially make sure that cross-vendor interoperation is
+assured.
+
+Other userspace is only admissible if exposing a given feature through OpenGL or
+OpenGL ES would result in a technically unsound design, incomplete driver or
+an implementation which isn't useful in real world usage.
+
+Other areas, like media codec, which Mesa3D supports for just some drivers, but
+isn't the clear universal choice, are excluded from this policy. Driver teams
+are still encourage to aim for shared, cross-vendor infrastructure in userspace
+as much as possible.
+
 .. _drm_render_node:
 
 Render nodes
-- 
2.20.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re:[PATCH] gpu/docs: Clarify what userspace means for gl
  2019-04-24 13:46 [PATCH] gpu/docs: Clarify what userspace means for gl Daniel Vetter
@ 2019-04-24 14:24 ` Zhou, David(ChunMing)
  2019-04-24 14:28   ` [PATCH] " Daniel Vetter
  2019-04-24 19:22   ` Eric Anholt
  0 siblings, 2 replies; 8+ messages in thread
From: Zhou, David(ChunMing) @ 2019-04-24 14:24 UTC (permalink / raw)
  To: Daniel Vetter, DRI Development, Mesa Dev
  Cc: Jian, Dimple, Ben Skeggs, Kuehling, Felix, Kenneth Graunke,
	Karol Herbst, Jin, Jian-Rong, Jérôme Glisse,
	Daniel Vetter, He, Jacob, Sean Paul


[-- Attachment #1.1: Type: text/plain, Size: 6208 bytes --]

Will linux be only mesa-linux? I thought linux is an  open linux.
Which will impact our opengl/amdvlk(MIT open source), not sure Rocm:
1. how to deal with one uapi that opengl/amdvlk needs but mesa dont need? reject?
2. one hw feature that opengl/amdvlk developers work on that but no mesa developers work on, cannot upstream as well?

I think above two would easily happen, because there are many employees working on company project with many customer kinds of reqiurements, but mesa not.

-David

-------- Original Message --------
Subject: [PATCH] gpu/docs: Clarify what userspace means for gl
From: Daniel Vetter
To: DRI Development ,Mesa Dev
CC: Jérôme Glisse ,Daniel Vetter ,Karol Herbst ,Kenneth Graunke ,Ben Skeggs ,Daniel Vetter ,Sean Paul

Clear rules avoid arguing.

Note that this just aims to document current expectations. If that
shifts (e.g. because gl isn't the main api anymore, replaced by vk),
then we need to update this text.

I think it'd be good to have an equally solid list on the kms side.
But kms is much more meant to be a standard, and the list of userspace
projects we've accepted in the past is constantly shifting and
adjusting. So I figured I'll leave that as an exercise for later on.

v2: Try to clarify that we don't want a mesa driver just for mesa's
sake, and more clearly exclude anything that just doesn't make sense
technically.  Example would be a compute driver that makes sense to be
merged into drm (for kernel side code-sharing), but where the intended
use is some single-source CUDA-style compute without ever bothering
about any of the 3D/rendering side baggage that comes with gl/vk.

v3: Drop vulkan for now, the situation there isn't as obviously
clear-cut as on the gl side, and I don't want to tank this idea on a
hot discussion about vk and mesa. Plus I think once we have 1-2 more
vk drivers in mesa the situation on the vk side is clear-cut too, and
we can do a follow-up patch to add vk to the list where we expect the
userspace to be in upstream mesa. That's would give nice precedence to
make it clear that this isn't cast in stone, but meant to reflect
reality and should be adjusted as needed.

v4: Fix typo.

v5: Add a note to the commit message that this text needs to be
updated when the situation changes.

v6: Add a sentence why mesa will give the most meaningful review on gl
stuff - it's a very active project with lots of developers.

Acked-by: Dave Airlie <airlied@gmail.com> (v4)
Acked-by: Eric Anholt <eric@anholt.net> (v4)
Acked-by: Alex Deucher <alexdeucher@gmail.com> (v5)
Acked-by: Sean Paul <sean@poorly.run> (v5)
Acked-by: Kenneth Graunke <kenneth@whitecape.org> (v5)
Acked-by: Karol Herbst <karolherbst@gmail.com> (v5)
Acked-by: Rob Clark <robdclark@gmail.com>
Acked-by: Jérôme Glisse <jglisse@redhat.com>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Acked-by: Ben Skeggs <skeggs@redhat.com>
Cc: Dave Airlie <airlied@gmail.com>
Cc: Eric Anholt <eric@anholt.net>
Cc: Alex Deucher <alexdeucher@gmail.com>
Cc: Sean Paul <sean@poorly.run>
Cc: Kenneth Graunke <kenneth@whitecape.org>
Cc: Karol Herbst <karolherbst@gmail.com>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Jérôme Glisse <jglisse@redhat.com>
Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: Ben Skeggs <skeggs@redhat.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
I chatted with a pile of people in private, and there's clearly some
solid support for this. But there's also some big concerns brought up
by other people. The main one summed up is "what if everyone just
ships vk, with a generic gl-on-vk like ANGLE?", but there's other
concerns too.

So all together I think this doesn't clear the bar of (almost)
unanimous support which we need to make documentation actually help
with clarifying what's expected. And if/when someone comes up with a
more creative userspace approach for gl/vk we'll need to figure this
all out with the time honored tradition of having a few massive
threads on dri-devel :-)

Hence this is more fyi as a guidance I guess, not a strict&hard rule.
And I don't plan on merging this.

Cheers, Daniel
---
 Documentation/gpu/drm-uapi.rst | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/Documentation/gpu/drm-uapi.rst b/Documentation/gpu/drm-uapi.rst
index c9fd23efd957..0f767cfd5db6 100644
--- a/Documentation/gpu/drm-uapi.rst
+++ b/Documentation/gpu/drm-uapi.rst
@@ -105,6 +105,31 @@ is already rather painful for the DRM subsystem, with multiple different uAPIs
 for the same thing co-existing. If we add a few more complete mistakes into the
 mix every year it would be entirely unmanageable.

+Below some clarifications what this means for specific areas in DRM.
+
+Compute&Rendering Userspace
+---------------------------
+
+Userspace API for enabling compute and rendering blocks which are capable of at
+least supporting one of the OpenGL or OpenGL ES standards from Khronos need to
+be enabled in the upstream `Mesa3D project<https://www.mesa3d.org/>`.
+
+Mesa3D is the canonical upstream for these areas because it is a fully
+compliant, performant and cross-vendor implementation that supports all kernel
+drivers in DRM. It is also an active project with plenty of developers who
+can perform meaningful review. It is therefore the best platform to validate
+userspace API and especially make sure that cross-vendor interoperation is
+assured.
+
+Other userspace is only admissible if exposing a given feature through OpenGL or
+OpenGL ES would result in a technically unsound design, incomplete driver or
+an implementation which isn't useful in real world usage.
+
+Other areas, like media codec, which Mesa3D supports for just some drivers, but
+isn't the clear universal choice, are excluded from this policy. Driver teams
+are still encourage to aim for shared, cross-vendor infrastructure in userspace
+as much as possible.
+
 .. _drm_render_node:

 Render nodes
--
2.20.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[-- Attachment #1.2: Type: text/html, Size: 7713 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] gpu/docs: Clarify what userspace means for gl
  2019-04-24 14:24 ` Zhou, David(ChunMing)
@ 2019-04-24 14:28   ` Daniel Vetter
  2019-04-24 14:36     ` Daniel Vetter
  2019-04-24 19:22   ` Eric Anholt
  1 sibling, 1 reply; 8+ messages in thread
From: Daniel Vetter @ 2019-04-24 14:28 UTC (permalink / raw)
  To: Zhou, David(ChunMing)
  Cc: Jian, Dimple, Sean Paul, Kuehling, Felix, Kenneth Graunke,
	DRI Development, Karol Herbst, Jin, Jian-Rong,
	Jérôme Glisse, Daniel Vetter, Mesa Dev, He, Jacob,
	Ben Skeggs

On Wed, Apr 24, 2019 at 4:24 PM Zhou, David(ChunMing)
<David1.Zhou@amd.com> wrote:
> Will linux be only mesa-linux? I thought linux is an  open linux.
> Which will impact our opengl/amdvlk(MIT open source), not sure Rocm:
> 1. how to deal with one uapi that opengl/amdvlk needs but mesa dont need? reject?
> 2. one hw feature that opengl/amdvlk developers work on that but no mesa developers work on, cannot upstream as well?
>
> I think above two would easily happen, because there are many employees working on company project with many customer kinds of reqiurements, but mesa not.

Well those are the questions I tried to have a clear answer for, to
avoid confusion, but looks like the agreement isn't perfect. But
there's pretty clear favour towards cross vendor userspace that's
collaboratively and openly developed like mesa. So whenever one of the
above cases you bring up happen we'll get to have a big thread on
dri-devel I guess.
-Daniel


> -David
>
> -------- Original Message --------
> Subject: [PATCH] gpu/docs: Clarify what userspace means for gl
> From: Daniel Vetter
> To: DRI Development ,Mesa Dev
> CC: Jérôme Glisse ,Daniel Vetter ,Karol Herbst ,Kenneth Graunke ,Ben Skeggs ,Daniel Vetter ,Sean Paul
>
> Clear rules avoid arguing.
>
> Note that this just aims to document current expectations. If that
> shifts (e.g. because gl isn't the main api anymore, replaced by vk),
> then we need to update this text.
>
> I think it'd be good to have an equally solid list on the kms side.
> But kms is much more meant to be a standard, and the list of userspace
> projects we've accepted in the past is constantly shifting and
> adjusting. So I figured I'll leave that as an exercise for later on.
>
> v2: Try to clarify that we don't want a mesa driver just for mesa's
> sake, and more clearly exclude anything that just doesn't make sense
> technically.  Example would be a compute driver that makes sense to be
> merged into drm (for kernel side code-sharing), but where the intended
> use is some single-source CUDA-style compute without ever bothering
> about any of the 3D/rendering side baggage that comes with gl/vk.
>
> v3: Drop vulkan for now, the situation there isn't as obviously
> clear-cut as on the gl side, and I don't want to tank this idea on a
> hot discussion about vk and mesa. Plus I think once we have 1-2 more
> vk drivers in mesa the situation on the vk side is clear-cut too, and
> we can do a follow-up patch to add vk to the list where we expect the
> userspace to be in upstream mesa. That's would give nice precedence to
> make it clear that this isn't cast in stone, but meant to reflect
> reality and should be adjusted as needed.
>
> v4: Fix typo.
>
> v5: Add a note to the commit message that this text needs to be
> updated when the situation changes.
>
> v6: Add a sentence why mesa will give the most meaningful review on gl
> stuff - it's a very active project with lots of developers.
>
> Acked-by: Dave Airlie <airlied@gmail.com> (v4)
> Acked-by: Eric Anholt <eric@anholt.net> (v4)
> Acked-by: Alex Deucher <alexdeucher@gmail.com> (v5)
> Acked-by: Sean Paul <sean@poorly.run> (v5)
> Acked-by: Kenneth Graunke <kenneth@whitecape.org> (v5)
> Acked-by: Karol Herbst <karolherbst@gmail.com> (v5)
> Acked-by: Rob Clark <robdclark@gmail.com>
> Acked-by: Jérôme Glisse <jglisse@redhat.com>
> Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
> Acked-by: Ben Skeggs <skeggs@redhat.com>
> Cc: Dave Airlie <airlied@gmail.com>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: Alex Deucher <alexdeucher@gmail.com>
> Cc: Sean Paul <sean@poorly.run>
> Cc: Kenneth Graunke <kenneth@whitecape.org>
> Cc: Karol Herbst <karolherbst@gmail.com>
> Cc: Rob Clark <robdclark@gmail.com>
> Cc: Jérôme Glisse <jglisse@redhat.com>
> Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
> Cc: Ben Skeggs <skeggs@redhat.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
> I chatted with a pile of people in private, and there's clearly some
> solid support for this. But there's also some big concerns brought up
> by other people. The main one summed up is "what if everyone just
> ships vk, with a generic gl-on-vk like ANGLE?", but there's other
> concerns too.
>
> So all together I think this doesn't clear the bar of (almost)
> unanimous support which we need to make documentation actually help
> with clarifying what's expected. And if/when someone comes up with a
> more creative userspace approach for gl/vk we'll need to figure this
> all out with the time honored tradition of having a few massive
> threads on dri-devel :-)
>
> Hence this is more fyi as a guidance I guess, not a strict&hard rule.
> And I don't plan on merging this.
>
> Cheers, Daniel
> ---
>  Documentation/gpu/drm-uapi.rst | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/Documentation/gpu/drm-uapi.rst b/Documentation/gpu/drm-uapi.rst
> index c9fd23efd957..0f767cfd5db6 100644
> --- a/Documentation/gpu/drm-uapi.rst
> +++ b/Documentation/gpu/drm-uapi.rst
> @@ -105,6 +105,31 @@ is already rather painful for the DRM subsystem, with multiple different uAPIs
>  for the same thing co-existing. If we add a few more complete mistakes into the
>  mix every year it would be entirely unmanageable.
>
> +Below some clarifications what this means for specific areas in DRM.
> +
> +Compute&Rendering Userspace
> +---------------------------
> +
> +Userspace API for enabling compute and rendering blocks which are capable of at
> +least supporting one of the OpenGL or OpenGL ES standards from Khronos need to
> +be enabled in the upstream `Mesa3D project<https://www.mesa3d.org/>`.
> +
> +Mesa3D is the canonical upstream for these areas because it is a fully
> +compliant, performant and cross-vendor implementation that supports all kernel
> +drivers in DRM. It is also an active project with plenty of developers who
> +can perform meaningful review. It is therefore the best platform to validate
> +userspace API and especially make sure that cross-vendor interoperation is
> +assured.
> +
> +Other userspace is only admissible if exposing a given feature through OpenGL or
> +OpenGL ES would result in a technically unsound design, incomplete driver or
> +an implementation which isn't useful in real world usage.
> +
> +Other areas, like media codec, which Mesa3D supports for just some drivers, but
> +isn't the clear universal choice, are excluded from this policy. Driver teams
> +are still encourage to aim for shared, cross-vendor infrastructure in userspace
> +as much as possible.
> +
>  .. _drm_render_node:
>
>  Render nodes
> --
> 2.20.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel



-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] gpu/docs: Clarify what userspace means for gl
  2019-04-24 14:28   ` [PATCH] " Daniel Vetter
@ 2019-04-24 14:36     ` Daniel Vetter
  2019-04-24 14:57       ` Chunming Zhou
  0 siblings, 1 reply; 8+ messages in thread
From: Daniel Vetter @ 2019-04-24 14:36 UTC (permalink / raw)
  To: Zhou, David(ChunMing)
  Cc: Jian, Dimple, Sean Paul, Kuehling, Felix, Kenneth Graunke,
	DRI Development, Karol Herbst, Jin, Jian-Rong,
	Jérôme Glisse, Daniel Vetter, Mesa Dev, He, Jacob,
	Ben Skeggs

On Wed, Apr 24, 2019 at 4:28 PM Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>
> On Wed, Apr 24, 2019 at 4:24 PM Zhou, David(ChunMing)
> <David1.Zhou@amd.com> wrote:
> > Will linux be only mesa-linux? I thought linux is an  open linux.
> > Which will impact our opengl/amdvlk(MIT open source), not sure Rocm:
> > 1. how to deal with one uapi that opengl/amdvlk needs but mesa dont need? reject?
> > 2. one hw feature that opengl/amdvlk developers work on that but no mesa developers work on, cannot upstream as well?
> >
> > I think above two would easily happen, because there are many employees working on company project with many customer kinds of reqiurements, but mesa not.
>
> Well those are the questions I tried to have a clear answer for, to
> avoid confusion, but looks like the agreement isn't perfect. But
> there's pretty clear favour towards cross vendor userspace that's
> collaboratively and openly developed like mesa. So whenever one of the
> above cases you bring up happen we'll get to have a big thread on
> dri-devel I guess.

Aside, I think there's a pretty huge difference between rocm and
amdvlk. rocm is developed openly and all that, the one nit there is is
that it's not cross vendor. But then, there is no other vendor really
(but amd still controls it all despite the usual "totally an open
standard" lipstick in the marketing material). amdvlk otoh is open
source in the narrowest legal sense only, and nothing else. And yes
intel has some equally bad projects on the openess metric too with
some of the more recent-ish changes in the userspace stack.
-Daniel

> -Daniel
>
>
> > -David
> >
> > -------- Original Message --------
> > Subject: [PATCH] gpu/docs: Clarify what userspace means for gl
> > From: Daniel Vetter
> > To: DRI Development ,Mesa Dev
> > CC: Jérôme Glisse ,Daniel Vetter ,Karol Herbst ,Kenneth Graunke ,Ben Skeggs ,Daniel Vetter ,Sean Paul
> >
> > Clear rules avoid arguing.
> >
> > Note that this just aims to document current expectations. If that
> > shifts (e.g. because gl isn't the main api anymore, replaced by vk),
> > then we need to update this text.
> >
> > I think it'd be good to have an equally solid list on the kms side.
> > But kms is much more meant to be a standard, and the list of userspace
> > projects we've accepted in the past is constantly shifting and
> > adjusting. So I figured I'll leave that as an exercise for later on.
> >
> > v2: Try to clarify that we don't want a mesa driver just for mesa's
> > sake, and more clearly exclude anything that just doesn't make sense
> > technically.  Example would be a compute driver that makes sense to be
> > merged into drm (for kernel side code-sharing), but where the intended
> > use is some single-source CUDA-style compute without ever bothering
> > about any of the 3D/rendering side baggage that comes with gl/vk.
> >
> > v3: Drop vulkan for now, the situation there isn't as obviously
> > clear-cut as on the gl side, and I don't want to tank this idea on a
> > hot discussion about vk and mesa. Plus I think once we have 1-2 more
> > vk drivers in mesa the situation on the vk side is clear-cut too, and
> > we can do a follow-up patch to add vk to the list where we expect the
> > userspace to be in upstream mesa. That's would give nice precedence to
> > make it clear that this isn't cast in stone, but meant to reflect
> > reality and should be adjusted as needed.
> >
> > v4: Fix typo.
> >
> > v5: Add a note to the commit message that this text needs to be
> > updated when the situation changes.
> >
> > v6: Add a sentence why mesa will give the most meaningful review on gl
> > stuff - it's a very active project with lots of developers.
> >
> > Acked-by: Dave Airlie <airlied@gmail.com> (v4)
> > Acked-by: Eric Anholt <eric@anholt.net> (v4)
> > Acked-by: Alex Deucher <alexdeucher@gmail.com> (v5)
> > Acked-by: Sean Paul <sean@poorly.run> (v5)
> > Acked-by: Kenneth Graunke <kenneth@whitecape.org> (v5)
> > Acked-by: Karol Herbst <karolherbst@gmail.com> (v5)
> > Acked-by: Rob Clark <robdclark@gmail.com>
> > Acked-by: Jérôme Glisse <jglisse@redhat.com>
> > Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
> > Acked-by: Ben Skeggs <skeggs@redhat.com>
> > Cc: Dave Airlie <airlied@gmail.com>
> > Cc: Eric Anholt <eric@anholt.net>
> > Cc: Alex Deucher <alexdeucher@gmail.com>
> > Cc: Sean Paul <sean@poorly.run>
> > Cc: Kenneth Graunke <kenneth@whitecape.org>
> > Cc: Karol Herbst <karolherbst@gmail.com>
> > Cc: Rob Clark <robdclark@gmail.com>
> > Cc: Jérôme Glisse <jglisse@redhat.com>
> > Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
> > Cc: Ben Skeggs <skeggs@redhat.com>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> > I chatted with a pile of people in private, and there's clearly some
> > solid support for this. But there's also some big concerns brought up
> > by other people. The main one summed up is "what if everyone just
> > ships vk, with a generic gl-on-vk like ANGLE?", but there's other
> > concerns too.
> >
> > So all together I think this doesn't clear the bar of (almost)
> > unanimous support which we need to make documentation actually help
> > with clarifying what's expected. And if/when someone comes up with a
> > more creative userspace approach for gl/vk we'll need to figure this
> > all out with the time honored tradition of having a few massive
> > threads on dri-devel :-)
> >
> > Hence this is more fyi as a guidance I guess, not a strict&hard rule.
> > And I don't plan on merging this.
> >
> > Cheers, Daniel
> > ---
> >  Documentation/gpu/drm-uapi.rst | 25 +++++++++++++++++++++++++
> >  1 file changed, 25 insertions(+)
> >
> > diff --git a/Documentation/gpu/drm-uapi.rst b/Documentation/gpu/drm-uapi.rst
> > index c9fd23efd957..0f767cfd5db6 100644
> > --- a/Documentation/gpu/drm-uapi.rst
> > +++ b/Documentation/gpu/drm-uapi.rst
> > @@ -105,6 +105,31 @@ is already rather painful for the DRM subsystem, with multiple different uAPIs
> >  for the same thing co-existing. If we add a few more complete mistakes into the
> >  mix every year it would be entirely unmanageable.
> >
> > +Below some clarifications what this means for specific areas in DRM.
> > +
> > +Compute&Rendering Userspace
> > +---------------------------
> > +
> > +Userspace API for enabling compute and rendering blocks which are capable of at
> > +least supporting one of the OpenGL or OpenGL ES standards from Khronos need to
> > +be enabled in the upstream `Mesa3D project<https://www.mesa3d.org/>`.
> > +
> > +Mesa3D is the canonical upstream for these areas because it is a fully
> > +compliant, performant and cross-vendor implementation that supports all kernel
> > +drivers in DRM. It is also an active project with plenty of developers who
> > +can perform meaningful review. It is therefore the best platform to validate
> > +userspace API and especially make sure that cross-vendor interoperation is
> > +assured.
> > +
> > +Other userspace is only admissible if exposing a given feature through OpenGL or
> > +OpenGL ES would result in a technically unsound design, incomplete driver or
> > +an implementation which isn't useful in real world usage.
> > +
> > +Other areas, like media codec, which Mesa3D supports for just some drivers, but
> > +isn't the clear universal choice, are excluded from this policy. Driver teams
> > +are still encourage to aim for shared, cross-vendor infrastructure in userspace
> > +as much as possible.
> > +
> >  .. _drm_render_node:
> >
> >  Render nodes
> > --
> > 2.20.1
> >
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
>
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch



-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] gpu/docs: Clarify what userspace means for gl
  2019-04-24 14:36     ` Daniel Vetter
@ 2019-04-24 14:57       ` Chunming Zhou
  0 siblings, 0 replies; 8+ messages in thread
From: Chunming Zhou @ 2019-04-24 14:57 UTC (permalink / raw)
  To: Daniel Vetter, Zhou, David(ChunMing)
  Cc: Jian, Dimple, Sean Paul, Kuehling, Felix, Kenneth Graunke,
	DRI Development, Karol Herbst, Jin, Jian-Rong,
	Jérôme Glisse, Daniel Vetter, Mesa Dev, He, Jacob,
	Ben Skeggs


在 2019/4/24 22:36, Daniel Vetter 写道:
> On Wed, Apr 24, 2019 at 4:28 PM Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>> On Wed, Apr 24, 2019 at 4:24 PM Zhou, David(ChunMing)
>> <David1.Zhou@amd.com> wrote:
>>> Will linux be only mesa-linux? I thought linux is an  open linux.
>>> Which will impact our opengl/amdvlk(MIT open source), not sure Rocm:
>>> 1. how to deal with one uapi that opengl/amdvlk needs but mesa dont need? reject?
>>> 2. one hw feature that opengl/amdvlk developers work on that but no mesa developers work on, cannot upstream as well?
>>>
>>> I think above two would easily happen, because there are many employees working on company project with many customer kinds of reqiurements, but mesa not.
>> Well those are the questions I tried to have a clear answer for, to
>> avoid confusion, but looks like the agreement isn't perfect. But
>> there's pretty clear favour towards cross vendor userspace that's
>> collaboratively and openly developed like mesa. So whenever one of the
>> above cases you bring up happen we'll get to have a big thread on
>> dri-devel I guess.
> Aside, I think there's a pretty huge difference between rocm and
> amdvlk. rocm is developed openly and all that, the one nit there is is
> that it's not cross vendor. But then, there is no other vendor really
> (but amd still controls it all despite the usual "totally an open
> standard" lipstick in the marketing material). amdvlk otoh is open
> source in the narrowest legal sense only, and nothing else.

Do you mean if amdvlk is developed openly like Rocm does, amdvlk will be 
able to drive uapi without mesa admissable?


-David

>   And yes
> intel has some equally bad projects on the openess metric too with
> some of the more recent-ish changes in the userspace stack.
> -Daniel
>
>> -Daniel
>>
>>
>>> -David
>>>
>>> -------- Original Message --------
>>> Subject: [PATCH] gpu/docs: Clarify what userspace means for gl
>>> From: Daniel Vetter
>>> To: DRI Development ,Mesa Dev
>>> CC: Jérôme Glisse ,Daniel Vetter ,Karol Herbst ,Kenneth Graunke ,Ben Skeggs ,Daniel Vetter ,Sean Paul
>>>
>>> Clear rules avoid arguing.
>>>
>>> Note that this just aims to document current expectations. If that
>>> shifts (e.g. because gl isn't the main api anymore, replaced by vk),
>>> then we need to update this text.
>>>
>>> I think it'd be good to have an equally solid list on the kms side.
>>> But kms is much more meant to be a standard, and the list of userspace
>>> projects we've accepted in the past is constantly shifting and
>>> adjusting. So I figured I'll leave that as an exercise for later on.
>>>
>>> v2: Try to clarify that we don't want a mesa driver just for mesa's
>>> sake, and more clearly exclude anything that just doesn't make sense
>>> technically.  Example would be a compute driver that makes sense to be
>>> merged into drm (for kernel side code-sharing), but where the intended
>>> use is some single-source CUDA-style compute without ever bothering
>>> about any of the 3D/rendering side baggage that comes with gl/vk.
>>>
>>> v3: Drop vulkan for now, the situation there isn't as obviously
>>> clear-cut as on the gl side, and I don't want to tank this idea on a
>>> hot discussion about vk and mesa. Plus I think once we have 1-2 more
>>> vk drivers in mesa the situation on the vk side is clear-cut too, and
>>> we can do a follow-up patch to add vk to the list where we expect the
>>> userspace to be in upstream mesa. That's would give nice precedence to
>>> make it clear that this isn't cast in stone, but meant to reflect
>>> reality and should be adjusted as needed.
>>>
>>> v4: Fix typo.
>>>
>>> v5: Add a note to the commit message that this text needs to be
>>> updated when the situation changes.
>>>
>>> v6: Add a sentence why mesa will give the most meaningful review on gl
>>> stuff - it's a very active project with lots of developers.
>>>
>>> Acked-by: Dave Airlie <airlied@gmail.com> (v4)
>>> Acked-by: Eric Anholt <eric@anholt.net> (v4)
>>> Acked-by: Alex Deucher <alexdeucher@gmail.com> (v5)
>>> Acked-by: Sean Paul <sean@poorly.run> (v5)
>>> Acked-by: Kenneth Graunke <kenneth@whitecape.org> (v5)
>>> Acked-by: Karol Herbst <karolherbst@gmail.com> (v5)
>>> Acked-by: Rob Clark <robdclark@gmail.com>
>>> Acked-by: Jérôme Glisse <jglisse@redhat.com>
>>> Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
>>> Acked-by: Ben Skeggs <skeggs@redhat.com>
>>> Cc: Dave Airlie <airlied@gmail.com>
>>> Cc: Eric Anholt <eric@anholt.net>
>>> Cc: Alex Deucher <alexdeucher@gmail.com>
>>> Cc: Sean Paul <sean@poorly.run>
>>> Cc: Kenneth Graunke <kenneth@whitecape.org>
>>> Cc: Karol Herbst <karolherbst@gmail.com>
>>> Cc: Rob Clark <robdclark@gmail.com>
>>> Cc: Jérôme Glisse <jglisse@redhat.com>
>>> Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
>>> Cc: Ben Skeggs <skeggs@redhat.com>
>>> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
>>> ---
>>> I chatted with a pile of people in private, and there's clearly some
>>> solid support for this. But there's also some big concerns brought up
>>> by other people. The main one summed up is "what if everyone just
>>> ships vk, with a generic gl-on-vk like ANGLE?", but there's other
>>> concerns too.
>>>
>>> So all together I think this doesn't clear the bar of (almost)
>>> unanimous support which we need to make documentation actually help
>>> with clarifying what's expected. And if/when someone comes up with a
>>> more creative userspace approach for gl/vk we'll need to figure this
>>> all out with the time honored tradition of having a few massive
>>> threads on dri-devel :-)
>>>
>>> Hence this is more fyi as a guidance I guess, not a strict&hard rule.
>>> And I don't plan on merging this.
>>>
>>> Cheers, Daniel
>>> ---
>>>   Documentation/gpu/drm-uapi.rst | 25 +++++++++++++++++++++++++
>>>   1 file changed, 25 insertions(+)
>>>
>>> diff --git a/Documentation/gpu/drm-uapi.rst b/Documentation/gpu/drm-uapi.rst
>>> index c9fd23efd957..0f767cfd5db6 100644
>>> --- a/Documentation/gpu/drm-uapi.rst
>>> +++ b/Documentation/gpu/drm-uapi.rst
>>> @@ -105,6 +105,31 @@ is already rather painful for the DRM subsystem, with multiple different uAPIs
>>>   for the same thing co-existing. If we add a few more complete mistakes into the
>>>   mix every year it would be entirely unmanageable.
>>>
>>> +Below some clarifications what this means for specific areas in DRM.
>>> +
>>> +Compute&Rendering Userspace
>>> +---------------------------
>>> +
>>> +Userspace API for enabling compute and rendering blocks which are capable of at
>>> +least supporting one of the OpenGL or OpenGL ES standards from Khronos need to
>>> +be enabled in the upstream `Mesa3D project<https://www.mesa3d.org/>`.
>>> +
>>> +Mesa3D is the canonical upstream for these areas because it is a fully
>>> +compliant, performant and cross-vendor implementation that supports all kernel
>>> +drivers in DRM. It is also an active project with plenty of developers who
>>> +can perform meaningful review. It is therefore the best platform to validate
>>> +userspace API and especially make sure that cross-vendor interoperation is
>>> +assured.
>>> +
>>> +Other userspace is only admissible if exposing a given feature through OpenGL or
>>> +OpenGL ES would result in a technically unsound design, incomplete driver or
>>> +an implementation which isn't useful in real world usage.
>>> +
>>> +Other areas, like media codec, which Mesa3D supports for just some drivers, but
>>> +isn't the clear universal choice, are excluded from this policy. Driver teams
>>> +are still encourage to aim for shared, cross-vendor infrastructure in userspace
>>> +as much as possible.
>>> +
>>>   .. _drm_render_node:
>>>
>>>   Render nodes
>>> --
>>> 2.20.1
>>>
>>> _______________________________________________
>>> dri-devel mailing list
>>> dri-devel@lists.freedesktop.org
>>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>>
>>
>> --
>> Daniel Vetter
>> Software Engineer, Intel Corporation
>> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
>
>
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re:[PATCH] gpu/docs: Clarify what userspace means for gl
  2019-04-24 14:24 ` Zhou, David(ChunMing)
  2019-04-24 14:28   ` [PATCH] " Daniel Vetter
@ 2019-04-24 19:22   ` Eric Anholt
  2019-04-25  3:28     ` [PATCH] " zhoucm1
  1 sibling, 1 reply; 8+ messages in thread
From: Eric Anholt @ 2019-04-24 19:22 UTC (permalink / raw)
  To: Zhou, David(ChunMing), Daniel Vetter, DRI Development, Mesa Dev
  Cc: Jérôme Glisse, Jian, Dimple, Ben Skeggs, Kuehling,
	Felix, Karol Herbst, He, Jacob, Sean Paul, Kenneth Graunke,
	Daniel Vetter, Jin, Jian-Rong


[-- Attachment #1.1: Type: text/plain, Size: 1189 bytes --]

"Zhou, David(ChunMing)" <David1.Zhou@amd.com> writes:

> Will linux be only mesa-linux? I thought linux is an  open linux.
> Which will impact our opengl/amdvlk(MIT open source), not sure Rocm:
> 1. how to deal with one uapi that opengl/amdvlk needs but mesa dont need? reject?
> 2. one hw feature that opengl/amdvlk developers work on that but no mesa
> developers work on, cannot upstream as well?

I believe these questions are already covered by

"+Other userspace is only admissible if exposing a given feature through OpenGL
or
+OpenGL ES would result in a technically unsound design, incomplete driver or
+an implementation which isn't useful in real world usage."

If OpenGL needs the interface, then you need a Mesa implementation.
It's time for you to work with the community to build that or get it
built.  Or, in AMD's case, work with the Mesa developers that you
already employ.

If OpenGL doesn't need it, but Vulkan needs it, then we don't have a
clear policy in place, and this patch doesn't change that.  I would
personally say that AMDVLK doesn't qualify given that as far as I know
there is not open review of proposed patches to the project as they're
being developed.

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] gpu/docs: Clarify what userspace means for gl
  2019-04-24 19:22   ` Eric Anholt
@ 2019-04-25  3:28     ` zhoucm1
  2019-04-25  7:43       ` Daniel Vetter
  0 siblings, 1 reply; 8+ messages in thread
From: zhoucm1 @ 2019-04-25  3:28 UTC (permalink / raw)
  To: Eric Anholt, Zhou, David(ChunMing),
	Daniel Vetter, DRI Development, Mesa Dev
  Cc: Jérôme Glisse, Jian, Dimple, Ben Skeggs, Kuehling,
	Felix, Karol Herbst, He, Jacob, Sean Paul, Kenneth Graunke,
	Daniel Vetter, Jin, Jian-Rong



On 2019年04月25日 03:22, Eric Anholt wrote:
> "Zhou, David(ChunMing)" <David1.Zhou@amd.com> writes:
>
>> Will linux be only mesa-linux? I thought linux is an  open linux.
>> Which will impact our opengl/amdvlk(MIT open source), not sure Rocm:
>> 1. how to deal with one uapi that opengl/amdvlk needs but mesa dont need? reject?
>> 2. one hw feature that opengl/amdvlk developers work on that but no mesa
>> developers work on, cannot upstream as well?
> I believe these questions are already covered by
>
> "+Other userspace is only admissible if exposing a given feature through OpenGL
> or
> +OpenGL ES would result in a technically unsound design, incomplete driver or
> +an implementation which isn't useful in real world usage."
>
> If OpenGL needs the interface, then you need a Mesa implementation.
> It's time for you to work with the community to build that or get it
> built.  Or, in AMD's case, work with the Mesa developers that you
> already employ.
>
> If OpenGL doesn't need it, but Vulkan needs it, then we don't have a
> clear policy in place, and this patch doesn't change that.  I would
> personally say that AMDVLK doesn't qualify given that as far as I know
> there is not open review of proposed patches to the project as they're
> being developed.
Can I understand what you mean is, as soon as the stack is openly 
developed, then which will be able to drive new UAPI?

-David

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] gpu/docs: Clarify what userspace means for gl
  2019-04-25  3:28     ` [PATCH] " zhoucm1
@ 2019-04-25  7:43       ` Daniel Vetter
  0 siblings, 0 replies; 8+ messages in thread
From: Daniel Vetter @ 2019-04-25  7:43 UTC (permalink / raw)
  To: zhoucm1
  Cc: Jérôme Glisse, Jian, Dimple, Daniel Vetter, Kuehling,
	Felix, Karol Herbst, DRI Development, He, Jacob, Jin, Jian-Rong,
	Kenneth Graunke, Daniel Vetter, Mesa Dev, Sean Paul, Ben Skeggs

On Thu, Apr 25, 2019 at 11:28:40AM +0800, zhoucm1 wrote:
> 
> 
> On 2019年04月25日 03:22, Eric Anholt wrote:
> > "Zhou, David(ChunMing)" <David1.Zhou@amd.com> writes:
> > 
> > > Will linux be only mesa-linux? I thought linux is an  open linux.
> > > Which will impact our opengl/amdvlk(MIT open source), not sure Rocm:
> > > 1. how to deal with one uapi that opengl/amdvlk needs but mesa dont need? reject?
> > > 2. one hw feature that opengl/amdvlk developers work on that but no mesa
> > > developers work on, cannot upstream as well?
> > I believe these questions are already covered by
> > 
> > "+Other userspace is only admissible if exposing a given feature through OpenGL
> > or
> > +OpenGL ES would result in a technically unsound design, incomplete driver or
> > +an implementation which isn't useful in real world usage."
> > 
> > If OpenGL needs the interface, then you need a Mesa implementation.
> > It's time for you to work with the community to build that or get it
> > built.  Or, in AMD's case, work with the Mesa developers that you
> > already employ.
> > 
> > If OpenGL doesn't need it, but Vulkan needs it, then we don't have a
> > clear policy in place, and this patch doesn't change that.  I would
> > personally say that AMDVLK doesn't qualify given that as far as I know
> > there is not open review of proposed patches to the project as they're
> > being developed.
> Can I understand what you mean is, as soon as the stack is openly developed,
> then which will be able to drive new UAPI?

I think the only clear thing here is that the answer is complicated, and
need to be decided on a case by case basis. That's what I tried to clarify
with my patch, but I think there's not enough clearly defined common
ground. So it'll stay complicated.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-04-25  7:43 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-24 13:46 [PATCH] gpu/docs: Clarify what userspace means for gl Daniel Vetter
2019-04-24 14:24 ` Zhou, David(ChunMing)
2019-04-24 14:28   ` [PATCH] " Daniel Vetter
2019-04-24 14:36     ` Daniel Vetter
2019-04-24 14:57       ` Chunming Zhou
2019-04-24 19:22   ` Eric Anholt
2019-04-25  3:28     ` [PATCH] " zhoucm1
2019-04-25  7:43       ` Daniel Vetter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.