texture width max

Are there graphics cards supporting textureWidthMax=16384, 8192 seems common newer cards now.

A Fermi GeForce (e.g. GTX480) reports MAX_TEXTURE_SIZE = 16384.
Previous gen (e.g. GTX285) reports 8192. Can’t speak to ATI cards.

16k is part of the Direct3D 11 spec, so in theory any D3D 11 card should support such textures in OpenGL too.

Also, the OpenGL 4.1 specification document lists the minimum value of MAX_TEXTURE_SIZE as 16384, from a minimum 1024 in the 4.0 specification.

Let’s say that this MAX_TEXTURE_SIZE = 16384 is rhetorical because in practice… it’s not free of issues!

What happens when you multiply 16384 by 16384 might be one of those issues methinks… :slight_smile:

Consider also MAX_CUBE_MAP_TEXTURE_SIZE.
GL4.1 says this has to be at least 16384.

With the smallest possible texture format (DXT1, 4bpp) that is:
16384x16384x6 texels = 768 megabytes, without mipmaps.

Other texture size limits (while we’re at it) – more out of curiosity prompted by Dan’s comment and completeness sake than anything:


                                                GTX480   GTX285   
                              GL 4.1   GL 3.3   (GL4.1)	 (GL3.3)  
                              ------   ------   -------	 -------  
  MAX_TEXTURE_SIZE          =  16K       1K       16K	    8K    
  MAX_CUBE_MAP_TEXTURE_SIZE =  16K       1K       16K	    8K    
  MAX_3D_TEXTURE_SIZE       =   2K      256        2K	    2K    
  MAX_RECTANGLE_TEXTURE_SIZE=  16K       1K       16K	    8K    
  MAX_TEXTURE_BUFFER_SIZE   =  64K      64K      128M	  128M

Didn’t realize that required max texture resolutions were so small until GL4/SM5, or that the required texture buffer size is still so small (yes, that’s 128M = 134,217,728 on the NV reported limits).

Well, then let’s see also the Radeon HD5770 because your post made me curious about my card’s limitations :smiley:

                                                GTX480   GTX285   HD5770
                              GL 4.1   GL 3.3   (GL4.1)	 (GL3.3)  (GL4.1)
                              ------   ------   -------	 -------  -------
  MAX_TEXTURE_SIZE          =  16K       1K       16K	    8K      16K
  MAX_CUBE_MAP_TEXTURE_SIZE =  16K       1K       16K	    8K      16K
  MAX_3D_TEXTURE_SIZE       =   2K      256        2K	    2K       8K
  MAX_RECTANGLE_TEXTURE_SIZE=  16K       1K       16K	    8K      16K
  MAX_TEXTURE_BUFFER_SIZE   =  64K      64K      128M	  128M     256M

Seems like the texture buffer minimum size is a bit low compared to actual implementations :smiley: (128M and 256M vs 64K).