How to avoid float texture limit for GPU rendering In developing a relatively simple scene, I noticed that detail from normal maps were not being displayed for some objects. All of the maps were generated from Substance painter as .png (16-bits max).  Further investigation in the console showed that loading the normal maps was being skipped due to a float image limit of 5 textures.

Through Google, I found bug report T37264 which indicated that this was due to a limitation in CUDA.  Indeed, switching the render from GPU to CPU cleared the problem (even in the viewport render, which was surprising).  Also, the problem went away by using .jpg for the normal map textures.

So, my questions are: Are these steps the only solution for this problem?  I was not aware that I was even using float textures.  Is .png acutally a floating point format?  What about the other .png maps used for color data--are they also count against the floating point texture limit?

Edit to add: I found that 8-channel .png works ok, so I guess that would be my lossless solution.
It looks like what you've found is accurate.  Here is an excerpt from the manual http://www.blender.org/manual/render/cycles/gpu_rendering.html so far as I know it's current for mid-2015


  Limitations
  
  The maximum amount of individual textures is limited to 95 byte-image
  textures (PNG, JPEG, ..) and 5 float-image textures (OpenEXR, 16 bit
  TIFF, ..) on GTX 4xx/5xx cards, and 145 byte-image textures and 5
  float-image textures on GTX6xx cards and above.