Use a Caps structure to store extension and texture format support.
Removes support for fallbacks in D3D9 texture formats. The fallback
formats did not work properly anyways.
BUG=angle:658
Change-Id: Idfa5183bf71fd8ebf4608f940f9d93177b9eff08
Reviewed-on: https://chromium-review.googlesource.com/200813
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libGLESv2/Texture.cpp b/src/libGLESv2/Texture.cpp
index baa5bc6..605823d 100644
--- a/src/libGLESv2/Texture.cpp
+++ b/src/libGLESv2/Texture.cpp
@@ -1,6 +1,6 @@
#include "precompiled.h"
//
-// Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved.
+// Copyright (c) 2002-2014 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
@@ -438,7 +438,7 @@
GLint Texture::creationLevels(GLsizei width, GLsizei height, GLsizei depth) const
{
- if ((isPow2(width) && isPow2(height) && isPow2(depth)) || mRenderer->getNonPower2TextureSupport())
+ if ((isPow2(width) && isPow2(height) && isPow2(depth)) || mRenderer->getCaps().extensions.textureNPOT)
{
// Maximum number of levels
return log2(std::max(std::max(width, height), depth)) + 1;
@@ -776,7 +776,7 @@
return false;
}
- if (!IsTextureFilteringSupported(getInternalFormat(0), mRenderer))
+ if (!mRenderer->getCaps().textureCaps.get(getInternalFormat(0)).filtering)
{
if (samplerState.magFilter != GL_NEAREST ||
(samplerState.minFilter != GL_NEAREST && samplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST))
@@ -785,7 +785,7 @@
}
}
- bool npotSupport = mRenderer->getNonPower2TextureSupport();
+ bool npotSupport = mRenderer->getCaps().extensions.textureNPOT;
if (!npotSupport)
{
@@ -1219,7 +1219,7 @@
bool mipmapping = IsMipmapFiltered(samplerState);
- if (!IsTextureFilteringSupported(getInternalFormat(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0), mRenderer))
+ if (!mRenderer->getCaps().textureCaps.get(getInternalFormat(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0)).filtering)
{
if (samplerState.magFilter != GL_NEAREST ||
(samplerState.minFilter != GL_NEAREST && samplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST))
@@ -1228,7 +1228,7 @@
}
}
- if (!isPow2(size) && !mRenderer->getNonPower2TextureSupport())
+ if (!isPow2(size) && !mRenderer->getCaps().extensions.textureNPOT)
{
if (samplerState.wrapS != GL_CLAMP_TO_EDGE || samplerState.wrapT != GL_CLAMP_TO_EDGE || mipmapping)
{
@@ -1962,7 +1962,7 @@
return false;
}
- if (!IsTextureFilteringSupported(getInternalFormat(0), mRenderer))
+ if (!mRenderer->getCaps().textureCaps.get(getInternalFormat(0)).filtering)
{
if (samplerState.magFilter != GL_NEAREST ||
(samplerState.minFilter != GL_NEAREST && samplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST))
@@ -2515,7 +2515,7 @@
return false;
}
- if (!IsTextureFilteringSupported(getBaseLevelInternalFormat(), mRenderer))
+ if (!mRenderer->getCaps().textureCaps.get(getBaseLevelInternalFormat()).filtering)
{
if (samplerState.magFilter != GL_NEAREST ||
(samplerState.minFilter != GL_NEAREST && samplerState.minFilter != GL_NEAREST_MIPMAP_NEAREST))