diff options
| author | Jason Sams <rjsams@android.com> | 2010-02-22 15:37:51 -0800 |
|---|---|---|
| committer | Jason Sams <rjsams@android.com> | 2010-02-22 15:37:51 -0800 |
| commit | 2978bfc6ad79c8f1138d34a704ce5b3d3d70d2c1 (patch) | |
| tree | e87e3477880e64454f57cbc00cf22aea71e762a4 /libs/rs/rsSampler.cpp | |
| parent | 33285c37abee6d95d0ac55cd7e9889cdc8d96d14 (diff) | |
| download | frameworks_base-2978bfc6ad79c8f1138d34a704ce5b3d3d70d2c1.zip frameworks_base-2978bfc6ad79c8f1138d34a704ce5b3d3d70d2c1.tar.gz frameworks_base-2978bfc6ad79c8f1138d34a704ce5b3d3d70d2c1.tar.bz2 | |
beging np2 extension check work.
Diffstat (limited to 'libs/rs/rsSampler.cpp')
| -rw-r--r-- | libs/rs/rsSampler.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/libs/rs/rsSampler.cpp b/libs/rs/rsSampler.cpp index 7552d54..71f508f 100644 --- a/libs/rs/rsSampler.cpp +++ b/libs/rs/rsSampler.cpp @@ -53,7 +53,7 @@ Sampler::~Sampler() { } -void Sampler::setupGL(const Context *rsc) +void Sampler::setupGL(const Context *rsc, bool npot) { GLenum trans[] = { GL_NEAREST, //RS_SAMPLER_NEAREST, @@ -64,11 +64,21 @@ void Sampler::setupGL(const Context *rsc) }; - glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, trans[mMinFilter]); + bool forceNonMip = false; + if (!rsc->ext_OES_texture_npot() && npot) { + forceNonMip = true; + } + + if ((mMinFilter == RS_SAMPLER_LINEAR_MIP_LINEAR) && forceNonMip) { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + } else { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, trans[mMinFilter]); + } glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, trans[mMagFilter]); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, trans[mWrapS]); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, trans[mWrapT]); + rsc->checkError("ProgramFragment::setupGL2 tex env"); } |
