[2/6] wined3d: Pass the destination surface to blitters

Stefan Dösinger stefan at codeweavers.com
Fri Oct 14 04:43:26 CDT 2011


-----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 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)

iQIcBAEBAgAGBQJOmARJAAoJEN0/YqbEcdMw+HsP/21icwJaEUXEFdDdVGGffmb0
dqnyH29cnV7do24OH44ABtv+4cq35oepg0NyRLxcPjTqSLsQgiQnCTB80oRZVw+J
4TuaXPTn+FH+eIzJRp1lpjO8LhY78iTMwqZE+ZlRGz/fST3z0kHSuXQTFVZKnME/
RfVrmRn/0xULM6Ey0rf63iPhcmXdmgshE/vV3mX2/j5yTakwjoV0FmpRz4eibbpq
2OdaNcYHXXdtFqBArLZp6y5DslQUWTjqc0U41t8XndCL2g0xxr5uEXcSxqd+hbgA
4KVubj/13ni86BGavCxoQI+fjosYLdZ1kQ2J/u4jXK9lfOvQw5ESl895d+yrblyR
kyfRhZBKlmfT94jAfGaClqsAVKWcPf52hc8uBljhjwfTGB6TpdaTZSSPmny4eGVi
b8uN9146HbkboYMiyKZvxSLwBzhVcngFCRJgpbvKm4has8G4m1NjL15OCLL3pfu9
Xleq3czqvrNLgx2kq+gXDPlOeeyyeElsYebfA5wigh7Ioxo7ZyX3cqexacPuFOMN
oMt2q4QgkMdmVzvIyLfRh5kOdjkEfYzOAniqPDDGKqLZXl3d8ndCiIAI3aITLEW2
AFEvxHrughwxac9PBQv3UTazlHJwg5/R7B5LuGbD/N09m5axs02Pz0k+N7fUBztk
zwJ9JqrChMlbW6BDrlZF
=kBZI
-----END PGP SIGNATURE-----



More information about the wine-devel mailing list