Don't discard serials of zero from the set of bound framebuffer serials.
A serial of zero is a valid texture serial but it was used by
RenderbufferStorage to denote a non-texture binding. Added a isTexture
method to Renderbuffers and RenderbufferStorage
has been updated to return -1 as the current texture serial to avoid
collisions.
BUG=angle:633
Change-Id: Ie27e4b185ac09b48b593ae0dea02aeff5950a44f
Reviewed-on: https://chromium-review.googlesource.com/200123
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libGLESv2/Renderbuffer.h b/src/libGLESv2/Renderbuffer.h
index 04263f3..0220638 100644
--- a/src/libGLESv2/Renderbuffer.h
+++ b/src/libGLESv2/Renderbuffer.h
@@ -58,6 +58,8 @@
virtual GLsizei getSamples() const = 0;
virtual unsigned int getSerial() const = 0;
+
+ virtual bool isTexture() const = 0;
virtual unsigned int getTextureSerial() const = 0;
private:
@@ -85,6 +87,8 @@
virtual GLsizei getSamples() const;
virtual unsigned int getSerial() const;
+
+ virtual bool isTexture() const;
virtual unsigned int getTextureSerial() const;
private:
@@ -115,6 +119,8 @@
virtual GLsizei getSamples() const;
virtual unsigned int getSerial() const;
+
+ virtual bool isTexture() const;
virtual unsigned int getTextureSerial() const;
private:
@@ -146,6 +152,8 @@
virtual GLsizei getSamples() const;
virtual unsigned int getSerial() const;
+
+ virtual bool isTexture() const;
virtual unsigned int getTextureSerial() const;
private:
@@ -177,6 +185,8 @@
virtual GLsizei getSamples() const;
virtual unsigned int getSerial() const;
+
+ virtual bool isTexture() const;
virtual unsigned int getTextureSerial() const;
private:
@@ -208,7 +218,9 @@
virtual GLsizei getSamples() const;
virtual unsigned int getSerial() const;
- virtual unsigned int getTextureSerial() const { return 0; }
+
+ virtual bool isTexture() const;
+ virtual unsigned int getTextureSerial() const;
static unsigned int issueSerials(GLuint count);
@@ -263,6 +275,8 @@
GLsizei getSamples() const;
unsigned int getSerial() const;
+
+ bool isTexture() const;
unsigned int getTextureSerial() const;
void setStorage(RenderbufferStorage *newStorage);