summaryrefslogtreecommitdiffstats
path: root/o3d
diff options
context:
space:
mode:
authorgman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-04 23:36:14 +0000
committergman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-04 23:36:14 +0000
commit2c6df34c9c3bddda42614f4000412e39fc9137de (patch)
tree9564fa9a3121a1c55ea6e4290551050f3b1dcf97 /o3d
parent217c21ab080bd909fd53da57a66a9d9e1d68b147 (diff)
downloadchromium_src-2c6df34c9c3bddda42614f4000412e39fc9137de.zip
chromium_src-2c6df34c9c3bddda42614f4000412e39fc9137de.tar.gz
chromium_src-2c6df34c9c3bddda42614f4000412e39fc9137de.tar.bz2
GL fix. Code was DCHECKing valid conditions and
therefore asserting in debug mode. Review URL: http://codereview.chromium.org/360033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31038 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'o3d')
-rw-r--r--o3d/core/cross/gl/sampler_gl.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/o3d/core/cross/gl/sampler_gl.cc b/o3d/core/cross/gl/sampler_gl.cc
index ab95b05..5dacf0b 100644
--- a/o3d/core/cross/gl/sampler_gl.cc
+++ b/o3d/core/cross/gl/sampler_gl.cc
@@ -76,6 +76,8 @@ unsigned int GLAddressMode(Sampler::AddressMode o3d_mode,
unsigned int GLMinFilter(Sampler::FilterType o3d_filter,
Sampler::FilterType mip_filter) {
switch (o3d_filter) {
+ case Sampler::NONE:
+ return GL_NEAREST;
case Sampler::POINT:
if (mip_filter == Sampler::NONE)
return GL_NEAREST;
@@ -83,9 +85,8 @@ unsigned int GLMinFilter(Sampler::FilterType o3d_filter,
return GL_NEAREST_MIPMAP_NEAREST;
else if (mip_filter == Sampler::LINEAR)
return GL_NEAREST_MIPMAP_LINEAR;
- default:
- DLOG(ERROR) << "Unknown filter " << static_cast<int>(o3d_filter);
- // fall through
+ else if (mip_filter == Sampler::ANISOTROPIC)
+ return GL_NEAREST_MIPMAP_LINEAR;
case Sampler::ANISOTROPIC: // Anisotropy is handled in SetTextureAndStates
case Sampler::LINEAR:
if (mip_filter == Sampler::NONE)
@@ -94,16 +95,22 @@ unsigned int GLMinFilter(Sampler::FilterType o3d_filter,
return GL_LINEAR_MIPMAP_NEAREST;
else if (mip_filter == Sampler::LINEAR)
return GL_LINEAR_MIPMAP_LINEAR;
+ else if (mip_filter == Sampler::ANISOTROPIC)
+ return GL_LINEAR_MIPMAP_LINEAR;
}
+ // fall through
+ DLOG(ERROR) << "Unknown filter " << static_cast<int>(o3d_filter);
DCHECK(false);
return GL_NONE;
}
unsigned int GLMagFilter(Sampler::FilterType o3d_filter) {
switch (o3d_filter) {
+ case Sampler::NONE:
case Sampler::POINT:
return GL_NEAREST;
case Sampler::LINEAR:
+ case Sampler::ANISOTROPIC:
return GL_LINEAR;
default:
DLOG(ERROR) << "Unknown filter " << static_cast<int>(o3d_filter);