luca-piccioni / OpenGL.Net

Modern OpenGL bindings for C#.
MIT License
567 stars 107 forks source link

libEGL.dll missing on Intel machines #123

Closed Vercidium closed 5 years ago

Vercidium commented 5 years ago

Hi Luca,

I have found that my application runs fine on AMD Ryzen CPUs but fails to start on Intel machines (e.g. Macbook Air).

On startup the error "unable to load library at libEGL.dll. The specified module could not be found" is thrown at "Khronos.GetProcAddressWindows.GetLibraryHandle()".

Happy to provide any extra information you may need.

luca-piccioni commented 5 years ago

EGL dependency is optional, and the GL context creation shall be delegated to WGL or GLX. If none of these are not available, DeviceContext can't be successful. Otherwise, provide a way to LoadLibrary/dlopen syscall to load a valid EGL implementation for that system.

EGL should be provided by GPU/OS manufacturer, but it may be a wrapper around other layers, like ANGLE does.

A practical way to solve the problem is: compile and run a C example; execute the same calls with the same arguments. This should work.

Or you could provide some information, such as the running OS... MacBook? Uhm, I've never run on OSX, but I suppose you should provide a GLX or EGL implementation, or pull a AGL or CGL wrapper code. Sorry, I have no Apple device to play with.