* When displaying mip 0 of a texture at less than 100% zoom we linear sampling,
but we don't want to linear sample across slices. Adding a half pixel offset
in z ensures we sample precisely on the slice itself.
* Pixel picking is a bottleneck, so do a render to a headless output and read
that back as a way of quickly checking that all of the subresource is OK at
once.
* We preserve each API's interpretation of bit order for packed formats like
RGBA4 or R5G6B5 when displaying the raw data in the UI, but when we need to
proxy it or save to disk, we always transform to D3D's order as standard.
* This allows us to proxy them reliably because we always have a standard bit
order and APIs that need a different order transform when fetching data to the
standard format, or setting proxy data from the standard format.
* These tests ensure that texture rendering works correctly for all different
types of texture types, and for all formats, across different APIs, including
across a remote-proxy connection.