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) ...@@ -313,8 +313,12 @@ void Context::makeCurrent(egl::Surface *surface)
mSupportsDXT1Textures = mRenderer->getDXT1TextureSupport(); mSupportsDXT1Textures = mRenderer->getDXT1TextureSupport();
mSupportsDXT3Textures = mRenderer->getDXT3TextureSupport(); mSupportsDXT3Textures = mRenderer->getDXT3TextureSupport();
mSupportsDXT5Textures = mRenderer->getDXT5TextureSupport(); mSupportsDXT5Textures = mRenderer->getDXT5TextureSupport();
mSupportsFloat32Textures = mRenderer->getFloat32TextureSupport(&mSupportsFloat32LinearFilter, &mSupportsFloat32RenderableTextures); mSupportsFloat32Textures = mRenderer->getFloat32TextureSupport();
mSupportsFloat16Textures = mRenderer->getFloat16TextureSupport(&mSupportsFloat16LinearFilter, &mSupportsFloat16RenderableTextures); mSupportsFloat32LinearFilter = mRenderer->getFloat32TextureFilteringSupport();
mSupportsFloat32RenderableTextures = mRenderer->getFloat32TextureRenderingSupport();
mSupportsFloat16Textures = mRenderer->getFloat16TextureSupport();
mSupportsFloat16LinearFilter = mRenderer->getFloat16TextureFilteringSupport();
mSupportsFloat16RenderableTextures = mRenderer->getFloat16TextureRenderingSupport();
mSupportsLuminanceTextures = mRenderer->getLuminanceTextureSupport(); mSupportsLuminanceTextures = mRenderer->getLuminanceTextureSupport();
mSupportsLuminanceAlphaTextures = mRenderer->getLuminanceAlphaTextureSupport(); mSupportsLuminanceAlphaTextures = mRenderer->getLuminanceAlphaTextureSupport();
mSupportsDepthTextures = mRenderer->getDepthTextureSupport(); mSupportsDepthTextures = mRenderer->getDepthTextureSupport();
......
...@@ -360,10 +360,8 @@ GLenum Framebuffer::completeness() const ...@@ -360,10 +360,8 @@ GLenum Framebuffer::completeness() const
return GL_FRAMEBUFFER_UNSUPPORTED; return GL_FRAMEBUFFER_UNSUPPORTED;
} }
bool filtering, renderable; if ((gl::IsFloat32Format(internalformat) && !mRenderer->getFloat32TextureSupport()) ||
(gl::IsFloat16Format(internalformat) && !mRenderer->getFloat16TextureSupport()))
if ((gl::IsFloat32Format(internalformat) && !mRenderer->getFloat32TextureSupport(&filtering, &renderable)) ||
(gl::IsFloat16Format(internalformat) && !mRenderer->getFloat16TextureSupport(&filtering, &renderable)))
{ {
return GL_FRAMEBUFFER_UNSUPPORTED; return GL_FRAMEBUFFER_UNSUPPORTED;
} }
......
...@@ -628,10 +628,9 @@ bool Texture2D::isSamplerComplete() const ...@@ -628,10 +628,9 @@ bool Texture2D::isSamplerComplete() const
} }
bool mipmapping = isMipmapFiltered(); bool mipmapping = isMipmapFiltered();
bool filtering, renderable;
if ((IsFloat32Format(getInternalFormat(0)) && !mRenderer->getFloat32TextureSupport(&filtering, &renderable)) || if ((IsFloat32Format(getInternalFormat(0)) && !mRenderer->getFloat32TextureSupport()) ||
(IsFloat16Format(getInternalFormat(0)) && !mRenderer->getFloat16TextureSupport(&filtering, &renderable))) (IsFloat16Format(getInternalFormat(0)) && !mRenderer->getFloat16TextureSupport()))
{ {
if (mSamplerState.magFilter != GL_NEAREST || if (mSamplerState.magFilter != GL_NEAREST ||
(mSamplerState.minFilter != GL_NEAREST && mSamplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST)) (mSamplerState.minFilter != GL_NEAREST && mSamplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST))
...@@ -1075,10 +1074,9 @@ bool TextureCubeMap::isSamplerComplete() const ...@@ -1075,10 +1074,9 @@ bool TextureCubeMap::isSamplerComplete() const
int size = mImageArray[0][0]->getWidth(); int size = mImageArray[0][0]->getWidth();
bool mipmapping = isMipmapFiltered(); bool mipmapping = isMipmapFiltered();
bool filtering, renderable;
if ((gl::ExtractType(getInternalFormat(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0)) == GL_FLOAT && !mRenderer->getFloat32TextureSupport(&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(&filtering, &renderable))) (gl::ExtractType(getInternalFormat(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0) == GL_HALF_FLOAT_OES) && !mRenderer->getFloat16TextureSupport()))
{ {
if (mSamplerState.magFilter != GL_NEAREST || if (mSamplerState.magFilter != GL_NEAREST ||
(mSamplerState.minFilter != GL_NEAREST && mSamplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST)) (mSamplerState.minFilter != GL_NEAREST && mSamplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST))
...@@ -1741,10 +1739,9 @@ bool Texture3D::isSamplerComplete() const ...@@ -1741,10 +1739,9 @@ bool Texture3D::isSamplerComplete() const
} }
bool mipmapping = isMipmapFiltered(); bool mipmapping = isMipmapFiltered();
bool filtering, renderable;
if ((IsFloat32Format(getInternalFormat(0)) && !mRenderer->getFloat32TextureSupport(&filtering, &renderable)) || if ((IsFloat32Format(getInternalFormat(0)) && !mRenderer->getFloat32TextureSupport()) ||
(IsFloat16Format(getInternalFormat(0)) && !mRenderer->getFloat16TextureSupport(&filtering, &renderable))) (IsFloat16Format(getInternalFormat(0)) && !mRenderer->getFloat16TextureSupport()))
{ {
if (mSamplerState.magFilter != GL_NEAREST || if (mSamplerState.magFilter != GL_NEAREST ||
(mSamplerState.minFilter != GL_NEAREST && mSamplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST)) (mSamplerState.minFilter != GL_NEAREST && mSamplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST))
...@@ -2231,10 +2228,9 @@ bool Texture2DArray::isSamplerComplete() const ...@@ -2231,10 +2228,9 @@ bool Texture2DArray::isSamplerComplete() const
} }
bool mipmapping = isMipmapFiltered(); bool mipmapping = isMipmapFiltered();
bool filtering, renderable;
if ((IsFloat32Format(getInternalFormat(0)) && !mRenderer->getFloat32TextureSupport(&filtering, &renderable)) || if ((IsFloat32Format(getInternalFormat(0)) && !mRenderer->getFloat32TextureSupport()) ||
(IsFloat16Format(getInternalFormat(0)) && !mRenderer->getFloat16TextureSupport(&filtering, &renderable))) (IsFloat16Format(getInternalFormat(0)) && !mRenderer->getFloat16TextureSupport()))
{ {
if (mSamplerState.magFilter != GL_NEAREST || if (mSamplerState.magFilter != GL_NEAREST ||
(mSamplerState.minFilter != GL_NEAREST && mSamplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST)) (mSamplerState.minFilter != GL_NEAREST && mSamplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST))
......
...@@ -147,14 +147,18 @@ class Renderer ...@@ -147,14 +147,18 @@ class Renderer
virtual GUID getAdapterIdentifier() const = 0; virtual GUID getAdapterIdentifier() const = 0;
virtual bool getBGRATextureSupport() const = 0; virtual bool getBGRATextureSupport() const = 0;
virtual bool getDXT1TextureSupport() = 0; virtual bool getDXT1TextureSupport() const = 0;
virtual bool getDXT3TextureSupport() = 0; virtual bool getDXT3TextureSupport() const = 0;
virtual bool getDXT5TextureSupport() = 0; virtual bool getDXT5TextureSupport() const = 0;
virtual bool getEventQuerySupport() = 0; virtual bool getEventQuerySupport() const = 0;
virtual bool getFloat32TextureSupport(bool *filtering, bool *renderable) = 0; virtual bool getFloat32TextureSupport() const = 0;
virtual bool getFloat16TextureSupport(bool *filtering, bool *renderable) = 0; virtual bool getFloat32TextureFilteringSupport() const= 0;
virtual bool getLuminanceTextureSupport() = 0; virtual bool getFloat32TextureRenderingSupport() const= 0;
virtual bool getLuminanceAlphaTextureSupport() = 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; } bool getVertexTextureSupport() const { return getMaxVertexTextureImageUnits() > 0; }
virtual unsigned int getMaxVertexTextureImageUnits() const = 0; virtual unsigned int getMaxVertexTextureImageUnits() const = 0;
virtual unsigned int getMaxCombinedTextureImageUnits() const = 0; virtual unsigned int getMaxCombinedTextureImageUnits() const = 0;
......
...@@ -2018,17 +2018,17 @@ bool Renderer11::getBGRATextureSupport() const ...@@ -2018,17 +2018,17 @@ bool Renderer11::getBGRATextureSupport() const
return mBGRATextureSupport; return mBGRATextureSupport;
} }
bool Renderer11::getDXT1TextureSupport() bool Renderer11::getDXT1TextureSupport() const
{ {
return mDXT1TextureSupport; return mDXT1TextureSupport;
} }
bool Renderer11::getDXT3TextureSupport() bool Renderer11::getDXT3TextureSupport() const
{ {
return mDXT3TextureSupport; return mDXT3TextureSupport;
} }
bool Renderer11::getDXT5TextureSupport() bool Renderer11::getDXT5TextureSupport() const
{ {
return mDXT5TextureSupport; return mDXT5TextureSupport;
} }
...@@ -2038,26 +2038,42 @@ bool Renderer11::getDepthTextureSupport() const ...@@ -2038,26 +2038,42 @@ bool Renderer11::getDepthTextureSupport() const
return mDepthTextureSupport; return mDepthTextureSupport;
} }
bool Renderer11::getFloat32TextureSupport(bool *filtering, bool *renderable) bool Renderer11::getFloat32TextureSupport() const
{ {
*renderable = mFloat32RenderSupport;
*filtering = mFloat32FilterSupport;
return mFloat32TextureSupport; 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; return mFloat16TextureSupport;
} }
bool Renderer11::getLuminanceTextureSupport() bool Renderer11::getFloat16TextureFilteringSupport() const
{
return mFloat16FilterSupport;
}
bool Renderer11::getFloat16TextureRenderingSupport() const
{
return mFloat16RenderSupport;
}
bool Renderer11::getLuminanceTextureSupport() const
{ {
return false; return false;
} }
bool Renderer11::getLuminanceAlphaTextureSupport() bool Renderer11::getLuminanceAlphaTextureSupport() const
{ {
return false; return false;
} }
...@@ -2081,7 +2097,7 @@ float Renderer11::getTextureMaxAnisotropy() const ...@@ -2081,7 +2097,7 @@ float Renderer11::getTextureMaxAnisotropy() const
} }
} }
bool Renderer11::getEventQuerySupport() bool Renderer11::getEventQuerySupport() const
{ {
return true; return true;
} }
......
...@@ -93,14 +93,18 @@ class Renderer11 : public Renderer ...@@ -93,14 +93,18 @@ class Renderer11 : public Renderer
virtual GUID getAdapterIdentifier() const; virtual GUID getAdapterIdentifier() const;
virtual bool getBGRATextureSupport() const; virtual bool getBGRATextureSupport() const;
virtual bool getDXT1TextureSupport(); virtual bool getDXT1TextureSupport() const;
virtual bool getDXT3TextureSupport(); virtual bool getDXT3TextureSupport() const;
virtual bool getDXT5TextureSupport(); virtual bool getDXT5TextureSupport() const;
virtual bool getEventQuerySupport(); virtual bool getEventQuerySupport() const;
virtual bool getFloat32TextureSupport(bool *filtering, bool *renderable); virtual bool getFloat32TextureSupport() const;
virtual bool getFloat16TextureSupport(bool *filtering, bool *renderable); virtual bool getFloat32TextureFilteringSupport() const;
virtual bool getLuminanceTextureSupport(); virtual bool getFloat32TextureRenderingSupport() const;
virtual bool getLuminanceAlphaTextureSupport(); 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 getMaxVertexTextureImageUnits() const;
virtual unsigned int getMaxCombinedTextureImageUnits() const; virtual unsigned int getMaxCombinedTextureImageUnits() const;
virtual unsigned int getReservedVertexUniformVectors() const; virtual unsigned int getReservedVertexUniformVectors() const;
......
...@@ -2198,17 +2198,17 @@ bool Renderer9::getBGRATextureSupport() const ...@@ -2198,17 +2198,17 @@ bool Renderer9::getBGRATextureSupport() const
return true; return true;
} }
bool Renderer9::getDXT1TextureSupport() bool Renderer9::getDXT1TextureSupport() const
{ {
return mDXT1TextureSupport; return mDXT1TextureSupport;
} }
bool Renderer9::getDXT3TextureSupport() bool Renderer9::getDXT3TextureSupport() const
{ {
return mDXT3TextureSupport; return mDXT3TextureSupport;
} }
bool Renderer9::getDXT5TextureSupport() bool Renderer9::getDXT5TextureSupport() const
{ {
return mDXT5TextureSupport; return mDXT5TextureSupport;
} }
...@@ -2218,26 +2218,42 @@ bool Renderer9::getDepthTextureSupport() const ...@@ -2218,26 +2218,42 @@ bool Renderer9::getDepthTextureSupport() const
return mDepthTextureSupport; return mDepthTextureSupport;
} }
bool Renderer9::getFloat32TextureSupport(bool *filtering, bool *renderable) bool Renderer9::getFloat32TextureSupport() const
{ {
*filtering = mFloat32FilterSupport;
*renderable = mFloat32RenderSupport;
return mFloat32TextureSupport; 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; return mFloat16TextureSupport;
} }
bool Renderer9::getLuminanceTextureSupport() bool Renderer9::getFloat16TextureFilteringSupport() const
{
return mFloat16FilterSupport;
}
bool Renderer9::getFloat16TextureRenderingSupport() const
{
return mFloat16RenderSupport;
}
bool Renderer9::getLuminanceTextureSupport() const
{ {
return mLuminanceTextureSupport; return mLuminanceTextureSupport;
} }
bool Renderer9::getLuminanceAlphaTextureSupport() bool Renderer9::getLuminanceAlphaTextureSupport() const
{ {
return mLuminanceAlphaTextureSupport; return mLuminanceAlphaTextureSupport;
} }
...@@ -2256,7 +2272,7 @@ float Renderer9::getTextureMaxAnisotropy() const ...@@ -2256,7 +2272,7 @@ float Renderer9::getTextureMaxAnisotropy() const
return 1.0f; return 1.0f;
} }
bool Renderer9::getEventQuerySupport() bool Renderer9::getEventQuerySupport() const
{ {
return mEventQuerySupport; return mEventQuerySupport;
} }
......
...@@ -108,14 +108,18 @@ class Renderer9 : public Renderer ...@@ -108,14 +108,18 @@ class Renderer9 : public Renderer
virtual GUID getAdapterIdentifier() const; virtual GUID getAdapterIdentifier() const;
virtual bool getBGRATextureSupport() const; virtual bool getBGRATextureSupport() const;
virtual bool getDXT1TextureSupport(); virtual bool getDXT1TextureSupport() const;
virtual bool getDXT3TextureSupport(); virtual bool getDXT3TextureSupport() const;
virtual bool getDXT5TextureSupport(); virtual bool getDXT5TextureSupport() const;
virtual bool getEventQuerySupport(); virtual bool getEventQuerySupport() const;
virtual bool getFloat32TextureSupport(bool *filtering, bool *renderable); virtual bool getFloat32TextureSupport() const;
virtual bool getFloat16TextureSupport(bool *filtering, bool *renderable); virtual bool getFloat32TextureFilteringSupport() const;
virtual bool getLuminanceTextureSupport(); virtual bool getFloat32TextureRenderingSupport() const;
virtual bool getLuminanceAlphaTextureSupport(); 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 getMaxVertexTextureImageUnits() const;
virtual unsigned int getMaxCombinedTextureImageUnits() const; virtual unsigned int getMaxCombinedTextureImageUnits() const;
virtual unsigned int getReservedVertexUniformVectors() 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