https://bugs.winehq.org/show_bug.cgi?id=38264
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #4 from Matteo Bruni matteo.mystral@gmail.com --- Thanks for the trace, it was definitely helpful.
It's probably wined3d crashing in state_cb() when trying to call glBindBufferBase. Since the regression patch we're returning NULL pointers to GL functions which are not supported by the GL implementation, given the GL version and the extensions advertised, as specified by the XML API registry from Khronos. In your case GL_ARB_uniform_buffer_object is supported but the GL version exposed is 2.1 and the XML file requires version 3.0 for glBindBufferBase, so we return NULL and crash when going to use the function later on.
As far as I can see GL_ARB_uniform_buffer_object specifies BindBufferBase without any version requirements, so I think it's an issue in the XML file. I'm not sure how one would report such an issue to Khronos.
When Khronos fixes its XML we can update our code and finally fix the issue for you. For the time being you can either revert the regression patch you identified or comment out the GL_ARB_uniform_buffer_object entry in the gl_extension_map[] table in wined3d/directx.c.