<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hi,<br>
<br>
I'm not sure if that answers your need, but to me it looks like<br>
it would be simpler if gbm was trying different backends for the
given<br>
device, until it succeeds. You'd pass several backends to <span
style="font-size: 12pt;">GBM_BACKEND (perhaps<br>
rename to GBM_BACKENDS), and in your example it would put amdgpu
pro first.<br>
Then when using the amd card, amdgpu pro would be used, else
since the loading<br>
would fail, it would use the second backend, which would be
mesa.<br>
<br>
That's just a suggestion, and you'd better wait for gbm
maintainers to voice theirs.<br>
<br>
Axel<br>
</span><br>
On 12/05/2016 04:45, Yu, Qiang wrote:<br>
</div>
<blockquote
cite="mid:DM3PR12MB0844B6788E29BA51C9F9CFE68F730@DM3PR12MB0844.namprd12.prod.outlook.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="background-color: rgb(255,
255, 255);">
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial,
Helvetica, sans-serif; font-size: 12pt;">
Hi guys, </p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial,
Helvetica, sans-serif; font-size: 12pt;">
<br>
</p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial,
Helvetica, sans-serif; font-size: 12pt;">
Let me introduce myself. My name is Qiang Yu, I'm a developer
of amdgpu-pro driver.</p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial,
Helvetica, sans-serif; font-size: 12pt;">
As you know the amdgpu-pro adopts some open source part like
GBM but due to its</p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial,
Helvetica, sans-serif; font-size: 12pt;">
close source OGL part, we implement our<span style="font-size:
12pt;"> own GBM</span><span style="font-size: 12pt;"> backend</span><span
style="font-size: 12pt;">. </span></p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial,
Helvetica, sans-serif; font-size: 12pt;">
<br>
</p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial,
Helvetica, sans-serif; font-size: 12pt;">
Currently libgbm only support <span style="font-size: 12pt;">static
selection of GBM backend by GBM_BACKEND,</span></p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial,
Helvetica, sans-serif; font-size: 12pt;">
<span style="font-size: 12pt;">so for the hybrid GPU case like
Intel iGPU + AMD dGPU and AMD dGPU is drived</span></p>
<p style="color: rgb(0, 0, 0); font-family: Calibri, Arial,
Helvetica, sans-serif; font-size: 12pt;">
<span style="font-size: 12pt;">by amdgpu-pro, it's not
convenient for </span><span style="font-size: 12pt;">client
to switch backend all the time and even </span></p>
<p><span style="color: rgb(0, 0, 0); font-family: Calibri,
Arial, Helvetica, sans-serif; font-size: 12pt;"></span><span
style="color: rgb(0, 0, 0); font-family: Calibri, Arial,
Helvetica, sans-serif; font-size: 12pt;">impossible</span><font
face="Calibri, Arial, Helvetica, sans-serif"><span
style="font-size: 12pt;"> for </span>applications<span
style="font-size: 12pt;"> that need to deal with both GPUs
like the XServer.</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span
style="font-size: 12pt;"><br>
</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span
style="font-size: 12pt;">So I'm wondering a dynamic
dispatch method and hope it can go upstream to the </span></font><span
style="font-size: 12pt; font-family: Calibri, Arial,
Helvetica, sans-serif;">libgbm</span><span
style="font-family: Calibri, Arial, Helvetica, sans-serif;
font-size: 12pt;">:</span></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span
style="font-size: 12pt;">1. create a /etc/gbm/xxx.conf for
libgbm to read when none default backend needed</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span
style="font-size: 12pt;">2. the content should be like:
<kernel driver name>:<gbm backend name></span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span
style="font-size: 12pt;"> In the amdgpu-pro case, the
content is: amdgpu:gbm_amdgpu.so</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span
style="font-size: 12pt;"><br>
</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span
style="font-size: 12pt;">This method need libgbm use
libdrm to determine the FD kernel driver first.</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span
style="font-size: 12pt;">Any feedback on this method and
the hope to go upstream?</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span
style="font-size: 12pt;"><br>
</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span
style="font-size: 12pt;">Thanks,</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span
style="font-size: 12pt;">Qiang</span></font></p>
<p><font face="Calibri, Arial, Helvetica, sans-serif"><span
style="font-size: 12pt;"><br>
</span></font></p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
mesa-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a>
</pre>
</blockquote>
<p><br>
</p>
</body>
</html>