Use RenderbufferID in place of GLuint handles.

This will allow frame capture/replay to more easily emulate object
handle manipulation. It also provides a bit of type safety. Also
generalizes ResourceMap to handle non-GLuint IDs.

Bug: angleproject:3611
Change-Id: I174fd260f326e0dbe2aca3f818215c91d82cf48c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706559
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/validationES2.cpp b/src/libANGLE/validationES2.cpp
index df0aab4..d383c9a 100644
--- a/src/libANGLE/validationES2.cpp
+++ b/src/libANGLE/validationES2.cpp
@@ -2436,7 +2436,7 @@
             return true;
 
         case GL_RENDERBUFFER:
-            if (context->getRenderbuffer(name) == nullptr)
+            if (!context->isRenderbuffer({name}))
             {
                 context->validationError(GL_INVALID_VALUE, kInvalidRenderbufferName);
                 return false;
@@ -4952,7 +4952,7 @@
     return true;
 }
 
-bool ValidateBindRenderbuffer(Context *context, GLenum target, GLuint renderbuffer)
+bool ValidateBindRenderbuffer(Context *context, GLenum target, RenderbufferID renderbuffer)
 {
     if (target != GL_RENDERBUFFER)
     {
@@ -5721,7 +5721,7 @@
     return true;
 }
 
-bool ValidateIsRenderbuffer(Context *context, GLuint renderbuffer)
+bool ValidateIsRenderbuffer(Context *context, RenderbufferID renderbuffer)
 {
     return true;
 }
@@ -6230,7 +6230,7 @@
     return ValidateGenOrDelete(context, n);
 }
 
-bool ValidateDeleteRenderbuffers(Context *context, GLint n, const GLuint *)
+bool ValidateDeleteRenderbuffers(Context *context, GLint n, const RenderbufferID *renderbuffers)
 {
     return ValidateGenOrDelete(context, n);
 }
@@ -6277,7 +6277,7 @@
                                      GLenum target,
                                      GLenum attachment,
                                      GLenum renderbuffertarget,
-                                     GLuint renderbuffer)
+                                     RenderbufferID renderbuffer)
 {
     if (!ValidFramebufferTarget(context, target))
     {
@@ -6285,7 +6285,7 @@
         return false;
     }
 
-    if (renderbuffertarget != GL_RENDERBUFFER && renderbuffer != 0)
+    if (renderbuffertarget != GL_RENDERBUFFER && renderbuffer.value != 0)
     {
         context->validationError(GL_INVALID_ENUM, kInvalidRenderbufferTarget);
         return false;
@@ -6429,7 +6429,7 @@
     return ValidateGenOrDelete(context, n);
 }
 
-bool ValidateGenRenderbuffers(Context *context, GLint n, GLuint *)
+bool ValidateGenRenderbuffers(Context *context, GLint n, RenderbufferID *renderbuffers)
 {
     return ValidateGenOrDelete(context, n);
 }