Use the namespace for storing objects.

Bug 19219444

Change-Id: I277d80be47d2057f31559c5058e2f6ea422dacfd
Reviewed-on: https://swiftshader-review.googlesource.com/4987
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <capn@google.com>
Reviewed-by: Nicolas Capens <capn@google.com>
diff --git a/src/OpenGL/common/NameSpace.hpp b/src/OpenGL/common/NameSpace.hpp
index 69b544f..2d72dc7 100644
--- a/src/OpenGL/common/NameSpace.hpp
+++ b/src/OpenGL/common/NameSpace.hpp
@@ -16,41 +16,59 @@
 #define gl_NameSpace_hpp

 

 #include "Object.hpp"

+#include "debug.h"

 

-#include <unordered_set>

-#include <algorithm>

-

-typedef unsigned int GLuint;

+#include <unordered_map>

 

 namespace gl

 {

 

 template<class ObjectType, GLuint baseName = 1>

-class NameSpace : std::unordered_set<GLuint>

+class NameSpace

 {

 public:

     NameSpace() : freeName(baseName)

 	{

 	}

 

+	~NameSpace()

+	{

+		ASSERT(empty());

+	}

+

+	bool empty()

+	{

+		return map.empty();

+	}

+

+	GLuint firstName()

+	{

+		return map.begin()->first;

+	}

+

     GLuint allocate()

 	{

 		GLuint name = freeName;

 

-		while(find(name) != end())

+		while(isReserved(name))

 		{

 			name++;

 		}

 

-		insert(name);

+		map.insert({name, nullptr});

 		freeName = name + 1;

 

 		return name;

 	}

 

-	void insert(GLuint name)

+	bool isReserved(GLuint name)

 	{

-		std::unordered_set<GLuint>::insert(name);

+		return map.find(name) != map.end();

+	}

+

+	void insert(GLuint name, ObjectType *object)

+	{

+		map[name] = object;

 

 		if(name == freeName)

 		{

@@ -58,13 +76,47 @@
 		}

 	}

 

-    void release(GLuint name)

+    ObjectType *remove(GLuint name)

 	{

-		erase(name);

-		freeName = std::min(name, freeName);

+		auto element = map.find(name);

+

+		if(element != map.end())

+		{

+			ObjectType *object = element->second;

+			map.erase(element);

+

+			if(name < freeName)

+			{

+				freeName = name;

+			}

+

+			return object;

+		}

+

+		return nullptr;

+	}

+

+	ObjectType *find(GLuint name)

+	{

+		if(name < baseName)

+		{

+			return nullptr;

+		}

+

+		auto element = map.find(name);

+

+		if(element == map.end())

+		{

+			return nullptr;

+		}

+

+		return element->second;

 	}

 

 private:

+	typedef std::unordered_map<GLuint, ObjectType*> Map;

+	Map map;

+

 	GLuint freeName;   // Lowest known potentially free name

 };

 

diff --git a/src/OpenGL/libGLES_CM/Context.cpp b/src/OpenGL/libGLES_CM/Context.cpp
index d59a00d..a6db78c 100644
--- a/src/OpenGL/libGLES_CM/Context.cpp
+++ b/src/OpenGL/libGLES_CM/Context.cpp
@@ -978,8 +978,8 @@
     {

         detachFramebuffer(framebuffer);

 

-        mFramebufferNameSpace.release(framebufferObject->first);

-        delete framebufferObject->second;

+		delete framebufferObject->second;

+        mFramebufferNameSpace.remove(framebufferObject->first);

         mFramebufferMap.erase(framebufferObject);

     }

 }

diff --git a/src/OpenGL/libGLES_CM/ResourceManager.cpp b/src/OpenGL/libGLES_CM/ResourceManager.cpp
index f59d76e..62545c2 100644
--- a/src/OpenGL/libGLES_CM/ResourceManager.cpp
+++ b/src/OpenGL/libGLES_CM/ResourceManager.cpp
@@ -27,19 +27,19 @@
 
 ResourceManager::~ResourceManager()
 {
-    while(!mBufferMap.empty())
+    while(!mBufferNameSpace.empty())
     {
-        deleteBuffer(mBufferMap.begin()->first);
+        deleteBuffer(mBufferNameSpace.firstName());
     }
 
-    while(!mRenderbufferMap.empty())
+    while(!mRenderbufferNameSpace.empty())
     {
-        deleteRenderbuffer(mRenderbufferMap.begin()->first);
+        deleteRenderbuffer(mRenderbufferNameSpace.firstName());
     }
 
-    while(!mTextureMap.empty())
+    while(!mTextureNameSpace.empty())
     {
-        deleteTexture(mTextureMap.begin()->first);
+        deleteTexture(mTextureNameSpace.firstName());
     }
 }
 
