mesa: new driver meta-ops module
authorBrian Paul <brianp@vmware.com>
Mon, 10 Aug 2009 19:35:58 +0000 (13:35 -0600)
committerBrian Paul <brianp@vmware.com>
Mon, 10 Aug 2009 19:55:31 +0000 (13:55 -0600)
commit33a838beb913c011b5ee8158c2717b7c8c351b17
tree04e09b9fba2730467ab03427578547acaeac7780
parente9d9dab0cd8614898ecc2aceb49d8faf354cdbdf
mesa: new driver meta-ops module

Implement glClear() in terms of quad rendering, implement glBlitFramebuffer()
in terms of glCopyTexImage2D + textured quad, etc.

There have been several places in the drivers where we've implemented
meta rendering similar to this.  This is an effort to do it in a more
portable and more efficient form.

The _mesa_meta_begin/end() functions act like glPush/PopAttrib() but are
lighter-weight.  Plus, _mesa_meta_begin() resets GL state back to default
values (texturing off, identity vertex transform, etc) so the meta drawing
functions don't have to worry about it.

For now only _mesa_mesa_blit_framebuffer() and _mesa_meta_clear() are
implemented.  glDrawPixels() and glCopyPixels() would be the next candidates.
src/mesa/drivers/common/meta.c [new file with mode: 0644]
src/mesa/drivers/common/meta.h [new file with mode: 0644]
src/mesa/sources.mak