HS,
you’ll have to find a new solution then, for cards that don’t expose EXT_paletted_textures.
There are pretty straightforward ways for the driver to give you that functionality if the silicon is really gone. NVIDIA obviously didn’t chose this route (yet?).
(assuming that you really need paletted and can’t make do with single channel textures and/or fragment program tricks)
Both driver ‘emulation’ and an app driven solution share a disadvantage: tripled texture memory footprint (and bandwidth reqs).
The app solution goes something like this:
1)Predecode textures at load time (to RGB888).
2)Reupload textures on palette changes.
3)Be lazy. Don’t redecode a texture on palette change if you’re going to bind a different texture anyway.
You’re losing 66% storage on FX cards. This is not perfect, but it can be made working without changing your data files.
You may then proceed to blame the performance drop (if any) on NVIDIA’s decision, but you’ll have to accept that the functionality is gone.