@@ -59,116 +59,64 @@
 // Returns an unused buffer name
 GLuint ResourceManager::createBuffer()
 {
-    GLuint handle = mBufferNameSpace.allocate();
-
-    mBufferMap[handle] = nullptr;
-
-    return handle;
+    return mBufferNameSpace.allocate();
 }
 
 // Returns an unused texture name
 GLuint ResourceManager::createTexture()
 {
-    GLuint handle = mTextureNameSpace.allocate();
-
-    mTextureMap[handle] = nullptr;
-
-    return handle;
+    return mTextureNameSpace.allocate();
 }
 
 // Returns an unused renderbuffer name
 GLuint ResourceManager::createRenderbuffer()
 {
-    GLuint handle = mRenderbufferNameSpace.allocate();
-
-    mRenderbufferMap[handle] = nullptr;
-
-    return handle;
+    return mRenderbufferNameSpace.allocate();
 }
 
 void ResourceManager::deleteBuffer(GLuint buffer)
 {
-    BufferMap::iterator bufferObject = mBufferMap.find(buffer);
+    Buffer *bufferObject = mBufferNameSpace.remove(buffer);
 
-    if(bufferObject != mBufferMap.end())
+    if(bufferObject)
     {
-        mBufferNameSpace.release(bufferObject->first);
-        if(bufferObject->second) bufferObject->second->release();
-        mBufferMap.erase(bufferObject);
+		bufferObject->release();
     }
 }
 
 void ResourceManager::deleteTexture(GLuint texture)
 {
-    TextureMap::iterator textureObject = mTextureMap.find(texture);
+    Texture *textureObject = mTextureNameSpace.find(texture);
 
-    if(textureObject != mTextureMap.end())
+    if(textureObject)
     {
-        mTextureNameSpace.release(textureObject->first);
-        if(textureObject->second) textureObject->second->release();
-        mTextureMap.erase(textureObject);
+		textureObject->release();
     }
 }
 
 void ResourceManager::deleteRenderbuffer(GLuint renderbuffer)
 {
-    RenderbufferMap::iterator renderbufferObject = mRenderbufferMap.find(renderbuffer);
+    Renderbuffer *renderbufferObject = mRenderbufferNameSpace.find(renderbuffer);
 
-    if(renderbufferObject != mRenderbufferMap.end())
+    if(renderbufferObject)
     {
-        mRenderbufferNameSpace.release(renderbufferObject->first);
-        if(renderbufferObject->second) renderbufferObject->second->release();
-        mRenderbufferMap.erase(renderbufferObject);
+		renderbufferObject->release();
     }
 }
 
 Buffer *ResourceManager::getBuffer(unsigned int handle)
 {
-    BufferMap::iterator buffer = mBufferMap.find(handle);
-
-    if(buffer == mBufferMap.end())
-    {
-        return nullptr;
-    }
-    else
-    {
-        return buffer->second;
-    }
+    return mBufferNameSpace.find(handle);
 }
 
 Texture *ResourceManager::getTexture(unsigned int handle)
 {
-    if(handle == 0) return nullptr;
-
-    TextureMap::iterator texture = mTextureMap.find(handle);
-
-    if(texture == mTextureMap.end())
-    {
-        return nullptr;
-    }
-    else
-    {
-        return texture->second;
-    }
+    return mTextureNameSpace.find(handle);
 }
 
 Renderbuffer *ResourceManager::getRenderbuffer(unsigned int handle)
 {
-    RenderbufferMap::iterator renderbuffer = mRenderbufferMap.find(handle);
-
-    if(renderbuffer == mRenderbufferMap.end())
-    {
-        return nullptr;
-    }
-    else
-    {
-        return renderbuffer->second;
-    }
-}
-
-void ResourceManager::setRenderbuffer(GLuint handle, Renderbuffer *buffer)
-{
-    mRenderbufferMap[handle] = buffer;
+    return mRenderbufferNameSpace.find(handle);
 }
 
 void ResourceManager::checkBufferAllocation(unsigned int buffer)
@@ -178,8 +126,7 @@
         Buffer *bufferObject = new Buffer(buffer);
 		bufferObject->addRef();
 
