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:53:45 +0000 (19:53 +0200)
commit00978098794f723230a33cab1c1152686f1c4fa5
treef8c9820817e464e692edbe8efae3df303beaf463
parentef557eacfffedd58dea4645c317ea8140daa3475
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.

(cherry picked from commit 6a7dea93fa70d670a5954e47a47075a2703209d4)

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