mesa/st: create interface to verify fb format, reject bad fbs

Extract format parameters in st_validate_framebuffer and call the new
optional pipe->is_fb_format_supported function to check that parameters
are supported by the driver.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
gallium: add helper to use as a replacement for the MIXED_COLOR cap

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
i915: hook up is_fb_format_supported

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
r300: hook up is_fb_format_supported

Only do this in the !r500 case, same as how
PIPE_CAP_MIXED_COLORBUFFER_FORMATS is set.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
softpipe: hook up is_fb_format_supported

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
nv30: hook up is_fb_format_supported

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
gallium: remove PIPE_CAP_MIXED_COLORBUFFER_FORMATS

This is now completely handled by the new is_fb_format_supported
callback.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
nv30: make sure that cbufs and zsbuf have the same depth

This should finally fix RT_FORMAT errors due to weird fb configurations.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
enable h264