2015-12-08 22:53 GMT+01:00 Stefan Dösinger stefandoesinger@gmail.com:
Am 08.12.2015 um 20:42 schrieb Henri Verbeet hverbeet@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...