Revert "Fix ResourceManager create-on-bind reallocations."
Build break on GPU FYI Bots on Linux/Mac:
http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder/builds/28092
This reverts commit 61ce1a414e74f6a72a520d6adf59bff13aff03a0.
Change-Id: If2e7fb35c769708a783a32932b777dc97eaba8a4
Reviewed-on: https://chromium-review.googlesource.com/261590
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/ResourceManager.cpp b/src/libANGLE/ResourceManager.cpp
index aaf144c..71a6a32 100644
--- a/src/libANGLE/ResourceManager.cpp
+++ b/src/libANGLE/ResourceManager.cpp
@@ -356,84 +356,33 @@
mRenderbufferMap[handle] = buffer;
}
-void ResourceManager::checkBufferAllocation(GLuint handle)
+void ResourceManager::checkBufferAllocation(unsigned int buffer)
{
- if (handle != 0)
+ if (buffer != 0 && !getBuffer(buffer))
{
- auto bufferMapIt = mBufferMap.find(handle);
- bool handleAllocated = (bufferMapIt != mBufferMap.end());
-
- if (handleAllocated && bufferMapIt->second != nullptr)
- {
- return;
- }
-
- Buffer *buffer = new Buffer(mFactory->createBuffer(), handle);
- buffer->addRef();
-
- if (handleAllocated)
- {
- bufferMapIt->second = buffer;
- }
- else
- {
- mBufferHandleAllocator.reserve(handle);
- mBufferMap[handle] = buffer;
- }
+ Buffer *bufferObject = new Buffer(mFactory->createBuffer(), buffer);
+ mBufferMap[buffer] = bufferObject;
+ bufferObject->addRef();
}
}
-void ResourceManager::checkTextureAllocation(GLuint handle, GLenum type)
+void ResourceManager::checkTextureAllocation(GLuint texture, GLenum type)
{
- if (handle != 0)
+ if (!getTexture(texture) && texture != 0)
{
- auto textureMapIt = mTextureMap.find(handle);
- bool handleAllocated = (textureMapIt != mTextureMap.end());
-
- if (handleAllocated && textureMapIt->second != nullptr)
- {
- return;
- }
-
- Texture *texture = new Texture(mFactory->createTexture(type), handle, type);
- texture->addRef();
-
- if (handleAllocated)
- {
- textureMapIt->second = texture;
- }
- else
- {
- mTextureHandleAllocator.reserve(handle);
- mTextureMap[handle] = texture;
- }
+ Texture *textureObject = new Texture(mFactory->createTexture(type), texture, type);
+ mTextureMap[texture] = textureObject;
+ textureObject->addRef();
}
}
-void ResourceManager::checkRenderbufferAllocation(GLuint handle)
+void ResourceManager::checkRenderbufferAllocation(GLuint renderbuffer)
{
- if (handle != 0)
+ if (renderbuffer != 0 && !getRenderbuffer(renderbuffer))
{
- auto renderbufferMapIt = mRenderbufferMap.find(handle);
- bool handleAllocated = (renderbufferMapIt != mRenderbufferMap.end());
-
- if (handleAllocated && renderbufferMapIt->second != nullptr)
- {
- return;
- }
-
- Renderbuffer *renderbuffer = new Renderbuffer(mFactory->createRenderbuffer(), handle);
- renderbuffer->addRef();
-
- if (handleAllocated)
- {
- renderbufferMapIt->second = renderbuffer;
- }
- else
- {
- mRenderbufferHandleAllocator.reserve(handle);
- mRenderbufferMap[handle] = renderbuffer;
- }
+ Renderbuffer *renderbufferObject = new Renderbuffer(mFactory->createRenderbuffer(), renderbuffer);
+ mRenderbufferMap[renderbuffer] = renderbufferObject;
+ renderbufferObject->addRef();
}
}
@@ -444,7 +393,6 @@
Sampler *samplerObject = new Sampler(sampler);
mSamplerMap[sampler] = samplerObject;
samplerObject->addRef();
- // Samplers cannot be created via Bind
}
}