[Mesa-dev] [PATCH 0/6] ARB_texture_float
Marek Olšák
maraeo at gmail.com
Fri Apr 1 06:56:58 PDT 2011
Hi,
please read on.
This patch series adds the last pieces of ARB_texture_float support to Mesa and Gallium.
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.
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.
I am proposing to merge all these patches and advertise ARB_texture_float if --enable-texture-float is used in configure.sh/autogen.sh. 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.
BTW, this is not April Fools' prank.
Please review.
Luca Barbieri (1):
gallium: add A/L/LA/I floating point formats
Marek Olšák (5):
mesa: fix L16F and L32F format properties
mesa: add R/RG floating-point formats
mesa: finish up ARB_texture_float
st/mesa: convert Mesa float formats to Gallium
Add a configure enable switch for float textures
configure.ac | 13 ++
src/gallium/auxiliary/util/u_format.csv | 8 +
src/gallium/include/pipe/p_format.h | 9 +
src/mesa/drivers/dri/r300/r300_context.c | 1 -
src/mesa/drivers/dri/r600/r600_context.c | 1 -
src/mesa/main/extensions.c | 3 +-
src/mesa/main/fbobject.c | 32 ++++-
src/mesa/main/formats.c | 44 ++++++-
src/mesa/main/formats.h | 4 +
src/mesa/main/framebuffer.c | 14 ++-
src/mesa/main/texfetch.c | 28 ++++
src/mesa/main/texfetch_tmp.h | 104 +++++++++++++
src/mesa/main/texformat.c | 16 ++
src/mesa/main/texstore.c | 20 ++-
src/mesa/state_tracker/st_extensions.c | 14 ++
src/mesa/state_tracker/st_format.c | 237 ++++++++++++++++++++++++++++++
16 files changed, 537 insertions(+), 11 deletions(-)
Best regards
Marek
More information about the mesa-dev
mailing list