<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 21/8/20 7:27, vivek pandya wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAHYgpoJArDWnZ0d5V2fwsm0g--yu=MDCGB6+q432jti7nQZHRg@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div dir="ltr">
          <div>Thanks Jason for your time to reply. I understand the
            error but I am not much familiar with entry points
            generation code. </div>
        </div>
      </div>
    </blockquote>
    <p><br>
    </p>
    <p>As Jason mentioned, to get a Vulkan driver started, you would
      need more than just one method. If you want a reference:</p>
    <p><a class="moz-txt-link-freetext" href="https://gitlab.freedesktop.org/apinheiro/mesa/-/commit/07d01ebf6aae2f9ae71a8bea13a5d8acccb6280e">https://gitlab.freedesktop.org/apinheiro/mesa/-/commit/07d01ebf6aae2f9ae71a8bea13a5d8acccb6280e</a></p>
    <p>This commit added the basic skeleton for v3dv (broadcom mesa
      vulkan driver). It C&P and adapted the python scripts that
      Jason wrote for anv (that was that radv and turnip also did,
      afaik), and then provided several empty implementation for several
      methods, and dummy structs for several objects. It is possible
      that you could wrote something more simplified as a starting point
      (like no debug methods), but not too much.<br>
    </p>
    <p><br>
    </p>
    <blockquote type="cite"
cite="mid:CAHYgpoJArDWnZ0d5V2fwsm0g--yu=MDCGB6+q432jti7nQZHRg@mail.gmail.com">
      <div dir="ltr">
        <div dir="ltr">
          <div>Currently I just make it compile (I just want to develop
            a broken pipeline quickly that just returns from the entry
            point) .</div>
        </div>
      </div>
    </blockquote>
    <p><br>
    </p>
    <p>As Jason mentioned, a device and instance would be required. I
      really doubt that any vulkan program would be able to skip calling
      the methods that create them. Although those could be dummy too.</p>
    <p><br>
    </p>
    <blockquote type="cite"
cite="mid:CAHYgpoJArDWnZ0d5V2fwsm0g--yu=MDCGB6+q432jti7nQZHRg@mail.gmail.com">
      <div dir="ltr">
        <div dir="ltr">
          <div>I will study the code. Is there any document to read
            about that? I want to understand how loaders and icd
            interact.</div>
        </div>
        <br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Thu, Aug 20, 2020 at 9:46
            PM Jason Ekstrand <<a href="mailto:jason@jlekstrand.net"
              moz-do-not-send="true">jason@jlekstrand.net</a>> wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px
            0.8ex;border-left:1px solid
            rgb(204,204,204);padding-left:1ex">The error says pretty
            clearly what went wrong.  The loader looked for<br>
            the `vk_icdGetInstanceProcAddr` symbol and couldn't find it
            in your<br>
            so.  You need at least the basic Get*ProcAddr symbols or
            else the<br>
            loader can't do anything.  You'll also need device and
            instance<br>
            creation functions and possibly some of the queries before
            anything<br>
            will work.<br>
            <br>
            On Thu, Aug 20, 2020 at 10:43 AM vivek pandya <<a
              href="mailto:vivekvpandya@gmail.com" target="_blank"
              moz-do-not-send="true">vivekvpandya@gmail.com</a>>
            wrote:<br>
            ><br>
            > Hello,<br>
            ><br>
            > I have started building mesa Vulkan driver.<br>
            > I have started by copying amd/vulkan driver however I
            have just kept only one file in build<br>
            > libresoc_pipeline.c<br>
            > I have only one method<br>
            ><br>
            > VkResult libresoc_CreateGraphicsPipelines(<br>
            >         VkDevice                                   
            _device,<br>
            >         VkPipelineCache                           
             pipelineCache,<br>
            >         uint32_t                                   
            count,<br>
            >         const VkGraphicsPipelineCreateInfo*       
             pCreateInfos,<br>
            >         const VkAllocationCallbacks*               
            pAllocator,<br>
            >         VkPipeline*                               
             pPipelines)<br>
            > {<br>
            >         return VK_ERROR_UNKNOWN;<br>
            > }<br>
            ><br>
            > with few edits/commenting out code into files I am able
            to build libvulkan_libresoc.so<br>
            >  but when I forced loaded driver with VK_ICD_FILENAMES
            I am getting following error:<br>
            > however I was expecting to hit VK_ERROR_UNKNOWN. Anyone
            have any ideas? Am I missing any file in the build setting?<br>
            ><br>
            > <a class="moz-txt-link-abbreviated" href="mailto:vivek@vivek-VirtualBox:~/install/share/vulkan/icd.d$">vivek@vivek-VirtualBox:~/install/share/vulkan/icd.d$</a>
            vulkaninfo<br>
            > ERROR: [Loader Message] Code 0 :
            loader_scanned_icd_add: Attempt to retrieve either
            'vkGetInstanceProcAddr' or 'vk_icdGetInstanceProcAddr' from
            ICD
            /home/vivek/install/lib/x86_64-linux-gnu/libvulkan_libresoc.so
            failed.<br>
            > Cannot create Vulkan instance.<br>
            > This problem is often caused by a faulty installation
            of the Vulkan driver or attempting to use a GPU that does
            not support Vulkan.<br>
            >
/build/vulkan-tools-KEbD_A/vulkan-tools-1.2.131.1+dfsg1/vulkaninfo/vulkaninfo.h:371:
            failed with ERROR_INCOMPATIBLE_DRIVER<br>
            ><br>
            > Thanks,<br>
            > Vivek<br>
            > _______________________________________________<br>
            > mesa-dev mailing list<br>
            > <a href="mailto:mesa-dev@lists.freedesktop.org"
              target="_blank" moz-do-not-send="true">mesa-dev@lists.freedesktop.org</a><br>
            > <a
              href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev"
              rel="noreferrer" target="_blank" moz-do-not-send="true">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
          </blockquote>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-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>
  </body>
</html>