Commit 8e32f7bf by Alexis Hetu Committed by Alexis Hétu

Constness in Context

Added proper constness to Context getters. Change-Id: I0495cbe7ab0c9f50d4d9aa3d969507f117539bd8 Reviewed-on: https://swiftshader-review.googlesource.com/2983Tested-by: 's avatarAlexis Hétu <sugoi@google.com> Reviewed-by: 's avatarNicolas Capens <capn@google.com>
parent bcac6ffc
......@@ -760,7 +760,7 @@ void Context::setVertexAttribDivisor(unsigned int attribNum, GLuint divisor)
mState.vertexAttribute[attribNum].mDivisor = divisor;
}
const VertexAttribute &Context::getVertexAttribState(unsigned int attribNum)
const VertexAttribute &Context::getVertexAttribState(unsigned int attribNum) const
{
return mState.vertexAttribute[attribNum];
}
......@@ -1019,37 +1019,37 @@ void Context::deleteSampler(GLuint sampler)
}
}
Buffer *Context::getBuffer(GLuint handle)
Buffer *Context::getBuffer(GLuint handle) const
{
return mResourceManager->getBuffer(handle);
}
Shader *Context::getShader(GLuint handle)
Shader *Context::getShader(GLuint handle) const
{
return mResourceManager->getShader(handle);
}
Program *Context::getProgram(GLuint handle)
Program *Context::getProgram(GLuint handle) const
{
return mResourceManager->getProgram(handle);
}
Texture *Context::getTexture(GLuint handle)
Texture *Context::getTexture(GLuint handle) const
{
return mResourceManager->getTexture(handle);
}
Renderbuffer *Context::getRenderbuffer(GLuint handle)
Renderbuffer *Context::getRenderbuffer(GLuint handle) const
{
return mResourceManager->getRenderbuffer(handle);
}
Framebuffer *Context::getReadFramebuffer()
Framebuffer *Context::getReadFramebuffer() const
{
return getFramebuffer(mState.readFramebuffer);
}
Framebuffer *Context::getDrawFramebuffer()
Framebuffer *Context::getDrawFramebuffer() const
{
return getFramebuffer(mState.drawFramebuffer);
}
......@@ -1264,7 +1264,7 @@ void Context::beginQuery(GLenum target, GLuint query)
ASSERT(false);
}
Query *queryObject = getQuery(query, true, target);
Query *queryObject = createQuery(query, target);
// Check that name was obtained with glGenQueries
if(!queryObject)
......@@ -1325,9 +1325,9 @@ void Context::setRenderbufferStorage(RenderbufferStorage *renderbuffer)
renderbufferObject->setStorage(renderbuffer);
}
Framebuffer *Context::getFramebuffer(unsigned int handle)
Framebuffer *Context::getFramebuffer(unsigned int handle) const
{
FramebufferMap::iterator framebuffer = mFramebufferMap.find(handle);
FramebufferMap::const_iterator framebuffer = mFramebufferMap.find(handle);
if(framebuffer == mFramebufferMap.end())
{
......@@ -1339,9 +1339,9 @@ Framebuffer *Context::getFramebuffer(unsigned int handle)
}
}
Fence *Context::getFence(unsigned int handle)
Fence *Context::getFence(unsigned int handle) const
{
FenceMap::iterator fence = mFenceMap.find(handle);
FenceMap::const_iterator fence = mFenceMap.find(handle);
if(fence == mFenceMap.end())
{
......@@ -1353,83 +1353,97 @@ Fence *Context::getFence(unsigned int handle)
}
}
Query *Context::getQuery(unsigned int handle, bool create, GLenum type)
Query *Context::getQuery(unsigned int handle) const
{
QueryMap::iterator query = mQueryMap.find(handle);
QueryMap::const_iterator query = mQueryMap.find(handle);
if(query == mQueryMap.end())
{
return NULL;
}
else
{
if(!query->second && create)
{
query->second = new Query(handle, type);
query->second->addRef();
}
if(query == mQueryMap.end())
{
return NULL;
}
else
{
return query->second;
}
}
return query->second;
}
Query *Context::createQuery(unsigned int handle, GLenum type)
{
QueryMap::iterator query = mQueryMap.find(handle);
if(query == mQueryMap.end())
{
return NULL;
}
else
{
if(!query->second)
{
query->second = new Query(handle, type);
query->second->addRef();
}
return query->second;
}
}
VertexArray *Context::getVertexArray(GLuint array)
VertexArray *Context::getVertexArray(GLuint array) const
{
VertexArrayMap::iterator vertexArray = mVertexArrayMap.find(array);
VertexArrayMap::const_iterator vertexArray = mVertexArrayMap.find(array);
return (vertexArray == mVertexArrayMap.end()) ? NULL : vertexArray->second;
}
TransformFeedback *Context::getTransformFeedback(GLuint transformFeedback)
TransformFeedback *Context::getTransformFeedback(GLuint transformFeedback) const
{
TransformFeedbackMap::iterator transformFeedbackObject = mTransformFeedbackMap.find(transformFeedback);
TransformFeedbackMap::const_iterator transformFeedbackObject = mTransformFeedbackMap.find(transformFeedback);
return (transformFeedbackObject == mTransformFeedbackMap.end()) ? NULL : transformFeedbackObject->second;
}
Sampler *Context::getSampler(GLuint sampler)
Sampler *Context::getSampler(GLuint sampler) const
{
SamplerMap::iterator samplerObject = mSamplerMap.find(sampler);
SamplerMap::const_iterator samplerObject = mSamplerMap.find(sampler);
return (samplerObject == mSamplerMap.end()) ? NULL : samplerObject->second;
}
Buffer *Context::getArrayBuffer()
Buffer *Context::getArrayBuffer() const
{
return mState.arrayBuffer;
}
Buffer *Context::getElementArrayBuffer()
Buffer *Context::getElementArrayBuffer() const
{
return mState.elementArrayBuffer;
}
Buffer *Context::getCopyReadBuffer()
Buffer *Context::getCopyReadBuffer() const
{
return mState.copyReadBuffer;
}
Buffer *Context::getCopyWriteBuffer()
Buffer *Context::getCopyWriteBuffer() const
{
return mState.copyWriteBuffer;
}
Buffer *Context::getPixelPackBuffer()
Buffer *Context::getPixelPackBuffer() const
{
return mState.pixelPackBuffer;
}
Buffer *Context::getPixelUnpackBuffer()
Buffer *Context::getPixelUnpackBuffer() const
{
return mState.pixelUnpackBuffer;
}
Buffer *Context::getUniformBuffer()
Buffer *Context::getUniformBuffer() const
{
return mState.uniformBuffer;
}
bool Context::getBuffer(GLenum target, es2::Buffer **buffer)
bool Context::getBuffer(GLenum target, es2::Buffer **buffer) const
{
switch(target)
{
......@@ -1488,37 +1502,37 @@ bool Context::getBuffer(GLenum target, es2::Buffer **buffer)
return true;
}
TransformFeedback *Context::getTransformFeedback()
TransformFeedback *Context::getTransformFeedback() const
{
return getTransformFeedback(mState.transformFeedback);
}
Program *Context::getCurrentProgram()
Program *Context::getCurrentProgram() const
{
return mResourceManager->getProgram(mState.currentProgram);
}
Texture2D *Context::getTexture2D()
Texture2D *Context::getTexture2D() const
{
return static_cast<Texture2D*>(getSamplerTexture(mState.activeSampler, TEXTURE_2D));
}
Texture3D *Context::getTexture3D()
Texture3D *Context::getTexture3D() const
{
return static_cast<Texture3D*>(getSamplerTexture(mState.activeSampler, TEXTURE_3D));
}
TextureCubeMap *Context::getTextureCubeMap()
TextureCubeMap *Context::getTextureCubeMap() const
{
return static_cast<TextureCubeMap*>(getSamplerTexture(mState.activeSampler, TEXTURE_CUBE));
}
TextureExternal *Context::getTextureExternal()
TextureExternal *Context::getTextureExternal() const
{
return static_cast<TextureExternal*>(getSamplerTexture(mState.activeSampler, TEXTURE_EXTERNAL));
}
Texture *Context::getSamplerTexture(unsigned int sampler, TextureType type)
Texture *Context::getSamplerTexture(unsigned int sampler, TextureType type) const
{
GLuint texid = mState.samplerTexture[type][sampler].name();
......@@ -1537,7 +1551,7 @@ Texture *Context::getSamplerTexture(unsigned int sampler, TextureType type)
return mState.samplerTexture[type][sampler];
}
bool Context::getBooleanv(GLenum pname, GLboolean *params)
bool Context::getBooleanv(GLenum pname, GLboolean *params) const
{
switch (pname)
{
......@@ -1588,7 +1602,7 @@ bool Context::getBooleanv(GLenum pname, GLboolean *params)
return true;
}
bool Context::getFloatv(GLenum pname, GLfloat *params)
bool Context::getFloatv(GLenum pname, GLfloat *params) const
{
// Please note: DEPTH_CLEAR_VALUE is included in our internal getFloatv implementation
// because it is stored as a float, despite the fact that the GL ES 2.0 spec names
......@@ -1635,7 +1649,7 @@ bool Context::getFloatv(GLenum pname, GLfloat *params)
return true;
}
bool Context::getIntegerv(GLenum pname, GLint *params)
bool Context::getIntegerv(GLenum pname, GLint *params) const
{
// Please note: DEPTH_CLEAR_VALUE is not included in our internal getIntegerv implementation
// because it is stored as a float, despite the fact that the GL ES 2.0 spec names
......@@ -2121,7 +2135,7 @@ bool Context::getIntegerv(GLenum pname, GLint *params)
return true;
}
bool Context::getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param)
bool Context::getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param) const
{
UNIMPLEMENTED();
......@@ -2162,7 +2176,7 @@ bool Context::getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param)
return true;
}
bool Context::getQueryParameterInfo(GLenum pname, GLenum *type, unsigned int *numParams)
bool Context::getQueryParameterInfo(GLenum pname, GLenum *type, unsigned int *numParams) const
{
// Please note: the query type returned for DEPTH_CLEAR_VALUE in this implementation
// is FLOAT rather than INT, as would be suggested by the GL ES 2.0 spec. This is due
......@@ -4028,7 +4042,7 @@ Device *Context::getDevice()
return device;
}
const GLubyte* Context::getExtensions(GLuint index, GLuint* numExt)
const GLubyte* Context::getExtensions(GLuint index, GLuint* numExt) const
{
// Keep list sorted in following order:
// OES extensions
......
......@@ -435,7 +435,7 @@ public:
void setEnableVertexAttribArray(unsigned int attribNum, bool enabled);
void setVertexAttribDivisor(unsigned int attribNum, GLuint divisor);
const VertexAttribute &getVertexAttribState(unsigned int attribNum);
const VertexAttribute &getVertexAttribState(unsigned int attribNum) const;
void setVertexAttribState(unsigned int attribNum, Buffer *boundBuffer, GLint size, GLenum type,
bool normalized, GLsizei stride, const void *pointer);
const void *getVertexAttribPointer(unsigned int attribNum) const;
......@@ -517,42 +517,43 @@ public:
void setVertexAttrib(GLuint index, const GLint *values);
void setVertexAttrib(GLuint index, const GLuint *values);
Buffer *getBuffer(GLuint handle);
Fence *getFence(GLuint handle);
Shader *getShader(GLuint handle);
Program *getProgram(GLuint handle);
virtual Texture *getTexture(GLuint handle);
Framebuffer *getFramebuffer(GLuint handle);
virtual Renderbuffer *getRenderbuffer(GLuint handle);
Query *getQuery(GLuint handle, bool create, GLenum type);
VertexArray *getVertexArray(GLuint array);
TransformFeedback *getTransformFeedback(GLuint transformFeedback);
TransformFeedback *getTransformFeedback();
Sampler *getSampler(GLuint sampler);
Buffer *getArrayBuffer();
Buffer *getElementArrayBuffer();
Buffer *getCopyReadBuffer();
Buffer *getCopyWriteBuffer();
Buffer *getPixelPackBuffer();
Buffer *getPixelUnpackBuffer();
Buffer *getUniformBuffer();
bool getBuffer(GLenum target, es2::Buffer **buffer);
Program *getCurrentProgram();
Texture2D *getTexture2D();
Texture3D *getTexture3D();
TextureCubeMap *getTextureCubeMap();
TextureExternal *getTextureExternal();
Texture *getSamplerTexture(unsigned int sampler, TextureType type);
Framebuffer *getReadFramebuffer();
Framebuffer *getDrawFramebuffer();
bool getFloatv(GLenum pname, GLfloat *params);
bool getIntegerv(GLenum pname, GLint *params);
bool getBooleanv(GLenum pname, GLboolean *params);
bool getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param);
bool getQueryParameterInfo(GLenum pname, GLenum *type, unsigned int *numParams);
Buffer *getBuffer(GLuint handle) const;
Fence *getFence(GLuint handle) const;
Shader *getShader(GLuint handle) const;
Program *getProgram(GLuint handle) const;
virtual Texture *getTexture(GLuint handle) const;
Framebuffer *getFramebuffer(GLuint handle) const;
virtual Renderbuffer *getRenderbuffer(GLuint handle) const;
Query *getQuery(GLuint handle) const;
VertexArray *getVertexArray(GLuint array) const;
VertexArray *getCurrentVertexArray() const;
TransformFeedback *getTransformFeedback(GLuint transformFeedback) const;
TransformFeedback *getTransformFeedback() const;
Sampler *getSampler(GLuint sampler) const;
Buffer *getArrayBuffer() const;
Buffer *getElementArrayBuffer() const;
Buffer *getCopyReadBuffer() const;
Buffer *getCopyWriteBuffer() const;
Buffer *getPixelPackBuffer() const;
Buffer *getPixelUnpackBuffer() const;
Buffer *getUniformBuffer() const;
bool getBuffer(GLenum target, es2::Buffer **buffer) const;
Program *getCurrentProgram() const;
Texture2D *getTexture2D() const;
Texture3D *getTexture3D() const;
TextureCubeMap *getTextureCubeMap() const;
TextureExternal *getTextureExternal() const;
Texture *getSamplerTexture(unsigned int sampler, TextureType type) const;
Framebuffer *getReadFramebuffer() const;
Framebuffer *getDrawFramebuffer() const;
bool getFloatv(GLenum pname, GLfloat *params) const;
bool getIntegerv(GLenum pname, GLint *params) const;
bool getBooleanv(GLenum pname, GLboolean *params) const;
bool getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param) const;
bool getQueryParameterInfo(GLenum pname, GLenum *type, unsigned int *numParams) const;
void readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei *bufSize, void* pixels);
void clear(GLbitfield mask);
......@@ -581,7 +582,7 @@ public:
Device *getDevice();
const GLubyte* getExtensions(GLuint index, GLuint* numExt = nullptr);
const GLubyte* getExtensions(GLuint index, GLuint* numExt = nullptr) const;
private:
virtual ~Context();
......@@ -603,6 +604,8 @@ private:
bool cullSkipsDraw(GLenum drawMode);
bool isTriangleMode(GLenum drawMode);
Query *createQuery(GLuint handle, GLenum type);
const EGLint clientVersion;
const egl::Config *const mConfig;
......
......@@ -3045,7 +3045,7 @@ void GL_APIENTRY glGetQueryObjectuivEXT(GLuint name, GLenum pname, GLuint *param
if(context)
{
es2::Query *queryObject = context->getQuery(name, false, GL_NONE);
es2::Query *queryObject = context->getQuery(name);
if(!queryObject)
{
......@@ -4029,7 +4029,7 @@ GLboolean GL_APIENTRY glIsQueryEXT(GLuint name)
if(context)
{
es2::Query *queryObject = context->getQuery(name, false, GL_NONE);
es2::Query *queryObject = context->getQuery(name);
if(queryObject)
{
......
......@@ -882,7 +882,7 @@ GLboolean GL_APIENTRY glIsQuery(GLuint id)
if(context)
{
es2::Query *queryObject = context->getQuery(id, false, GL_NONE);
es2::Query *queryObject = context->getQuery(id);
if(queryObject)
{
......@@ -968,7 +968,7 @@ void GL_APIENTRY glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
if(context)
{
es2::Query *queryObject = context->getQuery(id, false, GL_NONE);
es2::Query *queryObject = context->getQuery(id);
if(!queryObject)
{
......
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