Split the floating point texture queries into individual methods and mark all…

Split the floating point texture queries into individual methods and mark all support methods as const. TRAC #22972 Signed-off-by: Jamie Madill Signed-off-by: Nicolas Capens Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2312 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent e684b58a
......@@ -313,8 +313,12 @@ void Context::makeCurrent(egl::Surface *surface)
mSupportsDXT1Textures = mRenderer->getDXT1TextureSupport();
mSupportsDXT3Textures = mRenderer->getDXT3TextureSupport();
mSupportsDXT5Textures = mRenderer->getDXT5TextureSupport();
mSupportsFloat32Textures = mRenderer->getFloat32TextureSupport(&mSupportsFloat32LinearFilter, &mSupportsFloat32RenderableTextures);
mSupportsFloat16Textures = mRenderer->getFloat16TextureSupport(&mSupportsFloat16LinearFilter, &mSupportsFloat16RenderableTextures);
mSupportsFloat32Textures = mRenderer->getFloat32TextureSupport();
mSupportsFloat32LinearFilter = mRenderer->getFloat32TextureFilteringSupport();
mSupportsFloat32RenderableTextures = mRenderer->getFloat32TextureRenderingSupport();
mSupportsFloat16Textures = mRenderer->getFloat16TextureSupport();
mSupportsFloat16LinearFilter = mRenderer->getFloat16TextureFilteringSupport();
mSupportsFloat16RenderableTextures = mRenderer->getFloat16TextureRenderingSupport();
mSupportsLuminanceTextures = mRenderer->getLuminanceTextureSupport();
mSupportsLuminanceAlphaTextures = mRenderer->getLuminanceAlphaTextureSupport();
mSupportsDepthTextures = mRenderer->getDepthTextureSupport();
......
......@@ -360,10 +360,8 @@ GLenum Framebuffer::completeness() const
return GL_FRAMEBUFFER_UNSUPPORTED;
}
bool filtering, renderable;
if ((gl::IsFloat32Format(internalformat) && !mRenderer->getFloat32TextureSupport(&filtering, &renderable)) ||
(gl::IsFloat16Format(internalformat) && !mRenderer->getFloat16TextureSupport(&filtering, &renderable)))
if ((gl::IsFloat32Format(internalformat) && !mRenderer->getFloat32TextureSupport()) ||
(gl::IsFloat16Format(internalformat) && !mRenderer->getFloat16TextureSupport()))
{
return GL_FRAMEBUFFER_UNSUPPORTED;
}
......
......@@ -628,10 +628,9 @@ bool Texture2D::isSamplerComplete() const
}
bool mipmapping = isMipmapFiltered();
bool filtering, renderable;
if ((IsFloat32Format(getInternalFormat(0)) && !mRenderer->getFloat32TextureSupport(&filtering, &renderable)) ||
(IsFloat16Format(getInternalFormat(0)) && !mRenderer->getFloat16TextureSupport(&filtering, &renderable)))
if ((IsFloat32Format(getInternalFormat(0)) && !mRenderer->getFloat32TextureSupport()) ||
(IsFloat16Format(getInternalFormat(0)) && !mRenderer->getFloat16TextureSupport()))
{
if (mSamplerState.magFilter != GL_NEAREST ||
(mSamplerState.minFilter != GL_NEAREST && mSamplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST))
......@@ -1075,10 +1074,9 @@ bool TextureCubeMap::isSamplerComplete() const
int size = mImageArray[0][0]->getWidth();
bool mipmapping = isMipmapFiltered();
bool filtering, renderable;
if ((gl::ExtractType(getInternalFormat(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0)) == GL_FLOAT && !mRenderer->getFloat32TextureSupport(&filtering, &renderable)) ||
(gl::ExtractType(getInternalFormat(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0) == GL_HALF_FLOAT_OES) && !mRenderer->getFloat16TextureSupport(&filtering, &renderable)))
if ((gl::ExtractType(getInternalFormat(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0)) == GL_FLOAT && !mRenderer->getFloat32TextureSupport()) ||
(gl::ExtractType(getInternalFormat(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0) == GL_HALF_FLOAT_OES) && !mRenderer->getFloat16TextureSupport()))
{
if (mSamplerState.magFilter != GL_NEAREST ||
(mSamplerState.minFilter != GL_NEAREST && mSamplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST))
......@@ -1741,10 +1739,9 @@ bool Texture3D::isSamplerComplete() const
}
bool mipmapping = isMipmapFiltered();
bool filtering, renderable;
if ((IsFloat32Format(getInternalFormat(0)) && !mRenderer->getFloat32TextureSupport(&filtering, &renderable)) ||
(IsFloat16Format(getInternalFormat(0)) && !mRenderer->getFloat16TextureSupport(&filtering, &renderable)))
if ((IsFloat32Format(getInternalFormat(0)) && !mRenderer->getFloat32TextureSupport()) ||
(IsFloat16Format(getInternalFormat(0)) && !mRenderer->getFloat16TextureSupport()))
{
if (mSamplerState.magFilter != GL_NEAREST ||
(mSamplerState.minFilter != GL_NEAREST && mSamplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST))
......@@ -2231,10 +2228,9 @@ bool Texture2DArray::isSamplerComplete() const
}
bool mipmapping = isMipmapFiltered();
bool filtering, renderable;
if ((IsFloat32Format(getInternalFormat(0)) && !mRenderer->getFloat32TextureSupport(&filtering, &renderable)) ||
(IsFloat16Format(getInternalFormat(0)) && !mRenderer->getFloat16TextureSupport(&filtering, &renderable)))
if ((IsFloat32Format(getInternalFormat(0)) && !mRenderer->getFloat32TextureSupport()) ||
(IsFloat16Format(getInternalFormat(0)) && !mRenderer->getFloat16TextureSupport()))
{
if (mSamplerState.magFilter != GL_NEAREST ||
(mSamplerState.minFilter != GL_NEAREST && mSamplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST))
......
......@@ -147,14 +147,18 @@ class Renderer
virtual GUID getAdapterIdentifier() const = 0;
virtual bool getBGRATextureSupport() const = 0;
virtual bool getDXT1TextureSupport() = 0;
virtual bool getDXT3TextureSupport() = 0;
virtual bool getDXT5TextureSupport() = 0;
virtual bool getEventQuerySupport() = 0;
virtual bool getFloat32TextureSupport(bool *filtering, bool *renderable) = 0;
virtual bool getFloat16TextureSupport(bool *filtering, bool *renderable) = 0;
virtual bool getLuminanceTextureSupport() = 0;
virtual bool getLuminanceAlphaTextureSupport() = 0;
virtual bool getDXT1TextureSupport() const = 0;
virtual bool getDXT3TextureSupport() const = 0;
virtual bool getDXT5TextureSupport() const = 0;
virtual bool getEventQuerySupport() const = 0;
virtual bool getFloat32TextureSupport() const = 0;
virtual bool getFloat32TextureFilteringSupport() const= 0;
virtual bool getFloat32TextureRenderingSupport() const= 0;
virtual bool getFloat16TextureSupport() const= 0;
virtual bool getFloat16TextureFilteringSupport() const= 0;
virtual bool getFloat16TextureRenderingSupport() const = 0;
virtual bool getLuminanceTextureSupport() const = 0;
virtual bool getLuminanceAlphaTextureSupport() const = 0;
bool getVertexTextureSupport() const { return getMaxVertexTextureImageUnits() > 0; }
virtual unsigned int getMaxVertexTextureImageUnits() const = 0;
virtual unsigned int getMaxCombinedTextureImageUnits() const = 0;
......
......@@ -2018,17 +2018,17 @@ bool Renderer11::getBGRATextureSupport() const
return mBGRATextureSupport;
}
bool Renderer11::getDXT1TextureSupport()
bool Renderer11::getDXT1TextureSupport() const
{
return mDXT1TextureSupport;
}
bool Renderer11::getDXT3TextureSupport()
bool Renderer11::getDXT3TextureSupport() const
{
return mDXT3TextureSupport;
}
bool Renderer11::getDXT5TextureSupport()
bool Renderer11::getDXT5TextureSupport() const
{
return mDXT5TextureSupport;
}
......@@ -2038,26 +2038,42 @@ bool Renderer11::getDepthTextureSupport() const
return mDepthTextureSupport;
}
bool Renderer11::getFloat32TextureSupport(bool *filtering, bool *renderable)
bool Renderer11::getFloat32TextureSupport() const
{
*renderable = mFloat32RenderSupport;
*filtering = mFloat32FilterSupport;
return mFloat32TextureSupport;
}
bool Renderer11::getFloat16TextureSupport(bool *filtering, bool *renderable)
bool Renderer11::getFloat32TextureFilteringSupport() const
{
return mFloat32FilterSupport;
}
bool Renderer11::getFloat32TextureRenderingSupport() const
{
return mFloat32RenderSupport;
}
bool Renderer11::getFloat16TextureSupport() const
{
*renderable = mFloat16RenderSupport;
*filtering = mFloat16FilterSupport;
return mFloat16TextureSupport;
}
bool Renderer11::getLuminanceTextureSupport()
bool Renderer11::getFloat16TextureFilteringSupport() const
{
return mFloat16FilterSupport;
}
bool Renderer11::getFloat16TextureRenderingSupport() const
{
return mFloat16RenderSupport;
}
bool Renderer11::getLuminanceTextureSupport() const
{
return false;
}
bool Renderer11::getLuminanceAlphaTextureSupport()
bool Renderer11::getLuminanceAlphaTextureSupport() const
{
return false;
}
......@@ -2081,7 +2097,7 @@ float Renderer11::getTextureMaxAnisotropy() const
}
}
bool Renderer11::getEventQuerySupport()
bool Renderer11::getEventQuerySupport() const
{
return true;
}
......
......@@ -93,14 +93,18 @@ class Renderer11 : public Renderer
virtual GUID getAdapterIdentifier() const;
virtual bool getBGRATextureSupport() const;
virtual bool getDXT1TextureSupport();
virtual bool getDXT3TextureSupport();
virtual bool getDXT5TextureSupport();
virtual bool getEventQuerySupport();
virtual bool getFloat32TextureSupport(bool *filtering, bool *renderable);
virtual bool getFloat16TextureSupport(bool *filtering, bool *renderable);
virtual bool getLuminanceTextureSupport();
virtual bool getLuminanceAlphaTextureSupport();
virtual bool getDXT1TextureSupport() const;
virtual bool getDXT3TextureSupport() const;
virtual bool getDXT5TextureSupport() const;
virtual bool getEventQuerySupport() const;
virtual bool getFloat32TextureSupport() const;
virtual bool getFloat32TextureFilteringSupport() const;
virtual bool getFloat32TextureRenderingSupport() const;
virtual bool getFloat16TextureSupport() const;
virtual bool getFloat16TextureFilteringSupport() const;
virtual bool getFloat16TextureRenderingSupport() const;
virtual bool getLuminanceTextureSupport() const;
virtual bool getLuminanceAlphaTextureSupport() const;
virtual unsigned int getMaxVertexTextureImageUnits() const;
virtual unsigned int getMaxCombinedTextureImageUnits() const;
virtual unsigned int getReservedVertexUniformVectors() const;
......
......@@ -2198,17 +2198,17 @@ bool Renderer9::getBGRATextureSupport() const
return true;
}
bool Renderer9::getDXT1TextureSupport()
bool Renderer9::getDXT1TextureSupport() const
{
return mDXT1TextureSupport;
}
bool Renderer9::getDXT3TextureSupport()
bool Renderer9::getDXT3TextureSupport() const
{
return mDXT3TextureSupport;
}
bool Renderer9::getDXT5TextureSupport()
bool Renderer9::getDXT5TextureSupport() const
{
return mDXT5TextureSupport;
}
......@@ -2218,26 +2218,42 @@ bool Renderer9::getDepthTextureSupport() const
return mDepthTextureSupport;
}
bool Renderer9::getFloat32TextureSupport(bool *filtering, bool *renderable)
bool Renderer9::getFloat32TextureSupport() const
{
*filtering = mFloat32FilterSupport;
*renderable = mFloat32RenderSupport;
return mFloat32TextureSupport;
}
bool Renderer9::getFloat16TextureSupport(bool *filtering, bool *renderable)
bool Renderer9::getFloat32TextureFilteringSupport() const
{
return mFloat32FilterSupport;
}
bool Renderer9::getFloat32TextureRenderingSupport() const
{
return mFloat32RenderSupport;
}
bool Renderer9::getFloat16TextureSupport() const
{
*filtering = mFloat16FilterSupport;
*renderable = mFloat16RenderSupport;
return mFloat16TextureSupport;
}
bool Renderer9::getLuminanceTextureSupport()
bool Renderer9::getFloat16TextureFilteringSupport() const
{
return mFloat16FilterSupport;
}
bool Renderer9::getFloat16TextureRenderingSupport() const
{
return mFloat16RenderSupport;
}
bool Renderer9::getLuminanceTextureSupport() const
{
return mLuminanceTextureSupport;
}
bool Renderer9::getLuminanceAlphaTextureSupport()
bool Renderer9::getLuminanceAlphaTextureSupport() const
{
return mLuminanceAlphaTextureSupport;
}
......@@ -2256,7 +2272,7 @@ float Renderer9::getTextureMaxAnisotropy() const
return 1.0f;
}
bool Renderer9::getEventQuerySupport()
bool Renderer9::getEventQuerySupport() const
{
return mEventQuerySupport;
}
......
......@@ -108,14 +108,18 @@ class Renderer9 : public Renderer
virtual GUID getAdapterIdentifier() const;
virtual bool getBGRATextureSupport() const;
virtual bool getDXT1TextureSupport();
virtual bool getDXT3TextureSupport();
virtual bool getDXT5TextureSupport();
virtual bool getEventQuerySupport();
virtual bool getFloat32TextureSupport(bool *filtering, bool *renderable);
virtual bool getFloat16TextureSupport(bool *filtering, bool *renderable);
virtual bool getLuminanceTextureSupport();
virtual bool getLuminanceAlphaTextureSupport();
virtual bool getDXT1TextureSupport() const;
virtual bool getDXT3TextureSupport() const;
virtual bool getDXT5TextureSupport() const;
virtual bool getEventQuerySupport() const;
virtual bool getFloat32TextureSupport() const;
virtual bool getFloat32TextureFilteringSupport() const;
virtual bool getFloat32TextureRenderingSupport() const;
virtual bool getFloat16TextureSupport() const;
virtual bool getFloat16TextureFilteringSupport() const;
virtual bool getFloat16TextureRenderingSupport() const;
virtual bool getLuminanceTextureSupport() const;
virtual bool getLuminanceAlphaTextureSupport() const;
virtual unsigned int getMaxVertexTextureImageUnits() const;
virtual unsigned int getMaxCombinedTextureImageUnits() const;
virtual unsigned int getReservedVertexUniformVectors() const;
......
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