diff options
author | David Reveman <davidr@novell.com> | 2006-03-13 14:23:44 +0000 |
---|---|---|
committer | David Reveman <davidr@novell.com> | 2006-03-13 14:23:44 +0000 |
commit | 0ea6d11c7107d774ac0c563aa32578633522ac39 (patch) | |
tree | c7b8402737588d1448d981f375e9a62f6c8aa0f5 /src/glitz_framebuffer.c | |
parent | 1c50002ff39dc1add5e80394b4a16000c7a2d0cb (diff) |
Add support for avoiding context switches
Diffstat (limited to 'src/glitz_framebuffer.c')
-rw-r--r-- | src/glitz_framebuffer.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/glitz_framebuffer.c b/src/glitz_framebuffer.c index 1ccc877..ca3a2e2 100644 --- a/src/glitz_framebuffer.c +++ b/src/glitz_framebuffer.c @@ -201,7 +201,8 @@ _glitz_fbo_attach_notify (void *abstract_drawable, if (!TEXTURE_ALLOCATED (texture)) { drawable->other->backend->push_current (drawable->other, NULL, - GLITZ_ANY_CONTEXT_CURRENT); + GLITZ_ANY_CONTEXT_CURRENT, + NULL); glitz_texture_allocate (gl, texture); drawable->other->backend->pop_current (drawable->other); @@ -225,7 +226,8 @@ _glitz_fbo_detach_notify (void *abstract_drawable, GLITZ_GL_DRAWABLE (drawable->other); drawable->other->backend->push_current (drawable->other, NULL, - GLITZ_ANY_CONTEXT_CURRENT); + GLITZ_ANY_CONTEXT_CURRENT, + NULL); gl->bind_framebuffer (GLITZ_GL_FRAMEBUFFER, drawable->fb); @@ -258,13 +260,14 @@ _glitz_fbo_detach_notify (void *abstract_drawable, static glitz_bool_t _glitz_fbo_push_current (void *abstract_drawable, glitz_surface_t *surface, - glitz_constraint_t constraint) + glitz_constraint_t constraint, + glitz_bool_t *restore_state) { glitz_fbo_drawable_t *drawable = (glitz_fbo_drawable_t *) abstract_drawable; drawable->other->backend->push_current (drawable->other, surface, - constraint); + constraint, restore_state); if (constraint == GLITZ_DRAWABLE_CURRENT) { @@ -350,7 +353,8 @@ _glitz_fbo_destroy (void *abstract_drawable) GLITZ_GL_DRAWABLE (drawable->other); drawable->other->backend->push_current (drawable->other, NULL, - GLITZ_ANY_CONTEXT_CURRENT); + GLITZ_ANY_CONTEXT_CURRENT, + NULL); gl->delete_framebuffers (1, &drawable->fb); |