[PATCH 09/10] d3dx9: Use intermediate surfaces for loading from unmappable source surfaces in D3DXLoadSurfaceFromSurface().

Matteo Bruni matteo.mystral at gmail.com
Tue Nov 20 16:07:53 CST 2018


On Mon, Nov 19, 2018 at 11:04 PM Henri Verbeet <hverbeet at gmail.com> wrote:
>
> On Mon, 19 Nov 2018 at 21:52, Matteo Bruni <matteo.mystral at gmail.com> wrote:
> > I'm also unsure whether StretchRect() covers all the cases of our
> > interest. After staring at the StretchRect() tests + docs for a while,
> > my current understanding is that it should always work for us, we're
> > probably doing an extra copy for off-screen plain surfaces but that's
> > no big deal.
> >
> Well, there's one case we really care about, and that's regular
> non-dynamic default pool textures. StretchRect() is the only way to
> get the data out of those, GetRenderTargetData() isn't an option. It's
> true that for e.g. render targets and offscreen plain surfaces there
> are more efficient options, but I'd consider those optimisations. Note
> though that after the next patch in this series, this is essentially a
> fall-back path for when we can't StretchRect() directly between the
> source and destination.

Right, I guess I'm not as optimistic about applications using suitable
filter settings. But sure, certainly stuff for further, possible
optimizations.



More information about the wine-devel mailing list