-		mBufferNameSpace.insert(buffer);
-        mBufferMap[buffer] = bufferObject;
+		mBufferNameSpace.insert(buffer, bufferObject);
     }
 }
 
@@ -205,8 +152,7 @@
 
 		textureObject->addRef();
 
-		mTextureNameSpace.insert(texture);
-        mTextureMap[texture] = textureObject;
+		mTextureNameSpace.insert(texture, textureObject);
     }
 }
 
@@ -217,8 +163,7 @@
 		Renderbuffer *renderbufferObject = new Renderbuffer(handle, new Colorbuffer(0, 0, GL_RGBA4_OES, 0));
 		renderbufferObject->addRef();
 
-		mRenderbufferNameSpace.insert(handle);
-		mRenderbufferMap[handle] = renderbufferObject;
+		mRenderbufferNameSpace.insert(handle, renderbufferObject);
 	}
 }
 
diff --git a/src/OpenGL/libGLES_CM/ResourceManager.h b/src/OpenGL/libGLES_CM/ResourceManager.h
index 0fc79ed..22d719f 100644
--- a/src/OpenGL/libGLES_CM/ResourceManager.h
+++ b/src/OpenGL/libGLES_CM/ResourceManager.h
@@ -58,8 +58,6 @@
     Texture *getTexture(GLuint handle);

     Renderbuffer *getRenderbuffer(GLuint handle);

 

-    void setRenderbuffer(GLuint handle, Renderbuffer *renderbuffer);

-

     void checkBufferAllocation(unsigned int buffer);

     void checkTextureAllocation(GLuint texture, TextureType type);

 	void checkRenderbufferAllocation(GLuint handle);

@@ -67,16 +65,8 @@
 private:

     std::size_t mRefCount;

 

-    typedef std::map<GLint, Buffer*> BufferMap;

-    BufferMap mBufferMap;

     gl::NameSpace<Buffer> mBufferNameSpace;

-

-    typedef std::map<GLint, Texture*> TextureMap;

-    TextureMap mTextureMap;

-    gl::NameSpace<Texture> mTextureNameSpace;

-

-    typedef std::map<GLint, Renderbuffer*> RenderbufferMap;

-    RenderbufferMap mRenderbufferMap;

+	gl::NameSpace<Texture> mTextureNameSpace;

     gl::NameSpace<Renderbuffer> mRenderbufferNameSpace;

 };

 

diff --git a/src/OpenGL/libGLESv2/Context.cpp b/src/OpenGL/libGLESv2/Context.cpp
index dfe5be6..8fd484d 100644
--- a/src/OpenGL/libGLESv2/Context.cpp
+++ b/src/OpenGL/libGLESv2/Context.cpp
@@ -1028,8 +1028,8 @@
     {

         detachFramebuffer(framebuffer);

 

-        mFramebufferNameSpace.release(framebufferObject->first);

-        delete framebufferObject->second;

+		delete framebufferObject->second;

+		mFramebufferNameSpace.remove(framebufferObject->first);

         mFramebufferMap.erase(framebufferObject);

     }

 }

@@ -1040,8 +1040,8 @@
 

     if(fenceObject != mFenceMap.end())

     {

-        mFenceNameSpace.release(fenceObject->first);

-        delete fenceObject->second;

+		delete fenceObject->second;

+		mFenceNameSpace.remove(fenceObject->first);

         mFenceMap.erase(fenceObject);

     }

 }

@@ -1052,13 +1052,12 @@
 

 	if(queryObject != mQueryMap.end())

     {

-        mQueryNameSpace.release(queryObject->first);

-

 		if(queryObject->second)

         {

             queryObject->second->release();

         }

 

+        mQueryNameSpace.remove(queryObject->first);

 		mQueryMap.erase(queryObject);

     }

 }

@@ -1081,8 +1080,8 @@
 			bindVertexArray(0);

 		}

 

-		mVertexArrayNameSpace.release(vertexArrayObject->first);

 		delete vertexArrayObject->second;

+		mVertexArrayNameSpace.remove(vertexArrayObject->first);

 		mVertexArrayMap.erase(vertexArrayObject);

 	}

 }

@@ -1102,8 +1101,8 @@
 

 	if(transformFeedbackObject != mTransformFeedbackMap.end())

 	{

-		mTransformFeedbackNameSpace.release(transformFeedbackObject->first);

 		delete transformFeedbackObject->second;

+		mTransformFeedbackNameSpace.remove(transformFeedbackObject->first);

 		mTransformFeedbackMap.erase(transformFeedbackObject);

 	}

 }

