summaryrefslogtreecommitdiff
path: root/debian/patches/94-gl-Add-a-first-bit-of-general-documentation-on-cairo.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/94-gl-Add-a-first-bit-of-general-documentation-on-cairo.patch')
-rw-r--r--debian/patches/94-gl-Add-a-first-bit-of-general-documentation-on-cairo.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/debian/patches/94-gl-Add-a-first-bit-of-general-documentation-on-cairo.patch b/debian/patches/94-gl-Add-a-first-bit-of-general-documentation-on-cairo.patch
new file mode 100644
index 0000000..3c48cad
--- /dev/null
+++ b/debian/patches/94-gl-Add-a-first-bit-of-general-documentation-on-cairo.patch
@@ -0,0 +1,56 @@
+From 0bcb69c16d1146c22c3b87be1e19492a5d763257 Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Sun, 30 Jan 2011 23:41:39 -0800
+Subject: [PATCH 14/16] gl: Add a first bit of general documentation on
+ cairo-gl usage.
+
+Since its inception, cairo-gl has been plagued by the "how am I really
+supposed to use it?" problem. This lays down my expectations for how
+cairo-gl will interact with other usage of the GL API.
+(cherry picked from commit 2e67809be0a2febd52c75948fabd7ac81227e5e3)
+
+Signed-off-by: Cyril Brulebois <kibi@debian.org>
+---
+ src/cairo-gl.h | 26 ++++++++++++++++++++++++++
+ 1 files changed, 26 insertions(+), 0 deletions(-)
+
+diff --git a/src/cairo-gl.h b/src/cairo-gl.h
+index 131d114..9efde43 100644
+--- a/src/cairo-gl.h
++++ b/src/cairo-gl.h
+@@ -31,6 +31,32 @@
+ * The Initial Developer of the Original Code is Eric Anholt.
+ */
+
++/**
++ * @file cairo-gl.h
++ *
++ * The cairo-gl backend provides an implementation of possibly
++ * hardware-accelerated cairo rendering by targeting the OpenGL API.
++ * The goal of the cairo-gl backend is to provide better performance
++ * with equal functionality to cairo-image where possible. It does
++ * not directly provide for applying additional OpenGL effects to
++ * cairo surfaces.
++ *
++ * Cairo-gl allows interoperability with other GL rendering through GL
++ * context sharing. Cairo-gl surfaces are created in reference to a
++ * cairo_device_t, which represents an GL context created by the user.
++ * When that GL context is created with its sharePtr set to another
++ * context (or vice versa), its objects (textures backing cairo-gl
++ * surfaces) can be accessed in the other OpenGL context. This allows
++ * cairo-gl to maintain its drawing state in one context while the
++ * user's 3D rendering occurs in the user's other context.
++ *
++ * However, as only one context can be current to a thread at a time,
++ * cairo-gl may make its context current to the thread on any cairo
++ * call which interacts with a cairo-gl surface or the cairo-gl
++ * device. As a result, the user must make their own context current
++ * between any cairo calls and their own OpenGL rendering.
++ */
++
+ #ifndef CAIRO_GL_H
+ #define CAIRO_GL_H
+
+--
+1.7.5.4
+