I was watching some random YouTube stream and then heard a voice telling me to do this.
This can run wglgears on wow, though there's plenty of missing pieces which I don't have any idea how to fix (like buffer mapping, etc.). Opening it as a draft for now to show the whole thing, if it seems alright I'll send it in batches.
-- v2: opengl32: Implement wow64 thunks for glMapBuffer (et al.). opengl32: Use manual win32 thunks for glMapBuffer (et al.). opengl32: Implement wow64 thunks for GLsizeiptr/GLintptr arrays. opengl32: Implement wow64 thunks for glFenceSync (et al.). opengl32: Implement wow64 thunks for input pointer arrays. opengl32: Implement wow64 thunk for wglGetPbufferDCARB. opengl32: Implement wow64 thunk for wglCreatePbufferARB. opengl32: Implement wow64 thunk for wglCreateContextAttribsARB. opengl32: Implement wow64 thunk for wglMakeCurrent (et al.). opengl32: Implement wow64 thunk for glGetString (et al.). opengl32: Implement wow64 thunk for wglGetProcAddress. opengl32: Generate stub wow64 params mapping. opengl32: Manually write glPathGlyphIndexRangeNV wow64 thunk. opengl32: Generate wow64 thunks. opengl32: Use RtlSetLastWin32Error instead of SetLastError. opengl32: Use msvcrt allocation functions. opengl32: Build with msvcrt. opengl32: Avoid recursively entering WGL critical section. opengl32: Use glReserved1 to keep draw and read DCs. opengl32: Move get_current_context_type to private.h. opengl32: Use NtCurrentTeb()->glCurrentRC instead of get_current_context_ptr. opengl32: Use glReserved1[0] and glReserved1[1] for disabled extensions. opengl32: Use the unixlib interface to check for extensions. opengl32: Use the unixlib interface in glGetStringi. opengl32: Use the unixlib interface in wglGetProcAddress. opengl32: Split opengl_ext.h into private.h and unix_private.h. opengl32: Avoid calling back the wglMakeCurrent win32 thunk. opengl32: Use the unixlib interface for more WGL functions. opengl32: Move some WGL functions to unix_wgl.c. opengl32: Introduce a new NtUserCallOpenGLDebugMessageCallback callback. opengl32: Avoid using internal functions in wglUseFontOutlines. opengl32: Avoid using internal functions in wglUseFontBitmaps. opengl32: Use the unixlib for wglSwapBuffers. opengl32: Use the unixlib for wglGetPixelFormat. opengl32: Use the unixlib for wglDescribePixelFormat. opengl32: Use the unixlib for wglSetPixelFormat. opengl32: Use the unixlib interface for WGL functions. opengl32: Use the unixlib interface for EXT functions. opengl32: Move the null functions to unix_thunks.c. opengl32: Use the unixlib for glGet(String|Integerv). opengl32: Warn about unixlib calls failures in Win32 thunks. opengl32: Create a unixlib interface for GL functions. opengl32: Use has_extension in filter_extensions_index. opengl32: Move filter_extensions (et al.) around. opengl32: Build extension list in is_extension_supported. opengl32: Split is_extension_supported helper.
This merge request has too many patches to be relayed via email. Please visit the URL below to see the contents of the merge request. https://gitlab.winehq.org/wine/wine/-/merge_requests/1010