<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>