Commit d7d9b4bd by Nicolas Capens

Access binding pointer objects through operators.

Bug 18962347 Change-Id: Ia28555a8b3e8923309e3a760d78fa276bd7b8c8d Reviewed-on: https://swiftshader-review.googlesource.com/1890Reviewed-by: 's avatarNicolas Capens <capn@google.com> Tested-by: 's avatarNicolas Capens <capn@google.com>
parent 7cc75e1c
...@@ -44,18 +44,19 @@ class BindingPointer ...@@ -44,18 +44,19 @@ class BindingPointer
public: public:
BindingPointer() : object(nullptr) { } BindingPointer() : object(nullptr) { }
~BindingPointer() { ASSERT(!object); } // Objects have to be released before the resource manager is destroyed, so they must be explicitly cleaned up. ~BindingPointer() { ASSERT(!object); } // Objects have to be released before the resource manager is destroyed, so they must be explicitly cleaned up.
void set(ObjectType *newObject) ObjectType *operator=(ObjectType *newObject)
{ {
if(newObject) newObject->addRef(); if(newObject) newObject->addRef();
if(object) object->release(); if(object) object->release();
object = newObject; object = newObject;
return object;
} }
ObjectType *get() const { return object; } operator ObjectType*() const { return object; }
ObjectType *operator->() const { return object; } ObjectType *operator->() const { return object; }
GLuint name() const { return object ? object->name : 0; } GLuint name() const { return object ? object->name : 0; }
bool operator!() const { return !object; } bool operator!() const { return !object; }
......
...@@ -130,9 +130,9 @@ Context::Context(const egl::Config *config, const Context *shareContext) : mConf ...@@ -130,9 +130,9 @@ Context::Context(const egl::Config *config, const Context *shareContext) : mConf
// In order that access to these initial textures not be lost, they are treated as texture // In order that access to these initial textures not be lost, they are treated as texture
// objects all of whose names are 0. // objects all of whose names are 0.
mTexture2DZero.set(new Texture2D(0)); mTexture2DZero = new Texture2D(0);
mTextureCubeMapZero.set(new TextureCubeMap(0)); mTextureCubeMapZero = new TextureCubeMap(0);
mTextureExternalZero.set(new TextureExternal(0)); mTextureExternalZero = new TextureExternal(0);
mState.activeSampler = 0; mState.activeSampler = 0;
bindArrayBuffer(0); bindArrayBuffer(0);
...@@ -193,27 +193,27 @@ Context::~Context() ...@@ -193,27 +193,27 @@ Context::~Context()
{ {
for(int sampler = 0; sampler < MAX_COMBINED_TEXTURE_IMAGE_UNITS; sampler++) for(int sampler = 0; sampler < MAX_COMBINED_TEXTURE_IMAGE_UNITS; sampler++)
{ {
mState.samplerTexture[type][sampler].set(NULL); mState.samplerTexture[type][sampler] = NULL;
} }
} }
for(int i = 0; i < MAX_VERTEX_ATTRIBS; i++) for(int i = 0; i < MAX_VERTEX_ATTRIBS; i++)
{ {
mState.vertexAttribute[i].mBoundBuffer.set(NULL); mState.vertexAttribute[i].mBoundBuffer = NULL;
} }
for(int i = 0; i < QUERY_TYPE_COUNT; i++) for(int i = 0; i < QUERY_TYPE_COUNT; i++)
{ {
mState.activeQuery[i].set(NULL); mState.activeQuery[i] = NULL;
} }
mState.arrayBuffer.set(NULL); mState.arrayBuffer = NULL;
mState.elementArrayBuffer.set(NULL); mState.elementArrayBuffer = NULL;
mState.renderbuffer.set(NULL); mState.renderbuffer = NULL;
mTexture2DZero.set(NULL); mTexture2DZero = NULL;
mTextureCubeMapZero.set(NULL); mTextureCubeMapZero = NULL;
mTextureExternalZero.set(NULL); mTextureExternalZero = NULL;
delete mVertexDataManager; delete mVertexDataManager;
delete mIndexDataManager; delete mIndexDataManager;
...@@ -677,10 +677,10 @@ GLuint Context::getActiveQuery(GLenum target) const ...@@ -677,10 +677,10 @@ GLuint Context::getActiveQuery(GLenum target) const
switch(target) switch(target)
{ {
case GL_ANY_SAMPLES_PASSED_EXT: case GL_ANY_SAMPLES_PASSED_EXT:
queryObject = mState.activeQuery[QUERY_ANY_SAMPLES_PASSED].get(); queryObject = mState.activeQuery[QUERY_ANY_SAMPLES_PASSED];
break; break;
case GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT: case GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT:
queryObject = mState.activeQuery[QUERY_ANY_SAMPLES_PASSED_CONSERVATIVE].get(); queryObject = mState.activeQuery[QUERY_ANY_SAMPLES_PASSED_CONSERVATIVE];
break; break;
default: default:
ASSERT(false); ASSERT(false);
...@@ -707,7 +707,7 @@ const VertexAttribute &Context::getVertexAttribState(unsigned int attribNum) ...@@ -707,7 +707,7 @@ const VertexAttribute &Context::getVertexAttribState(unsigned int attribNum)
void Context::setVertexAttribState(unsigned int attribNum, Buffer *boundBuffer, GLint size, GLenum type, bool normalized, void Context::setVertexAttribState(unsigned int attribNum, Buffer *boundBuffer, GLint size, GLenum type, bool normalized,
GLsizei stride, const void *pointer) GLsizei stride, const void *pointer)
{ {
mState.vertexAttribute[attribNum].mBoundBuffer.set(boundBuffer); mState.vertexAttribute[attribNum].mBoundBuffer = boundBuffer;
mState.vertexAttribute[attribNum].mSize = size; mState.vertexAttribute[attribNum].mSize = size;
mState.vertexAttribute[attribNum].mType = type; mState.vertexAttribute[attribNum].mType = type;
mState.vertexAttribute[attribNum].mNormalized = normalized; mState.vertexAttribute[attribNum].mNormalized = normalized;
...@@ -921,35 +921,35 @@ void Context::bindArrayBuffer(unsigned int buffer) ...@@ -921,35 +921,35 @@ void Context::bindArrayBuffer(unsigned int buffer)
{ {
mResourceManager->checkBufferAllocation(buffer); mResourceManager->checkBufferAllocation(buffer);
mState.arrayBuffer.set(getBuffer(buffer)); mState.arrayBuffer = getBuffer(buffer);
} }
void Context::bindElementArrayBuffer(unsigned int buffer) void Context::bindElementArrayBuffer(unsigned int buffer)
{ {
mResourceManager->checkBufferAllocation(buffer); mResourceManager->checkBufferAllocation(buffer);
mState.elementArrayBuffer.set(getBuffer(buffer)); mState.elementArrayBuffer = getBuffer(buffer);
} }
void Context::bindTexture2D(GLuint texture) void Context::bindTexture2D(GLuint texture)
{ {
mResourceManager->checkTextureAllocation(texture, TEXTURE_2D); mResourceManager->checkTextureAllocation(texture, TEXTURE_2D);
mState.samplerTexture[TEXTURE_2D][mState.activeSampler].set(getTexture(texture)); mState.samplerTexture[TEXTURE_2D][mState.activeSampler] = getTexture(texture);
} }
void Context::bindTextureCubeMap(GLuint texture) void Context::bindTextureCubeMap(GLuint texture)
{ {
mResourceManager->checkTextureAllocation(texture, TEXTURE_CUBE); mResourceManager->checkTextureAllocation(texture, TEXTURE_CUBE);
mState.samplerTexture[TEXTURE_CUBE][mState.activeSampler].set(getTexture(texture)); mState.samplerTexture[TEXTURE_CUBE][mState.activeSampler] = getTexture(texture);
} }
void Context::bindTextureExternal(GLuint texture) void Context::bindTextureExternal(GLuint texture)
{ {
mResourceManager->checkTextureAllocation(texture, TEXTURE_EXTERNAL); mResourceManager->checkTextureAllocation(texture, TEXTURE_EXTERNAL);
mState.samplerTexture[TEXTURE_EXTERNAL][mState.activeSampler].set(getTexture(texture)); mState.samplerTexture[TEXTURE_EXTERNAL][mState.activeSampler] = getTexture(texture);
} }
void Context::bindReadFramebuffer(GLuint framebuffer) void Context::bindReadFramebuffer(GLuint framebuffer)
...@@ -974,7 +974,7 @@ void Context::bindDrawFramebuffer(GLuint framebuffer) ...@@ -974,7 +974,7 @@ void Context::bindDrawFramebuffer(GLuint framebuffer)
void Context::bindRenderbuffer(GLuint renderbuffer) void Context::bindRenderbuffer(GLuint renderbuffer)
{ {
mState.renderbuffer.set(getRenderbuffer(renderbuffer)); mState.renderbuffer = getRenderbuffer(renderbuffer);
} }
void Context::useProgram(GLuint program) void Context::useProgram(GLuint program)
...@@ -1018,7 +1018,7 @@ void Context::beginQuery(GLenum target, GLuint query) ...@@ -1018,7 +1018,7 @@ void Context::beginQuery(GLenum target, GLuint query)
// no query may be active for either if glBeginQuery targets either. // no query may be active for either if glBeginQuery targets either.
for(int i = 0; i < QUERY_TYPE_COUNT; i++) for(int i = 0; i < QUERY_TYPE_COUNT; i++)
{ {
if(mState.activeQuery[i].get() != NULL) if(mState.activeQuery[i] != NULL)
{ {
return error(GL_INVALID_OPERATION); return error(GL_INVALID_OPERATION);
} }
...@@ -1052,7 +1052,7 @@ void Context::beginQuery(GLenum target, GLuint query) ...@@ -1052,7 +1052,7 @@ void Context::beginQuery(GLenum target, GLuint query)
} }
// Set query as active for specified target // Set query as active for specified target
mState.activeQuery[qType].set(queryObject); mState.activeQuery[qType] = queryObject;
// Begin query // Begin query
queryObject->begin(); queryObject->begin();
...@@ -1074,7 +1074,7 @@ void Context::endQuery(GLenum target) ...@@ -1074,7 +1074,7 @@ void Context::endQuery(GLenum target)
ASSERT(false); ASSERT(false);
} }
Query *queryObject = mState.activeQuery[qType].get(); Query *queryObject = mState.activeQuery[qType];
if(queryObject == NULL) if(queryObject == NULL)
{ {
...@@ -1083,7 +1083,7 @@ void Context::endQuery(GLenum target) ...@@ -1083,7 +1083,7 @@ void Context::endQuery(GLenum target)
queryObject->end(); queryObject->end();
mState.activeQuery[qType].set(NULL); mState.activeQuery[qType] = NULL;
} }
void Context::setFramebufferZero(Framebuffer *buffer) void Context::setFramebufferZero(Framebuffer *buffer)
...@@ -1094,7 +1094,7 @@ void Context::setFramebufferZero(Framebuffer *buffer) ...@@ -1094,7 +1094,7 @@ void Context::setFramebufferZero(Framebuffer *buffer)
void Context::setRenderbufferStorage(RenderbufferStorage *renderbuffer) void Context::setRenderbufferStorage(RenderbufferStorage *renderbuffer)
{ {
Renderbuffer *renderbufferObject = mState.renderbuffer.get(); Renderbuffer *renderbufferObject = mState.renderbuffer;
renderbufferObject->setStorage(renderbuffer); renderbufferObject->setStorage(renderbuffer);
} }
...@@ -1148,12 +1148,12 @@ Query *Context::getQuery(unsigned int handle, bool create, GLenum type) ...@@ -1148,12 +1148,12 @@ Query *Context::getQuery(unsigned int handle, bool create, GLenum type)
Buffer *Context::getArrayBuffer() Buffer *Context::getArrayBuffer()
{ {
return mState.arrayBuffer.get(); return mState.arrayBuffer;
} }
Buffer *Context::getElementArrayBuffer() Buffer *Context::getElementArrayBuffer()
{ {
return mState.elementArrayBuffer.get(); return mState.elementArrayBuffer;
} }
Program *Context::getCurrentProgram() Program *Context::getCurrentProgram()
...@@ -1184,14 +1184,14 @@ Texture *Context::getSamplerTexture(unsigned int sampler, TextureType type) ...@@ -1184,14 +1184,14 @@ Texture *Context::getSamplerTexture(unsigned int sampler, TextureType type)
{ {
switch (type) switch (type)
{ {
case TEXTURE_2D: return mTexture2DZero.get(); case TEXTURE_2D: return mTexture2DZero;
case TEXTURE_CUBE: return mTextureCubeMapZero.get(); case TEXTURE_CUBE: return mTextureCubeMapZero;
case TEXTURE_EXTERNAL: return mTextureExternalZero.get(); case TEXTURE_EXTERNAL: return mTextureExternalZero;
default: UNREACHABLE(); default: UNREACHABLE();
} }
} }
return mState.samplerTexture[type][sampler].get(); return mState.samplerTexture[type][sampler];
} }
bool Context::getBooleanv(GLenum pname, GLboolean *params) bool Context::getBooleanv(GLenum pname, GLboolean *params)
...@@ -1964,7 +1964,7 @@ GLenum Context::applyVertexBuffer(GLint base, GLint first, GLsizei count) ...@@ -1964,7 +1964,7 @@ GLenum Context::applyVertexBuffer(GLint base, GLint first, GLsizei count)
// Applies the indices and element array bindings // Applies the indices and element array bindings
GLenum Context::applyIndexBuffer(const void *indices, GLsizei count, GLenum mode, GLenum type, TranslatedIndexData *indexInfo) GLenum Context::applyIndexBuffer(const void *indices, GLsizei count, GLenum mode, GLenum type, TranslatedIndexData *indexInfo)
{ {
GLenum err = mIndexDataManager->prepareIndexData(type, count, mState.elementArrayBuffer.get(), indices, indexInfo); GLenum err = mIndexDataManager->prepareIndexData(type, count, mState.elementArrayBuffer, indices, indexInfo);
if(err == GL_NO_ERROR) if(err == GL_NO_ERROR)
{ {
...@@ -2596,19 +2596,19 @@ void Context::detachBuffer(GLuint buffer) ...@@ -2596,19 +2596,19 @@ void Context::detachBuffer(GLuint buffer)
if(mState.arrayBuffer.name() == buffer) if(mState.arrayBuffer.name() == buffer)
{ {
mState.arrayBuffer.set(NULL); mState.arrayBuffer = NULL;
} }
if(mState.elementArrayBuffer.name() == buffer) if(mState.elementArrayBuffer.name() == buffer)
{ {
mState.elementArrayBuffer.set(NULL); mState.elementArrayBuffer = NULL;
} }
for(int attribute = 0; attribute < MAX_VERTEX_ATTRIBS; attribute++) for(int attribute = 0; attribute < MAX_VERTEX_ATTRIBS; attribute++)
{ {
if(mState.vertexAttribute[attribute].mBoundBuffer.name() == buffer) if(mState.vertexAttribute[attribute].mBoundBuffer.name() == buffer)
{ {
mState.vertexAttribute[attribute].mBoundBuffer.set(NULL); mState.vertexAttribute[attribute].mBoundBuffer = NULL;
} }
} }
} }
...@@ -2625,7 +2625,7 @@ void Context::detachTexture(GLuint texture) ...@@ -2625,7 +2625,7 @@ void Context::detachTexture(GLuint texture)
{ {
if(mState.samplerTexture[type][sampler].name() == texture) if(mState.samplerTexture[type][sampler].name() == texture)
{ {
mState.samplerTexture[type][sampler].set(NULL); mState.samplerTexture[type][sampler] = NULL;
} }
} }
} }
......
...@@ -31,9 +31,9 @@ Framebuffer::Framebuffer() ...@@ -31,9 +31,9 @@ Framebuffer::Framebuffer()
Framebuffer::~Framebuffer() Framebuffer::~Framebuffer()
{ {
mColorbufferPointer.set(NULL); mColorbufferPointer = NULL;
mDepthbufferPointer.set(NULL); mDepthbufferPointer = NULL;
mStencilbufferPointer.set(NULL); mStencilbufferPointer = NULL;
} }
Renderbuffer *Framebuffer::lookupRenderbuffer(GLenum type, GLuint handle) const Renderbuffer *Framebuffer::lookupRenderbuffer(GLenum type, GLuint handle) const
...@@ -64,19 +64,19 @@ Renderbuffer *Framebuffer::lookupRenderbuffer(GLenum type, GLuint handle) const ...@@ -64,19 +64,19 @@ Renderbuffer *Framebuffer::lookupRenderbuffer(GLenum type, GLuint handle) const
void Framebuffer::setColorbuffer(GLenum type, GLuint colorbuffer) void Framebuffer::setColorbuffer(GLenum type, GLuint colorbuffer)
{ {
mColorbufferType = (colorbuffer != 0) ? type : GL_NONE; mColorbufferType = (colorbuffer != 0) ? type : GL_NONE;
mColorbufferPointer.set(lookupRenderbuffer(type, colorbuffer)); mColorbufferPointer = lookupRenderbuffer(type, colorbuffer);
} }
void Framebuffer::setDepthbuffer(GLenum type, GLuint depthbuffer) void Framebuffer::setDepthbuffer(GLenum type, GLuint depthbuffer)
{ {
mDepthbufferType = (depthbuffer != 0) ? type : GL_NONE; mDepthbufferType = (depthbuffer != 0) ? type : GL_NONE;
mDepthbufferPointer.set(lookupRenderbuffer(type, depthbuffer)); mDepthbufferPointer = lookupRenderbuffer(type, depthbuffer);
} }
void Framebuffer::setStencilbuffer(GLenum type, GLuint stencilbuffer) void Framebuffer::setStencilbuffer(GLenum type, GLuint stencilbuffer)
{ {
mStencilbufferType = (stencilbuffer != 0) ? type : GL_NONE; mStencilbufferType = (stencilbuffer != 0) ? type : GL_NONE;
mStencilbufferPointer.set(lookupRenderbuffer(type, stencilbuffer)); mStencilbufferPointer = lookupRenderbuffer(type, stencilbuffer);
} }
void Framebuffer::detachTexture(GLuint texture) void Framebuffer::detachTexture(GLuint texture)
...@@ -84,19 +84,19 @@ void Framebuffer::detachTexture(GLuint texture) ...@@ -84,19 +84,19 @@ void Framebuffer::detachTexture(GLuint texture)
if(mColorbufferPointer.name() == texture && IsTextureTarget(mColorbufferType)) if(mColorbufferPointer.name() == texture && IsTextureTarget(mColorbufferType))
{ {
mColorbufferType = GL_NONE; mColorbufferType = GL_NONE;
mColorbufferPointer.set(NULL); mColorbufferPointer = NULL;
} }
if(mDepthbufferPointer.name() == texture && IsTextureTarget(mDepthbufferType)) if(mDepthbufferPointer.name() == texture && IsTextureTarget(mDepthbufferType))
{ {
mDepthbufferType = GL_NONE; mDepthbufferType = GL_NONE;
mDepthbufferPointer.set(NULL); mDepthbufferPointer = NULL;
} }
if(mStencilbufferPointer.name() == texture && IsTextureTarget(mStencilbufferType)) if(mStencilbufferPointer.name() == texture && IsTextureTarget(mStencilbufferType))
{ {
mStencilbufferType = GL_NONE; mStencilbufferType = GL_NONE;
mStencilbufferPointer.set(NULL); mStencilbufferPointer = NULL;
} }
} }
...@@ -105,19 +105,19 @@ void Framebuffer::detachRenderbuffer(GLuint renderbuffer) ...@@ -105,19 +105,19 @@ void Framebuffer::detachRenderbuffer(GLuint renderbuffer)
if(mColorbufferPointer.name() == renderbuffer && mColorbufferType == GL_RENDERBUFFER) if(mColorbufferPointer.name() == renderbuffer && mColorbufferType == GL_RENDERBUFFER)
{ {
mColorbufferType = GL_NONE; mColorbufferType = GL_NONE;
mColorbufferPointer.set(NULL); mColorbufferPointer = NULL;
} }
if(mDepthbufferPointer.name() == renderbuffer && mDepthbufferType == GL_RENDERBUFFER) if(mDepthbufferPointer.name() == renderbuffer && mDepthbufferType == GL_RENDERBUFFER)
{ {
mDepthbufferType = GL_NONE; mDepthbufferType = GL_NONE;
mDepthbufferPointer.set(NULL); mDepthbufferPointer = NULL;
} }
if(mStencilbufferPointer.name() == renderbuffer && mStencilbufferType == GL_RENDERBUFFER) if(mStencilbufferPointer.name() == renderbuffer && mStencilbufferType == GL_RENDERBUFFER)
{ {
mStencilbufferType = GL_NONE; mStencilbufferType = GL_NONE;
mStencilbufferPointer.set(NULL); mStencilbufferPointer = NULL;
} }
} }
...@@ -125,7 +125,7 @@ void Framebuffer::detachRenderbuffer(GLuint renderbuffer) ...@@ -125,7 +125,7 @@ void Framebuffer::detachRenderbuffer(GLuint renderbuffer)
// caller must Release() the returned surface // caller must Release() the returned surface
egl::Image *Framebuffer::getRenderTarget() egl::Image *Framebuffer::getRenderTarget()
{ {
Renderbuffer *colorbuffer = mColorbufferPointer.get(); Renderbuffer *colorbuffer = mColorbufferPointer;
if(colorbuffer) if(colorbuffer)
{ {
...@@ -139,11 +139,11 @@ egl::Image *Framebuffer::getRenderTarget() ...@@ -139,11 +139,11 @@ egl::Image *Framebuffer::getRenderTarget()
// caller must Release() the returned surface // caller must Release() the returned surface
egl::Image *Framebuffer::getDepthStencil() egl::Image *Framebuffer::getDepthStencil()
{ {
Renderbuffer *depthstencilbuffer = mDepthbufferPointer.get(); Renderbuffer *depthstencilbuffer = mDepthbufferPointer;
if(!depthstencilbuffer) if(!depthstencilbuffer)
{ {
depthstencilbuffer = mStencilbufferPointer.get(); depthstencilbuffer = mStencilbufferPointer;
} }
if(depthstencilbuffer) if(depthstencilbuffer)
...@@ -156,17 +156,17 @@ egl::Image *Framebuffer::getDepthStencil() ...@@ -156,17 +156,17 @@ egl::Image *Framebuffer::getDepthStencil()
Renderbuffer *Framebuffer::getColorbuffer() Renderbuffer *Framebuffer::getColorbuffer()
{ {
return mColorbufferPointer.get(); return mColorbufferPointer;
} }
Renderbuffer *Framebuffer::getDepthbuffer() Renderbuffer *Framebuffer::getDepthbuffer()
{ {
return mDepthbufferPointer.get(); return mDepthbufferPointer;
} }
Renderbuffer *Framebuffer::getStencilbuffer() Renderbuffer *Framebuffer::getStencilbuffer()
{ {
return mStencilbufferPointer.get(); return mStencilbufferPointer;
} }
GLenum Framebuffer::getColorbufferType() GLenum Framebuffer::getColorbufferType()
...@@ -401,11 +401,11 @@ GLenum Framebuffer::completeness(int &width, int &height, int &samples) ...@@ -401,11 +401,11 @@ GLenum Framebuffer::completeness(int &width, int &height, int &samples)
DefaultFramebuffer::DefaultFramebuffer(Colorbuffer *colorbuffer, DepthStencilbuffer *depthStencil) DefaultFramebuffer::DefaultFramebuffer(Colorbuffer *colorbuffer, DepthStencilbuffer *depthStencil)
{ {
mColorbufferPointer.set(new Renderbuffer(0, colorbuffer)); mColorbufferPointer = new Renderbuffer(0, colorbuffer);
Renderbuffer *depthStencilRenderbuffer = new Renderbuffer(0, depthStencil); Renderbuffer *depthStencilRenderbuffer = new Renderbuffer(0, depthStencil);
mDepthbufferPointer.set(depthStencilRenderbuffer); mDepthbufferPointer = depthStencilRenderbuffer;
mStencilbufferPointer.set(depthStencilRenderbuffer); mStencilbufferPointer = depthStencilRenderbuffer;
mColorbufferType = GL_RENDERBUFFER; mColorbufferType = GL_RENDERBUFFER;
mDepthbufferType = (depthStencilRenderbuffer->getDepthSize() != 0) ? GL_RENDERBUFFER : GL_NONE; mDepthbufferType = (depthStencilRenderbuffer->getDepthSize() != 0) ? GL_RENDERBUFFER : GL_NONE;
......
...@@ -70,12 +70,12 @@ GLuint RenderbufferInterface::getStencilSize() const ...@@ -70,12 +70,12 @@ GLuint RenderbufferInterface::getStencilSize() const
RenderbufferTexture2D::RenderbufferTexture2D(Texture2D *texture) RenderbufferTexture2D::RenderbufferTexture2D(Texture2D *texture)
{ {
mTexture2D.set(texture); mTexture2D = texture;
} }
RenderbufferTexture2D::~RenderbufferTexture2D() RenderbufferTexture2D::~RenderbufferTexture2D()
{ {
mTexture2D.set(NULL); mTexture2D = NULL;
} }
// Textures need to maintain their own reference count for references via // Textures need to maintain their own reference count for references via
...@@ -138,12 +138,12 @@ GLsizei RenderbufferTexture2D::getSamples() const ...@@ -138,12 +138,12 @@ GLsizei RenderbufferTexture2D::getSamples() const
RenderbufferTextureCubeMap::RenderbufferTextureCubeMap(TextureCubeMap *texture, GLenum target) : mTarget(target) RenderbufferTextureCubeMap::RenderbufferTextureCubeMap(TextureCubeMap *texture, GLenum target) : mTarget(target)
{ {
mTextureCubeMap.set(texture); mTextureCubeMap = texture;
} }
RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap() RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap()
{ {
mTextureCubeMap.set(NULL); mTextureCubeMap = NULL;
} }
// Textures need to maintain their own reference count for references via // Textures need to maintain their own reference count for references via
......
...@@ -55,7 +55,7 @@ VertexDataManager::~VertexDataManager() ...@@ -55,7 +55,7 @@ VertexDataManager::~VertexDataManager()
unsigned int VertexDataManager::writeAttributeData(StreamingVertexBuffer *vertexBuffer, GLint start, GLsizei count, const VertexAttribute &attribute) unsigned int VertexDataManager::writeAttributeData(StreamingVertexBuffer *vertexBuffer, GLint start, GLsizei count, const VertexAttribute &attribute)
{ {
Buffer *buffer = attribute.mBoundBuffer.get(); Buffer *buffer = attribute.mBoundBuffer;
int inputStride = attribute.stride(); int inputStride = attribute.stride();
int elementSize = attribute.typeSize(); int elementSize = attribute.typeSize();
...@@ -139,7 +139,7 @@ GLenum VertexDataManager::prepareVertexData(GLint start, GLsizei count, Translat ...@@ -139,7 +139,7 @@ GLenum VertexDataManager::prepareVertexData(GLint start, GLsizei count, Translat
{ {
if(attribs[i].mArrayEnabled) if(attribs[i].mArrayEnabled)
{ {
Buffer *buffer = attribs[i].mBoundBuffer.get(); Buffer *buffer = attribs[i].mBoundBuffer;
if(!buffer && attribs[i].mPointer == NULL) if(!buffer && attribs[i].mPointer == NULL)
{ {
......
...@@ -121,8 +121,8 @@ Context::Context(const egl::Config *config, const Context *shareContext) ...@@ -121,8 +121,8 @@ Context::Context(const egl::Config *config, const Context *shareContext)
// In order that access to these initial textures not be lost, they are treated as texture // In order that access to these initial textures not be lost, they are treated as texture
// objects all of whose names are 0. // objects all of whose names are 0.
mTexture2DZero.set(new Texture2D(0)); mTexture2DZero = new Texture2D(0);
mTextureExternalZero.set(new TextureExternal(0)); mTextureExternalZero = new TextureExternal(0);
mState.activeSampler = 0; mState.activeSampler = 0;
bindArrayBuffer(0); bindArrayBuffer(0);
...@@ -191,21 +191,21 @@ Context::~Context() ...@@ -191,21 +191,21 @@ Context::~Context()
{ {
for(int sampler = 0; sampler < MAX_TEXTURE_UNITS; sampler++) for(int sampler = 0; sampler < MAX_TEXTURE_UNITS; sampler++)
{ {
mState.samplerTexture[type][sampler].set(NULL); mState.samplerTexture[type][sampler] = NULL;
} }
} }
for(int i = 0; i < MAX_VERTEX_ATTRIBS; i++) for(int i = 0; i < MAX_VERTEX_ATTRIBS; i++)
{ {
mState.vertexAttribute[i].mBoundBuffer.set(NULL); mState.vertexAttribute[i].mBoundBuffer = NULL;
} }
mState.arrayBuffer.set(NULL); mState.arrayBuffer = NULL;
mState.elementArrayBuffer.set(NULL); mState.elementArrayBuffer = NULL;
mState.renderbuffer.set(NULL); mState.renderbuffer = NULL;
mTexture2DZero.set(NULL); mTexture2DZero = NULL;
mTextureExternalZero.set(NULL); mTextureExternalZero = NULL;
delete mVertexDataManager; delete mVertexDataManager;
delete mIndexDataManager; delete mIndexDataManager;
...@@ -705,7 +705,7 @@ const VertexAttribute &Context::getVertexAttribState(unsigned int attribNum) ...@@ -705,7 +705,7 @@ const VertexAttribute &Context::getVertexAttribState(unsigned int attribNum)
void Context::setVertexAttribState(unsigned int attribNum, Buffer *boundBuffer, GLint size, GLenum type, bool normalized, void Context::setVertexAttribState(unsigned int attribNum, Buffer *boundBuffer, GLint size, GLenum type, bool normalized,
GLsizei stride, const void *pointer) GLsizei stride, const void *pointer)
{ {
mState.vertexAttribute[attribNum].mBoundBuffer.set(boundBuffer); mState.vertexAttribute[attribNum].mBoundBuffer = boundBuffer;
mState.vertexAttribute[attribNum].mSize = size; mState.vertexAttribute[attribNum].mSize = size;
mState.vertexAttribute[attribNum].mType = type; mState.vertexAttribute[attribNum].mType = type;
mState.vertexAttribute[attribNum].mNormalized = normalized; mState.vertexAttribute[attribNum].mNormalized = normalized;
...@@ -836,28 +836,28 @@ void Context::bindArrayBuffer(unsigned int buffer) ...@@ -836,28 +836,28 @@ void Context::bindArrayBuffer(unsigned int buffer)
{ {
mResourceManager->checkBufferAllocation(buffer); mResourceManager->checkBufferAllocation(buffer);
mState.arrayBuffer.set(getBuffer(buffer)); mState.arrayBuffer = getBuffer(buffer);
} }
void Context::bindElementArrayBuffer(unsigned int buffer) void Context::bindElementArrayBuffer(unsigned int buffer)
{ {
mResourceManager->checkBufferAllocation(buffer); mResourceManager->checkBufferAllocation(buffer);
mState.elementArrayBuffer.set(getBuffer(buffer)); mState.elementArrayBuffer = getBuffer(buffer);
} }
void Context::bindTexture2D(GLuint texture) void Context::bindTexture2D(GLuint texture)
{ {
mResourceManager->checkTextureAllocation(texture, TEXTURE_2D); mResourceManager->checkTextureAllocation(texture, TEXTURE_2D);
mState.samplerTexture[TEXTURE_2D][mState.activeSampler].set(getTexture(texture)); mState.samplerTexture[TEXTURE_2D][mState.activeSampler] = getTexture(texture);
} }
void Context::bindTextureExternal(GLuint texture) void Context::bindTextureExternal(GLuint texture)
{ {
mResourceManager->checkTextureAllocation(texture, TEXTURE_EXTERNAL); mResourceManager->checkTextureAllocation(texture, TEXTURE_EXTERNAL);
mState.samplerTexture[TEXTURE_EXTERNAL][mState.activeSampler].set(getTexture(texture)); mState.samplerTexture[TEXTURE_EXTERNAL][mState.activeSampler] = getTexture(texture);
} }
void Context::bindFramebuffer(GLuint framebuffer) void Context::bindFramebuffer(GLuint framebuffer)
...@@ -872,7 +872,7 @@ void Context::bindFramebuffer(GLuint framebuffer) ...@@ -872,7 +872,7 @@ void Context::bindFramebuffer(GLuint framebuffer)
void Context::bindRenderbuffer(GLuint renderbuffer) void Context::bindRenderbuffer(GLuint renderbuffer)
{ {
mState.renderbuffer.set(getRenderbuffer(renderbuffer)); mState.renderbuffer = getRenderbuffer(renderbuffer);
} }
void Context::setFramebufferZero(Framebuffer *buffer) void Context::setFramebufferZero(Framebuffer *buffer)
...@@ -883,7 +883,7 @@ void Context::setFramebufferZero(Framebuffer *buffer) ...@@ -883,7 +883,7 @@ void Context::setFramebufferZero(Framebuffer *buffer)
void Context::setRenderbufferStorage(RenderbufferStorage *renderbuffer) void Context::setRenderbufferStorage(RenderbufferStorage *renderbuffer)
{ {
Renderbuffer *renderbufferObject = mState.renderbuffer.get(); Renderbuffer *renderbufferObject = mState.renderbuffer;
renderbufferObject->setStorage(renderbuffer); renderbufferObject->setStorage(renderbuffer);
} }
...@@ -903,12 +903,12 @@ Framebuffer *Context::getFramebuffer(unsigned int handle) ...@@ -903,12 +903,12 @@ Framebuffer *Context::getFramebuffer(unsigned int handle)
Buffer *Context::getArrayBuffer() Buffer *Context::getArrayBuffer()
{ {
return mState.arrayBuffer.get(); return mState.arrayBuffer;
} }
Buffer *Context::getElementArrayBuffer() Buffer *Context::getElementArrayBuffer()
{ {
return mState.elementArrayBuffer.get(); return mState.elementArrayBuffer;
} }
Texture2D *Context::getTexture2D() Texture2D *Context::getTexture2D()
...@@ -929,13 +929,13 @@ Texture *Context::getSamplerTexture(unsigned int sampler, TextureType type) ...@@ -929,13 +929,13 @@ Texture *Context::getSamplerTexture(unsigned int sampler, TextureType type)
{ {
switch (type) switch (type)
{ {
case TEXTURE_2D: return mTexture2DZero.get(); case TEXTURE_2D: return mTexture2DZero;
case TEXTURE_EXTERNAL: return mTextureExternalZero.get(); case TEXTURE_EXTERNAL: return mTextureExternalZero;
default: UNREACHABLE(); default: UNREACHABLE();
} }
} }
return mState.samplerTexture[type][sampler].get(); return mState.samplerTexture[type][sampler];
} }
bool Context::getBooleanv(GLenum pname, GLboolean *params) bool Context::getBooleanv(GLenum pname, GLboolean *params)
...@@ -1748,7 +1748,7 @@ GLenum Context::applyVertexBuffer(GLint base, GLint first, GLsizei count) ...@@ -1748,7 +1748,7 @@ GLenum Context::applyVertexBuffer(GLint base, GLint first, GLsizei count)
// Applies the indices and element array bindings // Applies the indices and element array bindings
GLenum Context::applyIndexBuffer(const void *indices, GLsizei count, GLenum mode, GLenum type, TranslatedIndexData *indexInfo) GLenum Context::applyIndexBuffer(const void *indices, GLsizei count, GLenum mode, GLenum type, TranslatedIndexData *indexInfo)
{ {
GLenum err = mIndexDataManager->prepareIndexData(type, count, mState.elementArrayBuffer.get(), indices, indexInfo); GLenum err = mIndexDataManager->prepareIndexData(type, count, mState.elementArrayBuffer, indices, indexInfo);
if(err == GL_NO_ERROR) if(err == GL_NO_ERROR)
{ {
...@@ -2361,19 +2361,19 @@ void Context::detachBuffer(GLuint buffer) ...@@ -2361,19 +2361,19 @@ void Context::detachBuffer(GLuint buffer)
if(mState.arrayBuffer.name() == buffer) if(mState.arrayBuffer.name() == buffer)
{ {
mState.arrayBuffer.set(NULL); mState.arrayBuffer = NULL;
} }
if(mState.elementArrayBuffer.name() == buffer) if(mState.elementArrayBuffer.name() == buffer)
{ {
mState.elementArrayBuffer.set(NULL); mState.elementArrayBuffer = NULL;
} }
for(int attribute = 0; attribute < MAX_VERTEX_ATTRIBS; attribute++) for(int attribute = 0; attribute < MAX_VERTEX_ATTRIBS; attribute++)
{ {
if(mState.vertexAttribute[attribute].mBoundBuffer.name() == buffer) if(mState.vertexAttribute[attribute].mBoundBuffer.name() == buffer)
{ {
mState.vertexAttribute[attribute].mBoundBuffer.set(NULL); mState.vertexAttribute[attribute].mBoundBuffer = NULL;
} }
} }
} }
...@@ -2390,7 +2390,7 @@ void Context::detachTexture(GLuint texture) ...@@ -2390,7 +2390,7 @@ void Context::detachTexture(GLuint texture)
{ {
if(mState.samplerTexture[type][sampler].name() == texture) if(mState.samplerTexture[type][sampler].name() == texture)
{ {
mState.samplerTexture[type][sampler].set(NULL); mState.samplerTexture[type][sampler] = NULL;
} }
} }
} }
......
...@@ -31,9 +31,9 @@ Framebuffer::Framebuffer() ...@@ -31,9 +31,9 @@ Framebuffer::Framebuffer()
Framebuffer::~Framebuffer() Framebuffer::~Framebuffer()
{ {
mColorbufferPointer.set(NULL); mColorbufferPointer = NULL;
mDepthbufferPointer.set(NULL); mDepthbufferPointer = NULL;
mStencilbufferPointer.set(NULL); mStencilbufferPointer = NULL;
} }
Renderbuffer *Framebuffer::lookupRenderbuffer(GLenum type, GLuint handle) const Renderbuffer *Framebuffer::lookupRenderbuffer(GLenum type, GLuint handle) const
...@@ -64,19 +64,19 @@ Renderbuffer *Framebuffer::lookupRenderbuffer(GLenum type, GLuint handle) const ...@@ -64,19 +64,19 @@ Renderbuffer *Framebuffer::lookupRenderbuffer(GLenum type, GLuint handle) const
void Framebuffer::setColorbuffer(GLenum type, GLuint colorbuffer) void Framebuffer::setColorbuffer(GLenum type, GLuint colorbuffer)
{ {
mColorbufferType = (colorbuffer != 0) ? type : GL_NONE_OES; mColorbufferType = (colorbuffer != 0) ? type : GL_NONE_OES;
mColorbufferPointer.set(lookupRenderbuffer(type, colorbuffer)); mColorbufferPointer = lookupRenderbuffer(type, colorbuffer);
} }
void Framebuffer::setDepthbuffer(GLenum type, GLuint depthbuffer) void Framebuffer::setDepthbuffer(GLenum type, GLuint depthbuffer)
{ {
mDepthbufferType = (depthbuffer != 0) ? type : GL_NONE_OES; mDepthbufferType = (depthbuffer != 0) ? type : GL_NONE_OES;
mDepthbufferPointer.set(lookupRenderbuffer(type, depthbuffer)); mDepthbufferPointer = lookupRenderbuffer(type, depthbuffer);
} }
void Framebuffer::setStencilbuffer(GLenum type, GLuint stencilbuffer) void Framebuffer::setStencilbuffer(GLenum type, GLuint stencilbuffer)
{ {
mStencilbufferType = (stencilbuffer != 0) ? type : GL_NONE_OES; mStencilbufferType = (stencilbuffer != 0) ? type : GL_NONE_OES;
mStencilbufferPointer.set(lookupRenderbuffer(type, stencilbuffer)); mStencilbufferPointer = lookupRenderbuffer(type, stencilbuffer);
} }
void Framebuffer::detachTexture(GLuint texture) void Framebuffer::detachTexture(GLuint texture)
...@@ -84,19 +84,19 @@ void Framebuffer::detachTexture(GLuint texture) ...@@ -84,19 +84,19 @@ void Framebuffer::detachTexture(GLuint texture)
if(mColorbufferPointer.name() == texture && IsTextureTarget(mColorbufferType)) if(mColorbufferPointer.name() == texture && IsTextureTarget(mColorbufferType))
{ {
mColorbufferType = GL_NONE_OES; mColorbufferType = GL_NONE_OES;
mColorbufferPointer.set(NULL); mColorbufferPointer = NULL;
} }
if(mDepthbufferPointer.name() == texture && IsTextureTarget(mDepthbufferType)) if(mDepthbufferPointer.name() == texture && IsTextureTarget(mDepthbufferType))
{ {
mDepthbufferType = GL_NONE_OES; mDepthbufferType = GL_NONE_OES;
mDepthbufferPointer.set(NULL); mDepthbufferPointer = NULL;
} }
if(mStencilbufferPointer.name() == texture && IsTextureTarget(mStencilbufferType)) if(mStencilbufferPointer.name() == texture && IsTextureTarget(mStencilbufferType))
{ {
mStencilbufferType = GL_NONE_OES; mStencilbufferType = GL_NONE_OES;
mStencilbufferPointer.set(NULL); mStencilbufferPointer = NULL;
} }
} }
...@@ -105,19 +105,19 @@ void Framebuffer::detachRenderbuffer(GLuint renderbuffer) ...@@ -105,19 +105,19 @@ void Framebuffer::detachRenderbuffer(GLuint renderbuffer)
if(mColorbufferPointer.name() == renderbuffer && mColorbufferType == GL_RENDERBUFFER_OES) if(mColorbufferPointer.name() == renderbuffer && mColorbufferType == GL_RENDERBUFFER_OES)
{ {
mColorbufferType = GL_NONE_OES; mColorbufferType = GL_NONE_OES;
mColorbufferPointer.set(NULL); mColorbufferPointer = NULL;
} }
if(mDepthbufferPointer.name() == renderbuffer && mDepthbufferType == GL_RENDERBUFFER_OES) if(mDepthbufferPointer.name() == renderbuffer && mDepthbufferType == GL_RENDERBUFFER_OES)
{ {
mDepthbufferType = GL_NONE_OES; mDepthbufferType = GL_NONE_OES;
mDepthbufferPointer.set(NULL); mDepthbufferPointer = NULL;
} }
if(mStencilbufferPointer.name() == renderbuffer && mStencilbufferType == GL_RENDERBUFFER_OES) if(mStencilbufferPointer.name() == renderbuffer && mStencilbufferType == GL_RENDERBUFFER_OES)
{ {
mStencilbufferType = GL_NONE_OES; mStencilbufferType = GL_NONE_OES;
mStencilbufferPointer.set(NULL); mStencilbufferPointer = NULL;
} }
} }
...@@ -125,7 +125,7 @@ void Framebuffer::detachRenderbuffer(GLuint renderbuffer) ...@@ -125,7 +125,7 @@ void Framebuffer::detachRenderbuffer(GLuint renderbuffer)
// caller must Release() the returned surface // caller must Release() the returned surface
egl::Image *Framebuffer::getRenderTarget() egl::Image *Framebuffer::getRenderTarget()
{ {
Renderbuffer *colorbuffer = mColorbufferPointer.get(); Renderbuffer *colorbuffer = mColorbufferPointer;
if(colorbuffer) if(colorbuffer)
{ {
...@@ -139,11 +139,11 @@ egl::Image *Framebuffer::getRenderTarget() ...@@ -139,11 +139,11 @@ egl::Image *Framebuffer::getRenderTarget()
// caller must Release() the returned surface // caller must Release() the returned surface
egl::Image *Framebuffer::getDepthStencil() egl::Image *Framebuffer::getDepthStencil()
{ {
Renderbuffer *depthstencilbuffer = mDepthbufferPointer.get(); Renderbuffer *depthstencilbuffer = mDepthbufferPointer;
if(!depthstencilbuffer) if(!depthstencilbuffer)
{ {
depthstencilbuffer = mStencilbufferPointer.get(); depthstencilbuffer = mStencilbufferPointer;
} }
if(depthstencilbuffer) if(depthstencilbuffer)
...@@ -156,17 +156,17 @@ egl::Image *Framebuffer::getDepthStencil() ...@@ -156,17 +156,17 @@ egl::Image *Framebuffer::getDepthStencil()
Renderbuffer *Framebuffer::getColorbuffer() Renderbuffer *Framebuffer::getColorbuffer()
{ {
return mColorbufferPointer.get(); return mColorbufferPointer;
} }
Renderbuffer *Framebuffer::getDepthbuffer() Renderbuffer *Framebuffer::getDepthbuffer()
{ {
return mDepthbufferPointer.get(); return mDepthbufferPointer;
} }
Renderbuffer *Framebuffer::getStencilbuffer() Renderbuffer *Framebuffer::getStencilbuffer()
{ {
return mStencilbufferPointer.get(); return mStencilbufferPointer;
} }
GLenum Framebuffer::getColorbufferType() GLenum Framebuffer::getColorbufferType()
...@@ -402,7 +402,7 @@ GLenum Framebuffer::completeness(int &width, int &height, int &samples) ...@@ -402,7 +402,7 @@ GLenum Framebuffer::completeness(int &width, int &height, int &samples)
GLenum Framebuffer::getImplementationColorReadFormat() GLenum Framebuffer::getImplementationColorReadFormat()
{ {
Renderbuffer *colorbuffer = mColorbufferPointer.get(); Renderbuffer *colorbuffer = mColorbufferPointer;
if(colorbuffer) if(colorbuffer)
{ {
...@@ -422,7 +422,7 @@ GLenum Framebuffer::getImplementationColorReadFormat() ...@@ -422,7 +422,7 @@ GLenum Framebuffer::getImplementationColorReadFormat()
GLenum Framebuffer::getImplementationColorReadType() GLenum Framebuffer::getImplementationColorReadType()
{ {
Renderbuffer *colorbuffer = mColorbufferPointer.get(); Renderbuffer *colorbuffer = mColorbufferPointer;
if(colorbuffer) if(colorbuffer)
{ {
...@@ -442,11 +442,11 @@ GLenum Framebuffer::getImplementationColorReadType() ...@@ -442,11 +442,11 @@ GLenum Framebuffer::getImplementationColorReadType()
DefaultFramebuffer::DefaultFramebuffer(Colorbuffer *colorbuffer, DepthStencilbuffer *depthStencil) DefaultFramebuffer::DefaultFramebuffer(Colorbuffer *colorbuffer, DepthStencilbuffer *depthStencil)
{ {
mColorbufferPointer.set(new Renderbuffer(0, colorbuffer)); mColorbufferPointer = new Renderbuffer(0, colorbuffer);
Renderbuffer *depthStencilRenderbuffer = new Renderbuffer(0, depthStencil); Renderbuffer *depthStencilRenderbuffer = new Renderbuffer(0, depthStencil);
mDepthbufferPointer.set(depthStencilRenderbuffer); mDepthbufferPointer = depthStencilRenderbuffer;
mStencilbufferPointer.set(depthStencilRenderbuffer); mStencilbufferPointer = depthStencilRenderbuffer;
mColorbufferType = GL_RENDERBUFFER_OES; mColorbufferType = GL_RENDERBUFFER_OES;
mDepthbufferType = (depthStencilRenderbuffer->getDepthSize() != 0) ? GL_RENDERBUFFER_OES : GL_NONE_OES; mDepthbufferType = (depthStencilRenderbuffer->getDepthSize() != 0) ? GL_RENDERBUFFER_OES : GL_NONE_OES;
......
...@@ -70,12 +70,12 @@ GLuint RenderbufferInterface::getStencilSize() const ...@@ -70,12 +70,12 @@ GLuint RenderbufferInterface::getStencilSize() const
RenderbufferTexture2D::RenderbufferTexture2D(Texture2D *texture) RenderbufferTexture2D::RenderbufferTexture2D(Texture2D *texture)
{ {
mTexture2D.set(texture); mTexture2D = texture;
} }
RenderbufferTexture2D::~RenderbufferTexture2D() RenderbufferTexture2D::~RenderbufferTexture2D()
{ {
mTexture2D.set(NULL); mTexture2D = NULL;
} }
// Textures need to maintain their own reference count for references via // Textures need to maintain their own reference count for references via
......
...@@ -56,7 +56,7 @@ VertexDataManager::~VertexDataManager() ...@@ -56,7 +56,7 @@ VertexDataManager::~VertexDataManager()
unsigned int VertexDataManager::writeAttributeData(StreamingVertexBuffer *vertexBuffer, GLint start, GLsizei count, const VertexAttribute &attribute) unsigned int VertexDataManager::writeAttributeData(StreamingVertexBuffer *vertexBuffer, GLint start, GLsizei count, const VertexAttribute &attribute)
{ {
Buffer *buffer = attribute.mBoundBuffer.get(); Buffer *buffer = attribute.mBoundBuffer;
int inputStride = attribute.stride(); int inputStride = attribute.stride();
int elementSize = attribute.typeSize(); int elementSize = attribute.typeSize();
...@@ -137,7 +137,7 @@ GLenum VertexDataManager::prepareVertexData(GLint start, GLsizei count, Translat ...@@ -137,7 +137,7 @@ GLenum VertexDataManager::prepareVertexData(GLint start, GLsizei count, Translat
{ {
if(attribs[i].mArrayEnabled) if(attribs[i].mArrayEnabled)
{ {
Buffer *buffer = attribs[i].mBoundBuffer.get(); Buffer *buffer = attribs[i].mBoundBuffer;
if(!buffer && attribs[i].mPointer == NULL) if(!buffer && attribs[i].mPointer == NULL)
{ {
......
...@@ -130,10 +130,10 @@ Context::Context(const egl::Config *config, const Context *shareContext) : mConf ...@@ -130,10 +130,10 @@ Context::Context(const egl::Config *config, const Context *shareContext) : mConf
// In order that access to these initial textures not be lost, they are treated as texture // In order that access to these initial textures not be lost, they are treated as texture
// objects all of whose names are 0. // objects all of whose names are 0.
mTexture2DZero.set(new Texture2D(0)); mTexture2DZero = new Texture2D(0);
mTexture3DZero.set(new Texture3D(0)); mTexture3DZero = new Texture3D(0);
mTextureCubeMapZero.set(new TextureCubeMap(0)); mTextureCubeMapZero = new TextureCubeMap(0);
mTextureExternalZero.set(new TextureExternal(0)); mTextureExternalZero = new TextureExternal(0);
mState.activeSampler = 0; mState.activeSampler = 0;
bindArrayBuffer(0); bindArrayBuffer(0);
...@@ -194,28 +194,28 @@ Context::~Context() ...@@ -194,28 +194,28 @@ Context::~Context()
{ {
for(int sampler = 0; sampler < MAX_COMBINED_TEXTURE_IMAGE_UNITS; sampler++) for(int sampler = 0; sampler < MAX_COMBINED_TEXTURE_IMAGE_UNITS; sampler++)
{ {
mState.samplerTexture[type][sampler].set(NULL); mState.samplerTexture[type][sampler] = NULL;
} }
} }
for(int i = 0; i < MAX_VERTEX_ATTRIBS; i++) for(int i = 0; i < MAX_VERTEX_ATTRIBS; i++)
{ {
mState.vertexAttribute[i].mBoundBuffer.set(NULL); mState.vertexAttribute[i].mBoundBuffer = NULL;
} }
for(int i = 0; i < QUERY_TYPE_COUNT; i++) for(int i = 0; i < QUERY_TYPE_COUNT; i++)
{ {
mState.activeQuery[i].set(NULL); mState.activeQuery[i] = NULL;
} }
mState.arrayBuffer.set(NULL); mState.arrayBuffer = NULL;
mState.elementArrayBuffer.set(NULL); mState.elementArrayBuffer = NULL;
mState.renderbuffer.set(NULL); mState.renderbuffer = NULL;
mTexture2DZero.set(NULL); mTexture2DZero = NULL;
mTexture3DZero.set(NULL); mTexture3DZero = NULL;
mTextureCubeMapZero.set(NULL); mTextureCubeMapZero = NULL;
mTextureExternalZero.set(NULL); mTextureExternalZero = NULL;
delete mVertexDataManager; delete mVertexDataManager;
delete mIndexDataManager; delete mIndexDataManager;
...@@ -679,10 +679,10 @@ GLuint Context::getActiveQuery(GLenum target) const ...@@ -679,10 +679,10 @@ GLuint Context::getActiveQuery(GLenum target) const
switch(target) switch(target)
{ {
case GL_ANY_SAMPLES_PASSED_EXT: case GL_ANY_SAMPLES_PASSED_EXT:
queryObject = mState.activeQuery[QUERY_ANY_SAMPLES_PASSED].get(); queryObject = mState.activeQuery[QUERY_ANY_SAMPLES_PASSED];
break; break;
case GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT: case GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT:
queryObject = mState.activeQuery[QUERY_ANY_SAMPLES_PASSED_CONSERVATIVE].get(); queryObject = mState.activeQuery[QUERY_ANY_SAMPLES_PASSED_CONSERVATIVE];
break; break;
default: default:
ASSERT(false); ASSERT(false);
...@@ -709,7 +709,7 @@ const VertexAttribute &Context::getVertexAttribState(unsigned int attribNum) ...@@ -709,7 +709,7 @@ const VertexAttribute &Context::getVertexAttribState(unsigned int attribNum)
void Context::setVertexAttribState(unsigned int attribNum, Buffer *boundBuffer, GLint size, GLenum type, bool normalized, void Context::setVertexAttribState(unsigned int attribNum, Buffer *boundBuffer, GLint size, GLenum type, bool normalized,
GLsizei stride, const void *pointer) GLsizei stride, const void *pointer)
{ {
mState.vertexAttribute[attribNum].mBoundBuffer.set(boundBuffer); mState.vertexAttribute[attribNum].mBoundBuffer = boundBuffer;
mState.vertexAttribute[attribNum].mSize = size; mState.vertexAttribute[attribNum].mSize = size;
mState.vertexAttribute[attribNum].mType = type; mState.vertexAttribute[attribNum].mType = type;
mState.vertexAttribute[attribNum].mNormalized = normalized; mState.vertexAttribute[attribNum].mNormalized = normalized;
...@@ -923,42 +923,42 @@ void Context::bindArrayBuffer(unsigned int buffer) ...@@ -923,42 +923,42 @@ void Context::bindArrayBuffer(unsigned int buffer)
{ {
mResourceManager->checkBufferAllocation(buffer); mResourceManager->checkBufferAllocation(buffer);
mState.arrayBuffer.set(getBuffer(buffer)); mState.arrayBuffer = getBuffer(buffer);
} }
void Context::bindElementArrayBuffer(unsigned int buffer) void Context::bindElementArrayBuffer(unsigned int buffer)
{ {
mResourceManager->checkBufferAllocation(buffer); mResourceManager->checkBufferAllocation(buffer);
mState.elementArrayBuffer.set(getBuffer(buffer)); mState.elementArrayBuffer = getBuffer(buffer);
} }
void Context::bindTexture2D(GLuint texture) void Context::bindTexture2D(GLuint texture)
{ {
mResourceManager->checkTextureAllocation(texture, TEXTURE_2D); mResourceManager->checkTextureAllocation(texture, TEXTURE_2D);
mState.samplerTexture[TEXTURE_2D][mState.activeSampler].set(getTexture(texture)); mState.samplerTexture[TEXTURE_2D][mState.activeSampler] = getTexture(texture);
} }
void Context::bindTextureCubeMap(GLuint texture) void Context::bindTextureCubeMap(GLuint texture)
{ {
mResourceManager->checkTextureAllocation(texture, TEXTURE_CUBE); mResourceManager->checkTextureAllocation(texture, TEXTURE_CUBE);
mState.samplerTexture[TEXTURE_CUBE][mState.activeSampler].set(getTexture(texture)); mState.samplerTexture[TEXTURE_CUBE][mState.activeSampler] = getTexture(texture);
} }
void Context::bindTextureExternal(GLuint texture) void Context::bindTextureExternal(GLuint texture)
{ {
mResourceManager->checkTextureAllocation(texture, TEXTURE_EXTERNAL); mResourceManager->checkTextureAllocation(texture, TEXTURE_EXTERNAL);
mState.samplerTexture[TEXTURE_EXTERNAL][mState.activeSampler].set(getTexture(texture)); mState.samplerTexture[TEXTURE_EXTERNAL][mState.activeSampler] = getTexture(texture);
} }
void Context::bindTexture3D(GLuint texture) void Context::bindTexture3D(GLuint texture)
{ {
mResourceManager->checkTextureAllocation(texture, TEXTURE_3D); mResourceManager->checkTextureAllocation(texture, TEXTURE_3D);
mState.samplerTexture[TEXTURE_3D][mState.activeSampler].set(getTexture(texture)); mState.samplerTexture[TEXTURE_3D][mState.activeSampler] = getTexture(texture);
} }
void Context::bindReadFramebuffer(GLuint framebuffer) void Context::bindReadFramebuffer(GLuint framebuffer)
...@@ -983,7 +983,7 @@ void Context::bindDrawFramebuffer(GLuint framebuffer) ...@@ -983,7 +983,7 @@ void Context::bindDrawFramebuffer(GLuint framebuffer)
void Context::bindRenderbuffer(GLuint renderbuffer) void Context::bindRenderbuffer(GLuint renderbuffer)
{ {
mState.renderbuffer.set(getRenderbuffer(renderbuffer)); mState.renderbuffer = getRenderbuffer(renderbuffer);
} }
void Context::useProgram(GLuint program) void Context::useProgram(GLuint program)
...@@ -1027,7 +1027,7 @@ void Context::beginQuery(GLenum target, GLuint query) ...@@ -1027,7 +1027,7 @@ void Context::beginQuery(GLenum target, GLuint query)
// no query may be active for either if glBeginQuery targets either. // no query may be active for either if glBeginQuery targets either.
for(int i = 0; i < QUERY_TYPE_COUNT; i++) for(int i = 0; i < QUERY_TYPE_COUNT; i++)
{ {
if(mState.activeQuery[i].get() != NULL) if(mState.activeQuery[i] != NULL)
{ {
return error(GL_INVALID_OPERATION); return error(GL_INVALID_OPERATION);
} }
...@@ -1061,7 +1061,7 @@ void Context::beginQuery(GLenum target, GLuint query) ...@@ -1061,7 +1061,7 @@ void Context::beginQuery(GLenum target, GLuint query)
} }
// Set query as active for specified target // Set query as active for specified target
mState.activeQuery[qType].set(queryObject); mState.activeQuery[qType] = queryObject;
// Begin query // Begin query
queryObject->begin(); queryObject->begin();
...@@ -1083,7 +1083,7 @@ void Context::endQuery(GLenum target) ...@@ -1083,7 +1083,7 @@ void Context::endQuery(GLenum target)
ASSERT(false); ASSERT(false);
} }
Query *queryObject = mState.activeQuery[qType].get(); Query *queryObject = mState.activeQuery[qType];
if(queryObject == NULL) if(queryObject == NULL)
{ {
...@@ -1092,7 +1092,7 @@ void Context::endQuery(GLenum target) ...@@ -1092,7 +1092,7 @@ void Context::endQuery(GLenum target)
queryObject->end(); queryObject->end();
mState.activeQuery[qType].set(NULL); mState.activeQuery[qType] = NULL;
} }
void Context::setFramebufferZero(Framebuffer *buffer) void Context::setFramebufferZero(Framebuffer *buffer)
...@@ -1103,7 +1103,7 @@ void Context::setFramebufferZero(Framebuffer *buffer) ...@@ -1103,7 +1103,7 @@ void Context::setFramebufferZero(Framebuffer *buffer)
void Context::setRenderbufferStorage(RenderbufferStorage *renderbuffer) void Context::setRenderbufferStorage(RenderbufferStorage *renderbuffer)
{ {
Renderbuffer *renderbufferObject = mState.renderbuffer.get(); Renderbuffer *renderbufferObject = mState.renderbuffer;
renderbufferObject->setStorage(renderbuffer); renderbufferObject->setStorage(renderbuffer);
} }
...@@ -1157,12 +1157,12 @@ Query *Context::getQuery(unsigned int handle, bool create, GLenum type) ...@@ -1157,12 +1157,12 @@ Query *Context::getQuery(unsigned int handle, bool create, GLenum type)
Buffer *Context::getArrayBuffer() Buffer *Context::getArrayBuffer()
{ {
return mState.arrayBuffer.get(); return mState.arrayBuffer;
} }
Buffer *Context::getElementArrayBuffer() Buffer *Context::getElementArrayBuffer()
{ {
return mState.elementArrayBuffer.get(); return mState.elementArrayBuffer;
} }
Program *Context::getCurrentProgram() Program *Context::getCurrentProgram()
...@@ -1198,15 +1198,15 @@ Texture *Context::getSamplerTexture(unsigned int sampler, TextureType type) ...@@ -1198,15 +1198,15 @@ Texture *Context::getSamplerTexture(unsigned int sampler, TextureType type)
{ {
switch (type) switch (type)
{ {
case TEXTURE_2D: return mTexture2DZero.get(); case TEXTURE_2D: return mTexture2DZero;
case TEXTURE_3D: return mTexture3DZero.get(); case TEXTURE_3D: return mTexture3DZero;
case TEXTURE_CUBE: return mTextureCubeMapZero.get(); case TEXTURE_CUBE: return mTextureCubeMapZero;
case TEXTURE_EXTERNAL: return mTextureExternalZero.get(); case TEXTURE_EXTERNAL: return mTextureExternalZero;
default: UNREACHABLE(); default: UNREACHABLE();
} }
} }
return mState.samplerTexture[type][sampler].get(); return mState.samplerTexture[type][sampler];
} }
bool Context::getBooleanv(GLenum pname, GLboolean *params) bool Context::getBooleanv(GLenum pname, GLboolean *params)
...@@ -2001,7 +2001,7 @@ GLenum Context::applyVertexBuffer(GLint base, GLint first, GLsizei count) ...@@ -2001,7 +2001,7 @@ GLenum Context::applyVertexBuffer(GLint base, GLint first, GLsizei count)
// Applies the indices and element array bindings // Applies the indices and element array bindings
GLenum Context::applyIndexBuffer(const void *indices, GLsizei count, GLenum mode, GLenum type, TranslatedIndexData *indexInfo) GLenum Context::applyIndexBuffer(const void *indices, GLsizei count, GLenum mode, GLenum type, TranslatedIndexData *indexInfo)
{ {
GLenum err = mIndexDataManager->prepareIndexData(type, count, mState.elementArrayBuffer.get(), indices, indexInfo); GLenum err = mIndexDataManager->prepareIndexData(type, count, mState.elementArrayBuffer, indices, indexInfo);
if(err == GL_NO_ERROR) if(err == GL_NO_ERROR)
{ {
...@@ -2717,19 +2717,19 @@ void Context::detachBuffer(GLuint buffer) ...@@ -2717,19 +2717,19 @@ void Context::detachBuffer(GLuint buffer)
if(mState.arrayBuffer.name() == buffer) if(mState.arrayBuffer.name() == buffer)
{ {
mState.arrayBuffer.set(NULL); mState.arrayBuffer = NULL;
} }
if(mState.elementArrayBuffer.name() == buffer) if(mState.elementArrayBuffer.name() == buffer)
{ {
mState.elementArrayBuffer.set(NULL); mState.elementArrayBuffer = NULL;
} }
for(int attribute = 0; attribute < MAX_VERTEX_ATTRIBS; attribute++) for(int attribute = 0; attribute < MAX_VERTEX_ATTRIBS; attribute++)
{ {
if(mState.vertexAttribute[attribute].mBoundBuffer.name() == buffer) if(mState.vertexAttribute[attribute].mBoundBuffer.name() == buffer)
{ {
mState.vertexAttribute[attribute].mBoundBuffer.set(NULL); mState.vertexAttribute[attribute].mBoundBuffer = NULL;
} }
} }
} }
...@@ -2746,7 +2746,7 @@ void Context::detachTexture(GLuint texture) ...@@ -2746,7 +2746,7 @@ void Context::detachTexture(GLuint texture)
{ {
if(mState.samplerTexture[type][sampler].name() == texture) if(mState.samplerTexture[type][sampler].name() == texture)
{ {
mState.samplerTexture[type][sampler].set(NULL); mState.samplerTexture[type][sampler] = NULL;
} }
} }
} }
......
...@@ -31,9 +31,9 @@ Framebuffer::Framebuffer() ...@@ -31,9 +31,9 @@ Framebuffer::Framebuffer()
Framebuffer::~Framebuffer() Framebuffer::~Framebuffer()
{ {
mColorbufferPointer.set(NULL); mColorbufferPointer = NULL;
mDepthbufferPointer.set(NULL); mDepthbufferPointer = NULL;
mStencilbufferPointer.set(NULL); mStencilbufferPointer = NULL;
} }
Renderbuffer *Framebuffer::lookupRenderbuffer(GLenum type, GLuint handle) const Renderbuffer *Framebuffer::lookupRenderbuffer(GLenum type, GLuint handle) const
...@@ -64,19 +64,19 @@ Renderbuffer *Framebuffer::lookupRenderbuffer(GLenum type, GLuint handle) const ...@@ -64,19 +64,19 @@ Renderbuffer *Framebuffer::lookupRenderbuffer(GLenum type, GLuint handle) const
void Framebuffer::setColorbuffer(GLenum type, GLuint colorbuffer) void Framebuffer::setColorbuffer(GLenum type, GLuint colorbuffer)
{ {
mColorbufferType = (colorbuffer != 0) ? type : GL_NONE; mColorbufferType = (colorbuffer != 0) ? type : GL_NONE;
mColorbufferPointer.set(lookupRenderbuffer(type, colorbuffer)); mColorbufferPointer = lookupRenderbuffer(type, colorbuffer);
} }
void Framebuffer::setDepthbuffer(GLenum type, GLuint depthbuffer) void Framebuffer::setDepthbuffer(GLenum type, GLuint depthbuffer)
{ {
mDepthbufferType = (depthbuffer != 0) ? type : GL_NONE; mDepthbufferType = (depthbuffer != 0) ? type : GL_NONE;
mDepthbufferPointer.set(lookupRenderbuffer(type, depthbuffer)); mDepthbufferPointer = lookupRenderbuffer(type, depthbuffer);
} }
void Framebuffer::setStencilbuffer(GLenum type, GLuint stencilbuffer) void Framebuffer::setStencilbuffer(GLenum type, GLuint stencilbuffer)
{ {
mStencilbufferType = (stencilbuffer != 0) ? type : GL_NONE; mStencilbufferType = (stencilbuffer != 0) ? type : GL_NONE;
mStencilbufferPointer.set(lookupRenderbuffer(type, stencilbuffer)); mStencilbufferPointer = lookupRenderbuffer(type, stencilbuffer);
} }
void Framebuffer::detachTexture(GLuint texture) void Framebuffer::detachTexture(GLuint texture)
...@@ -84,19 +84,19 @@ void Framebuffer::detachTexture(GLuint texture) ...@@ -84,19 +84,19 @@ void Framebuffer::detachTexture(GLuint texture)
if(mColorbufferPointer.name() == texture && IsTextureTarget(mColorbufferType)) if(mColorbufferPointer.name() == texture && IsTextureTarget(mColorbufferType))
{ {
mColorbufferType = GL_NONE; mColorbufferType = GL_NONE;
mColorbufferPointer.set(NULL); mColorbufferPointer = NULL;
} }
if(mDepthbufferPointer.name() == texture && IsTextureTarget(mDepthbufferType)) if(mDepthbufferPointer.name() == texture && IsTextureTarget(mDepthbufferType))
{ {
mDepthbufferType = GL_NONE; mDepthbufferType = GL_NONE;
mDepthbufferPointer.set(NULL); mDepthbufferPointer = NULL;
} }
if(mStencilbufferPointer.name() == texture && IsTextureTarget(mStencilbufferType)) if(mStencilbufferPointer.name() == texture && IsTextureTarget(mStencilbufferType))
{ {
mStencilbufferType = GL_NONE; mStencilbufferType = GL_NONE;
mStencilbufferPointer.set(NULL); mStencilbufferPointer = NULL;
} }
} }
...@@ -105,19 +105,19 @@ void Framebuffer::detachRenderbuffer(GLuint renderbuffer) ...@@ -105,19 +105,19 @@ void Framebuffer::detachRenderbuffer(GLuint renderbuffer)
if(mColorbufferPointer.name() == renderbuffer && mColorbufferType == GL_RENDERBUFFER) if(mColorbufferPointer.name() == renderbuffer && mColorbufferType == GL_RENDERBUFFER)
{ {
mColorbufferType = GL_NONE; mColorbufferType = GL_NONE;
mColorbufferPointer.set(NULL); mColorbufferPointer = NULL;
} }
if(mDepthbufferPointer.name() == renderbuffer && mDepthbufferType == GL_RENDERBUFFER) if(mDepthbufferPointer.name() == renderbuffer && mDepthbufferType == GL_RENDERBUFFER)
{ {
mDepthbufferType = GL_NONE; mDepthbufferType = GL_NONE;
mDepthbufferPointer.set(NULL); mDepthbufferPointer = NULL;
} }
if(mStencilbufferPointer.name() == renderbuffer && mStencilbufferType == GL_RENDERBUFFER) if(mStencilbufferPointer.name() == renderbuffer && mStencilbufferType == GL_RENDERBUFFER)
{ {
mStencilbufferType = GL_NONE; mStencilbufferType = GL_NONE;
mStencilbufferPointer.set(NULL); mStencilbufferPointer = NULL;
} }
} }
...@@ -125,7 +125,7 @@ void Framebuffer::detachRenderbuffer(GLuint renderbuffer) ...@@ -125,7 +125,7 @@ void Framebuffer::detachRenderbuffer(GLuint renderbuffer)
// caller must Release() the returned surface // caller must Release() the returned surface
egl::Image *Framebuffer::getRenderTarget() egl::Image *Framebuffer::getRenderTarget()
{ {
Renderbuffer *colorbuffer = mColorbufferPointer.get(); Renderbuffer *colorbuffer = mColorbufferPointer;
if(colorbuffer) if(colorbuffer)
{ {
...@@ -139,11 +139,11 @@ egl::Image *Framebuffer::getRenderTarget() ...@@ -139,11 +139,11 @@ egl::Image *Framebuffer::getRenderTarget()
// caller must Release() the returned surface // caller must Release() the returned surface
egl::Image *Framebuffer::getDepthStencil() egl::Image *Framebuffer::getDepthStencil()
{ {
Renderbuffer *depthstencilbuffer = mDepthbufferPointer.get(); Renderbuffer *depthstencilbuffer = mDepthbufferPointer;
if(!depthstencilbuffer) if(!depthstencilbuffer)
{ {
depthstencilbuffer = mStencilbufferPointer.get(); depthstencilbuffer = mStencilbufferPointer;
} }
if(depthstencilbuffer) if(depthstencilbuffer)
...@@ -156,17 +156,17 @@ egl::Image *Framebuffer::getDepthStencil() ...@@ -156,17 +156,17 @@ egl::Image *Framebuffer::getDepthStencil()
Renderbuffer *Framebuffer::getColorbuffer() Renderbuffer *Framebuffer::getColorbuffer()
{ {
return mColorbufferPointer.get(); return mColorbufferPointer;
} }
Renderbuffer *Framebuffer::getDepthbuffer() Renderbuffer *Framebuffer::getDepthbuffer()
{ {
return mDepthbufferPointer.get(); return mDepthbufferPointer;
} }
Renderbuffer *Framebuffer::getStencilbuffer() Renderbuffer *Framebuffer::getStencilbuffer()
{ {
return mStencilbufferPointer.get(); return mStencilbufferPointer;
} }
GLenum Framebuffer::getColorbufferType() GLenum Framebuffer::getColorbufferType()
...@@ -401,7 +401,7 @@ GLenum Framebuffer::completeness(int &width, int &height, int &samples) ...@@ -401,7 +401,7 @@ GLenum Framebuffer::completeness(int &width, int &height, int &samples)
GLenum Framebuffer::getImplementationColorReadFormat() GLenum Framebuffer::getImplementationColorReadFormat()
{ {
Renderbuffer *colorbuffer = mColorbufferPointer.get(); Renderbuffer *colorbuffer = mColorbufferPointer;
if(colorbuffer) if(colorbuffer)
{ {
...@@ -423,7 +423,7 @@ GLenum Framebuffer::getImplementationColorReadFormat() ...@@ -423,7 +423,7 @@ GLenum Framebuffer::getImplementationColorReadFormat()
GLenum Framebuffer::getImplementationColorReadType() GLenum Framebuffer::getImplementationColorReadType()
{ {
Renderbuffer *colorbuffer = mColorbufferPointer.get(); Renderbuffer *colorbuffer = mColorbufferPointer;
if(colorbuffer) if(colorbuffer)
{ {
...@@ -445,11 +445,11 @@ GLenum Framebuffer::getImplementationColorReadType() ...@@ -445,11 +445,11 @@ GLenum Framebuffer::getImplementationColorReadType()
DefaultFramebuffer::DefaultFramebuffer(Colorbuffer *colorbuffer, DepthStencilbuffer *depthStencil) DefaultFramebuffer::DefaultFramebuffer(Colorbuffer *colorbuffer, DepthStencilbuffer *depthStencil)
{ {
mColorbufferPointer.set(new Renderbuffer(0, colorbuffer)); mColorbufferPointer = new Renderbuffer(0, colorbuffer);
Renderbuffer *depthStencilRenderbuffer = new Renderbuffer(0, depthStencil); Renderbuffer *depthStencilRenderbuffer = new Renderbuffer(0, depthStencil);
mDepthbufferPointer.set(depthStencilRenderbuffer); mDepthbufferPointer = depthStencilRenderbuffer;
mStencilbufferPointer.set(depthStencilRenderbuffer); mStencilbufferPointer = depthStencilRenderbuffer;
mColorbufferType = GL_RENDERBUFFER; mColorbufferType = GL_RENDERBUFFER;
mDepthbufferType = (depthStencilRenderbuffer->getDepthSize() != 0) ? GL_RENDERBUFFER : GL_NONE; mDepthbufferType = (depthStencilRenderbuffer->getDepthSize() != 0) ? GL_RENDERBUFFER : GL_NONE;
......
...@@ -70,12 +70,12 @@ GLuint RenderbufferInterface::getStencilSize() const ...@@ -70,12 +70,12 @@ GLuint RenderbufferInterface::getStencilSize() const
RenderbufferTexture2D::RenderbufferTexture2D(Texture2D *texture) RenderbufferTexture2D::RenderbufferTexture2D(Texture2D *texture)
{ {
mTexture2D.set(texture); mTexture2D = texture;
} }
RenderbufferTexture2D::~RenderbufferTexture2D() RenderbufferTexture2D::~RenderbufferTexture2D()
{ {
mTexture2D.set(NULL); mTexture2D = NULL;
} }
// Textures need to maintain their own reference count for references via // Textures need to maintain their own reference count for references via
...@@ -138,12 +138,12 @@ GLsizei RenderbufferTexture2D::getSamples() const ...@@ -138,12 +138,12 @@ GLsizei RenderbufferTexture2D::getSamples() const
RenderbufferTexture3D::RenderbufferTexture3D(Texture3D *texture) RenderbufferTexture3D::RenderbufferTexture3D(Texture3D *texture)
{ {
mTexture3D.set(texture); mTexture3D = texture;
} }
RenderbufferTexture3D::~RenderbufferTexture3D() RenderbufferTexture3D::~RenderbufferTexture3D()
{ {
mTexture3D.set(NULL); mTexture3D = NULL;
} }
// Textures need to maintain their own reference count for references via // Textures need to maintain their own reference count for references via
...@@ -206,12 +206,12 @@ GLsizei RenderbufferTexture3D::getSamples() const ...@@ -206,12 +206,12 @@ GLsizei RenderbufferTexture3D::getSamples() const
RenderbufferTextureCubeMap::RenderbufferTextureCubeMap(TextureCubeMap *texture, GLenum target) : mTarget(target) RenderbufferTextureCubeMap::RenderbufferTextureCubeMap(TextureCubeMap *texture, GLenum target) : mTarget(target)
{ {
mTextureCubeMap.set(texture); mTextureCubeMap = texture;
} }
RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap() RenderbufferTextureCubeMap::~RenderbufferTextureCubeMap()
{ {
mTextureCubeMap.set(NULL); mTextureCubeMap = NULL;
} }
// Textures need to maintain their own reference count for references via // Textures need to maintain their own reference count for references via
......
...@@ -55,7 +55,7 @@ VertexDataManager::~VertexDataManager() ...@@ -55,7 +55,7 @@ VertexDataManager::~VertexDataManager()
unsigned int VertexDataManager::writeAttributeData(StreamingVertexBuffer *vertexBuffer, GLint start, GLsizei count, const VertexAttribute &attribute) unsigned int VertexDataManager::writeAttributeData(StreamingVertexBuffer *vertexBuffer, GLint start, GLsizei count, const VertexAttribute &attribute)
{ {
Buffer *buffer = attribute.mBoundBuffer.get(); Buffer *buffer = attribute.mBoundBuffer;
int inputStride = attribute.stride(); int inputStride = attribute.stride();
int elementSize = attribute.typeSize(); int elementSize = attribute.typeSize();
...@@ -139,7 +139,7 @@ GLenum VertexDataManager::prepareVertexData(GLint start, GLsizei count, Translat ...@@ -139,7 +139,7 @@ GLenum VertexDataManager::prepareVertexData(GLint start, GLsizei count, Translat
{ {
if(attribs[i].mArrayEnabled) if(attribs[i].mArrayEnabled)
{ {
Buffer *buffer = attribs[i].mBoundBuffer.get(); Buffer *buffer = attribs[i].mBoundBuffer;
if(!buffer && attribs[i].mPointer == NULL) if(!buffer && attribs[i].mPointer == NULL)
{ {
......
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