2015-09-27 21:00 GMT+02:00 Marcus Meissner marcus@jet.franken.de:
Also regenerated opengl files, to exclude the glDebugMessageCallback functions.
Signed-off-by: Marcus Meissner marcus@jet.franken.de
dlls/opengl32/make_opengl | 6 + dlls/opengl32/opengl_ext.c | 343 +++++++++++++++++++++++++++++++++++++++---- dlls/opengl32/opengl_ext.h | 5 + dlls/opengl32/opengl_norm.c | 90 +++++++++++- dlls/opengl32/tests/opengl.c | 96 +++++++++++- dlls/opengl32/wgl.c | 52 +++++++ include/wine/wgl.h | 100 +++++++++++++ include/wine/wgl_driver.h | 47 +++++- include/winternl.h | 5 +- 9 files changed, 708 insertions(+), 36 deletions(-) diff --git a/include/winternl.h b/include/winternl.h index 2fe2a2d..8e85eb4 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -341,7 +341,10 @@ typedef struct _TEB PVOID GdiThreadLocaleInfo; /* 6fc/0870 */ ULONG UserReserved[5]; /* 700/0878 */ PVOID glDispachTable[280]; /* 714/0890 */
- PVOID glReserved1[26]; /* b74/1150 */
- PVOID glDebugCallback; /* b74/1150 */
- PVOID glDebugCallbackAMD; /* b78/1158 */
- PVOID glDebugCallbackARB; /* b7c/1160 */
- PVOID glReserved1[23]; /* b80/1164 */ PVOID glReserved2; /* bdc/1220 */ PVOID glSectionInfo; /* be0/1228 */ PVOID glSection; /* be4/1230 */
The callbacks should be per-GL context, that's why I mentioned the struct opengl_context as a possibly suitable place to store the application-provided callbacks.
The test should actually test something. You probably need to create a debug context (the extension specifies that "For performance reasons it is recommended, but not required, that implementations restrict supporting this extension only to contexts created using the debug flag as provided by WGL_create_context or GLX_create_context") and enable the DEBUG_OUTPUT_SYNCHRONOUS_ARB flag. Also it would be definitely nicer if the test is implemented in a separate function, instead of stuffing it into START_TEST(opengl).
For the records, you can find the relevant extension spec at https://www.opengl.org/registry/specs/ARB/debug_output.txt. GL_KHR_debug specifies some further related bits but I think you can mostly ignore that for this patch.