Commit Graph

6 Commits

Author SHA1 Message Date
Jon TURNEY
9a4d7572fe hw/xwin/glx: Rewrite WGL wrappers after Xserver conversion to direct GL dispatch
v1: Rewrite by Marc Haesen of the WGL wrapper function generation script to use
Khronos group XML.

v2: Remove -dispatchheader option, since dispatch.h doesn't exist anymore, use
the private glapi interface to construct the GL dispatch table for the native
WGL thunks.

v3:
Rewrite to generate shims for the OpenGL 1.2.1 (GL 1.2 + GL_ARB_imaging
+GL_ARB_multitexture + GL_ARB_texture_compression(?)) functions the server links
directly with rather than libGL.

These shims dispatch to either the mesa GL DLL, or a thunking DLL containing
cdecl-to-stcall wrapper functions for the native GL DLL.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2013-12-10 17:00:06 +00:00
Jon TURNEY
0ea65df8a5 hw/xwin: Fix some of the warnings in generated gl wrapper code
Fix some of the warnings in generated gl wrapper code:
- glWinResolveHelper takes a const char * argument
- ensure formal parameter names don't collide with reserved names or shadow
global declarations (e.g. near, far, index (from string.h), remainder (from
math.h), pointer (from Xdefs.h) by postpending a '_'.

generated_gl_wrappers.c:13:3: warning: passing argument 2 of 'glWinResolveHelper' discards qualifiers from pointer target type
glwrap.c:70:1: note: expected 'char *' but argument is of type 'const char *'
[repeated many times]
generated_gl_wrappers.c: In function 'glVertexAttrib1dARBWrapper': generated_gl_wrappers.c:6884:47: warning: declaration of 'index' shadows a global declaration [-Wshadow]
generated_gl_wrappers.c:6886:3: warning: passing argument 2 of 'glWinResolveHelper' discards qualifiers from pointer target type
[repeated many times]

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2012-10-16 22:29:48 +01:00
Jon TURNEY
6e85660c75 hw/xwin/glx: Update gen_gl_wrappers.py for the current glx/dispatch.h
Fix the code generator for the dispatch table initialization after
the whitespace/coding style changes to glx/dispatch.h

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2012-06-21 19:35:10 +01:00
Jon TURNEY
c08c7c8f65 hw/xwin/glx: Create a new dispatch table rather than modifying the existing one
Create a new dispatch table rather than modifying the existing one

struct _glapi_table is not a complete type after including glapi.h, so we use
glapi_get_dispatch_table_size() to determine it's size (alternatively, we could
include glapitable.h, to complete the type)

This could possibly be written to use _glapi_create_table_from_handle() instead, but
that requires making all the wrapper functions exports

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2012-06-21 18:36:17 +01:00
Colin Harrison
98c6d91a48 hw/xwin/glx: Fix some warnings in generated wrapper code
Add a suitable cast to the generated code for glWinSetupDispatchTable()
so it doesn't generate screeds of warnings

Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2011-07-07 18:03:21 +01:00
Jon TURNEY
81a081c1f0 Cygwin/X: AIGLX using native WGL
A rewrite of the XWin DDX AIGLX code to actually make it do something useful again

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
2010-04-28 14:26:52 +01:00