This directory contains shaders from external sources that we use for
benchmarking Tint. Each sub-directory contains a set of shaders from a
single source, along with a README.chromium file that describes the
upstream source, license, and any modifications made.
