Skip to content

Add a script to generate GLX dispatch stubs

Created by: kbrenneman

This adds a Python script to the libglvnd tree that can be used to generate the GLX dispatch stubs for a vendor library.

It's meant to be independent of the rest of libglvnd, so the idea is that you can just copy the files to the vendor library's source tree and use them with little or no modification.

The script reads the Khronos glx.xml file to get most of the function information, and then reads a list of functions from another Python module for everything else. That list module would be specific to each vendor library, since each vendor will typically have a different set of GLX functions.

For each function in the list you need to specify a function name, how the function is dispatched (based on context, drawable, screen number, etc.), and optionally an opcode to use for reporting errors. In most cases, the script can then figure out everything else on its own.

The last commit is the only one that affects the libglvnd build itself. That change makes it use the same script to generate a bunch of the core GLX entrypoints.

Merge request reports