summaryrefslogtreecommitdiff
path: root/gdk/gdkglcontextprivate.h
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2015-01-28 09:34:16 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2015-02-09 19:10:05 +0000
commitfa9005229983e8bd0f582ba0b4e0e8f1d6a5e061 (patch)
tree98b23b8381968d0edd0d207be7aa8df7d60910a8 /gdk/gdkglcontextprivate.h
parent22e6f37c9c00ca3e97fbd454774a178473a0c93e (diff)
downloadgtk+-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.h19
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