On 12 April 2013 09:52, Stefan Dösinger stefandoesinger@gmail.com wrote:
I think this should be 'fixed' by supporting conditional NP2 textures only when texture_rectangle is supported and get rid of other situations where we scale coordinates.
Possibly, although the only really problematic condition is the 1x1 texture one. If you make that go away, the condition comes down to ARB_texture_rectangle being supported, having a 2D texture, and the appropriate bit in np2_fixup being set.
- -> Fake NP2 cube textures: I don't see how this can possibly work.
We're merely length-scaling a directional vector.
Yeah, that looks wrong. It doesn't really affect this patch though, since cube maps are never rect textures.
- -> GPUs that don't support ARB_texture_rectangle: Unfortunately I
don't have one of those, but not advertising NP2_CONDITIONAL on those should be legitimate.
Yeah, though that's also more of a generic NPOT texture cleanup, it's trivial to check for rect texture support in the shader code.
- -> Fallback for P8 textures and EXT_paletted_textures: Problematic
because I can't test this. Not sure if the code even works...
Supposedly we can't really texture from P8 anyway, and certainly not from shaders. I'm not sure if there's any still supported hardware / driver combination that supports EXT_paletted_texture either. We should probably just get rid of any remaining EXT_paletted_texture support.