dri: Rework planar image interface
authorJakob Bornecrantz <jakob@vmware.com>
Fri, 31 Aug 2012 17:48:26 +0000 (19:48 +0200)
committerJakob Bornecrantz <jakob@vmware.com>
Fri, 31 Aug 2012 17:51:02 +0000 (19:51 +0200)
commit6a7dea93fa70d670a5954e47a47075a2703209d4
treec304ff1541078fa21e2c313435f8a64b58bf57c2
parent022f6d88616bf5ea3903c5056d6147e9cf356aa9
dri: Rework planar image interface

As discussed with Kristian on #wayland. Pushes the decision of components into
the dri driver giving it greater freedom to allow t to implement YUV samplers
in hardware, and which mode to use.

This interface will also allow drivers like SVGA to implement YUV surfaces
without the need to sub-allocate and instead send 3 seperate buffers for each
channel, currently not implemented.

I have tested these changes on Gallium Svga. Scott tested them on both intel
and Gallium Radeon. Kristan and Pekka tested them on intel.

v2: Fix typo in dri2_from_planar.
v3: Merge in intel changes.

Tested-by: Scott Moreau <oreaus@gmail.com>
Tested-by: Pekka Paalanen <ppaalanen@gmail.com>
Tested-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com>
include/GL/internal/dri_interface.h
src/egl/drivers/dri2/egl_dri2.c
src/gallium/state_trackers/dri/common/dri_screen.h
src/gallium/state_trackers/dri/drm/dri2.c
src/gbm/backends/dri/gbm_dri.c
src/mesa/drivers/dri/intel/intel_regions.h
src/mesa/drivers/dri/intel/intel_screen.c