https://www.khronos.org/opengles/sdk/docs/man/xhtml/glBindRenderbuffer.xml
target Specifies the target to which the renderbuffer object is bound. The symbolic constant must be GL_RENDERBUFFER.
GL_INVALID_ENUM is generated if target is not GL_RENDERBUFFER.
Вот зачем это? Может, там ещё полно подобных нелогичностей?