http://bugs.winehq.org/show_bug.cgi?id=20672
--- Comment #15 from Jesse Allen the3dfxdude@gmail.com 2009-11-15 19:44:29 --- Stefan, the piece of code that controls whether P8 can be used is in dlls/wined3d/utils.c, function init_format_texture_info(). It checks for P8, by querying the extensions EXT_PALETTED_TEXTURE, and ARB_FRAGMENT_PROGRAM. When a required extension is not available, initing the format will be skipped and the flag not set. I have neither of these on R200, but relying on what OpenGL here is incorrect.
So this bug is that you should not only rely on the OpenGL formats when you could still have software support. I don't know if you could set the GetDC flag on those existing format entries without having those extensions and not cause other problems. Can you create a separate P8 software format entry?