I hadn't considered the interaction of position with other filters;
I'm not sure in what circumstances you would want to mix them.  I was
simply using a position filter to pick a single device at a time out
of a "clinfo" list.

And in fact, in that context putting the position filter at the
beginning of the chain seems to make more sense, at least in the
context of these benchmarks.  If I have:

Device 0: Foo
Device 1: Bar
Device 2: Baz

and I want to see what the performance of Bar is, then I pick position
1.  If the position filter is at the front of the chain, then I get
double precision results for Bar followed by single precision results
for Bar.  If the position filter is at the end of the chain and if Foo
only supports single precision, then I get double precision results
for Baz followed by single precision results for Bar, and there's no
way to select both precision levels on the same device.