summaryrefslogtreecommitdiffstats
path: root/libs/rs/rsSampler.cpp
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2010-09-16 18:18:29 -0700
committerJason Sams <rjsams@android.com>2010-09-16 18:18:29 -0700
commitd081fffab58b4cb8a36b7a083ab7793585bc1510 (patch)
tree2d4ea330edfd21499546fc0a9ae9d647d7a1ee0e /libs/rs/rsSampler.cpp
parenta8bf9429b29743b3489817feb21bde2416acc465 (diff)
downloadframeworks_base-d081fffab58b4cb8a36b7a083ab7793585bc1510.zip
frameworks_base-d081fffab58b4cb8a36b7a083ab7793585bc1510.tar.gz
frameworks_base-d081fffab58b4cb8a36b7a083ab7793585bc1510.tar.bz2
Cleanup GL setup code and remove legacy 1.1 paths.
Reset pointers to NULL when allocations are unbound. Change-Id: Ifaba634ecbb154970b7fb47faa8e6475d16d2f66
Diffstat (limited to 'libs/rs/rsSampler.cpp')
-rw-r--r--libs/rs/rsSampler.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/libs/rs/rsSampler.cpp b/libs/rs/rsSampler.cpp
index 47b8a61..c6a848c 100644
--- a/libs/rs/rsSampler.cpp
+++ b/libs/rs/rsSampler.cpp
@@ -59,7 +59,7 @@ Sampler::~Sampler()
{
}
-void Sampler::setupGL(const Context *rsc, bool npot)
+void Sampler::setupGL(const Context *rsc, const Allocation *tex)
{
GLenum trans[] = {
GL_NEAREST, //RS_SAMPLER_NEAREST,
@@ -77,13 +77,17 @@ void Sampler::setupGL(const Context *rsc, bool npot)
GL_CLAMP_TO_EDGE, //RS_SAMPLER_CLAMP
};
- if (!rsc->ext_OES_texture_npot() && npot) {
+ if (!rsc->ext_OES_texture_npot() && tex->getType()->getIsNp2()) {
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, transNP[mMinFilter]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, transNP[mMagFilter]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, transNP[mWrapS]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, transNP[mWrapT]);
} else {
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, trans[mMinFilter]);
+ if (tex->getHasGraphicsMipmaps()) {
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, trans[mMinFilter]);
+ } else {
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, transNP[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]);