Use BufferID in place of GLuint handles.
Introduces enable_if handling for "FromGL". Avoids the use of any macro
code to handle resource id casting.
Bug: angleproject:3611
Change-Id: I1a6d10c3c9cc6ba0dc072bad1d62c33551f05d87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1736127
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
diff --git a/src/libANGLE/ResourceManager.cpp b/src/libANGLE/ResourceManager.cpp
index ffc44ba..a430c71 100644
--- a/src/libANGLE/ResourceManager.cpp
+++ b/src/libANGLE/ResourceManager.cpp
@@ -103,7 +103,7 @@
template class ResourceManagerBase<HandleAllocator>;
template class ResourceManagerBase<HandleRangeAllocator>;
-template class TypedResourceManager<Buffer, HandleAllocator, BufferManager, GLuint>;
+template class TypedResourceManager<Buffer, HandleAllocator, BufferManager, BufferID>;
template class TypedResourceManager<Texture, HandleAllocator, TextureManager, GLuint>;
template class TypedResourceManager<Renderbuffer,
HandleAllocator,
@@ -120,7 +120,7 @@
// BufferManager Implementation.
// static
-Buffer *BufferManager::AllocateNewObject(rx::GLImplFactory *factory, GLuint handle)
+Buffer *BufferManager::AllocateNewObject(rx::GLImplFactory *factory, BufferID handle)
{
Buffer *buffer = new Buffer(factory, handle);
buffer->addRef();
@@ -133,12 +133,12 @@
buffer->release(context);
}
-GLuint BufferManager::createBuffer()
+BufferID BufferManager::createBuffer()
{
return AllocateEmptyObject(&mHandleAllocator, &mObjectMap);
}
-Buffer *BufferManager::getBuffer(GLuint handle) const
+Buffer *BufferManager::getBuffer(BufferID handle) const
{
return mObjectMap.query(handle);
}