Am Mittwoch, den 13.07.2011, 18:29 +0200 schrieb Christoph Bumiller: > > As the name of this (well documented) hardware flag already implies: It > > just disabled clamping the output of the fragment shader BEFORE blending > > to a normalized buffer. > >From ARB_color_buffer_float: > > 3. How does the clamping control affect the blending equation? > > RESOLVED: For fixed-point color buffers, the inputs and the > result of the blending equation are clamped. For floating-point > color buffers, no clamping occurs. > > So you want to clamp the colour only before blending but NOT after ? No, just the other way around. I want to DISABLE clamping before blending, clamping after the blending equation would occur anyway because of format conversion. One example:
My fragment shader outputs the value -0.5, the color buffer contains the value 0.75 and the blending function is ADD. For a float buffer (with clamping disabled) I get the expected value of 0.25, but for an unsigned normalized buffer I still get 0.75, because the input value -0.5 gets clamped to [0,1] BEFORE blending occurs. My expectation was that disabling fragment_color_clamp also disables the clamping before the blending equation occurs, because it doesn't make so much sense to me to disable the output clamping, and clamping the value than anyway because of blending. But that's not the way "ARB_color_buffer_float" defines it, and also how piglit tests it. I have a working workaround, but it is something around 20% slower than doing it directly with the blender and I would really like to avoid that overhead. Regards, Christian. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev