On Wed, May 19, 2010 at 7:02 PM, Henri Verbeet hverbeet@gmail.com wrote:
On 19 May 2010 14:46, Roderick Colenbrander thunderbird2k@gmail.com wrote:
The main issue I'm facing is p8 uploads which are completely broken right now (a regression). At the beginning of the week I wanted to add
...
What do you think?
Is there a bug report / demo application that clearly shows the problem? Maybe I can give it a look.
The bug in question is and a test case is StarCraft: http://bugs.winehq.org/show_bug.cgi?id=22575
I have made a draft patch (this would have to be cut in a lot of pieces and changes a few more things than just the issue). It might be an acceptable path.
The idea is to move the 'p8 texture format' to the formats table including the case when no shaders/ext_paletted_texture is around (this case needs to be added in some form anyway since fixup up an empty format desc is not that nice). The format is overridden in case of color keying / drawpixels. So at this stage the 'blit_supported' is implicitly performed at formats table initialization. This might be acceptable for now. At a later stage I can imagine that we want to ask the 'blit_shader' for the format to use as that what this is basically about.
If I add the 'converted p8' format to the formats table, I would still have to return 'CONVERT_PALETTED' in d3dfmt_get_conv and somehow inspect the format. The cleanest way (I could check conv_bytes) I think is to add a flag WINED3DFMT_FLAG_CONVERTED. I want to set this flag also for converted textures and thus checks like 'convert != NO_CONVERSION || desc.convert' can be adjusted as well and d3dfmt_convert_surface is now a bit nicer as well.
Though not all parts might be needed right now, I think at least the Flags changes are a step in the right direction. Is the 'p8 solution' acceptable for now?
Roderick