[Mesa-dev] req'd resolution (was: Floating point textures and rendering for Mesa, softpipe and llvmpipe)

tom fogal tfogal at sci.utah.edu
Wed Sep 1 13:14:45 PDT 2010


keith whitwell <keith.whitwell at gmail.com> writes:
> On Wed, Sep 1, 2010 at 8:34 PM, tom fogal <tfogal at sci.utah.edu> wrote:
> > Luca Barbieri <luca at luca-barbieri.com> writes:
> >> Note that this totally destroys the ability to use llvmpipe for
> >> high dynamic range rendering, which fundamentally depends on the
> >> ability to store unclamped and relatively high precision values.
> >
> > FWIW, we've got an app that allows one to choose the bit depth we
> > do our compositing in, and the difference between 8 and 16 for some
> > data is quite striking. 16 and 32 not so much, though sometimes
> > visible.
>
> Is that 8-fixed and 16-float (ie half-float)?  Or does a 16-bit fixed
> format also work?

It's RGBA8 vs. RGBA16F_ARB vs. RGBA32F_ARB.

I attempted to hack GL_RGBA16 and GL_RGBA32I_EXT into our app.  With
the former, my nvidia driver pegs 100% of a core && gets stuck deep
in a call stack; we must be hitting a software path (growl).  With
GL_RGBA32I_EXT the "fbo allocation" (intertwined w/ the creation of the
backing texture to complete the fbo) fails.

I put one such example up at:

  http://www.sci.utah.edu/~tfogal/tmp/depth-test/

try to view them in something where you can 'flip' images quickly --
notice how the rgba8 compositing darkens a particular area, implying
there's more depth than there is.  I don't see any difference at all
between rgba16f and rgba32f for this case.

HTH,

-tom


More information about the mesa-dev mailing list