[2/6] wined3d: Pass the destination surface to blitters
stefan at codeweavers.com
Fri Oct 14 04:43:26 CDT 2011
-----BEGIN PGP SIGNED MESSAGE-----
Am 13.10.2011 um 22:27 schrieb Henri Verbeet:
> It's mostly a matter of getting rid of set_shader() / unset_shader()
> and introducing calls for doing color and depth blits. This shouldn't
> be much of a surprise, I'm pretty sure we looked at this when Roderick
> was still working on the blit code.
No surprise there. The main question I have is, how do you handle blitting offscreen back/frontbuffers to the screen, and how do you select the correct color fixup shader for this?
> On 13 October 2011 20:58, Stefan Dösinger <stefan at codeweavers.com> wrote:
>> initiates the data transfer(That could include blitters that call
>> glTexSubImage2D when blitting from sysmem->vidmem)
> That's not necessarily something that belongs in individual blitters
> either. The idea is to make the blitters do GPU -> GPU transfers only,
> and do CPU <-> GPU mostly as uploads / downloads. I have some patches
> that go in that direction already.
Do you mean catch it in wined3d_surface_blt with checks that test for those operations? Or do you mean keep the current software blt then upload the entire destination surface?
In the end CPU <-> GPU blits should call surface_upload_data/surface_download_data, no question about that. I'd just use wined3d_select_blitter to select a blitter that calls those functions instead of explicit checks in wined3d_surface_blit.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
-----END PGP SIGNATURE-----
More information about the wine-devel