Mesa (master): d3d11: fix reference counting so devices get freed

Luca Barbieri lb at kemper.freedesktop.org
Mon Sep 27 21:51:38 UTC 2010


Module: Mesa
Branch: master
Commit: 912682659414f45dc0afca1950db3be1738c0dad
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=912682659414f45dc0afca1950db3be1738c0dad

Author: Luca Barbieri <luca at luca-barbieri.com>
Date:   Mon Sep 27 22:52:34 2010 +0200

d3d11: fix reference counting so devices get freed

---

 .../state_trackers/d3d1x/gd3d11/d3d11_screen.h     |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_screen.h b/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_screen.h
index 9852daf..95ea4e0 100644
--- a/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_screen.h
+++ b/src/gallium/state_trackers/d3d1x/gd3d11/d3d11_screen.h
@@ -145,6 +145,8 @@ struct GalliumD3D11ScreenImpl : public GalliumD3D11Screen
 
 #if API >= 11
 		immediate_context = GalliumD3D11ImmediateDeviceContext_Create(this, immediate_pipe, owns_immediate_pipe);
+		// release to the reference to ourselves that the immediate context took, to avoid a garbage cycle
+		immediate_context->Release();
 #endif
 	}
 




More information about the mesa-commit mailing list