[PATCH] wined3d: Set WINED3D_BUFFER_DOUBLEBUFFER for managed buffers as well.

Matteo Bruni matteo.mystral at gmail.com
Wed Dec 9 16:53:14 CST 2015


2015-12-08 22:53 GMT+01:00 Stefan Dösinger <stefandoesinger at gmail.com>:
>
>> Am 08.12.2015 um 20:42 schrieb Henri Verbeet <hverbeet at codeweavers.com>:
>>
>> -    if (device->create_parms.flags & WINED3DCREATE_SOFTWARE_VERTEXPROCESSING)
>> +    if (device->create_parms.flags & WINED3DCREATE_SOFTWARE_VERTEXPROCESSING || pool == WINED3D_POOL_MANAGED)
> This also helps bugs like 29878, or the Crysis bug that was I think incorrectly closed.

I guess you mean https://bugs.winehq.org/show_bug.cgi?id=18799, right?
I think we should reopen that one if you recall that Crysis uses the
managed pool for the relevant vertex buffer (which would make a lot of
sense).

WRT VM exhaustion, yeah, this might hurt but overall it still seems a
step in the right direction.
Not sure if it makes sense but we could potentially use
glBufferSubData() in buffer_direct_upload() instead of mapping the
VBO, that might help a bit with VM pressure or at least move the
problem to the GL implementation (also I'm not sure if
glBufferSubData() is still a bad idea for performance with some GL
drivers). Just thinking out loud...



More information about the wine-devel mailing list