wined3d performance patches

Stefan Dösinger stefandoesinger at gmx.at
Tue Jun 14 13:04:24 CDT 2011


On Tuesday 14 June 2011 16:15:35 Henri Verbeet wrote:
> Yes, but I think that by now GF7 GPUs are marginal enough that it's
> not worth keeping the code around for. The Steam HW survey for example
> reports over 90% D3D10+ cards. Even if it does regress something, I
> think it makes more sense to tell people to either file a bug with
> NVIDIA for that or help improve the nouveau driver for that card.
Fair enough. Note that Matteo found a similar bug with GL_TEXTURE_BASE_LEVEL 
on newer cards, but I encouraged him to report it to Nvidia rather than adding 
a hack to this function. 

> I'm not so sure. E.g. the docs for the INTZ format say you can have an
> INTZ texture bound as both depth buffer and texture as long as depth
> writes are disabled. (This makes some sense, since in that case there
> aren't any read/write conflicts.)
Yeah, although Aras Pranckevičius d3d hacks page claims that it doesn't work 
well(slow). Still, there are corner cases where the sampler states of a 
current render target may be changed on the d3d side and applied to the GL 
texture.

> I'm not sure that can actually happen. wined3d_surface_set_format()
> insists the format must be WINED3DFMT_UNKNOWN, so it can't be part of
> a working FBO entry before the format is changed. That probably also
> means clearing the allocation flags there is a bit silly.
Hmm, I think I should reinvestigate those ddraw apps that call SetSurfaceDesc 
with strange parameters. Unfortunately I haven't documented which apps do 
that. I remember Windows Media Player 9 which sets the lpSurface field and 
expects subsequent Lock() calls to return this pointer :-O

> > It shouldn't be. RTs must be in the default pool, which can't be
> > unloaded.
> 
> Even in ddraw?
We need more tests for the DDSCAPS* mess, but the Direct3D7 docs say 
DDSCAPS2_TEXTUREMANAGE is incompatible with DDSCAPS_VIDEOMEMORY. I believe 
that DDSCAPS_3DDEVICE mandates DDSCAPS_VIDEOMEMORY, but atm I can't find the 
proper place in the docs to back this up.

The d3d7 docs also say that TEXTUREMANAGE surfaces can be blitted to, and 
suggests that this is done in software and the result is then uploaded to the 
video memory copy.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20110614/a04d4de8/attachment.pgp>


More information about the wine-devel mailing list