On 25 November 2011 21:07, Stefan Dösinger <stefandoesin...@gmx.at> wrote: > Am Freitag, 25. November 2011, 20:23:01 schrieb Henri Verbeet: >> That's silly. If that's really the case that should be fixed. > I don't see why it is silly. d3d sysmem format -> gl texture format and gl > texture format -> rgba conversions are two separate things. What's unfortunate > is that in the case of P8 both can do the same job and the selection code is a > mess. > > For signed surfaces the upload conversion maps [-1.0;1.0] to [0.0;1.0] to load > it into a unsigned rgba surface. When we read the surface in the shader we > have to reverse that. You may be able to avoid the upload conversion by a more > tricky shader conversion, but that misses the point. > Maybe there's a legitimate case for signed formats and it's just P8 that's broken. I'm not entirely sure that we shouldn't just use either EXT_texture_snorm or the NV_texture_shader formats and mark the formats as unsupported otherwise though.
> Also, do you have a game that needs P8->RGBA blits? In my testing with ddraw, Not yet. I came across this while investigating how we should handle P8 primary surfaces for ddraw. You'd have a RGBA8 frontbuffer in wined3d and a P8 surface in ddraw.