Refactor fbo binding into DrawPixels().
Arg, fix color testing from frag test cache.
Track the last drawn width/height/format.

This way we can apply render-to-self effects more correctly.
Avoid a very unlikely fbo leak.
Fix a crash when icon data fails to decode.
Merge pull request #6859 from unknownbrackets/gpu-minor

Keep track of size and format as of last draw per framebuf
Improve depth buffering in D3D by computing a depth-flipped proj matrix but only when needed.
Remove lying comment
Merge pull request #6861 from hrydgard/depth-d3d

Improve depth buffering in D3D by computing a depth-flipped proj matrix but only when needed.
Update native
D3D: some cleanup and a crashfix on shutdown
D3D: Always decode U16 coords to floats as there's no good corresponding vertex format that works on all GPUs.

Fixes Burnout and probably many more games.
Account for texel offsets in the frag test lookup.

Darn, thought this wouldn't be necessary but it is is for 1/255 and other
values.

Without cache:
PowerVR: temp, add, mul, fract, mul, compare
Other: mul, add, floor, compare

With cache: mul, add, texture lookup, compare
Hook the saveicon creation func in Growlanser IV.
d3d: Fix some shader issues with tex projection.
d3d: Centralize parts of the texture cache.

Should merge these.
d3d: Correct texcoord scale.

Very obvious in for example LittleBigPlanet.
d3d: Use unsigned Z in throughmode.
d3d: Handle texture swizzling in ge preview.
d3d: Use unnormalized values for alpha testing.

Fixes Tales of Eternia's world map, Popolocrois everwhere, etc.

If PowerVR is using this method on GLES, it may be broken for the same
reasons.