-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
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@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.