I stumbled across something, which seems to me like a driver-bug. I could not find anything wrong in my app, so please have a look at it:
For all screenshots i used trilinear filtering, but the same happens with all filtering modes.
It’s been my experience that letting the driver have anything to do with generating S3TC data is a receipe for disaster:
- It won’t perform well at all
- It won’t look as good as offline generated DDS files
Thus, if you need MIP maps, you should pre-generate them and store them on disk.
Note that auto-generation of MIP maps is only useful for formats that the card can GENERATE natively, which usually means RGB(A)8 and possibly the 5-bit and float versions thereof. S3TC isn’t on that list; the CPU will generate the MIP map in that case (if it’s generated at all).