diff options
author | Neil Roberts <neil@linux.intel.com> | 2010-05-25 18:56:14 +0100 |
---|---|---|
committer | Neil Roberts <neil@linux.intel.com> | 2010-06-22 12:22:48 +0100 |
commit | 8458fb7e200ea0ea71b84598aea64e5a1e1bbb45 (patch) | |
tree | 92667a49134583b43ed848a5b679dbbb2af4ec3b /cogl/cogl-debug.c | |
parent | 9c62265939e3a097cdc0da7b40e65608cc863ec9 (diff) | |
download | cogl-8458fb7e200ea0ea71b84598aea64e5a1e1bbb45.tar.gz |
Add a CoglTexturePixmapX11 texture backend
This is a publicly exposed texture backend to create a texture which
contains the contents of an X11 pixmap. The API is currently marked as
experimental.
The backend internally holds a handle to another texture. All of the
backend virtuals simply redirect to the internal texture.
The texture can optionally be automatically updated if the
automatic_updates parameter is TRUE. If set then Cogl will listen for
damage events on the pixmap and update the texture accordingly.
Alternatively a damage object can be created externally and passed
down to Cogl.
The updates can be performed with XGetImage, XShmGetImage or the
GLX_EXT_texture_pixmap extension. If the TFP extension is used it will
optionally try to create a rectangle texture if the driver does not
support NPOTs or it is forced through the
COGL_PIXMAP_TEXTURE_RECTANGLE or CLUTTER_PIXMAP_TEXTURE_RECTANGLE
environment variables.
If the GLXFBConfig does not support mipmapping then it will fallback
to using X{Shm,}GetImage. It keeps a separate texture around for this
so that it can later start using the TFP texture again if the texture
is later drawn with mipmaps disabled.
Diffstat (limited to 'cogl/cogl-debug.c')
-rw-r--r-- | cogl/cogl-debug.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/cogl/cogl-debug.c b/cogl/cogl-debug.c index 68ca4c38..4b792bfd 100644 --- a/cogl/cogl-debug.c +++ b/cogl/cogl-debug.c @@ -51,7 +51,8 @@ static const GDebugKey cogl_log_debug_keys[] = { { "opengl", COGL_DEBUG_OPENGL }, { "pango", COGL_DEBUG_PANGO }, { "show-source", COGL_DEBUG_SHOW_SOURCE}, - { "offscreen", COGL_DEBUG_OFFSCREEN } + { "offscreen", COGL_DEBUG_OFFSCREEN }, + { "texture-pixmap", COGL_DEBUG_TEXTURE_PIXMAP } }; static const int n_cogl_log_debug_keys = G_N_ELEMENTS (cogl_log_debug_keys); @@ -113,6 +114,7 @@ _cogl_parse_debug_string (const char *value, /* XXX: we should replace the "draw" option its very hand wavy... */ OPT ("draw:", "misc tracing of some drawing operations"); OPT ("pango:", "trace the pango renderer"); + OPT ("texture-pixmap:", "trace the Cogl texture pixmap backend"); OPT ("rectangles:", "add wire outlines for all rectangular geometry"); OPT ("disable-batching:", "disable the journal batching"); OPT ("disable-vbos:", "disable use of OpenGL vertex buffer objects"); |