Commit e826ef02 by Nicolas Capens

Refactor GL objects into named and unnamed ones.

Bug 20045861 Change-Id: Ib6a6625d3eb876a1444ae4dab17c6e25246fbc43 Reviewed-on: https://swiftshader-review.googlesource.com/2794Tested-by: 's avatarNicolas Capens <capn@google.com> Reviewed-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <capn@google.com>
parent 9cc8c967
......@@ -20,7 +20,7 @@
namespace gl
{
Object::Object(GLuint name) : name(name)
Object::Object()
{
referenceCount = 0;
}
......@@ -50,4 +50,12 @@ void Object::release()
}
}
NamedObject::NamedObject(GLuint name) : name(name)
{
}
NamedObject::~NamedObject()
{
}
}
......@@ -26,18 +26,25 @@ namespace gl
class Object
{
public:
explicit Object(GLuint name);
Object();
virtual ~Object();
virtual void addRef();
virtual void release();
const GLuint name;
private:
volatile int referenceCount;
};
class NamedObject : public Object
{
public:
explicit NamedObject(GLuint name);
virtual ~NamedObject();
const GLuint name;
};
template<class ObjectType>
class BindingPointer
{
......
......@@ -5,10 +5,10 @@
namespace egl
{
class Texture : public gl::Object
class Texture : public gl::NamedObject
{
public:
Texture(GLuint name) : Object(name) {};
Texture(GLuint name) : NamedObject(name) {};
virtual void releaseTexImage() = 0;
};
}
......
......@@ -21,7 +21,7 @@
namespace gl
{
Buffer::Buffer(GLuint name) : Object(name)
Buffer::Buffer(GLuint name) : NamedObject(name)
{
mContents = 0;
mSize = 0;
......
......@@ -29,7 +29,7 @@
namespace gl
{
class Buffer : public Object
class Buffer : public NamedObject
{
public:
explicit Buffer(GLuint name);
......
......@@ -19,7 +19,7 @@
namespace gl
{
Query::Query(GLuint name, GLenum type) : Object(name)
Query::Query(GLuint name, GLenum type) : NamedObject(name)
{
mQuery = NULL;
mStatus = GL_FALSE;
......
......@@ -26,7 +26,7 @@
namespace gl
{
class Query : public Object
class Query : public NamedObject
{
public:
Query(GLuint name, GLenum type);
......
......@@ -180,7 +180,7 @@ GLsizei RenderbufferTextureCubeMap::getSamples() const
////// Renderbuffer Implementation //////
Renderbuffer::Renderbuffer(GLuint name, RenderbufferInterface *instance) : Object(name)
Renderbuffer::Renderbuffer(GLuint name, RenderbufferInterface *instance) : NamedObject(name)
{
ASSERT(instance != NULL);
mInstance = instance;
......
......@@ -134,7 +134,7 @@ protected:
// Renderbuffer implements the GL renderbuffer object.
// It's only a proxy for a RenderbufferInterface instance; the internal object
// can change whenever glRenderbufferStorage is called.
class Renderbuffer : public Object
class Renderbuffer : public NamedObject
{
public:
Renderbuffer(GLuint name, RenderbufferInterface *storage);
......
......@@ -27,7 +27,7 @@
namespace gl
{
Texture::Texture(GLuint name) : Object(name)
Texture::Texture(GLuint name) : NamedObject(name)
{
mMinFilter = GL_NEAREST_MIPMAP_LINEAR;
mMagFilter = GL_LINEAR;
......
......@@ -44,7 +44,7 @@ enum
IMPLEMENTATION_MAX_SAMPLES = 4
};
class Texture : public Object
class Texture : public NamedObject
{
public:
explicit Texture(GLuint name);
......
......@@ -22,7 +22,7 @@
namespace es1
{
Buffer::Buffer(GLuint name) : Object(name)
Buffer::Buffer(GLuint name) : NamedObject(name)
{
mContents = 0;
mSize = 0;
......
......@@ -27,7 +27,7 @@
namespace es1
{
class Buffer : public gl::Object
class Buffer : public gl::NamedObject
{
public:
explicit Buffer(GLuint name);
......
......@@ -136,7 +136,7 @@ GLsizei RenderbufferTexture2D::getSamples() const
////// Renderbuffer Implementation //////
Renderbuffer::Renderbuffer(GLuint name, RenderbufferInterface *instance) : Object(name)
Renderbuffer::Renderbuffer(GLuint name, RenderbufferInterface *instance) : NamedObject(name)
{
ASSERT(instance != NULL);
mInstance = instance;
......
......@@ -113,7 +113,7 @@ protected:
// Renderbuffer implements the GL renderbuffer object.
// It's only a proxy for a RenderbufferInterface instance; the internal object
// can change whenever glRenderbufferStorage is called.
class Renderbuffer : public gl::Object
class Renderbuffer : public gl::NamedObject
{
public:
Renderbuffer(GLuint name, RenderbufferInterface *storage);
......
......@@ -22,7 +22,7 @@
namespace es2
{
Buffer::Buffer(GLuint name) : Object(name)
Buffer::Buffer(GLuint name) : NamedObject(name)
{
mContents = 0;
mSize = 0;
......
......@@ -27,7 +27,7 @@
namespace es2
{
class Buffer : public gl::Object
class Buffer : public gl::NamedObject
{
public:
explicit Buffer(GLuint name);
......
......@@ -19,7 +19,7 @@
namespace es2
{
Query::Query(GLuint name, GLenum type) : Object(name)
Query::Query(GLuint name, GLenum type) : NamedObject(name)
{
mQuery = NULL;
mStatus = GL_FALSE;
......
......@@ -23,7 +23,7 @@
namespace es2
{
class Query : public gl::Object
class Query : public gl::NamedObject
{
public:
Query(GLuint name, GLenum type);
......
......@@ -272,7 +272,7 @@ GLsizei RenderbufferTextureCubeMap::getSamples() const
////// Renderbuffer Implementation //////
Renderbuffer::Renderbuffer(GLuint name, RenderbufferInterface *instance) : Object(name)
Renderbuffer::Renderbuffer(GLuint name, RenderbufferInterface *instance) : NamedObject(name)
{
ASSERT(instance != NULL);
mInstance = instance;
......
......@@ -164,7 +164,7 @@ protected:
// Renderbuffer implements the GL renderbuffer object.
// It's only a proxy for a RenderbufferInterface instance; the internal object
// can change whenever glRenderbufferStorage is called.
class Renderbuffer : public gl::Object
class Renderbuffer : public gl::NamedObject
{
public:
Renderbuffer(GLuint name, RenderbufferInterface *storage);
......
......@@ -23,10 +23,10 @@
namespace es2
{
class Sampler : public gl::Object
class Sampler : public gl::NamedObject
{
public:
Sampler(GLuint name) : Object(name)
Sampler(GLuint name) : NamedObject(name)
{
mMinFilter = GL_NEAREST_MIPMAP_LINEAR;
mMagFilter = GL_LINEAR;
......
......@@ -18,7 +18,7 @@
namespace es2
{
TransformFeedback::TransformFeedback(GLuint name) : Object(name), mActive(false), mPaused(false)
TransformFeedback::TransformFeedback(GLuint name) : NamedObject(name), mActive(false), mPaused(false)
{
mGenericBuffer = NULL;
}
......
......@@ -24,7 +24,7 @@ namespace es2
{
class Buffer;
class TransformFeedback : public gl::Object
class TransformFeedback : public gl::NamedObject
{
public:
// FIXME: Change this when implementing transform feedback
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment