Create shared contexts.

TRAC #12498

Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch

Author:    Andrew Lewycky

git-svn-id: https://angleproject.googlecode.com/svn/trunk@363 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/ResourceManager.cpp b/src/libGLESv2/ResourceManager.cpp
index 6b4deb1..8fa2a65 100644
--- a/src/libGLESv2/ResourceManager.cpp
+++ b/src/libGLESv2/ResourceManager.cpp
@@ -19,6 +19,7 @@
 {
 ResourceManager::ResourceManager()
 {
+    mRefCount = 1;
 }
 
 ResourceManager::~ResourceManager()
@@ -49,6 +50,19 @@
     }
 }
 
+void ResourceManager::addRef()
+{
+    mRefCount++;
+}
+
+void ResourceManager::release()
+{
+    if (--mRefCount == 0)
+    {
+        delete this;
+    }
+}
+
 // Returns an unused buffer name
 GLuint ResourceManager::createBuffer()
 {