<div dir="ltr">This prevents me building master<div><br></div><div><span style="font-family:monospace">PYTHONPATH=/var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/compiler/nir /usr/bin/python2.7  /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/compiler/brw_nir_trig_workarounds.py > compiler/brw_nir_trig_workarounds.c || (rm -f compi<br>ler/brw_nir_trig_workarounds.c; false)
<br>/bin/mkdir -p genxml
<br>/usr/bin/python2.7  /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen_pack_header.py /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen4.xml > genxml/gen4_pack.h || (rm -f genxml/gen4_pack.h; false)
<br>/usr/bin/python2.7  /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen_pack_header.py /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen45.xml > genxml/gen45_pack.h || (rm -f genxml/gen45_pack.h; false)
<br>/bin/mkdir -p genxml
<br>/bin/mkdir -p genxml
<br>/usr/bin/python2.7  /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen_pack_header.py /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen5.xml > genxml/gen5_pack.h || (rm -f genxml/gen5_pack.h; false)
<br>/bin/mkdir -p genxml
<br>/usr/bin/python2.7  /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen_pack_header.py /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen6.xml > genxml/gen6_pack.h || (rm -f genxml/gen6_pack.h; false)
<br>/usr/bin/python2.7  /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen_pack_header.py /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen7.xml > genxml/gen7_pack.h || (rm -f genxml/gen7_pack.h; false)
<br>/usr/bin/python2.7  /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen_pack_header.py /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen75.xml > genxml/gen75_pack.h || (rm -f genxml/gen75_pack.h; false)
<br>/bin/mkdir -p genxml
<br>/bin/mkdir -p genxml
<br>/usr/bin/python2.7  /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen_pack_header.py /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen8.xml > genxml/gen8_pack.h || (rm -f genxml/gen8_pack.h; false)
<br>/usr/bin/python2.7  /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen_pack_header.py /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen9.xml > genxml/gen9_pack.h || (rm -f genxml/gen9_pack.h; false)
<br>/bin/mkdir -p genxml
<br>/bin/mkdir -p genxml
<br>/usr/bin/python2.7  /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen_bits_header.py -o genxml/genX_bits.h /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen4.xml /var/tmp/portage/media-libs/mesa-9999/work/m<br>esa-9999/src/intel/genxml/gen45.xml /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen5.xml /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen6.xml /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/int<br>el/genxml/gen7.xml /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen75.xml /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen8.xml /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen9.x<br>ml
<br>/usr/bin/python2.7 /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen_zipped_file.py genxml/gen4.xml genxml/gen45.xml genxml/gen5.xml genxml/gen6.xml genxml/gen7.xml genxml/gen75.xml genxml/gen8.xml genxml/gen9.xml > genxml/genX_xm<br>l.h || (rm -f genxml/genX_xml.h; false)
<br>/bin/mkdir -p isl
<br>/bin/mkdir -p vulkan
<br>/usr/bin/python2.7  /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/isl/gen_format_layout.py \
<br>    --csv /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/isl/isl_format_layout.csv --out isl/isl_format_layout.c
<br>/usr/bin/python2.7 /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/vulkan/anv_entrypoints_gen.py \
<br>        --xml /var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/vulkan/registry/vk.xml --outdir ./vulkan
<br>Traceback (most recent call last):
<br>  File "/var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen_zipped_file.py", line 71, in <module>
<br>    main()
<br>  File "/var/tmp/portage/media-libs/mesa-9999/work/mesa-9999/src/intel/genxml/gen_zipped_file.py", line 48, in main
<br>    xml = open(filename).read()
<br>IOError: [Errno 2] No such file or directory: 'genxml/gen4.xml'
<br>make[3]: *** [Makefile:4275: genxml/genX_xml.h] Error 1
<br>make[3]: *** Waiting for unfinished jobs....
<br>make[3]: Leaving directory '/var/tmp/portage/media-libs/mesa-9999/work/mesa-9999-abi_x86_32.x86/src/intel'
<br>make[2]: *** [Makefile:852: all-recursive] Error 1
<br>make[2]: Leaving directory '/var/tmp/portage/media-libs/mesa-9999/work/mesa-9999-abi_x86_32.x86/src'
<br>make[1]: *** [Makefile:643: all] Error 2
<br>make[1]: Leaving directory '/var/tmp/portage/media-libs/mesa-9999/work/mesa-9999-abi_x86_32.x86/src'
<br>make: *** [Makefile:643: all-recursive] Error 1
<br> <span style="font-weight:bold;color:rgb(255,84,84)">*</span> ERROR: media-libs/mesa-9999::gentoo failed (compile phase):
<br> <span style="font-weight:bold;color:rgb(255,84,84)">*</span>   emake failed
<br> <span style="font-weight:bold;color:rgb(255,84,84)">*</span>  <br> <span style="font-weight:bold;color:rgb(255,84,84)">*</span> If you need support, post the output of `emerge --info '=media-libs/mesa-9999::gentoo'`,
<br> <span style="font-weight:bold;color:rgb(255,84,84)">*</span> the complete build log and the output of `emerge -pqv '=med<br></span></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, 30 Mar 2017 at 19:56 Jordan Justen <<a href="mailto:jordan.l.justen@intel.com">jordan.l.justen@intel.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Series Reviewed-by: Jordan Justen <<a href="mailto:jordan.l.justen@intel.com" class="gmail_msg" target="_blank">jordan.l.justen@intel.com</a>><br class="gmail_msg">
<br class="gmail_msg">
On 2017-03-25 14:57:15, Lionel Landwerlin wrote:<br class="gmail_msg">
> Combining all the files into a single string didn't make any<br class="gmail_msg">
> difference in the size of the aubinator binary.<br class="gmail_msg">
><br class="gmail_msg">
> With this change we now also embed gen4/4.5/5 descriptions, which<br class="gmail_msg">
> increases the aubinator size by ~16Kb.<br class="gmail_msg">
><br class="gmail_msg">
> Signed-off-by: Lionel Landwerlin <<a href="mailto:lionel.g.landwerlin@intel.com" class="gmail_msg" target="_blank">lionel.g.landwerlin@intel.com</a>><br class="gmail_msg">
> ---<br class="gmail_msg">
>  src/intel/<a href="http://Makefile.genxml.am" rel="noreferrer" class="gmail_msg" target="_blank">Makefile.genxml.am</a>        | 10 +++---<br class="gmail_msg">
>  src/intel/Makefile.sources          |  7 -----<br class="gmail_msg">
>  src/intel/common/gen_decoder.c      | 62 +++++++++++++------------------------<br class="gmail_msg">
>  src/intel/genxml/.gitignore         |  2 +-<br class="gmail_msg">
>  src/intel/genxml/gen_zipped_file.py | 34 +++++++++++++++++---<br class="gmail_msg">
>  5 files changed, 56 insertions(+), 59 deletions(-)<br class="gmail_msg">
><br class="gmail_msg">
> diff --git a/src/intel/<a href="http://Makefile.genxml.am" rel="noreferrer" class="gmail_msg" target="_blank">Makefile.genxml.am</a> b/src/intel/<a href="http://Makefile.genxml.am" rel="noreferrer" class="gmail_msg" target="_blank">Makefile.genxml.am</a><br class="gmail_msg">
> index 01a02b63b4..c5cc843191 100644<br class="gmail_msg">
> --- a/src/intel/<a href="http://Makefile.genxml.am" rel="noreferrer" class="gmail_msg" target="_blank">Makefile.genxml.am</a><br class="gmail_msg">
> +++ b/src/intel/<a href="http://Makefile.genxml.am" rel="noreferrer" class="gmail_msg" target="_blank">Makefile.genxml.am</a><br class="gmail_msg">
> @@ -21,12 +21,12 @@<br class="gmail_msg">
><br class="gmail_msg">
>  BUILT_SOURCES += \<br class="gmail_msg">
>         $(GENXML_GENERATED_FILES) \<br class="gmail_msg">
> -       $(AUBINATOR_GENERATED_FILES)<br class="gmail_msg">
> +       genxml/genX_xml.h<br class="gmail_msg">
><br class="gmail_msg">
>  EXTRA_DIST += \<br class="gmail_msg">
>         $(GENXML_XML_FILES) \<br class="gmail_msg">
>         $(GENXML_GENERATED_FILES) \<br class="gmail_msg">
> -       $(AUBINATOR_GENERATED_FILES)<br class="gmail_msg">
> +       genxml/genX_xml.h<br class="gmail_msg">
><br class="gmail_msg">
>  SUFFIXES = _pack.h _xml.h .xml<br class="gmail_msg">
><br class="gmail_msg">
> @@ -36,11 +36,9 @@ $(GENXML_GENERATED_FILES): genxml/gen_pack_header.py<br class="gmail_msg">
>         $(MKDIR_GEN)<br class="gmail_msg">
>         $(PYTHON_GEN) $(srcdir)/genxml/gen_pack_header.py $< > $@ || ($(RM) $@; false)<br class="gmail_msg">
><br class="gmail_msg">
> -$(AUBINATOR_GENERATED_FILES): genxml/gen_zipped_file.py<br class="gmail_msg">
> -<br class="gmail_msg">
> -.xml_xml.h:<br class="gmail_msg">
> +genxml/genX_xml.h: $(GENXML_XML_FILES) genxml/gen_zipped_file.py<br class="gmail_msg">
>         $(MKDIR_GEN)<br class="gmail_msg">
> -       $(AM_V_GEN) $(PYTHON2) $(srcdir)/genxml/gen_zipped_file.py $< > $@ || ($(RM) $@; false)<br class="gmail_msg">
> +       $(AM_V_GEN) $(PYTHON2) $(srcdir)/genxml/gen_zipped_file.py $(GENXML_XML_FILES) > $@<br class="gmail_msg">
><br class="gmail_msg">
>  EXTRA_DIST += \<br class="gmail_msg">
>         genxml/genX_pack.h \<br class="gmail_msg">
> diff --git a/src/intel/Makefile.sources b/src/intel/Makefile.sources<br class="gmail_msg">
> index 88bcf60f6e..b5992c8d35 100644<br class="gmail_msg">
> --- a/src/intel/Makefile.sources<br class="gmail_msg">
> +++ b/src/intel/Makefile.sources<br class="gmail_msg">
> @@ -129,13 +129,6 @@ GENXML_GENERATED_FILES = \<br class="gmail_msg">
>         genxml/gen8_pack.h \<br class="gmail_msg">
>         genxml/gen9_pack.h<br class="gmail_msg">
><br class="gmail_msg">
> -AUBINATOR_GENERATED_FILES = \<br class="gmail_msg">
> -       genxml/gen6_xml.h \<br class="gmail_msg">
> -       genxml/gen7_xml.h \<br class="gmail_msg">
> -       genxml/gen75_xml.h \<br class="gmail_msg">
> -       genxml/gen8_xml.h \<br class="gmail_msg">
> -       genxml/gen9_xml.h<br class="gmail_msg">
> -<br class="gmail_msg">
>  ISL_FILES = \<br class="gmail_msg">
>         isl/isl.c \<br class="gmail_msg">
>         isl/isl.h \<br class="gmail_msg">
> diff --git a/src/intel/common/gen_decoder.c b/src/intel/common/gen_decoder.c<br class="gmail_msg">
> index 1c3246f265..7b04ac051b 100644<br class="gmail_msg">
> --- a/src/intel/common/gen_decoder.c<br class="gmail_msg">
> +++ b/src/intel/common/gen_decoder.c<br class="gmail_msg">
> @@ -34,11 +34,7 @@<br class="gmail_msg">
><br class="gmail_msg">
>  #include "gen_decoder.h"<br class="gmail_msg">
><br class="gmail_msg">
> -#include "genxml/gen6_xml.h"<br class="gmail_msg">
> -#include "genxml/gen7_xml.h"<br class="gmail_msg">
> -#include "genxml/gen75_xml.h"<br class="gmail_msg">
> -#include "genxml/gen8_xml.h"<br class="gmail_msg">
> -#include "genxml/gen9_xml.h"<br class="gmail_msg">
> +#include "genxml/genX_xml.h"<br class="gmail_msg">
><br class="gmail_msg">
>  #define XML_BUFFER_SIZE 4096<br class="gmail_msg">
><br class="gmail_msg">
> @@ -481,35 +477,6 @@ devinfo_to_gen(const struct gen_device_info *devinfo)<br class="gmail_msg">
>     return value;<br class="gmail_msg">
>  }<br class="gmail_msg">
><br class="gmail_msg">
> -static const struct {<br class="gmail_msg">
> -   int gen;<br class="gmail_msg">
> -   const uint8_t *data;<br class="gmail_msg">
> -   size_t data_length;<br class="gmail_msg">
> -} gen_data[] = {<br class="gmail_msg">
> -   { .gen = 60, .data = gen6_xml, .data_length = sizeof(gen6_xml) },<br class="gmail_msg">
> -   { .gen = 70, .data = gen7_xml, .data_length = sizeof(gen7_xml) },<br class="gmail_msg">
> -   { .gen = 75, .data = gen75_xml, .data_length = sizeof(gen75_xml) },<br class="gmail_msg">
> -   { .gen = 80, .data = gen8_xml, .data_length = sizeof(gen8_xml) },<br class="gmail_msg">
> -   { .gen = 90, .data = gen9_xml, .data_length = sizeof(gen9_xml) }<br class="gmail_msg">
> -};<br class="gmail_msg">
> -<br class="gmail_msg">
> -static const uint8_t *<br class="gmail_msg">
> -devinfo_to_xml_data(const struct gen_device_info *devinfo,<br class="gmail_msg">
> -                    uint32_t *data_length)<br class="gmail_msg">
> -{<br class="gmail_msg">
> -   int i, gen = devinfo_to_gen(devinfo);<br class="gmail_msg">
> -<br class="gmail_msg">
> -   for (i = 0; i < ARRAY_SIZE(gen_data); i++) {<br class="gmail_msg">
> -      if (gen_data[i].gen == gen) {<br class="gmail_msg">
> -         *data_length = gen_data[i].data_length;<br class="gmail_msg">
> -         return gen_data[i].data;<br class="gmail_msg">
> -      }<br class="gmail_msg">
> -   }<br class="gmail_msg">
> -<br class="gmail_msg">
> -   unreachable("Unknown generation");<br class="gmail_msg">
> -   return NULL;<br class="gmail_msg">
> -}<br class="gmail_msg">
> -<br class="gmail_msg">
>  static uint32_t zlib_inflate(const void *compressed_data,<br class="gmail_msg">
>                               uint32_t compressed_len,<br class="gmail_msg">
>                               void **out_ptr)<br class="gmail_msg">
> @@ -563,9 +530,22 @@ gen_spec_load(const struct gen_device_info *devinfo)<br class="gmail_msg">
>  {<br class="gmail_msg">
>     struct parser_context ctx;<br class="gmail_msg">
>     void *buf;<br class="gmail_msg">
> -   const void *zlib_data;<br class="gmail_msg">
> -   void *text_data;<br class="gmail_msg">
> -   uint32_t zlib_length = 0, text_length;<br class="gmail_msg">
> +   uint8_t *text_data;<br class="gmail_msg">
> +   uint32_t text_offset = 0, text_length = 0, total_length;<br class="gmail_msg">
> +   uint32_t gen_10 = devinfo_to_gen(devinfo);<br class="gmail_msg">
> +<br class="gmail_msg">
> +   for (int i = 0; i < ARRAY_SIZE(genxml_files_table); i++) {<br class="gmail_msg">
> +      if (genxml_files_table[i].gen_10 == gen_10) {<br class="gmail_msg">
> +         text_offset = genxml_files_table[i].offset;<br class="gmail_msg">
> +         text_length = genxml_files_table[i].length;<br class="gmail_msg">
> +         break;<br class="gmail_msg">
> +      }<br class="gmail_msg">
> +   }<br class="gmail_msg">
> +<br class="gmail_msg">
> +   if (text_length == 0) {<br class="gmail_msg">
> +      fprintf(stderr, "unable to find gen (%u) data\n", gen_10);<br class="gmail_msg">
> +      return NULL;<br class="gmail_msg">
> +   }<br class="gmail_msg">
><br class="gmail_msg">
>     memset(&ctx, 0, sizeof ctx);<br class="gmail_msg">
>     ctx.parser = XML_ParserCreate(NULL);<br class="gmail_msg">
> @@ -580,11 +560,13 @@ gen_spec_load(const struct gen_device_info *devinfo)<br class="gmail_msg">
><br class="gmail_msg">
>     ctx.spec = xzalloc(sizeof(*ctx.spec));<br class="gmail_msg">
><br class="gmail_msg">
> -   zlib_data = devinfo_to_xml_data(devinfo, &zlib_length);<br class="gmail_msg">
> -   text_length = zlib_inflate(zlib_data, zlib_length, &text_data);<br class="gmail_msg">
> +   total_length = zlib_inflate(compress_genxmls,<br class="gmail_msg">
> +                               sizeof(compress_genxmls),<br class="gmail_msg">
> +                               (void **) &text_data);<br class="gmail_msg">
> +   assert(text_offset + text_length <= total_length);<br class="gmail_msg">
><br class="gmail_msg">
>     buf = XML_GetBuffer(ctx.parser, text_length);<br class="gmail_msg">
> -   memcpy(buf, text_data, text_length);<br class="gmail_msg">
> +   memcpy(buf, &text_data[text_offset], text_length);<br class="gmail_msg">
><br class="gmail_msg">
>     if (XML_ParseBuffer(ctx.parser, text_length, true) == 0) {<br class="gmail_msg">
>        fprintf(stderr,<br class="gmail_msg">
> diff --git a/src/intel/genxml/.gitignore b/src/intel/genxml/.gitignore<br class="gmail_msg">
> index c5672b5595..4385170899 100644<br class="gmail_msg">
> --- a/src/intel/genxml/.gitignore<br class="gmail_msg">
> +++ b/src/intel/genxml/.gitignore<br class="gmail_msg">
> @@ -1,2 +1,2 @@<br class="gmail_msg">
>  gen*_pack.h<br class="gmail_msg">
> -gen*_xml.h<br class="gmail_msg">
> +genX_xml.h<br class="gmail_msg">
> diff --git a/src/intel/genxml/gen_zipped_file.py b/src/intel/genxml/gen_zipped_file.py<br class="gmail_msg">
> index 66222cabe7..af2008bea0 100644<br class="gmail_msg">
> --- a/src/intel/genxml/gen_zipped_file.py<br class="gmail_msg">
> +++ b/src/intel/genxml/gen_zipped_file.py<br class="gmail_msg">
> @@ -26,22 +26,46 @@ from __future__ import print_function<br class="gmail_msg">
>  import os<br class="gmail_msg">
>  import sys<br class="gmail_msg">
>  import zlib<br class="gmail_msg">
> +import xml.etree.cElementTree as et<br class="gmail_msg">
><br class="gmail_msg">
>  def main():<br class="gmail_msg">
>      if len(sys.argv) < 2:<br class="gmail_msg">
>          print("No input xml file specified")<br class="gmail_msg">
>          sys.exit(1)<br class="gmail_msg">
><br class="gmail_msg">
> -    with open(sys.argv[1]) as f:<br class="gmail_msg">
> -        compressed_data = zlib.compress(f.read())<br class="gmail_msg">
> +    compress = zlib.compressobj()<br class="gmail_msg">
><br class="gmail_msg">
> -    gen_name = os.path.splitext(os.path.basename(sys.argv[1]))[0]<br class="gmail_msg">
> -    print("static const uint8_t %s_xml[] = {" % gen_name)<br class="gmail_msg">
> -    print("   ", end='')<br class="gmail_msg">
> +    print("static const struct {")<br class="gmail_msg">
> +    print("   uint32_t gen_10;")<br class="gmail_msg">
> +    print("   uint32_t offset;")<br class="gmail_msg">
> +    print("   uint32_t length;")<br class="gmail_msg">
> +    print("} genxml_files_table[] = {")<br class="gmail_msg">
> +<br class="gmail_msg">
> +    xml_offset = 0<br class="gmail_msg">
> +    compressed_data = ''<br class="gmail_msg">
> +    for i in range(1, len(sys.argv)):<br class="gmail_msg">
> +        filename = sys.argv[i]<br class="gmail_msg">
> +        xml = open(filename).read()<br class="gmail_msg">
> +        xml_length = len(xml)<br class="gmail_msg">
> +        root = et.fromstring(xml)<br class="gmail_msg">
> +<br class="gmail_msg">
> +        print("   { %i, %i, %i }," %<br class="gmail_msg">
> +              (int(float(root.attrib['gen']) * 10), xml_offset, xml_length))<br class="gmail_msg">
> +<br class="gmail_msg">
> +        compressed_data += compress.compress(xml)<br class="gmail_msg">
> +        xml_offset += xml_length<br class="gmail_msg">
><br class="gmail_msg">
> +    print("};")<br class="gmail_msg">
> +<br class="gmail_msg">
> +    compressed_data += compress.flush()<br class="gmail_msg">
> +<br class="gmail_msg">
> +    print("")<br class="gmail_msg">
> +    print("static const uint8_t compress_genxmls[] = {")<br class="gmail_msg">
> +    print("   ", end='')<br class="gmail_msg">
>      for i, c in enumerate(compressed_data, start=1):<br class="gmail_msg">
>          print("0x%.2x, " % ord(c), end='\n   ' if not i % 12 else '')<br class="gmail_msg">
>      print('\n};')<br class="gmail_msg">
><br class="gmail_msg">
> +<br class="gmail_msg">
>  if __name__ == '__main__':<br class="gmail_msg">
>      main()<br class="gmail_msg">
> --<br class="gmail_msg">
> 2.11.0<br class="gmail_msg">
><br class="gmail_msg">
> _______________________________________________<br class="gmail_msg">
> mesa-dev mailing list<br class="gmail_msg">
> <a href="mailto:mesa-dev@lists.freedesktop.org" class="gmail_msg" target="_blank">mesa-dev@lists.freedesktop.org</a><br class="gmail_msg">
> <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br class="gmail_msg">
_______________________________________________<br class="gmail_msg">
mesa-dev mailing list<br class="gmail_msg">
<a href="mailto:mesa-dev@lists.freedesktop.org" class="gmail_msg" target="_blank">mesa-dev@lists.freedesktop.org</a><br class="gmail_msg">
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" class="gmail_msg" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br class="gmail_msg">
</blockquote></div>