<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hi,<br>
      <br>
      Sorry I broke the out of tree build. I have a fix coming up.<br>
      <br>
      Thanks,<br>
      <br>
      -<br>
      Lionel<br>
      <br>
      On 31/03/17 02:06, Mike Lothian wrote:<br>
    </div>
    <blockquote
cite="mid:CAHbf0-Eb8+MMUQTzci9XgHpLghK2o972y0wrYXif+suCZXUE2A@mail.gmail.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <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
            moz-do-not-send="true"
            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 moz-do-not-send="true"
            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
            moz-do-not-send="true"
            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 moz-do-not-send="true"
            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 moz-do-not-send="true"
            href="http://Makefile.genxml.am" rel="noreferrer"
            class="gmail_msg" target="_blank">Makefile.genxml.am</a>
          b/src/intel/<a moz-do-not-send="true"
            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 moz-do-not-send="true"
            href="http://Makefile.genxml.am" rel="noreferrer"
            class="gmail_msg" target="_blank">Makefile.genxml.am</a><br
            class="gmail_msg">
          > +++ b/src/intel/<a moz-do-not-send="true"
            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 moz-do-not-send="true"
            href="mailto:mesa-dev@lists.freedesktop.org"
            class="gmail_msg" target="_blank">mesa-dev@lists.freedesktop.org</a><br
            class="gmail_msg">
          > <a moz-do-not-send="true"
            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 moz-do-not-send="true"
            href="mailto:mesa-dev@lists.freedesktop.org"
            class="gmail_msg" target="_blank">mesa-dev@lists.freedesktop.org</a><br
            class="gmail_msg">
          <a moz-do-not-send="true"
            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>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>