diff options
author | gman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-04 23:36:14 +0000 |
---|---|---|
committer | gman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-04 23:36:14 +0000 |
commit | 2c6df34c9c3bddda42614f4000412e39fc9137de (patch) | |
tree | 9564fa9a3121a1c55ea6e4290551050f3b1dcf97 /o3d | |
parent | 217c21ab080bd909fd53da57a66a9d9e1d68b147 (diff) | |
download | chromium_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.cc | 13 |
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); |