Private
Public Access
3-post thread, 1 PNG, 20 likes, 2054 views. Vulkan starts with the ping pong between getting an instance proc addr for vkCreateInstance, then using that to create an instance to get the remaining functions. Lottes reuses his Lib() code modified for VK: keeps a 64-bit base and 32-bit offsets for symbols. @nullspector asks if 4GB max distance between symbols is a real guarantee; Lottes: 'It's working thus far, if I find a case it doesn't work I'll change it. I keep a different base per library, so likely safe enough.' Same pattern as the register-as-memory / pre-emptive scatter approach: 64-bit base + 32-bit offset = compact symbol table. Sibling to the 2074725506050642021 RADV + queue setup and the 2075769880092037309 VK queue rethink.