diff --git a/src/OpenGL/libGLESv2/ResourceManager.cpp b/src/OpenGL/libGLESv2/ResourceManager.cpp
index 1f4103d..85f0df3 100644
--- a/src/OpenGL/libGLESv2/ResourceManager.cpp
+++ b/src/OpenGL/libGLESv2/ResourceManager.cpp
@@ -31,9 +31,9 @@
 
 ResourceManager::~ResourceManager()
 {
-    while(!mBufferMap.empty())
+    while(!mBufferNameSpace.empty())
     {
-        deleteBuffer(mBufferMap.begin()->first);
+        deleteBuffer(mBufferNameSpace.firstName());
     }
 
     while(!mProgramMap.empty())
@@ -46,24 +46,24 @@
         deleteShader(mShaderMap.begin()->first);
     }
 
-    while(!mRenderbufferMap.empty())
+    while(!mRenderbufferNameSpace.empty())
     {
-        deleteRenderbuffer(mRenderbufferMap.begin()->first);
+        deleteRenderbuffer(mRenderbufferNameSpace.firstName());
     }
 
-    while(!mTextureMap.empty())
+    while(!mTextureNameSpace.empty())
     {
-        deleteTexture(mTextureMap.begin()->first);
+        deleteTexture(mTextureNameSpace.firstName());
     }
 
-	while(!mSamplerMap.empty())
+	while(!mSamplerNameSpace.empty())
 	{
-		deleteSampler(mSamplerMap.begin()->first);
+		deleteSampler(mSamplerNameSpace.firstName());
 	}
 
-	while(!mFenceSyncMap.empty())
+	while(!mFenceSyncNameSpace.empty())
 	{
-		deleteFenceSync(mFenceSyncMap.begin()->first);
+		deleteFenceSync(mFenceSyncNameSpace.firstName());
 	}
 }
 
@@ -83,11 +83,7 @@
 // Returns an unused buffer name
 GLuint ResourceManager::createBuffer()
 {
-    GLuint handle = mBufferNameSpace.allocate();
-
-    mBufferMap[handle] = nullptr;
-
-    return handle;
+    return mBufferNameSpace.allocate();
 }
 
 // Returns an unused shader/program name
@@ -121,54 +117,41 @@
 // Returns an unused texture name
 GLuint ResourceManager::createTexture()
 {
-    GLuint handle = mTextureNameSpace.allocate();
-
-    mTextureMap[handle] = nullptr;
-
-    return handle;
+	return mTextureNameSpace.allocate();
 }
 
 // Returns an unused renderbuffer name
 GLuint ResourceManager::createRenderbuffer()
 {
-    GLuint handle = mRenderbufferNameSpace.allocate();
-
-    mRenderbufferMap[handle] = nullptr;
-
-    return handle;
+	return mRenderbufferNameSpace.allocate();
 }
 
 // Returns an unused sampler name
 GLuint ResourceManager::createSampler()
 {
-	GLuint handle = mSamplerNameSpace.allocate();
-
-	mSamplerMap[handle] = nullptr;
-
-	return handle;
+	return mSamplerNameSpace.allocate();
 }
 
 // Returns the next unused fence name, and allocates the fence
 GLuint ResourceManager::createFenceSync(GLenum condition, GLbitfield flags)
 {
-	GLuint handle = mFenceSyncNameSpace.allocate();
+	GLuint name = mFenceSyncNameSpace.allocate();
 
-	FenceSync* fenceSync = new FenceSync(handle, condition, flags);
-	mFenceSyncMap[handle] = fenceSync;
+	FenceSync *fenceSync = new FenceSync(name, condition, flags);
 	fenceSync->addRef();
 
-	return handle;
+	mFenceSyncNameSpace.insert(name, fenceSync);
+
+	return name;
 }
 
 void ResourceManager::deleteBuffer(GLuint buffer)
 {
-    BufferMap::iterator bufferObject = mBufferMap.find(buffer);
+	Buffer *bufferObject = mBufferNameSpace.remove(buffer);
 
-    if(bufferObject != mBufferMap.end())
+    if(bufferObject)
     {
-        mBufferNameSpace.release(bufferObject->first);
-        if(bufferObject->second) bufferObject->second->release();
-        mBufferMap.erase(bufferObject);
+		bufferObject->release();
     }
 }
 
