~glproxy-dev/glproxy/trunk

« back to all changes in this revision

Viewing changes to include/GL/gl_proxy.h

  • Committer: Marc Ordinas i Llopis
  • Date: 2011-12-08 11:35:53 UTC
  • mfrom: (35.1.7 fixes)
  • Revision ID: marc.ordinasillopis@linaro.org-20111208113553-og785wmh311tv427
EGL support: Add EGL virtualization support to glproxy.

Also,
- Removed the "automagic" best renderer detection, as it needed to start
both EGL and GLX which caused problems on some systems. It will return,
but in a more application-controlled way.
- Now it's necessary to pass the current display to the extensions helper
functions, as using an internal one caused NULL being returned as the
extensions string in some systems.
- A lot of code clean-ups.

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
 * enumeration type for backend options
39
39
 * ---------------------------------------------------------------------*/
40
40
typedef enum {
41
 
        UNKNOWN_BACKEND = -1,
42
 
        OPENGL_BACKEND,
43
 
        OPENGL_ES20_BACKEND,
44
 
        MAX_BACKEND = OPENGL_ES20_BACKEND,
 
41
    UNKNOWN_BACKEND = -1,
 
42
    OPENGL_BACKEND,
 
43
    OPENGL_ES20_BACKEND,
 
44
    MAX_BACKEND = OPENGL_ES20_BACKEND,
45
45
} PROXY_BACKEND_OPTION;
46
46
 
47
47
/* ----------------------------------------------------------------------
48
48
 * proxy context
49
49
 * --------------------------------------------------------------------*/
50
50
typedef struct {
51
 
        PROXY_BACKEND_OPTION current_backend;
52
 
        void *gles2_handle;
53
 
        void *gl_handle;
54
 
        void *x_dpy;
55
 
        void *egl_handle;
56
 
        void *egl_dpy;
57
 
        void *egl_ctx;
58
 
        void *egl_surf;
 
51
    PROXY_BACKEND_OPTION current_backend;
 
52
    void *gles2_handle;
 
53
    void *gl_handle;
 
54
    void *egl_handle;
59
55
} PROXY_CONTEXT;
60
56
 
61
57
/* -----------------------------------------------------------------------
932
928
extern int glProxyInit(PROXY_BACKEND_OPTION *pProxyBackend);
933
929
extern int glProxyClose(void);
934
930
 
935
 
extern GLboolean glProxyHasExtension(const char *extension);
936
 
extern void *glProxyGetExtProcAddr(const char *extension, const char *name);
 
931
extern GLboolean glProxyHasExtension(void *display, const char *extension);
 
932
extern void *glProxyGetExtProcAddr(void *display, const char *extension, const char *name);
937
933
 
938
934
#ifdef __cplusplus
939
935
}