anv: do not export the Vulkan API
With version 1 of the Loader interface there is an internal/private symbol (vk_icdGetInstanceProcAddr) which is used to retrieve all the API from the Vulkan entrypoints from the ICD. Implying that exposing the Vulkan API is not recommended. Version 2 goes a step further explicitly forbiding the ICD from exposing Vulkan symbols (and adding a negotiation API) As a reference: - Nvidia 367.35 Missing negotiation API - version 1. Exposes only vk_icdGetInstanceProcAddr. - AMD 16.30.3.306809 Have negotiation API - version 2, Exposes vk_icdGetInstanceProcAddr. Exposes a couple of Vulkan entry points - seems to be in violation with the spec. Cc: "12.0" <mesa-stable@lists.freedesktop.org> Cc: Christian König <christian.koenig@amd.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
parent
1cdb6ca40b
commit
49394e8d77
|
@ -253,17 +253,6 @@ anv_resolve_entrypoint(uint32_t index)
|
|||
}
|
||||
"""
|
||||
|
||||
# Now output ifuncs and their resolve helpers for all entry points. The
|
||||
# resolve helper calls resolve_entrypoint() with the entry point index, which
|
||||
# lets the resolver look it up in the table.
|
||||
|
||||
for type, name, args, num, h in entrypoints:
|
||||
print_guard_start(name)
|
||||
print "static void *resolve_%s(void) { return anv_resolve_entrypoint(%d); }" % (name, num)
|
||||
print "%s vk%s%s\n __attribute__ ((ifunc (\"resolve_%s\"), visibility (\"default\")));\n" % (type, name, args, name)
|
||||
print_guard_end(name)
|
||||
|
||||
|
||||
# Now generate the hash table used for entry point look up. This is a
|
||||
# uint16_t table of entry point indices. We use 0xffff to indicate an entry
|
||||
# in the hash table is empty.
|
||||
|
|
Loading…
Reference in New Issue