[Mesa-dev] [PATCH] mesa: Unconditionally enable floating-point textures
Ian Romanick
idr at freedesktop.org
Sun Jun 17 01:10:04 UTC 2018
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
I'd also be in favor of a patch for stable that just removes
docs/patents.txt and the references to it by the build system. Since we
don't like to enable new features in stable, the flag would need to stay.
On 06/16/2018 05:00 PM, Timothy Arceri wrote:
> ARB_texture_float references US Patent #6,650,327 [1] which has a filing date
> of June 16 1998.
>
> According to [2], patents filed after 1995 expire 20 years from the filing
> date, giving an expiration of June 17 2018.
>
> [1] https://www.google.com/patents/US6650327
> [2] https://en.wikipedia.org/wiki/Term_of_patent_in_the_United_States
> ---
> configure.ac | 15 -------------
> docs/patents.txt | 31 ---------------------------
> meson.build | 4 ----
> meson_options.txt | 6 ------
> scons/gallium.py | 4 ----
> src/gallium/auxiliary/util/u_format.c | 9 --------
> src/mesa/main/extensions.c | 2 --
> 7 files changed, 71 deletions(-)
> delete mode 100644 docs/patents.txt
>
> diff --git a/configure.ac b/configure.ac
> index 3f747bf38cc..7a0e4754208 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -763,21 +763,6 @@ esac
>
> AC_SUBST([LIB_EXT])
>
> -dnl
> -dnl potentially-infringing-but-nobody-knows-for-sure stuff
> -dnl
> -AC_ARG_ENABLE([texture-float],
> - [AS_HELP_STRING([--enable-texture-float],
> - [enable floating-point textures and renderbuffers @<:@default=disabled@:>@])],
> - [enable_texture_float="$enableval"],
> - [enable_texture_float=no]
> -)
> -if test "x$enable_texture_float" = xyes; then
> - AC_MSG_WARN([Floating-point textures enabled.])
> - AC_MSG_WARN([Please consult docs/patents.txt with your lawyer before building Mesa.])
> - DEFINES="$DEFINES -DTEXTURE_FLOAT_ENABLED"
> -fi
> -
> dnl
> dnl Arch/platform-specific settings
> dnl
> diff --git a/docs/patents.txt b/docs/patents.txt
> deleted file mode 100644
> index 91c5757d14d..00000000000
> --- a/docs/patents.txt
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -ARB_texture_float:
> -
> - Silicon Graphics, Inc. owns US Patent #6,650,327, issued November 18,
> - 2003 [1].
> -
> - SGI believes this patent contains necessary IP for graphics systems
> - implementing floating point rasterization and floating point
> - framebuffer capabilities described in ARB_texture_float extension, and
> - will discuss licensing on RAND terms, on an individual basis with
> - companies wishing to use this IP in the context of conformant OpenGL
> - implementations [2].
> -
> - The source code to implement ARB_texture_float extension is included
> - and can be toggled on at compile time, for those who purchased a
> - license from SGI, or are in a country where the patent does not apply,
> - etc.
> -
> - The software is provided "as is", without warranty of any kind, express
> - or implied, including but not limited to the warranties of
> - merchantability, fitness for a particular purpose and noninfringement.
> - In no event shall the authors or copyright holders be liable for any
> - claim, damages or other liability, whether in an action of contract,
> - tort or otherwise, arising from, out of or in connection with the
> - software or the use or other dealings in the software.
> -
> - You should contact a lawyer or SGI's legal department if you want to
> - enable this extension.
> -
> -
> -[1] https://patents.google.com/patent/US6650327B1
> -[2] https://www.opengl.org/registry/specs/ARB/texture_float.txt
> diff --git a/meson.build b/meson.build
> index 22e7a6d6cda..cd124c7bbe7 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -60,10 +60,6 @@ with_tools = get_option('tools')
> if with_tools.contains('all')
> with_tools = ['freedreno', 'glsl', 'intel', 'nir', 'nouveau']
> endif
> -if get_option('texture-float')
> - pre_args += '-DTEXTURE_FLOAT_ENABLED'
> - warning('Floating-point texture enabled. Please consult docs/patents.txt and your lawyer before building mesa.')
> -endif
>
> dri_drivers_path = get_option('dri-drivers-path')
> if dri_drivers_path == ''
> diff --git a/meson_options.txt b/meson_options.txt
> index bfe2290868f..11d2b198dd0 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -264,12 +264,6 @@ option(
> value : false,
> description : 'Build unit tests. Currently this will build *all* unit tests, which may build more than expected.'
> )
> -option(
> - 'texture-float',
> - type : 'boolean',
> - value : false,
> - description : 'Enable floating point textures and renderbuffers. This option may be patent encumbered, please read docs/patents.txt and consult with your lawyer before turning this on.'
> -)
> option(
> 'selinux',
> type : 'boolean',
> diff --git a/scons/gallium.py b/scons/gallium.py
> index 6cb20efcbf4..92a762a0c1e 100755
> --- a/scons/gallium.py
> +++ b/scons/gallium.py
> @@ -392,10 +392,6 @@ def generate(env):
> cppdefines += ['PIPE_SUBSYSTEM_WINDOWS_USER']
> if env['embedded']:
> cppdefines += ['PIPE_SUBSYSTEM_EMBEDDED']
> - if env['texture_float']:
> - print('warning: Floating-point textures enabled.')
> - print('warning: Please consult docs/patents.txt with your lawyer before building Mesa.')
> - cppdefines += ['TEXTURE_FLOAT_ENABLED']
> env.Append(CPPDEFINES = cppdefines)
>
> # C compiler options
> diff --git a/src/gallium/auxiliary/util/u_format.c b/src/gallium/auxiliary/util/u_format.c
> index 369b4c3126b..e0325e9c534 100644
> --- a/src/gallium/auxiliary/util/u_format.c
> +++ b/src/gallium/auxiliary/util/u_format.c
> @@ -242,16 +242,7 @@ util_format_is_supported(enum pipe_format format, unsigned bind)
> return FALSE;
> }
>
> -#ifndef TEXTURE_FLOAT_ENABLED
> - if ((bind & PIPE_BIND_RENDER_TARGET) &&
> - format != PIPE_FORMAT_R9G9B9E5_FLOAT &&
> - format != PIPE_FORMAT_R11G11B10_FLOAT &&
> - util_format_is_float(format)) {
> - return FALSE;
> - }
> -#else
> (void)bind;
> -#endif
>
> return TRUE;
> }
> diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
> index 38fc52d0205..5c8bd7a8741 100644
> --- a/src/mesa/main/extensions.c
> +++ b/src/mesa/main/extensions.c
> @@ -129,9 +129,7 @@ _mesa_enable_sw_extensions(struct gl_context *ctx)
> ctx->Extensions.ARB_texture_env_crossbar = GL_TRUE;
> ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE;
> ctx->Extensions.ARB_texture_filter_anisotropic = GL_TRUE;
> -#ifdef TEXTURE_FLOAT_ENABLED
> ctx->Extensions.ARB_texture_float = GL_TRUE;
> -#endif
> ctx->Extensions.ARB_texture_mirror_clamp_to_edge = GL_TRUE;
> ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE;
> ctx->Extensions.ARB_texture_rg = GL_TRUE;
>
More information about the mesa-dev
mailing list