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