Commit 63b5f1fd by Geoff Lang

Removed parameter validation from Texture::set* calls since validation is…

Removed parameter validation from Texture::set* calls since validation is already done in ValidateTexParamParameters. TRAC #23908 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods
parent d4f180b2
...@@ -85,143 +85,49 @@ void Texture::releaseProxy(const Renderbuffer *proxy) ...@@ -85,143 +85,49 @@ void Texture::releaseProxy(const Renderbuffer *proxy)
mRenderbufferProxies.release(proxy); mRenderbufferProxies.release(proxy);
} }
// Returns true on successful filter state update (valid enum parameter) void Texture::setMinFilter(GLenum filter)
bool Texture::setMinFilter(GLenum filter)
{ {
switch (filter)
{
case GL_NEAREST:
case GL_LINEAR:
case GL_NEAREST_MIPMAP_NEAREST:
case GL_LINEAR_MIPMAP_NEAREST:
case GL_NEAREST_MIPMAP_LINEAR:
case GL_LINEAR_MIPMAP_LINEAR:
mSamplerState.minFilter = filter; mSamplerState.minFilter = filter;
return true;
default:
return false;
}
} }
// Returns true on successful filter state update (valid enum parameter) void Texture::setMagFilter(GLenum filter)
bool Texture::setMagFilter(GLenum filter)
{ {
switch (filter)
{
case GL_NEAREST:
case GL_LINEAR:
mSamplerState.magFilter = filter; mSamplerState.magFilter = filter;
return true;
default:
return false;
}
} }
// Returns true on successful wrap state update (valid enum parameter) void Texture::setWrapS(GLenum wrap)
bool Texture::setWrapS(GLenum wrap)
{ {
switch (wrap)
{
case GL_REPEAT:
case GL_CLAMP_TO_EDGE:
case GL_MIRRORED_REPEAT:
mSamplerState.wrapS = wrap; mSamplerState.wrapS = wrap;
return true;
default:
return false;
}
} }
// Returns true on successful wrap state update (valid enum parameter) void Texture::setWrapT(GLenum wrap)
bool Texture::setWrapT(GLenum wrap)
{ {
switch (wrap)
{
case GL_REPEAT:
case GL_CLAMP_TO_EDGE:
case GL_MIRRORED_REPEAT:
mSamplerState.wrapT = wrap; mSamplerState.wrapT = wrap;
return true;
default:
return false;
}
} }
// Returns true on successful wrap state update (valid enum parameter) void Texture::setWrapR(GLenum wrap)
bool Texture::setWrapR(GLenum wrap)
{ {
switch (wrap)
{
case GL_REPEAT:
case GL_CLAMP_TO_EDGE:
case GL_MIRRORED_REPEAT:
mSamplerState.wrapR = wrap; mSamplerState.wrapR = wrap;
return true;
default:
return false;
}
} }
// Returns true on successful max anisotropy update (valid anisotropy value) void Texture::setMaxAnisotropy(float textureMaxAnisotropy, float contextMaxAnisotropy)
bool Texture::setMaxAnisotropy(float textureMaxAnisotropy, float contextMaxAnisotropy)
{ {
textureMaxAnisotropy = std::min(textureMaxAnisotropy, contextMaxAnisotropy); mSamplerState.maxAnisotropy = std::min(textureMaxAnisotropy, contextMaxAnisotropy);
if (textureMaxAnisotropy < 1.0f)
{
return false;
}
mSamplerState.maxAnisotropy = textureMaxAnisotropy;
return true;
} }
bool Texture::setCompareMode(GLenum mode) void Texture::setCompareMode(GLenum mode)
{ {
// Acceptable mode parameters from GLES 3.0.2 spec, table 3.17
switch (mode)
{
case GL_NONE:
case GL_COMPARE_REF_TO_TEXTURE:
mSamplerState.compareMode = mode; mSamplerState.compareMode = mode;
return true;
default:
return false;
}
} }
bool Texture::setCompareFunc(GLenum func) void Texture::setCompareFunc(GLenum func)
{ {
// Acceptable function parameters from GLES 3.0.2 spec, table 3.17
switch (func)
{
case GL_LEQUAL:
case GL_GEQUAL:
case GL_LESS:
case GL_GREATER:
case GL_EQUAL:
case GL_NOTEQUAL:
case GL_ALWAYS:
case GL_NEVER:
mSamplerState.compareFunc = func; mSamplerState.compareFunc = func;
return true;
default:
return false;
}
} }
// Returns true on successful usage state update (valid enum parameter) void Texture::setUsage(GLenum usage)
bool Texture::setUsage(GLenum usage)
{ {
switch (usage)
{
case GL_NONE:
case GL_FRAMEBUFFER_ATTACHMENT_ANGLE:
mUsage = usage; mUsage = usage;
return true;
default:
return false;
}
} }
GLenum Texture::getMinFilter() const GLenum Texture::getMinFilter() const
......
...@@ -69,15 +69,15 @@ class Texture : public RefCountObject ...@@ -69,15 +69,15 @@ class Texture : public RefCountObject
GLenum getTarget() const; GLenum getTarget() const;
bool setMinFilter(GLenum filter); void setMinFilter(GLenum filter);
bool setMagFilter(GLenum filter); void setMagFilter(GLenum filter);
bool setWrapS(GLenum wrap); void setWrapS(GLenum wrap);
bool setWrapT(GLenum wrap); void setWrapT(GLenum wrap);
bool setWrapR(GLenum wrap); void setWrapR(GLenum wrap);
bool setMaxAnisotropy(float textureMaxAnisotropy, float contextMaxAnisotropy); void setMaxAnisotropy(float textureMaxAnisotropy, float contextMaxAnisotropy);
bool setCompareMode(GLenum mode); void setCompareMode(GLenum mode);
bool setCompareFunc(GLenum func); void setCompareFunc(GLenum func);
bool setUsage(GLenum usage); void setUsage(GLenum usage);
GLenum getMinFilter() const; GLenum getMinFilter() const;
GLenum getMagFilter() const; GLenum getMagFilter() const;
......
...@@ -529,6 +529,7 @@ bool ValidateTexParamParameters(gl::Context *context, GLenum pname, GLint param) ...@@ -529,6 +529,7 @@ bool ValidateTexParamParameters(gl::Context *context, GLenum pname, GLint param)
return true; return true;
case GL_TEXTURE_COMPARE_MODE: case GL_TEXTURE_COMPARE_MODE:
// Acceptable mode parameters from GLES 3.0.2 spec, table 3.17
switch (param) switch (param)
{ {
case GL_NONE: case GL_NONE:
...@@ -540,6 +541,7 @@ bool ValidateTexParamParameters(gl::Context *context, GLenum pname, GLint param) ...@@ -540,6 +541,7 @@ bool ValidateTexParamParameters(gl::Context *context, GLenum pname, GLint param)
break; break;
case GL_TEXTURE_COMPARE_FUNC: case GL_TEXTURE_COMPARE_FUNC:
// Acceptable function parameters from GLES 3.0.2 spec, table 3.17
switch (param) switch (param)
{ {
case GL_LEQUAL: case GL_LEQUAL:
......
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