This is just the ES3 sampler object API trivially backported to ES2, because it lets me simplify some ugliness in mutter.
Someone tell me whether this is a worthwhile idea or not. Adding one line to Mesa to delete 400 lines in mutter seems pretty great to me, but GLES2-but-not-3 hardware is maybe not all that interesting going forward. Though that does include rPi and gen3...