bf7a8145635e7dc6625596be127733ac7418cf21 |
|
19-May-2017 |
Nicolas Capens <capn@google.com> |
Fix locking a destroyed mutex. Surface should not lock the resource of a parent texture at destruction, because it can already have been destroyed. For example when a texture's image was bound as a render target, and the texture is deleted by the app, then the image holds the last reference to the texture. When the render target image gets deleted, it first releases its parent texture, and then the underlying surface gets destroyed. This is fixed by synchronizing, by locking and unlocking the (parent) resource, earlier. The derived class is responsible for calling Surface::sync() before releasing the parent resource. Bug chromium:716803 Change-Id: Ifc3685dcf9e25e8419000af65d4bb7407f26bbcb Reviewed-on: https://swiftshader-review.googlesource.com/9750 Reviewed-by: Nicolas Capens <capn@google.com> Tested-by: Nicolas Capens <capn@google.com>
/external/swiftshader/src/D3D8/Direct3DVolumeTexture8.cpp
|