I have an app that has been succussfully using npot textures through the NV extension. I recently implemented texture compression but can only get it to work when NOT using npot extensions (I get a crash when trying to use both).

I have read that dds files have to be sized in powers of 2 (and indeed nvdxt will only output them as such) but I assumed that this comment assumes a standard texture target (GL_TEXTURE_2D, etc.).

Is there a way to make these extensions co-exist ?


From NV_texture_rectangle specification

Can compressed texture images be specified for a rectangular texture?
  RESOLUTION:  The generic texture compression internal formats
  introduced by ARB_texture_compression are supported for rectangular
  textures because the image is not presented as compressed data and
  the ARB_texture_compression extension always permits generic texture
  compression internal formats to be stored in uncompressed form.
  Implementations are free to support generic compression internal
  formats for rectangular textures if supported but such support is
  not required.
  This extensions makes a blanket statement that specific compressed
  internal formats for use with CompressedTexImage<n>DARB are NOT
  supported for rectangular textures.  This is because several
  existing hardware implementations of texture compression formats
  such as S3TC are not designed for compressing rectangular textures.
  This does not preclude future texture compression extensions from
  supporting compressed internal formats that do work with rectangular
  extensions (by relaxing the current blanket error condition).

Dependencies on EXT_texture_compression_s3tc

If EXT_texture_compression_s3tc is not supported, references
to CompressedTexImage2DARB and CompressedTexSubImageARB and the
COMPRESSED_*_S3TC_DXT*_EXT enumerants should be ignored.

Thanks again yooyo!
Does this mean that I cannot use glCompressedSubTexImage() on sections that are npot (if I create a pot texture with glCompressedTexImage) ?