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