Use argument to set whether texmaps should be compressed

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Only run colorbuf callback if it exists

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Move buffer clearing to colorbuf

This functionality has moved all over the place. This should be its final home,
as there's inherent sense in clearing being an operation on draw buffers.

We simply tag the buffer as clearing whenever it is invalidated, or whenever it
is prepped with no deps completed. We can be lazy in either case so the clear
happens on next prep and we add no additional state changes.

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Store size in texmap_t

A simple enough change: we now keep track of the size of texmaps as we populate
them.

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Make colorbuf_copy use size of actual colorbuf

We only hardcode 800x600 in depth buffer allocation and default buffer copying
now.

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Change colorbuf clearing and flags API

We now specify colorbuf flags at creation time. We have functions to set the
clear color and depth without saying anything about whether the buffer will be
cleared at all. The API has also been extended to the stencil buffer.

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Introduce auto-depth for colorbufs

Whether a colorbuf gets a depth buffer is now flag-controlled. There's a flag
to cause an automatic depth buffer and a flag to control whether we're using a
stencil component.

We're hard-coding 800x600 in two fewer places as a result.

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
Check a few boundary conditions in colorbuf

Appending to the currently active colorbuf is doable but hard, so we just error
for now. We also can't add color attachments to the default framebuffer.

Signed-off-by: Casey Dahlin <cdahlin@redhat.com>