diff options
author | Zhigang Gong <zhigang.gong@linux.intel.com> | 2012-01-20 20:38:29 +0800 |
---|---|---|
committer | Zhigang Gong <zhigang.gong@linux.intel.com> | 2012-01-29 16:40:49 +0800 |
commit | f646b45987370c86dcc1a4fbf085831e6fb607ef (patch) | |
tree | 0ef4c8c19a2df36328897ee5bad991e59537f6ba /src/glamor_priv.h | |
parent | 3e69da0af314d4bd3cea356a988f2984b940be28 (diff) |
glamor-pixmap-upload: Create a uploading fbo with a texture only.
Just an initial implementation and disabled by default.
When uploading a pixmap to a texture, we don't really want
to attach the texture to any fbo. So add one fbo type
which doesn't has a gl FBO attached to it.
This commit can increase the cairo-trace's performance by
10-20%. Now the firefox-planet-gnome is 8.3s. SNA is still
the best, only take 3.5s.
Thanks for Chris to point out the A1 pixmap uploading bug.
Signed-off-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Diffstat (limited to 'src/glamor_priv.h')
-rw-r--r-- | src/glamor_priv.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/glamor_priv.h b/src/glamor_priv.h index 66e47c6..9c2881c 100644 --- a/src/glamor_priv.h +++ b/src/glamor_priv.h @@ -127,6 +127,10 @@ enum glamor_gl_flavor { #define GLAMOR_CREATE_PIXMAP_CPU 0x100 #define GLAMOR_CREATE_PIXMAP_FIXUP 0x101 +#define GLAMOR_CREATE_FBO_NO_FBO 0x103 + +#define GLAMOR_CREATE_TEXTURE_EXACT_SIZE 0x104 + #define GLAMOR_NUM_GLYPH_CACHE_FORMATS 2 typedef struct { @@ -176,6 +180,7 @@ typedef struct glamor_screen_private { int max_fbo_size; struct list fbo_cache[CACHE_FORMAT_COUNT][CACHE_BUCKET_WCOUNT][CACHE_BUCKET_HCOUNT]; + struct list tex_cache[CACHE_FORMAT_COUNT][CACHE_BUCKET_WCOUNT][CACHE_BUCKET_HCOUNT]; /* glamor_solid */ GLint solid_prog; @@ -251,7 +256,6 @@ typedef union _glamor_pending_op { * #pending_op: currently only support pending filling. * @container: The corresponding pixmap's pointer. **/ - typedef struct glamor_pixmap_fbo { struct list list; unsigned int expire; |