The intrusive reference counting had no smart pointer, making it difficult to correctly manage reference counts. Most of the codebase did not call bind() and unbind() explictly, and relied on some other mechanism for keeping the routine alive. By switching to std::shared_ptr, we automatically get guarantees that routine cache eviction will not destroy the routine while it is in use. Bug: b/137524292 Bug: b/137649247 Change-Id: I38b5e8ba3ee084572a427a1de20f4f017ceaae5a Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/34168Tested-by:Ben Clayton <bclayton@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com> Reviewed-by:
Nicolas Capens <nicolascapens@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| Capabilities.cpp | Loading commit data... | |
| Capabilities.hpp | Loading commit data... | |
| D3D9.cpp | Loading commit data... | |
| D3D9.rc | Loading commit data... | |
| D3D9.vcxproj | Loading commit data... | |
| D3D9.vcxproj.filters | Loading commit data... | |
| Debug.cpp | Loading commit data... | |
| Debug.hpp | Loading commit data... | |
| Direct3D9.cpp | Loading commit data... | |
| Direct3D9.hpp | Loading commit data... | |
| Direct3D9Ex.cpp | Loading commit data... | |
| Direct3D9Ex.hpp | Loading commit data... | |
| Direct3DBaseTexture9.cpp | Loading commit data... | |
| Direct3DBaseTexture9.hpp | Loading commit data... | |
| Direct3DCubeTexture9.cpp | Loading commit data... | |
| Direct3DCubeTexture9.hpp | Loading commit data... | |
| Direct3DDevice9.cpp | Loading commit data... | |
| Direct3DDevice9.hpp | Loading commit data... | |
| Direct3DDevice9Ex.cpp | Loading commit data... | |
| Direct3DDevice9Ex.hpp | Loading commit data... | |
| Direct3DIndexBuffer9.cpp | Loading commit data... | |
| Direct3DIndexBuffer9.hpp | Loading commit data... | |
| Direct3DPixelShader9.cpp | Loading commit data... | |
| Direct3DPixelShader9.hpp | Loading commit data... | |
| Direct3DQuery9.cpp | Loading commit data... | |
| Direct3DQuery9.hpp | Loading commit data... | |
| Direct3DResource9.cpp | Loading commit data... | |
| Direct3DResource9.hpp | Loading commit data... | |
| Direct3DStateBlock9.cpp | Loading commit data... | |
| Direct3DStateBlock9.hpp | Loading commit data... | |
| Direct3DSurface9.cpp | Loading commit data... | |
| Direct3DSurface9.hpp | Loading commit data... | |
| Direct3DSwapChain9.cpp | Loading commit data... | |
| Direct3DSwapChain9.hpp | Loading commit data... | |
| Direct3DTexture9.cpp | Loading commit data... | |
| Direct3DTexture9.hpp | Loading commit data... | |
| Direct3DVertexBuffer9.cpp | Loading commit data... | |
| Direct3DVertexBuffer9.hpp | Loading commit data... | |
| Direct3DVertexDeclaration9.cpp | Loading commit data... | |
| Direct3DVertexDeclaration9.hpp | Loading commit data... | |
| Direct3DVertexShader9.cpp | Loading commit data... | |
| Direct3DVertexShader9.hpp | Loading commit data... | |
| Direct3DVolume9.cpp | Loading commit data... | |
| Direct3DVolume9.hpp | Loading commit data... | |
| Direct3DVolumeTexture9.cpp | Loading commit data... | |
| Direct3DVolumeTexture9.hpp | Loading commit data... | |
| Unknown.cpp | Loading commit data... | |
| Unknown.hpp | Loading commit data... | |
| d3d9.def | Loading commit data... | |
| resource.h | Loading commit data... |