[PATCH 4/7] wined3d: Avoid using destroyed context.

Henri Verbeet hverbeet at gmail.com
Mon Oct 3 08:46:29 CDT 2016


On 3 October 2016 at 00:38, Józef Kucia <jkucia at codeweavers.com> wrote:
> The swapchain can be destroyed by state_unbind_resources()
> if the only reference to a swapchain is kept by a shader resource view.
> This happens in d3d10core and d3d11 tests when a device is destroyed
> in test_swapchain_flip().
>
I think it may be harder to fix than this. If state_unbind_resources()
can end up destroying the (primary) swapchain, it's not safe to call
context_acquire() afterwards. Which means it's unsafe to unload
resources or even unload a different SRV. The reason destroying the
RTVs is currently safe, is that we unloaded resources earlier, so
releasing the references to the resources for those views shouldn't
acquire a context to destroy e.g. the GL texture again, but that's
already more fragile than I'd like. Perhaps we should just delay
destroying the context until leaving the last level.



More information about the wine-devel mailing list