<div dir="ltr">I don't think they're blocked by mailman decided to give up over the week-end so it may have gotten lost.  Here's a branch:<br><br><a href="https://cgit.freedesktop.org/~jekstrand/mesa/log/?h=wip/anv-proc-addr">https://cgit.freedesktop.org/~jekstrand/mesa/log/?h=wip/anv-proc-addr</a><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 22, 2018 at 1:03 AM, Samuel Iglesias Gonsálvez <span dir="ltr"><<a href="mailto:siglesias@igalia.com" target="_blank">siglesias@igalia.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I don't see patches 4, 8, 9 and 18 in the mailing list. Are they blocked?<br>
<br>
Sam<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On 20/01/18 20:11, Jason Ekstrand wrote:<br>
> Our previous scheme for Get*ProcAddr was to just return what we could and<br>
> not care about the details.  This meant that GetInstanceProcAddr returned<br>
> all anv_ entrypoints and GetDeviceProcAddr would return the per-gen<br>
> entrypoint and fall back to anv_.  We figured that this was a perfectly<br>
> reasonable and Vulkan thing to do and that the loader could sort out the<br>
> nasty details.  We were wrong.<br>
><br>
> The Vulkan spec has some very specific rules about what vkGet*ProcAddr is<br>
> supposed to do in various cases.  In particular, you're supposed to return<br>
> NULL for any extension entrypoints which have not explicitly been enabled.<br>
> Also, vkGetInstanceProcAddr is supposed to return entrypoints for device<br>
> functionality even if they have to be trampoline entrypoints.  In 99% of<br>
> case, the loader takes care of all these details for us.  However, what I<br>
> hear from the loader people is that they can't do it all and that the<br>
> drivers should also follow the rules.<br>
><br>
> On the upside, this means that our driver, short of exposing a few symbols,<br>
> is now a completely stand-alone Vulkan implementation and doesn't require a<br>
> loader.<br>
><br>
> Cc: Samuel Iglesias Gonsálvez <<a href="mailto:siglesias@igalia.com">siglesias@igalia.com</a>><br>
><br>
> Jason Ekstrand (21):<br>
>   anv/meson: Make anv_entrypoints_gen.py depend on anv_extensions.py<br>
>   anv: Split anv_extensions.py into two files<br>
>   anv/meson: Simplify some dependency and flag tracking<br>
>   anv/extensions: Generate a header file with extension tables<br>
>   anv: Use tables for instance extension wrangling<br>
>   anv: Add a per-instance table of enabled extensions<br>
>   anv: Use tables for device extension wrangling<br>
>   anv: Add a per-device table of enabled extensions<br>
>   anv/entrypoints: Add an Entrypoint class<br>
>   anv/entrypoints: Add a LAYERS helper variable<br>
>   anv/entrypoints: Split entrypoint index lookup into its own function<br>
>   anv/entrypoints: Expose the different dispatch tables<br>
>   anv/entrypoints: Parse entrypoints before extensions/features<br>
>   anv/extensions: Fix VkVersion::c_vk_version for patch == None<br>
>   anv: Properly NULL for GetInstanceProcAddr with a null instance<br>
>   anv: Add a per-instance dispatch table<br>
>   anv: Add a per-device dispatch table<br>
>   anv: Only advertise enabled entrypoints<br>
>   anv/entrypoints: Use an named tuple for params<br>
>   anv: Return trampoline entrypoints from GetInstanceProcAddr<br>
>   HACK: Return instance entrypoints from GetDeviceProcAddr<br>
><br>
>  src/intel/Makefile.sources              |   3 +-<br>
>  src/intel/<a href="http://Makefile.vulkan.am" rel="noreferrer" target="_blank">Makefile.vulkan.am</a>            |  15 +-<br>
>  src/intel/vulkan/anv_device.c           | 174 ++++++++++++++++++-<br>
>  src/intel/vulkan/anv_<wbr>entrypoints_gen.py | 297 +++++++++++++++++++++++-------<wbr>--<br>
>  src/intel/vulkan/anv_<wbr>extensions.py      | 157 +----------------<br>
>  src/intel/vulkan/anv_<wbr>extensions_gen.py  | 202 ++++++++++++++++++++++<br>
>  src/intel/vulkan/anv_private.h          |  16 +-<br>
>  src/intel/vulkan/meson.build            |  50 ++++--<br>
>  8 files changed, 653 insertions(+), 261 deletions(-)<br>
>  create mode 100644 src/intel/vulkan/anv_<wbr>extensions_gen.py<br>
><br>
<br>
<br>
</div></div></blockquote></div><br></div>