[5/5] WineD3D: Implement buffer subrange mapping with GL_APPLE_flush_buffer_range

Stefan Dösinger stefandoesinger at gmx.at
Thu Dec 17 16:13:03 CST 2009


Here's a new patch for review. I won't send it until Monday because I want to do some performance testing(see below), and because the ddraw patch is queued below that, but it needs more testing. 

The changes are essentially some bugfixing(one NULL pointer exception), and I dropped the optimization for full buffer maps for now. Oh, and some helper functions, but beyond that it's the same.

Am 16.12.2009 um 14:39 schrieb Henri Verbeet:

> 2009/12/16 Stefan Dösinger <stefan at codeweavers.com>:
>> Actually, since we're not going to Unmap-flush and PreLoad() the buffer(its either-or), I can use the same data structure for the stack and list(or well, dynamic array). I just have to watch out not to remove elements in any place in unlock that affects DOUBLEBUFFER buffers.
> Sounds fragile, but I'm willing to wait and see what the final patch looks like.
I'm not doing that for now, I want to test if there's any performance difference. If I am using that, it might collide with range merges, or catching locks of the whole buffer(and then not recording any more partial locks). I'll try to find a game where this matters and benchmark it, but I think the difference will be too small to notice it.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0005-WineD3D-Track-separate-dirty-ranges-in-buffers.txt
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20091217/6189ef62/attachment-0002.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0008-WineD3D-Implement-subrange-flushing-with-GL_APPLE_flus.txt
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20091217/6189ef62/attachment-0003.txt>

More information about the wine-devel mailing list