[gtk+] Add gdk_gl_context_has_framebuffer_blit()
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Add gdk_gl_context_has_framebuffer_blit()
- Date: Thu, 6 Nov 2014 11:25:59 +0000 (UTC)
commit 21189b9f7e158fe629b0924bf9ca74d66a5a8d76
Author: Alexander Larsson <alexl redhat com>
Date: Thu Nov 6 12:13:08 2014 +0100
Add gdk_gl_context_has_framebuffer_blit()
This checks if the context supports GL_EXT_framebuffer_blit
gdk/gdkglcontext.c | 11 +++++++++++
gdk/gdkglcontextprivate.h | 15 ++++++---------
2 files changed, 17 insertions(+), 9 deletions(-)
---
diff --git a/gdk/gdkglcontext.c b/gdk/gdkglcontext.c
index eef707c..b03c82b 100644
--- a/gdk/gdkglcontext.c
+++ b/gdk/gdkglcontext.c
@@ -86,6 +86,7 @@ typedef struct {
guint realized : 1;
guint use_texture_rectangle : 1;
+ guint has_gl_framebuffer_blit : 1;
GdkGLContextPaintData *paint_data;
} GdkGLContextPrivate;
@@ -350,6 +351,14 @@ gdk_gl_context_use_texture_rectangle (GdkGLContext *context)
return priv->use_texture_rectangle;
}
+gboolean
+gdk_gl_context_has_framebuffer_blit (GdkGLContext *context)
+{
+ GdkGLContextPrivate *priv = gdk_gl_context_get_instance_private (context);
+
+ return priv->has_gl_framebuffer_blit;
+}
+
static void
gdk_gl_context_realize (GdkGLContext *context)
{
@@ -359,6 +368,8 @@ gdk_gl_context_realize (GdkGLContext *context)
has_npot = epoxy_has_gl_extension ("GL_ARB_texture_non_power_of_two");
has_texture_rectangle = epoxy_has_gl_extension ("GL_ARB_texture_rectangle");
+ priv->has_gl_framebuffer_blit = epoxy_has_gl_extension ("GL_EXT_framebuffer_blit");
+
if (_gdk_gl_flags & GDK_GL_FLAGS_TEXTURE_RECTANGLE)
priv->use_texture_rectangle = TRUE;
else if (has_npot)
diff --git a/gdk/gdkglcontextprivate.h b/gdk/gdkglcontextprivate.h
index ec4ab33..8a88242 100644
--- a/gdk/gdkglcontextprivate.h
+++ b/gdk/gdkglcontextprivate.h
@@ -49,13 +49,6 @@ struct _GdkGLContextClass
cairo_region_t *region);
};
-gboolean gdk_gl_context_use_texture_rectangle (GdkGLContext *context);
-void gdk_gl_context_end_frame (GdkGLContext *context,
- cairo_region_t *painted,
- cairo_region_t *damage);
-
-
-
typedef struct {
guint vertex_array_object;
guint tmp_framebuffer;
@@ -72,8 +65,12 @@ typedef struct {
guint texture_quad_rect_program_map_location;
} GdkGLContextPaintData;
-GdkGLContextPaintData *gdk_gl_context_get_paint_data (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);
+void gdk_gl_context_end_frame (GdkGLContext *context,
+ cairo_region_t *painted,
+ cairo_region_t *damage);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]