On 3 November 2015 at 23:55, Stefan Dösinger stefan@codeweavers.com wrote:
Instead of its sub-functions. See comments in patch 3 for details about surface_blt_fbo.
This fixes bug 39536. surface_load_location didn't prepare the multisample renderbuffer.
The next patches will consistently move the responsibility to the caller of surface_load_location.
This isn't necessarily wrong on its own, although I wonder if it's really worth it. I don't think it makes the API easier to use correctly, and I don't think there's going to be much of a performance impact.
For fixing bug 39536 this is wrong though. If I'm reading the terminal output there correctly, the issue is that load_location() is called with WINED3D_LOCATION_RB_MULTISAMPLE, which it doesn't know how to handle. This patch will hide the issue by simply always calling prepare_location(). I'd have to check if multisample surfaces are supposed to have defined content after creation and presents, but perhaps what you need to do here is to add proper WINED3D_LOCATION_DISCARDED handling for multisample surfaces, similar to depth stencil surfaces.