Skip to content

d3d12: Delete custom OpenGLOn12 target, add option to override libgallium_wgl.dll name

Jesse Natalie requested to merge jenatali/mesa:wgl-one-target into main

OpenGLOn12.dll is just libgallium_wgl.dll but built with a different name (and not supporting any other gallium drivers besides d3d12) and with stripped-down exports. This change deletes this target, and adds an option to just rename libgallium_wgl.dll. The stripped-down exports doesn't really matter anymore - the point was to just not include all of the GL function exports, which the megadriver already excludes.

Specifying the name at build time, as opposed to renaming after the build, serves two purposes:

  1. The link from Mesa's OpenGL32.dll and (and EGL/GLES) to the megadriver is done by filename. If using these frontends, the megadriver can't be renamed afterwards. And Windows doesn't have very good symlink support, so that's not really an option either. Without this, if you're shipping a Mesa GL implementation app-locally like people do with ANGLE today, you're stuck with the driver name being libgallium_wgl.dll, which sucks.
  2. The symbol (PDB) filename is also embedded in the DLL using the build-time expected filename. Renaming can produce odd artifacts while debugging.

Merge request reports