[Bug 43773] grandma2 onpc screen flickering and d3d: context_reacquire errors

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jan 11 18:30:07 CST 2018


https://bugs.winehq.org/show_bug.cgi?id=43773

Matteo Bruni <matteo.mystral at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
           Keywords|                            |download
                URL|                            |http://www.malighting.com/e
                   |                            |n/products/control/control/
                   |                            |ma-lighting/grandma2-onpc/g
                   |                            |ma2onpc-grandma2-onpc.html
             Status|UNCONFIRMED                 |NEW
           Hardware|x86                         |x86-64

--- Comment #3 from Matteo Bruni <matteo.mystral at gmail.com> ---
Thank you for the very clear instructions.

The application uses d3d9 to draw to multiple windows from a single device (via
CreateAdditionalSwapChain()). In current wined3d this means using, and
switching between, multiple GL contexts, given that contexts are "private" to
the swapchain.
The application also creates a bunch of queries and keeps using them the whole
time. Given that wined3d keeps switching between GL contexts as the application
presents the different swapchains, it often happens that a query gets polled
when the current context is different from the one that was used at query
creation time.

CSMT usually helps for this kind of issue but it won't in this case because
it's multiple swapchains, rather than multiple threads, that cause wined3d to
use different GL contexts.

I have a proof-of-concept patch that moves the context management to the
wined3d device and reuses the same context for multiple swapchains as long as
the pixel format matches (which fortunately seems to be the case for the
application in question). I'll try to clean it up into shape at some point
after 3.0, it seems like it could also be a decent stepping stone for handling
d3d10+ swapchainless rendering.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list