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) ...@@ -760,7 +760,7 @@ void Context::setVertexAttribDivisor(unsigned int attribNum, GLuint divisor)
mState.vertexAttribute[attribNum].mDivisor = 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]; return mState.vertexAttribute[attribNum];
} }
...@@ -1019,37 +1019,37 @@ void Context::deleteSampler(GLuint sampler) ...@@ -1019,37 +1019,37 @@ void Context::deleteSampler(GLuint sampler)
} }
} }
Buffer *Context::getBuffer(GLuint handle) Buffer *Context::getBuffer(GLuint handle) const
{ {
return mResourceManager->getBuffer(handle); return mResourceManager->getBuffer(handle);
} }
Shader *Context::getShader(GLuint handle) Shader *Context::getShader(GLuint handle) const
{ {
return mResourceManager->getShader(handle); return mResourceManager->getShader(handle);
} }
Program *Context::getProgram(GLuint handle) Program *Context::getProgram(GLuint handle) const
{ {
return mResourceManager->getProgram(handle); return mResourceManager->getProgram(handle);
} }
Texture *Context::getTexture(GLuint handle) Texture *Context::getTexture(GLuint handle) const
{ {
return mResourceManager->getTexture(handle); return mResourceManager->getTexture(handle);
} }
Renderbuffer *Context::getRenderbuffer(GLuint handle) Renderbuffer *Context::getRenderbuffer(GLuint handle) const
{ {
return mResourceManager->getRenderbuffer(handle); return mResourceManager->getRenderbuffer(handle);
} }
Framebuffer *Context::getReadFramebuffer() Framebuffer *Context::getReadFramebuffer() const
{ {
return getFramebuffer(mState.readFramebuffer); return getFramebuffer(mState.readFramebuffer);
} }
Framebuffer *Context::getDrawFramebuffer() Framebuffer *Context::getDrawFramebuffer() const
{ {
return getFramebuffer(mState.drawFramebuffer); return getFramebuffer(mState.drawFramebuffer);
} }
...@@ -1264,7 +1264,7 @@ void Context::beginQuery(GLenum target, GLuint query) ...@@ -1264,7 +1264,7 @@ void Context::beginQuery(GLenum target, GLuint query)
ASSERT(false); ASSERT(false);
} }
Query *queryObject = getQuery(query, true, target); Query *queryObject = createQuery(query, target);
// Check that name was obtained with glGenQueries // Check that name was obtained with glGenQueries
if(!queryObject) if(!queryObject)
...@@ -1325,9 +1325,9 @@ void Context::setRenderbufferStorage(RenderbufferStorage *renderbuffer) ...@@ -1325,9 +1325,9 @@ void Context::setRenderbufferStorage(RenderbufferStorage *renderbuffer)
renderbufferObject->setStorage(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()) if(framebuffer == mFramebufferMap.end())
{ {
...@@ -1339,9 +1339,9 @@ Framebuffer *Context::getFramebuffer(unsigned int handle) ...@@ -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()) if(fence == mFenceMap.end())
{ {
...@@ -1353,83 +1353,97 @@ Fence *Context::getFence(unsigned int handle) ...@@ -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()) if(query == mQueryMap.end())
{ {
return NULL; return NULL;
} }
else else
{ {
if(!query->second && create) return query->second;
{ }
query->second = new Query(handle, type); }
query->second->addRef();
}
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; 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; 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; return (samplerObject == mSamplerMap.end()) ? NULL : samplerObject->second;
} }
Buffer *Context::getArrayBuffer() Buffer *Context::getArrayBuffer() const
{ {
return mState.arrayBuffer; return mState.arrayBuffer;
} }
Buffer *Context::getElementArrayBuffer() Buffer *Context::getElementArrayBuffer() const
{ {
return mState.elementArrayBuffer; return mState.elementArrayBuffer;
} }
Buffer *Context::getCopyReadBuffer() Buffer *Context::getCopyReadBuffer() const
{ {
return mState.copyReadBuffer; return mState.copyReadBuffer;
} }
Buffer *Context::getCopyWriteBuffer() Buffer *Context::getCopyWriteBuffer() const
{ {
return mState.copyWriteBuffer; return mState.copyWriteBuffer;
} }
Buffer *Context::getPixelPackBuffer() Buffer *Context::getPixelPackBuffer() const
{ {
return mState.pixelPackBuffer; return mState.pixelPackBuffer;
} }
Buffer *Context::getPixelUnpackBuffer() Buffer *Context::getPixelUnpackBuffer() const
{ {
return mState.pixelUnpackBuffer; return mState.pixelUnpackBuffer;
} }
Buffer *Context::getUniformBuffer() Buffer *Context::getUniformBuffer() const
{ {
return mState.uniformBuffer; return mState.uniformBuffer;
} }
bool Context::getBuffer(GLenum target, es2::Buffer **buffer) bool Context::getBuffer(GLenum target, es2::Buffer **buffer) const
{ {
switch(target) switch(target)
{ {
...@@ -1488,37 +1502,37 @@ bool Context::getBuffer(GLenum target, es2::Buffer **buffer) ...@@ -1488,37 +1502,37 @@ bool Context::getBuffer(GLenum target, es2::Buffer **buffer)
return true; return true;
} }
TransformFeedback *Context::getTransformFeedback() TransformFeedback *Context::getTransformFeedback() const
{ {
return getTransformFeedback(mState.transformFeedback); return getTransformFeedback(mState.transformFeedback);
} }
Program *Context::getCurrentProgram() Program *Context::getCurrentProgram() const
{ {
return mResourceManager->getProgram(mState.currentProgram); return mResourceManager->getProgram(mState.currentProgram);
} }
Texture2D *Context::getTexture2D() Texture2D *Context::getTexture2D() const
{ {
return static_cast<Texture2D*>(getSamplerTexture(mState.activeSampler, TEXTURE_2D)); 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)); 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)); 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)); 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(); GLuint texid = mState.samplerTexture[type][sampler].name();
...@@ -1537,7 +1551,7 @@ Texture *Context::getSamplerTexture(unsigned int sampler, TextureType type) ...@@ -1537,7 +1551,7 @@ Texture *Context::getSamplerTexture(unsigned int sampler, TextureType type)
return mState.samplerTexture[type][sampler]; return mState.samplerTexture[type][sampler];
} }
bool Context::getBooleanv(GLenum pname, GLboolean *params) bool Context::getBooleanv(GLenum pname, GLboolean *params) const
{ {
switch (pname) switch (pname)
{ {
...@@ -1588,7 +1602,7 @@ bool Context::getBooleanv(GLenum pname, GLboolean *params) ...@@ -1588,7 +1602,7 @@ bool Context::getBooleanv(GLenum pname, GLboolean *params)
return true; 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 // 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 // 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) ...@@ -1635,7 +1649,7 @@ bool Context::getFloatv(GLenum pname, GLfloat *params)
return true; 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 // 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 // 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) ...@@ -2121,7 +2135,7 @@ bool Context::getIntegerv(GLenum pname, GLint *params)
return true; return true;
} }
bool Context::getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param) bool Context::getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param) const
{ {
UNIMPLEMENTED(); UNIMPLEMENTED();
...@@ -2162,7 +2176,7 @@ bool Context::getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param) ...@@ -2162,7 +2176,7 @@ bool Context::getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param)
return true; 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 // 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 // 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() ...@@ -4028,7 +4042,7 @@ Device *Context::getDevice()
return device; 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: // Keep list sorted in following order:
// OES extensions // OES extensions
......
...@@ -435,7 +435,7 @@ public: ...@@ -435,7 +435,7 @@ public:
void setEnableVertexAttribArray(unsigned int attribNum, bool enabled); void setEnableVertexAttribArray(unsigned int attribNum, bool enabled);
void setVertexAttribDivisor(unsigned int attribNum, GLuint divisor); 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, void setVertexAttribState(unsigned int attribNum, Buffer *boundBuffer, GLint size, GLenum type,
bool normalized, GLsizei stride, const void *pointer); bool normalized, GLsizei stride, const void *pointer);
const void *getVertexAttribPointer(unsigned int attribNum) const; const void *getVertexAttribPointer(unsigned int attribNum) const;
...@@ -517,42 +517,43 @@ public: ...@@ -517,42 +517,43 @@ public:
void setVertexAttrib(GLuint index, const GLint *values); void setVertexAttrib(GLuint index, const GLint *values);
void setVertexAttrib(GLuint index, const GLuint *values); void setVertexAttrib(GLuint index, const GLuint *values);
Buffer *getBuffer(GLuint handle); Buffer *getBuffer(GLuint handle) const;
Fence *getFence(GLuint handle); Fence *getFence(GLuint handle) const;
Shader *getShader(GLuint handle); Shader *getShader(GLuint handle) const;
Program *getProgram(GLuint handle); Program *getProgram(GLuint handle) const;
virtual Texture *getTexture(GLuint handle); virtual Texture *getTexture(GLuint handle) const;
Framebuffer *getFramebuffer(GLuint handle); Framebuffer *getFramebuffer(GLuint handle) const;
virtual Renderbuffer *getRenderbuffer(GLuint handle); virtual Renderbuffer *getRenderbuffer(GLuint handle) const;
Query *getQuery(GLuint handle, bool create, GLenum type); Query *getQuery(GLuint handle) const;
VertexArray *getVertexArray(GLuint array); VertexArray *getVertexArray(GLuint array) const;
TransformFeedback *getTransformFeedback(GLuint transformFeedback); VertexArray *getCurrentVertexArray() const;
TransformFeedback *getTransformFeedback(); TransformFeedback *getTransformFeedback(GLuint transformFeedback) const;
Sampler *getSampler(GLuint sampler); TransformFeedback *getTransformFeedback() const;
Sampler *getSampler(GLuint sampler) const;
Buffer *getArrayBuffer();
Buffer *getElementArrayBuffer(); Buffer *getArrayBuffer() const;
Buffer *getCopyReadBuffer(); Buffer *getElementArrayBuffer() const;
Buffer *getCopyWriteBuffer(); Buffer *getCopyReadBuffer() const;
Buffer *getPixelPackBuffer(); Buffer *getCopyWriteBuffer() const;
Buffer *getPixelUnpackBuffer(); Buffer *getPixelPackBuffer() const;
Buffer *getUniformBuffer(); Buffer *getPixelUnpackBuffer() const;
bool getBuffer(GLenum target, es2::Buffer **buffer); Buffer *getUniformBuffer() const;
Program *getCurrentProgram(); bool getBuffer(GLenum target, es2::Buffer **buffer) const;
Texture2D *getTexture2D(); Program *getCurrentProgram() const;
Texture3D *getTexture3D(); Texture2D *getTexture2D() const;
TextureCubeMap *getTextureCubeMap(); Texture3D *getTexture3D() const;
TextureExternal *getTextureExternal(); TextureCubeMap *getTextureCubeMap() const;
Texture *getSamplerTexture(unsigned int sampler, TextureType type); TextureExternal *getTextureExternal() const;
Framebuffer *getReadFramebuffer(); Texture *getSamplerTexture(unsigned int sampler, TextureType type) const;
Framebuffer *getDrawFramebuffer(); Framebuffer *getReadFramebuffer() const;
Framebuffer *getDrawFramebuffer() const;
bool getFloatv(GLenum pname, GLfloat *params);
bool getIntegerv(GLenum pname, GLint *params); bool getFloatv(GLenum pname, GLfloat *params) const;
bool getBooleanv(GLenum pname, GLboolean *params); bool getIntegerv(GLenum pname, GLint *params) const;
bool getTransformFeedbackiv(GLuint xfb, GLenum pname, GLint *param); 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);
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 readPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei *bufSize, void* pixels);
void clear(GLbitfield mask); void clear(GLbitfield mask);
...@@ -581,7 +582,7 @@ public: ...@@ -581,7 +582,7 @@ public:
Device *getDevice(); Device *getDevice();
const GLubyte* getExtensions(GLuint index, GLuint* numExt = nullptr); const GLubyte* getExtensions(GLuint index, GLuint* numExt = nullptr) const;
private: private:
virtual ~Context(); virtual ~Context();
...@@ -603,6 +604,8 @@ private: ...@@ -603,6 +604,8 @@ private:
bool cullSkipsDraw(GLenum drawMode); bool cullSkipsDraw(GLenum drawMode);
bool isTriangleMode(GLenum drawMode); bool isTriangleMode(GLenum drawMode);
Query *createQuery(GLuint handle, GLenum type);
const EGLint clientVersion; const EGLint clientVersion;
const egl::Config *const mConfig; const egl::Config *const mConfig;
......
...@@ -3045,7 +3045,7 @@ void GL_APIENTRY glGetQueryObjectuivEXT(GLuint name, GLenum pname, GLuint *param ...@@ -3045,7 +3045,7 @@ void GL_APIENTRY glGetQueryObjectuivEXT(GLuint name, GLenum pname, GLuint *param
if(context) if(context)
{ {
es2::Query *queryObject = context->getQuery(name, false, GL_NONE); es2::Query *queryObject = context->getQuery(name);
if(!queryObject) if(!queryObject)
{ {
...@@ -4029,7 +4029,7 @@ GLboolean GL_APIENTRY glIsQueryEXT(GLuint name) ...@@ -4029,7 +4029,7 @@ GLboolean GL_APIENTRY glIsQueryEXT(GLuint name)
if(context) if(context)
{ {
es2::Query *queryObject = context->getQuery(name, false, GL_NONE); es2::Query *queryObject = context->getQuery(name);
if(queryObject) if(queryObject)
{ {
......
...@@ -882,7 +882,7 @@ GLboolean GL_APIENTRY glIsQuery(GLuint id) ...@@ -882,7 +882,7 @@ GLboolean GL_APIENTRY glIsQuery(GLuint id)
if(context) if(context)
{ {
es2::Query *queryObject = context->getQuery(id, false, GL_NONE); es2::Query *queryObject = context->getQuery(id);
if(queryObject) if(queryObject)
{ {
...@@ -968,7 +968,7 @@ void GL_APIENTRY glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params) ...@@ -968,7 +968,7 @@ void GL_APIENTRY glGetQueryObjectuiv(GLuint id, GLenum pname, GLuint *params)
if(context) if(context)
{ {
es2::Query *queryObject = context->getQuery(id, false, GL_NONE); es2::Query *queryObject = context->getQuery(id);
if(!queryObject) 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