Jacek Caban
ecf31ba4c7
opengl32: Use default calling convention for WGL driver entry points.
2022-12-06 17:11:21 +01:00
Alexandre Julliard
80e572451e
opengl32: Don't free memory at process exit.
2022-12-06 15:18:57 +01:00
Alexandre Julliard
f6a0597d59
opengl32: Pass the TEB pointer in the Unix call parameters.
...
NtCurrentTeb() is more expensive on the Unix side.
2022-12-06 15:18:57 +01:00
Alexandre Julliard
288da7c8db
opengl32: Fix GLdouble type alignment on the Unix side.
2022-12-06 13:44:34 +01:00
Alexandre Julliard
0f67dbb50e
opengl32: Fix calling convention of Unix call entry points.
2022-12-01 11:38:23 +01:00
Alexandre Julliard
e9c065e590
opengl32: Use the Unix call helpers.
2022-11-25 10:14:36 +01:00
Jacek Caban
c2a43defec
win32u: Don't use CDECL for __wine_get_wgl_driver.
2022-11-23 18:04:28 +01:00
Rémi Bernon
93dcfef00b
opengl32: Use the +opengl debug channel everywhere.
2022-11-21 13:03:48 +01:00
Rémi Bernon
7443db1ce9
opengl32: Cast wow64 pointers in glGet(VertexAttrib)Pointerv.
...
They are byte offsets in the buffers data.
2022-11-21 13:03:33 +01:00
Rémi Bernon
09652f121c
opengl32: Implement wow64 thunks for glMapBuffer (et al.).
2022-11-21 13:03:16 +01:00
Rémi Bernon
50ab0f8f71
opengl32: Use manual win32 thunks for glMapBuffer (et al.).
2022-11-21 13:03:04 +01:00
Rémi Bernon
17abb6f4e7
opengl32: Implement wow64 thunk for glGetString (et al.).
...
This is a bit tricky because the strings are supposed to be static, but
we also cannot return the unix strings directly either.
So instead we keep track, on the unix side, of known unix / wow64 string
associations, and return the known wow64 string if the unix string was
already requested before.
If the string wasn't found, the syscall returns STATUS_BUFFER_TOO_SMALL,
and the PE side allocates the required memory, calling the syscall once
again with the wow64 string pointer to copy the string to.
On concurrent calls, the syscall may return a different wow64 string, in
which case the PE side uses it instead and frees the one it allocated.
Lastly, the PE side also keeps record of wow64 strings it had allocated,
so that we can free them on process detach. The unix side also does some
cleanup of its mapping buffer, as there's no guarantee that it will be
completely unloaded.
2022-11-21 13:02:47 +01:00
Rémi Bernon
eabd176cc0
opengl32: Implement wow64 thunks for glFenceSync (et al.).
2022-11-18 18:52:11 +01:00
Rémi Bernon
edcea32c6a
opengl32: Implement wow64 thunks for input pointer arrays.
2022-11-18 18:52:11 +01:00
Rémi Bernon
173e91a4b6
opengl32: Implement wow64 thunk for wglGetPbufferDCARB.
2022-11-18 18:52:11 +01:00
Rémi Bernon
bfb6119fb3
opengl32: Implement wow64 thunk for wglCreatePbufferARB.
2022-11-18 18:52:11 +01:00
Rémi Bernon
4f1ed0873d
opengl32: Implement wow64 thunk for wglCreateContextAttribsARB.
2022-11-18 18:52:11 +01:00
Alexandre Julliard
ce951c9ca7
opengl32: Build without -DWINE_NO_LONG_TYPES.
2022-11-17 16:35:54 +01:00
Rémi Bernon
c24d7a23ad
opengl32: Implement wow64 thunk for wglMakeCurrent (et al.).
...
Keeping the 32bit TEB context and private data in sync.
2022-11-17 16:35:53 +01:00
Rémi Bernon
e9db6bca44
opengl32: Implement wow64 thunk for wglGetProcAddress.
2022-11-17 16:35:53 +01:00
Rémi Bernon
076ac8484e
opengl32: Manually write glPathGlyphIndexRangeNV wow64 thunk.
2022-11-17 16:35:53 +01:00
Rémi Bernon
531b8bc483
opengl32: Generate wow64 thunks.
2022-11-17 16:35:53 +01:00
Alexandre Julliard
cc0ac7b430
opengl32: Consistently use RtlSetLastWin32Error() everywhere.
2022-11-13 11:31:43 +01:00
Alexandre Julliard
e037822581
opengl32: Fix parsing of the DisabledExtensions option.
2022-11-13 11:31:43 +01:00
Rémi Bernon
2f5c985eea
opengl32: Use RtlSetLastWin32Error instead of SetLastError.
2022-11-10 22:00:34 +01:00
Rémi Bernon
613bed5327
opengl32: Use msvcrt allocation functions.
2022-11-10 22:00:34 +01:00
Rémi Bernon
60eeb92ae0
opengl32: Build with msvcrt.
2022-11-10 22:00:34 +01:00
Rémi Bernon
40bd3b69ed
opengl32: Use ntdll registry functions to read disabled extensions.
2022-11-09 16:19:59 +01:00
Rémi Bernon
d4bed8ed2c
opengl32: Avoid recursively entering WGL critical section.
2022-11-09 16:19:58 +01:00
Rémi Bernon
cb4fecc208
opengl32: Split opengl_ext.h into private.h and unix_private.h.
2022-11-09 16:19:58 +01:00
Rémi Bernon
2e1d5af702
opengl32: Use glReserved1[0] and glReserved1[1] for draw and read DCs.
2022-11-09 16:19:58 +01:00
Rémi Bernon
8c17811312
opengl32: Avoid calling back the wglMakeCurrent win32 thunk.
2022-11-09 16:19:58 +01:00
Rémi Bernon
b892720adb
opengl32: Move wglGetProcAddress extension filtering to unix_wgl.c.
2022-11-08 20:07:52 +01:00
Rémi Bernon
8a6987af12
opengl32: Move function / extension registry mapping to unix_thunks.c.
...
Keeping the extension function pointers array on the PE side.
2022-11-08 20:07:52 +01:00
Rémi Bernon
b6f80f9fcc
opengl32: Move glGetIntegerv extension filtering to unix_wgl.c.
2022-11-08 20:07:52 +01:00
Rémi Bernon
35f64cd7c8
opengl32: Move glGetString extension filtering to unix_wgl.c.
2022-11-08 20:07:52 +01:00
Rémi Bernon
720afb1401
opengl32: Move glGetStringi extension filtering to unix_wgl.c.
2022-11-08 20:07:52 +01:00
Rémi Bernon
0ad02fca3d
opengl32: Move extension filtering helpers to unix_wgl.c.
2022-11-08 20:07:52 +01:00
Rémi Bernon
1001745dde
opengl32: Introduce new disabled_extensions_index helper.
2022-11-08 20:07:52 +01:00
Rémi Bernon
077c46261a
opengl32: Use the unixlib interface for more WGL functions.
2022-11-04 19:23:55 +01:00
Rémi Bernon
494251add7
opengl32: Move some WGL functions to unix_wgl.c.
2022-11-04 19:23:55 +01:00
Rémi Bernon
dec91f0631
opengl32: Introduce a new NtUserCallOpenGLDebugMessageCallback callback.
2022-11-04 19:23:55 +01:00
Rémi Bernon
df74066f47
opengl32: Avoid using internal functions in wglUseFontOutlines.
2022-11-04 19:23:55 +01:00
Rémi Bernon
c656fcf309
opengl32: Avoid using internal functions in wglUseFontBitmaps.
2022-11-04 19:23:55 +01:00
Rémi Bernon
28de0a56ae
opengl32: Use the unixlib interface for WGL functions.
2022-11-03 18:33:09 +01:00
Rémi Bernon
dceaa225cd
opengl32: Use the unixlib interface for EXT functions.
2022-11-03 18:33:09 +01:00
Rémi Bernon
30aada25da
opengl32: Move the null functions to unix_thunks.c.
2022-11-03 18:33:09 +01:00
Rémi Bernon
cd93ca033c
opengl32: Use the unixlib for glGet(String|Integerv).
2022-11-03 18:33:09 +01:00
Rémi Bernon
7dcc6ccf5e
opengl32: Create a unixlib interface for GL functions.
2022-11-03 18:33:09 +01:00
Rémi Bernon
60f1436e68
opengl32: Use has_extension in filter_extensions_index.
2022-10-17 11:24:44 +02:00