# texture filtering  mode mipmap-nearest

**URL:** <https://forums.imgtec.com/t/texture-filtering-mode-mipmap-nearest/1040>\
**Category:** PowerVR Insider\
**Created:** [March 25, 2011, 2:14pm UTC](https://forums.imgtec.com/t/texture-filtering-mode-mipmap-nearest/1040 "2011-03-25T14:14:14Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![antialiasing](https://avatars.discourse-cdn.com/v4/letter/a/d2c977/32.png) [@antialiasing](https://forums.imgtec.com/u/antialiasing)\
**Post date:** [March 25, 2011, 2:14pm UTC](https://forums.imgtec.com/t/texture-filtering-mode-mipmap-nearest/1040/1 "2011-03-25T14:14:14Z")

</div>

Hi,  
We noticed that in the SDK, PVRTTextureAPI.cpp in particular, texture filtering mode is set to GL\_LINEAR\_MIPMAP\_NEAREST if the texture has mipmaps. What isn’t it set to GL\_LINEAR\_MIPMAP\_LINEAR instead? Is this for performance reasons?  
  
We’re investigating an issue where our textures look fine on some phones but pixelated on others. Phones with issues seem to be mostly new Samsung handsets such as Nexus S, Epic 4g, Fascinate etc. Our texture format is OGL888.  
  
Thanks,  
Steve

---

<div class="post-metadata">

**Author:** ![GordonMaclachlan](https://avatars.discourse-cdn.com/v4/letter/g/c68b51/32.png) [@GordonMaclachlan](https://forums.imgtec.com/u/GordonMaclachlan)\
**Post date:** [March 25, 2011, 4:07pm UTC](https://forums.imgtec.com/t/texture-filtering-mode-mipmap-nearest/1040/2 "2011-03-25T16:07:15Z")

</div>

GL\_LINEAR\_MIPMAP\_NEAREST is the default as a compromise between  
  
appearance and performance. This is bilinear filtering per MIP level but  
  
not between MIP levels - localization of data access is improved whilst  
  
still having better quality, although obviously you can see banding  
  
between the MIP levels if you know what you’re looking for.  
  
  
  
  
  
Obviously, GL\_LINEAR\_MIPMAP\_LINEAR will look better again, but it  
  
requires more samples and so can harm performance. If you want to use  
  
this mode with PVRTTextureAPI then you can override the filtering mode  
  
after the function call.  
  
Have you considered using a smaller or compressed texture format like PVRTC? You may find that texture bandwidth use is improved so much by this that your app may perform better even after enabling trilinear.  
  
  
  
  
  
We’ve not seen the issue that you mention - do you have any screenshots that you can post here  
  
or a minimal test case that you can send to  
  
[devtech@imgtec.com](mailto:devtech@imgtec.com)?

---

<div class="post-metadata">

**Author:** ![antialiasing](https://avatars.discourse-cdn.com/v4/letter/a/d2c977/32.png) [@antialiasing](https://forums.imgtec.com/u/antialiasing)\
**Post date:** [March 25, 2011, 6:24pm UTC](https://forums.imgtec.com/t/texture-filtering-mode-mipmap-nearest/1040/3 "2011-03-25T18:24:46Z")

</div>

Thanks Gordon. An email has been sent with pointers to a simple test case.

---

<div class="post-metadata">

**Author:** ![antialiasing](https://avatars.discourse-cdn.com/v4/letter/a/d2c977/32.png) [@antialiasing](https://forums.imgtec.com/u/antialiasing)\
**Post date:** [March 25, 2011, 7:43pm UTC](https://forums.imgtec.com/t/texture-filtering-mode-mipmap-nearest/1040/4 "2011-03-25T19:43:50Z")

</div>

Also, regarding the texture format, we were worried that the pvr tc format may not be supported on non-pvr hardware. Is it the case that the format is supported by pretty much everybody now? So that we can just use it without crossplatform concerns?