@@ -180,8 +163,8 @@
     {
         if(shaderObject->second->getRefCount() == 0)
         {
-            mProgramShaderNameSpace.release(shaderObject->first);
-            delete shaderObject->second;
+			delete shaderObject->second;
+			mProgramShaderNameSpace.remove(shaderObject->first);
             mShaderMap.erase(shaderObject);
         }
         else
@@ -199,8 +182,8 @@
     {
         if(programObject->second->getRefCount() == 0)
         {
-            mProgramShaderNameSpace.release(programObject->first);
-            delete programObject->second;
+			delete programObject->second;
+			mProgramShaderNameSpace.remove(programObject->first);
             mProgramMap.erase(programObject);
         }
         else
@@ -212,64 +195,47 @@
 
 void ResourceManager::deleteTexture(GLuint texture)
 {
-    TextureMap::iterator textureObject = mTextureMap.find(texture);
+    Texture *textureObject = mTextureNameSpace.remove(texture);
 
-    if(textureObject != mTextureMap.end())
+    if(textureObject)
     {
-        mTextureNameSpace.release(textureObject->first);
-        if(textureObject->second) textureObject->second->release();
-        mTextureMap.erase(textureObject);
+		textureObject->release();
     }
 }
 
 void ResourceManager::deleteRenderbuffer(GLuint renderbuffer)
 {
-    RenderbufferMap::iterator renderbufferObject = mRenderbufferMap.find(renderbuffer);
+    Renderbuffer *renderbufferObject = mRenderbufferNameSpace.remove(renderbuffer);
 
-    if(renderbufferObject != mRenderbufferMap.end())
+    if(renderbufferObject)
     {
-        mRenderbufferNameSpace.release(renderbufferObject->first);
-        if(renderbufferObject->second) renderbufferObject->second->release();
-        mRenderbufferMap.erase(renderbufferObject);
+		renderbufferObject->release();
     }
 }
 
 void ResourceManager::deleteSampler(GLuint sampler)
 {
-	auto samplerObject = mSamplerMap.find(sampler);
+	Sampler *samplerObject = mSamplerNameSpace.remove(sampler);
 
-	if(samplerObject != mSamplerMap.end())
+	if(samplerObject)
 	{
-		mSamplerNameSpace.release(samplerObject->first);
-		if(samplerObject->second) samplerObject->second->release();
-		mSamplerMap.erase(samplerObject);
+		samplerObject->release();
 	}
 }
 
 void ResourceManager::deleteFenceSync(GLuint fenceSync)
 {
-	auto fenceObjectIt = mFenceSyncMap.find(fenceSync);
+	FenceSync *fenceObject = mFenceSyncNameSpace.remove(fenceSync);
 
-	if(fenceObjectIt != mFenceSyncMap.end())
+	if(fenceObject)
 	{
-		mFenceSyncNameSpace.release(fenceObjectIt->first);
-		if(fenceObjectIt->second) fenceObjectIt->second->release();
-		mFenceSyncMap.erase(fenceObjectIt);
+		fenceObject->release();
 	}
 }
 
 Buffer *ResourceManager::getBuffer(unsigned int handle)
 {
-    BufferMap::iterator buffer = mBufferMap.find(handle);
-
-    if(buffer == mBufferMap.end())
-    {
-        return nullptr;
-    }
-    else
-    {
-        return buffer->second;
-    }
+    return mBufferNameSpace.find(handle);
 }
 
 Shader *ResourceManager::getShader(unsigned int handle)
@@ -288,18 +254,7 @@
 
 Texture *ResourceManager::getTexture(unsigned int handle)
 {
-    if(handle == 0) return nullptr;
-
-    TextureMap::iterator texture = mTextureMap.find(handle);
-
-    if(texture == mTextureMap.end())
-    {
-        return nullptr;
-    }
-    else
-    {
-        return texture->second;
-    }
+    return mTextureNameSpace.find(handle);
 }
 
 Program *ResourceManager::getProgram(unsigned int handle)
@@ -318,49 +273,17 @@
 
 Renderbuffer *ResourceManager::getRenderbuffer(unsigned int handle)
 {
-    RenderbufferMap::iterator renderbuffer = mRenderbufferMap.find(handle);
-
-    if(renderbuffer == mRenderbufferMap.end())
-    {
-        return nullptr;
-    }
-    else
-    {
-        return renderbuffer->second;
-    }
+    return mRenderbufferNameSpace.find(handle);
 }
 
 Sampler *ResourceManager::getSampler(unsigned int handle)
 {
-	auto sampler = mSamplerMap.find(handle);
-
-	if(sampler == mSamplerMap.end())
-	{
-		return nullptr;
-	}
-	else
-	{
-		return sampler->second;
-	}
+	return mSamplerNameSpace.find(handle);
 }
 
 FenceSync *ResourceManager::getFenceSync(unsigned int handle)
 {
-	auto fenceObjectIt = mFenceSyncMap.find(handle);
-
-	if(fenceObjectIt == mFenceSyncMap.end())
-	{
-		return nullptr;
-	}
-	else
-	{
-		return fenceObjectIt->second;
-	}
-}
-
-void ResourceManager::setRenderbuffer(GLuint handle, Renderbuffer *buffer)
-{
-    mRenderbufferMap[handle] = buffer;
+	return mFenceSyncNameSpace.find(handle);
 }
 
 void ResourceManager::checkBufferAllocation(unsigned int buffer)
@@ -370,8 +293,7 @@
         Buffer *bufferObject = new Buffer(buffer);
 		bufferObject->addRef();
 
-		mBufferNameSpace.insert(buffer);
-        mBufferMap[buffer] = bufferObject;
+		mBufferNameSpace.insert(buffer, bufferObject);
     }
 }
 
