Skip to content

Expose the GL Interop functions through the normal xxxGetProcAddress mechanism

Sylvain Munaut requested to merge 246tnt/mesa:clgl-export-mr into main

The mesa interop functions were originally meant for internal use only and are currently only exposed by making the symbol visible in the library. But :

  • They have outgrown that use. Projects like ROCm already make use of them and I'd like to use them in intel-compute-stack (which currently makes use of eglExportDMABUFImageMESA but that's too limited).
  • Even for internal projects like rusticl that need access to those, this is not a practical way to get access to them because it doesn't work through GLVND when using EGL (those symbols don't end up in global scope).

So in theses few patch, I expose them through the classic mechanism. I had to pick names that have the proper glX/egl prefix simply because GLVND does look at this prefix for the dispatch.

I mark this as draft because although they work fine AFAICT, some of the GLVND related dispatch code is mostly inspired from code for the other function and I'm not 100% sure it's what it should be. It also does generate some compile time warning (struct declared in param list) in the autogenerated (from XML) EGLVND dispatch so I must have something wrong in the XML but didn't figure out what yet.

Merge request reports