[PATCH 1/4] d3d9/tests: Add a windowed GetFrontBufferData test.

Stefan Dösinger stefandoesinger at gmail.com
Wed Jul 15 05:43:14 CDT 2015


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 2015-07-15 um 10:47 schrieb Henri Verbeet:
> Actually, it would probably be helpful to have an overview of how
> this is all going to work in the end. E.g., how is
> ddraw_surface7_Flip() going to work with the new setup?
Which part of this complicated function are you interested in? :-)

I've attached the current status of my work, but it's far from
complete. The immediate goal is to make swapchain_blit work with
wined3d_surface_blt (patch 13). Yeah, I realize I don't need most of
the previous 12 patches for that technically.

The current code handles flip in the ddraw and d3d9 version by
swapping the GL textures, invalidates all other locations (could move
around sysmem as well, but didn't bother yet) and unloads the resource
to remove the textures from the FBO cache. The same thing is currently
done in flip_surface() in surface.c Especially the FBO cache handling
is ugly.

Patches 15-17 give some idea how I plan ddraw overlays to work. I used
the d3d9 software cursor to experiment with this, but I don't think we
want to handle the software cursor in the way patch 15 handles it.
It's matching the native behavior, but GL vsync causes major
performance problems when updating the SW cursor and patch 17 doesn't
really fix this.

As you can see in patch 18-20 I hit a wall while trying to eliminate
the ddraw shadow frontbuffer. I think I first have to replace the
swapchain destroy and recreate in SetCooperativeLevel with a _Reset
call, and I'm sure there are many other issues. As such I haven't even
bothered yet with the flip target parameter for surface_flip().

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBAgAGBQJVpjlAAAoJEN0/YqbEcdMwr/sP/0tsHo4jdww2nszA/IMFF/Lz
5iIXHfS7Ito+Ka39RO4k4YknrTC3IwHWFERrNM5wMimognmKM9B1COLY320bFe78
reBbJ8xgTbqYrk3pr0zjqev80kr2LM3IxKGD9+3PQBmQGfG8VeqsS70KVhnYP1Cj
RnoyEIWniGBGXRzg4xKSFARIfKEIulNGungPghFaSz+P5Tu3OB1M/f4X2JlqUzZ0
FwwJL0assbdDhKNygmgnCMYhRm5avhvCO9yuw+k6vTGvvldNBWWL4BU45eDKlN+x
hxfuEuXhuKgC7bf8wMpSkZleIl5pWv/NXD+NrZORlSTlEqSoq9oU33MiACbkPqGw
ABjjuoX9Egsm5PXg9knbLqdFWOoo22nsTfDhfk6VVAlKUc6hrJdTauVqFEHWvukY
drYy1pIkMb04CzOtnYKAdsa872/Xvo7He2II8vaF8ABACu6xADUDCvLV7LqOrbug
8cQnI1gwmyVhkwyUZl6YbCeX9TtPcds+D+zp5ppsc0NUkZs3/hLtgRgK9IWEAG6Y
PgJLuWEzBsAkQzZ3tHu/hrZ9TtBPyt2Pv82vBpXfnBUo2WuxG5RwBsM5WXFIDuLf
x8EVTdNO4Z30AxYxskyw18/yEOfxYJkEY/z/GZ2GEwLhZMKjVvRm1zXhcneVcCCu
gQCLS/ktMK2QNTulpiFQ
=4T81
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: swapchain.tar.gz
Type: application/x-gzip
Size: 37501 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20150715/20f66292/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: swapchain.tar.gz.sig
Type: application/pgp-signature
Size: 543 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20150715/20f66292/attachment-0001.sig>


More information about the wine-devel mailing list