@@ -409,8 +331,7 @@
 
 		textureObject->addRef();
 
-		mTextureNameSpace.insert(texture);
-        mTextureMap[texture] = textureObject;
+		mTextureNameSpace.insert(texture, textureObject);
     }
 }
 
@@ -421,8 +342,7 @@
 		Renderbuffer *renderbufferObject = new Renderbuffer(handle, new Colorbuffer(0, 0, GL_RGBA4_OES, 0));
 		renderbufferObject->addRef();
 
-		mRenderbufferNameSpace.insert(handle);
-		mRenderbufferMap[handle] = renderbufferObject;
+		mRenderbufferNameSpace.insert(handle, renderbufferObject);
 	}
 }
 
@@ -433,14 +353,13 @@
 		Sampler *samplerObject = new Sampler(sampler);
 		samplerObject->addRef();
 
-		mSamplerNameSpace.insert(sampler);
-		mSamplerMap[sampler] = samplerObject;
+		mSamplerNameSpace.insert(sampler, samplerObject);
 	}
 }
 
 bool ResourceManager::isSampler(GLuint sampler)
 {
-	return mSamplerMap.find(sampler) != mSamplerMap.end();
+	return mSamplerNameSpace.find(sampler) != nullptr;
 }
 
 }
diff --git a/src/OpenGL/libGLESv2/ResourceManager.h b/src/OpenGL/libGLESv2/ResourceManager.h
index 381b5bd..8e282e7 100644
--- a/src/OpenGL/libGLESv2/ResourceManager.h
+++ b/src/OpenGL/libGLESv2/ResourceManager.h
@@ -45,7 +45,7 @@
 

 class ResourceManager

 {

-  public:

+public:

     ResourceManager();

     ~ResourceManager();

 

@@ -76,8 +76,6 @@
     Sampler *getSampler(GLuint handle);

     FenceSync *getFenceSync(GLuint handle);

 

-    void setRenderbuffer(GLuint handle, Renderbuffer *renderbuffer);

-

     void checkBufferAllocation(unsigned int buffer);

     void checkTextureAllocation(GLuint texture, TextureType type);

     void checkRenderbufferAllocation(GLuint handle);

@@ -85,11 +83,9 @@
 

     bool isSampler(GLuint sampler);

 

-  private:

+private:

     std::size_t mRefCount;

 

-    typedef std::map<GLint, Buffer*> BufferMap;

-    BufferMap mBufferMap;

     gl::NameSpace<Buffer> mBufferNameSpace;

 

     typedef std::map<GLint, Shader*> ShaderMap;

@@ -99,20 +95,9 @@
     ProgramMap mProgramMap;

     gl::NameSpace<Program> mProgramShaderNameSpace;

 

-    typedef std::map<GLint, Texture*> TextureMap;

-    TextureMap mTextureMap;

     gl::NameSpace<Texture> mTextureNameSpace;

-

-    typedef std::map<GLint, Renderbuffer*> RenderbufferMap;

-    RenderbufferMap mRenderbufferMap;

     gl::NameSpace<Renderbuffer> mRenderbufferNameSpace;

-

-	typedef std::map<GLint, Sampler*> SamplerMap;

-	SamplerMap mSamplerMap;

 	gl::NameSpace<Sampler> mSamplerNameSpace;

-

-	typedef std::map<GLint, FenceSync*> FenceMap;

-	FenceMap mFenceSyncMap;

 	gl::NameSpace<FenceSync> mFenceSyncNameSpace;

 };