diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2015-01-28 09:34:16 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2015-02-09 19:10:05 +0000 |
commit | fa9005229983e8bd0f582ba0b4e0e8f1d6a5e061 (patch) | |
tree | 98b23b8381968d0edd0d207be7aa8df7d60910a8 /gdk/gdkglcontextprivate.h | |
parent | 22e6f37c9c00ca3e97fbd454774a178473a0c93e (diff) | |
download | gtk+-fa9005229983e8bd0f582ba0b4e0e8f1d6a5e061.tar.gz |
gl: Add context options
Users of the GdkGLContext API should be allowed to set properties on the
shim GdkGLContext instance prior to realization, so that the
backend-specific implementation can use the value of those properties
when creating the windowing system specific resources.
The main three options are:
• a major/minor version tuple, to request a specific GL version
• a debug bit, to request a "debug context", which provides additional
validation and run time checking
• a forward compatibility bit, to request a context that does not
have deprecated functionality
See also:
- https://www.opengl.org/registry/specs/ARB/glx_create_context.txt
https://bugzilla.gnome.org/show_bug.cgi?id=741946
Diffstat (limited to 'gdk/gdkglcontextprivate.h')
-rw-r--r-- | gdk/gdkglcontextprivate.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/gdk/gdkglcontextprivate.h b/gdk/gdkglcontextprivate.h index f282539cfd..e579bf506a 100644 --- a/gdk/gdkglcontextprivate.h +++ b/gdk/gdkglcontextprivate.h @@ -74,13 +74,18 @@ typedef struct { GdkGLContextProgram *current_program; } GdkGLContextPaintData; -GdkGLContextPaintData *gdk_gl_context_get_paint_data (GdkGLContext *context); -gboolean gdk_gl_context_use_texture_rectangle (GdkGLContext *context); -gboolean gdk_gl_context_has_framebuffer_blit (GdkGLContext *context); -gboolean gdk_gl_context_has_frame_terminator (GdkGLContext *context); -void gdk_gl_context_end_frame (GdkGLContext *context, - cairo_region_t *painted, - cairo_region_t *damage); +void gdk_gl_context_get_required_version (GdkGLContext *context, + int *major, + int *minor); +gboolean gdk_gl_context_get_debug_enabled (GdkGLContext *context); +gboolean gdk_gl_context_get_forward_compatible (GdkGLContext *context); +GdkGLContextPaintData * gdk_gl_context_get_paint_data (GdkGLContext *context); +gboolean gdk_gl_context_use_texture_rectangle (GdkGLContext *context); +gboolean gdk_gl_context_has_framebuffer_blit (GdkGLContext *context); +gboolean gdk_gl_context_has_frame_terminator (GdkGLContext *context); +void gdk_gl_context_end_frame (GdkGLContext *context, + cairo_region_t *painted, + cairo_region_t *damage); G_END_DECLS |