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