Greetings,<br><br>As you can see, I pushed the core support for ARB_texture_float to master after private discussion and acknowledgment. All Luca's work on this except softpipe and llvmpipe patches has been merged to master, with me adding missing pieces and fixing bugs.<br>
<br>The good news is Unigine Heaven and Unigine Tropics work with r300g without any major graphical glitches and maybe even with r600g, assuming you enable the extension using --enable-texture-float.<br><br>Marek<br><br>
<div class="gmail_quote">
On Fri, Apr 1, 2011 at 3:56 PM, Marek Olšák <span dir="ltr"><<a href="mailto:maraeo@gmail.com">maraeo@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi,<br>
<br>
please read on.<br>
<br>
This patch series adds the last pieces of ARB_texture_float support to Mesa and Gallium.<br>
<br>
The thing is Mesa and Gallium more or less already support float textures and renderbuffers in master. Gallium has full floating-point support in the interface and if it was a public API, people could just expose it and not care. There is clearly a need for a configure switch which can hide float renderbuffers from any interface, public or private, and driver developers should use such a switch.<br>
<br>
So ARB_texture_float is mostly implemented in master. What's missing is the A/L/LA/I formats in Gallium, and the R/RG formats in the Mesa core, and some glue between Mesa and st/mesa.<br>
<br>
I am proposing to merge all these patches and advertise ARB_texture_float if --enable-texture-float is used in <a href="http://configure.sh/autogen.sh" target="_blank">configure.sh/autogen.sh</a>. This is the same strategy the FreeType project had. If Linux distributors want ARB_texture_float (e.g. to get OpenGL 3), they should obtain the patent or find any other legal way around it, and then use the configure switch, but it's their and only their problem, not ours. By default, ARB_texture_float is disabled, so the Linux distributors not willing to support ARB_texture_float don't need to care.<br>
<br>
BTW, this is not April Fools' prank.<br>
<br>
Please review.<br>
<br>
Luca Barbieri (1):<br>
gallium: add A/L/LA/I floating point formats<br>
<br>
Marek Olšák (5):<br>
mesa: fix L16F and L32F format properties<br>
mesa: add R/RG floating-point formats<br>
mesa: finish up ARB_texture_float<br>
st/mesa: convert Mesa float formats to Gallium<br>
Add a configure enable switch for float textures<br>
<br>
<a href="http://configure.ac" target="_blank">configure.ac</a> | 13 ++<br>
src/gallium/auxiliary/util/u_format.csv | 8 +<br>
src/gallium/include/pipe/p_format.h | 9 +<br>
src/mesa/drivers/dri/r300/r300_context.c | 1 -<br>
src/mesa/drivers/dri/r600/r600_context.c | 1 -<br>
src/mesa/main/extensions.c | 3 +-<br>
src/mesa/main/fbobject.c | 32 ++++-<br>
src/mesa/main/formats.c | 44 ++++++-<br>
src/mesa/main/formats.h | 4 +<br>
src/mesa/main/framebuffer.c | 14 ++-<br>
src/mesa/main/texfetch.c | 28 ++++<br>
src/mesa/main/texfetch_tmp.h | 104 +++++++++++++<br>
src/mesa/main/texformat.c | 16 ++<br>
src/mesa/main/texstore.c | 20 ++-<br>
src/mesa/state_tracker/st_extensions.c | 14 ++<br>
src/mesa/state_tracker/st_format.c | 237 ++++++++++++++++++++++++++++++<br>
16 files changed, 537 insertions(+), 11 deletions(-)<br>
<br>
Best regards<br>
<font color="#888888">Marek<br>
</font></blockquote></div><br>