summaryrefslogtreecommitdiff
path: root/src/glamor_priv.h
diff options
context:
space:
mode:
authorZhigang Gong <zhigang.gong@linux.intel.com>2012-01-20 20:38:29 +0800
committerZhigang Gong <zhigang.gong@linux.intel.com>2012-01-29 16:40:49 +0800
commitf646b45987370c86dcc1a4fbf085831e6fb607ef (patch)
tree0ef4c8c19a2df36328897ee5bad991e59537f6ba /src/glamor_priv.h
parent3e69da0af314d4bd3cea356a988f2984b940be28 (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.h6
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;