mesa/st: support lowering multi-planar YUV
authorRob Clark <robdclark@gmail.com>
Wed, 31 Aug 2016 21:44:01 +0000 (17:44 -0400)
committerRob Clark <robdclark@gmail.com>
Mon, 26 Sep 2016 19:29:17 +0000 (15:29 -0400)
commitecd6fce2611e88ff8468a354cff8eda39f260a31
treef4c281475a9dfb836cf9c9ff1853de0edc850bc6
parente0ec1c31345aa8f47b5dea16d26be4420bd908ad
mesa/st: support lowering multi-planar YUV

Support multi-planar YUV for external EGLImage's (currently just in the
dma-buf import path) by lowering to multiple texture fetch's for each
plane and CSC in shader.

There was some discussion of alternative approaches for tracking the
additional UV or U/V planes:

  https://lists.freedesktop.org/archives/mesa-dev/2016-September/127832.html

They all seemed worse than pipe_resource::next

Signed-off-by: Rob Clark <robdclark@gmail.com>
18 files changed:
src/gallium/auxiliary/util/u_inlines.h
src/gallium/include/pipe/p_state.h
src/gallium/include/state_tracker/st_api.h
src/gallium/state_trackers/dri/dri2.c
src/gallium/state_trackers/dri/dri_screen.c
src/mesa/main/mtypes.h
src/mesa/program/ir_to_mesa.cpp
src/mesa/state_tracker/st_atom_sampler.c
src/mesa/state_tracker/st_atom_shader.c
src/mesa/state_tracker/st_atom_texture.c
src/mesa/state_tracker/st_cb_eglimage.c
src/mesa/state_tracker/st_context.c
src/mesa/state_tracker/st_glsl_to_nir.cpp
src/mesa/state_tracker/st_glsl_to_tgsi.cpp
src/mesa/state_tracker/st_manager.c
src/mesa/state_tracker/st_program.c
src/mesa/state_tracker/st_program.h
src/mesa/state_tracker/st_texture.h