From dfce4c451c0b12f5836db1af0c26bffc316837fa Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Thu, 2 Aug 2012 22:54:01 +0000 Subject: Added AppearanceData block to AvatarAppearance message --- scripts/messages/message_template.msg | 6 ++++++ scripts/messages/message_template.msg.sha1 | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/messages/message_template.msg b/scripts/messages/message_template.msg index 2cb0a833d4..5b147db084 100644 --- a/scripts/messages/message_template.msg +++ b/scripts/messages/message_template.msg @@ -3571,6 +3571,12 @@ version 2.0 VisualParam Variable { ParamValue U8 } } + { + AppearanceData Variable + { AppearanceVersion U8 } + { CofVersion S32 } + { Flags U32 } + } } // AvatarSitResponse - response to a request to sit on an object diff --git a/scripts/messages/message_template.msg.sha1 b/scripts/messages/message_template.msg.sha1 index 6486d92851..9e3dd21fb0 100644 --- a/scripts/messages/message_template.msg.sha1 +++ b/scripts/messages/message_template.msg.sha1 @@ -1 +1 @@ -465164e1a07f63d68c4ad1f00c19805dfb6ee2d7 \ No newline at end of file +ac4e232bd595c8dd31bc67fd77bcf68d8e9e837c \ No newline at end of file -- cgit v1.2.3 From 64d9705ae21c42f4c7869a414e250c5de251b143 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Fri, 17 Aug 2012 03:56:38 +0000 Subject: Expanding region flags to 64 bits. Adding region protocol flags --- scripts/messages/message_template.msg | 17 +++++++++++++++++ scripts/messages/message_template.msg.sha1 | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/messages/message_template.msg b/scripts/messages/message_template.msg index 5b147db084..97f879629d 100644 --- a/scripts/messages/message_template.msg +++ b/scripts/messages/message_template.msg @@ -2939,6 +2939,10 @@ version 2.0 PidStat Single { PID S32 } } + { + RegionInfo Single + { RegionFlagsExtended U64 } + } } // viewer -> sim @@ -2991,6 +2995,10 @@ version 2.0 { HardMaxAgents U32 } { HardMaxObjects U32 } } + { + RegionInfo3 Single + { RegionFlagsExtended U64 } + } } // GodUpdateRegionInfo @@ -3016,6 +3024,10 @@ version 2.0 { RedirectGridX S32 } { RedirectGridY S32 } } + { + RegionInfo2 Single + { RegionFlagsExtended U64 } + } } //NearestLandingRegionRequest @@ -3116,6 +3128,11 @@ version 2.0 { ProductSKU Variable 1 } // string { ProductName Variable 1 } // string } + { + RegionInfo4 Single + { RegionFlagsExtended U64 } + { RegionProtocols U64 } + } } // RegionHandshakeReply diff --git a/scripts/messages/message_template.msg.sha1 b/scripts/messages/message_template.msg.sha1 index 9e3dd21fb0..2190f50c23 100644 --- a/scripts/messages/message_template.msg.sha1 +++ b/scripts/messages/message_template.msg.sha1 @@ -1 +1 @@ -ac4e232bd595c8dd31bc67fd77bcf68d8e9e837c \ No newline at end of file +74e56dceb590807a5d48ece83867879ea5c6d22e \ No newline at end of file -- cgit v1.2.3 From 87833a2485216e742da2617bc79dc600636f3736 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Mon, 27 Aug 2012 17:37:34 -0400 Subject: Fixed issues with mixed grids - new message blocks now variable --- scripts/messages/message_template.msg | 8 ++++---- scripts/messages/message_template.msg.sha1 | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) mode change 100644 => 100755 scripts/messages/message_template.msg (limited to 'scripts') diff --git a/scripts/messages/message_template.msg b/scripts/messages/message_template.msg old mode 100644 new mode 100755 index 97f879629d..6702de9b4a --- a/scripts/messages/message_template.msg +++ b/scripts/messages/message_template.msg @@ -2940,7 +2940,7 @@ version 2.0 { PID S32 } } { - RegionInfo Single + RegionInfo Variable { RegionFlagsExtended U64 } } } @@ -2996,7 +2996,7 @@ version 2.0 { HardMaxObjects U32 } } { - RegionInfo3 Single + RegionInfo3 Variable { RegionFlagsExtended U64 } } } @@ -3025,7 +3025,7 @@ version 2.0 { RedirectGridY S32 } } { - RegionInfo2 Single + RegionInfo2 Variable { RegionFlagsExtended U64 } } } @@ -3129,7 +3129,7 @@ version 2.0 { ProductName Variable 1 } // string } { - RegionInfo4 Single + RegionInfo4 Variable { RegionFlagsExtended U64 } { RegionProtocols U64 } } diff --git a/scripts/messages/message_template.msg.sha1 b/scripts/messages/message_template.msg.sha1 index 2190f50c23..7a31177f11 100644 --- a/scripts/messages/message_template.msg.sha1 +++ b/scripts/messages/message_template.msg.sha1 @@ -1 +1 @@ -74e56dceb590807a5d48ece83867879ea5c6d22e \ No newline at end of file +4dbf88396c3188ad4c54c4f847a7d8817793668d \ No newline at end of file -- cgit v1.2.3 From d7e90f4160aaa81e30206c80047b82833c049482 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 7 Feb 2013 11:56:57 -0500 Subject: derive version number from indra/VIEWER_VERSION.txt --- scripts/build_version.py | 77 --------- scripts/update_version_files.py | 343 ---------------------------------------- 2 files changed, 420 deletions(-) delete mode 100755 scripts/build_version.py delete mode 100755 scripts/update_version_files.py (limited to 'scripts') diff --git a/scripts/build_version.py b/scripts/build_version.py deleted file mode 100755 index 203d76fe9e..0000000000 --- a/scripts/build_version.py +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/env python -"""\ -@file build_version.py -@brief Print the build information embedded in a header file. - - Expects to be invoked from the command line with a file name and a - list of directories to search. The file name will be one of the - following: - - llversionserver.h - llversionviewer.h - - The directory list that follows will include indra/llcommon, where - these files live. - -$LicenseInfo:firstyear=2010&license=viewerlgpl$ -Second Life Viewer Source Code -Copyright (C) 2010-2011, Linden Research, Inc. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; -version 2.1 of the License only. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -$/LicenseInfo$ -""" - -import errno, os, re - -def get_version(filename): - fp = open(filename) - data = fp.read() - fp.close() - - vals = {} - m = re.search('const S32 LL_VERSION_MAJOR = (\d+);', data) - vals['major'] = m.group(1) - m = re.search('const S32 LL_VERSION_MINOR = (\d+);', data) - vals['minor'] = m.group(1) - m = re.search('const S32 LL_VERSION_PATCH = (\d+);', data) - vals['patch'] = m.group(1) - m = re.search('const S32 LL_VERSION_BUILD = (\d+);', data) - vals['build'] = m.group(1) - - return "%(major)s.%(minor)s.%(patch)s.%(build)s" % vals - -if __name__ == '__main__': - import sys - - try: - for path in sys.argv[2:]: - name = os.path.join(path, sys.argv[1]) - try: - print get_version(name) - break - except OSError, err: - if err.errno != errno.ENOENT: - raise - else: - print >> sys.stderr, 'File not found:', sys.argv[1] - sys.exit(1) - except AttributeError: - print >> sys.stderr, 'Error: malformatted file: ', name - sys.exit(1) - except IndexError: - print >> sys.stderr, ('Usage: %s llversion[...].h [directories]' % - sys.argv[0]) diff --git a/scripts/update_version_files.py b/scripts/update_version_files.py deleted file mode 100755 index 87036dc1c0..0000000000 --- a/scripts/update_version_files.py +++ /dev/null @@ -1,343 +0,0 @@ -#!/usr/bin/env python -"""\ -@file update_version_files.py -@brief Update all of the various files in the repository to a new version number, -instead of having to figure it out by hand - -$LicenseInfo:firstyear=2010&license=viewerlgpl$ -Second Life Viewer Source Code -Copyright (C) 2010-2011, Linden Research, Inc. - -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; -version 2.1 of the License only. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -$/LicenseInfo$ -""" - -import sys -import os.path - -# Look for indra/lib/python in all possible parent directories ... -# This is an improvement over the setup-path.py method used previously: -# * the script may blocated anywhere inside the source tree -# * it doesn't depend on the current directory -# * it doesn't depend on another file being present. - -def add_indra_lib_path(): - root = os.path.realpath(__file__) - # always insert the directory of the script in the search path - dir = os.path.dirname(root) - if dir not in sys.path: - sys.path.insert(0, dir) - - # Now go look for indra/lib/python in the parent dies - while root != os.path.sep: - root = os.path.dirname(root) - dir = os.path.join(root, 'indra', 'lib', 'python') - if os.path.isdir(dir): - if dir not in sys.path: - sys.path.insert(0, dir) - break - else: - print >>sys.stderr, "This script is not inside a valid installation." - sys.exit(1) - -add_indra_lib_path() - -import getopt, os, re, commands -from indra.util import llversion - -def usage(): - print "Usage:" - print sys.argv[0] + """ [options] - -Options: - --version - Specify the version string to replace current version. - --revision - Specify the revision to replace the last digit of the version. - By default, revision is computed from the version control system. - --skip-on-branch - Specify a regular expression against which the current branch - is matched. If it matches, then leave version strings alone. - Use this to avoid changing version strings on release candidate - builds. - --server - Update llversionserver.h only with new version - --viewer - Update llversionviewer.h only with new version - --channel - Specify the viewer channel string to replace current channel. - --server_channel - Specify the server channel string to replace current channel. - --verbose - --help - Print this message and exit. - -Common Uses: - # Update server and viewer build numbers to the current hg revision: - update_version_files.py - - # Update build numbers unless we are on a release branch: - update_version_files.py --skip-on-branch='^Branch_' - - # Update server and viewer version numbers explicitly: - update_version_files.py --version=1.18.1.6 - - # Update just the viewer version number explicitly: - update_version_files.py --viewer --version=1.18.1.6 - - # Update just the server build number to the current hg revision: - update_version_files.py --server - - # Update the viewer channel - update_version_files.py --channel="First Look Puppeteering" - - # Update the server channel - update_version_files.py --server_channel="Het Grid" - -""" -def _getstatusoutput(cmd): - """Return Win32 (status, output) of executing cmd -in a shell.""" - if os.path.sep != "/": - # stupid #%#$$ windows - cmd = 'cmd.exe /c "'+cmd+'"' - pipe = os.popen(cmd, 'r') - text = pipe.read() - sts = pipe.close() - if sts is None: sts = 0 - if text[-1:] == '\n': text = text[:-1] - return sts, text - -re_map = {} - -#re_map['filename'] = (('pattern', 'replacement'), -# ('pattern', 'replacement') -re_map['indra/llcommon/llversionviewer.h'] = \ - (('const S32 LL_VERSION_MAJOR = (\d+);', - 'const S32 LL_VERSION_MAJOR = %(VER_MAJOR)s;'), - ('const S32 LL_VERSION_MINOR = (\d+);', - 'const S32 LL_VERSION_MINOR = %(VER_MINOR)s;'), - ('const S32 LL_VERSION_PATCH = (\d+);', - 'const S32 LL_VERSION_PATCH = %(VER_PATCH)s;'), - ('const S32 LL_VERSION_BUILD = (\d+);', - 'const S32 LL_VERSION_BUILD = %(VER_BUILD)s;'), - ('const char \* const LL_CHANNEL = "(.+)";', - 'const char * const LL_CHANNEL = "%(VIEWER_CHANNEL)s";')) -re_map['indra/llcommon/llversionserver.h'] = \ - (('const S32 LL_VERSION_MAJOR = (\d+);', - 'const S32 LL_VERSION_MAJOR = %(SERVER_VER_MAJOR)s;'), - ('const S32 LL_VERSION_MINOR = (\d+);', - 'const S32 LL_VERSION_MINOR = %(SERVER_VER_MINOR)s;'), - ('const S32 LL_VERSION_PATCH = (\d+);', - 'const S32 LL_VERSION_PATCH = %(SERVER_VER_PATCH)s;'), - ('const S32 LL_VERSION_BUILD = (\d+);', - 'const S32 LL_VERSION_BUILD = %(SERVER_VER_BUILD)s;'), - ('const char \* const LL_CHANNEL = "(.+)";', - 'const char * const LL_CHANNEL = "%(SERVER_CHANNEL)s";')) -re_map['indra/newview/res/viewerRes.rc'] = \ - (('FILEVERSION [0-9,]+', - 'FILEVERSION %(VER_MAJOR)s,%(VER_MINOR)s,%(VER_PATCH)s,%(VER_BUILD)s'), - ('PRODUCTVERSION [0-9,]+', - 'PRODUCTVERSION %(VER_MAJOR)s,%(VER_MINOR)s,%(VER_PATCH)s,%(VER_BUILD)s'), - ('VALUE "FileVersion", "[0-9.]+"', - 'VALUE "FileVersion", "%(VER_MAJOR)s.%(VER_MINOR)s.%(VER_PATCH)s.%(VER_BUILD)s"'), - ('VALUE "ProductVersion", "[0-9.]+"', - 'VALUE "ProductVersion", "%(VER_MAJOR)s.%(VER_MINOR)s.%(VER_PATCH)s.%(VER_BUILD)s"')) - -# Trailing ',' in top level tuple is special form to avoid parsing issues with one element tuple -re_map['indra/newview/Info-SecondLife.plist'] = \ - (('CFBundleVersion\n\t[0-9.]+', - 'CFBundleVersion\n\t%(VER_MAJOR)s.%(VER_MINOR)s.%(VER_PATCH)s.%(VER_BUILD)s'),) - -# This will probably only work as long as InfoPlist.strings is NOT UTF16, which is should be... -re_map['indra/newview/English.lproj/InfoPlist.strings'] = \ - (('CFBundleShortVersionString = "Second Life version [0-9.]+";', - 'CFBundleShortVersionString = "Second Life version %(VER_MAJOR)s.%(VER_MINOR)s.%(VER_PATCH)s.%(VER_BUILD)s";'), - ('CFBundleGetInfoString = "Second Life version [0-9.]+', - 'CFBundleGetInfoString = "Second Life version %(VER_MAJOR)s.%(VER_MINOR)s.%(VER_PATCH)s.%(VER_BUILD)s')) - - -version_re = re.compile('(\d+).(\d+).(\d+).(\d+)') - -def main(): - script_path = os.path.dirname(__file__) - src_root = script_path + "/../" - verbose = False - - opts, args = getopt.getopt(sys.argv[1:], - "", - ['version=', - 'revision=', - 'channel=', - 'server_channel=', - 'skip-on-branch=', - 'verbose', - 'server', - 'viewer', - 'help']) - update_server = False - update_viewer = False - new_version = None - new_revision = None - new_viewer_channel = None - new_server_channel = None - skip_on_branch_re = None - for o,a in opts: - if o in ('--version'): - new_version = a - if o in ('--revision'): - new_revision = a - if o in ('--skip-on-branch'): - skip_on_branch_re = re.compile(a) - if o in ('--channel'): - new_viewer_channel = a - if o in ('--server_channel'): - new_server_channel = a - if o in ('--verbose'): - verbose = True - if o in ('--server'): - update_server = True - if o in ('--viewer'): - update_viewer = True - if o in ('--help'): - usage() - return 0 - - if not(update_server or update_viewer): - update_server = True - update_viewer = True - - # Get current channel/version from llversion*.h - try: - viewer_channel = llversion.get_viewer_channel() - viewer_version = llversion.get_viewer_version() - except IOError: - print "Viewer version file not present, skipping..." - viewer_channel = None - viewer_version = None - update_viewer = False - - try: - server_channel = llversion.get_server_channel() - server_version = llversion.get_server_version() - except IOError: - print "Server version file not present, skipping..." - server_channel = None - server_version = None - update_server = False - - if verbose: - print "Source Path:", src_root - if viewer_channel != None: - print "Current viewer channel/version: '%(viewer_channel)s' / '%(viewer_version)s'" % locals() - if server_channel != None: - print "Current server channel/version: '%(server_channel)s' / '%(server_version)s'" % locals() - print - - # Determine new channel(s) - if new_viewer_channel != None and len(new_viewer_channel) > 0: - viewer_channel = new_viewer_channel - if new_server_channel != None and len(new_server_channel) > 0: - server_channel = new_server_channel - - # Determine new version(s) - if new_version: - m = version_re.match(new_version) - if not m: - print "Invalid version string specified!" - return -1 - if update_viewer: - viewer_version = new_version - if update_server: - server_version = new_version - else: - - if llversion.using_hg(): - if new_revision: - revision = new_revision - else: - revision = llversion.get_hg_changeset() - branch = llversion.get_hg_repo() - elif new_revision: - revision = new_revision - branch = "unknown" - else: - print >>sys.stderr, "ERROR: could not determine revision and branch" - return -1 - - if skip_on_branch_re and skip_on_branch_re.match(branch): - print "Release Candidate Build, leaving version files untouched." - return 0 - if update_viewer: - m = version_re.match(viewer_version) - viewer_version = m.group(1)+"."+m.group(2)+"."+m.group(3)+"."+revision - if update_server: - m = version_re.match(server_version) - server_version = m.group(1)+"."+m.group(2)+"."+m.group(3)+"."+revision - - if verbose: - if update_viewer: - print "Setting viewer channel/version: '%(viewer_channel)s' / '%(viewer_version)s'" % locals() - if update_server: - print "Setting server channel/version: '%(server_channel)s' / '%(server_version)s'" % locals() - print - - # split out version parts - if viewer_version != None: - m = version_re.match(viewer_version) - VER_MAJOR = m.group(1) - VER_MINOR = m.group(2) - VER_PATCH = m.group(3) - VER_BUILD = m.group(4) - - if server_version != None: - m = version_re.match(server_version) - SERVER_VER_MAJOR = m.group(1) - SERVER_VER_MINOR = m.group(2) - SERVER_VER_PATCH = m.group(3) - SERVER_VER_BUILD = m.group(4) - - # For readability and symmetry with version strings: - VIEWER_CHANNEL = viewer_channel - SERVER_CHANNEL = server_channel - - # Iterate through all of the files in the map, and apply the - # substitution filters - for filename in re_map.keys(): - try: - # Read the entire file into a string - full_fn = src_root + '/' + filename - file = open(full_fn,"r") - file_str = file.read() - file.close() - - if verbose: - print "Processing file:",filename - for rule in re_map[filename]: - repl = rule[1] % locals() - file_str = re.sub(rule[0], repl, file_str) - - file = open(full_fn,"w") - file.write(file_str) - file.close() - except IOError: - print "File %(filename)s not present, skipping..." % locals() - return 0 - -if __name__ == '__main__': - sys.exit(main()) - -- cgit v1.2.3 From bf6182daa8b4d7cea79310547f71d7a3155e17b0 Mon Sep 17 00:00:00 2001 From: Graham Madarasz Date: Fri, 29 Mar 2013 07:50:08 -0700 Subject: Update Mac and Windows breakpad builds to latest --- scripts/messages/message_template.msg | 0 scripts/messages/message_template.msg.sha1 | 0 scripts/setup-path.py | 0 scripts/template_verifier.py | 0 scripts/templates/template-cpp.cpp | 0 scripts/templates/template-h.h | 0 6 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/messages/message_template.msg mode change 100644 => 100755 scripts/messages/message_template.msg.sha1 mode change 100644 => 100755 scripts/setup-path.py mode change 100644 => 100755 scripts/template_verifier.py mode change 100644 => 100755 scripts/templates/template-cpp.cpp mode change 100644 => 100755 scripts/templates/template-h.h (limited to 'scripts') diff --git a/scripts/messages/message_template.msg b/scripts/messages/message_template.msg old mode 100644 new mode 100755 diff --git a/scripts/messages/message_template.msg.sha1 b/scripts/messages/message_template.msg.sha1 old mode 100644 new mode 100755 diff --git a/scripts/setup-path.py b/scripts/setup-path.py old mode 100644 new mode 100755 diff --git a/scripts/template_verifier.py b/scripts/template_verifier.py old mode 100644 new mode 100755 diff --git a/scripts/templates/template-cpp.cpp b/scripts/templates/template-cpp.cpp old mode 100644 new mode 100755 diff --git a/scripts/templates/template-h.h b/scripts/templates/template-h.h old mode 100644 new mode 100755 -- cgit v1.2.3 From c19f427ce152cc8bb806baa6877457380813a82b Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 10 Jul 2013 14:35:25 -0700 Subject: update tester for new gpu_table.txt format --- scripts/gpu_table_tester | 67 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 46 insertions(+), 21 deletions(-) (limited to 'scripts') diff --git a/scripts/gpu_table_tester b/scripts/gpu_table_tester index 9bc958636d..339823246c 100755 --- a/scripts/gpu_table_tester +++ b/scripts/gpu_table_tester @@ -46,8 +46,8 @@ my $mini_HELP = " $MyName {--gpu-table|-g} {--diff|-d} [ ...] With the --diff option, the report compares the current results to , - which should be the output from a previous run without --diff. The report shows each - input value with the old result and the new result if it is different. + which should be the output from a previous run without --diff. The report shows + each input value with the old result and the new result if they are different. "; &GetOptions("help" => \$Help @@ -81,11 +81,15 @@ my %Recognizer; # name -> recognizer my %Class; # recognizer -> class my %Supported; # recognizer -> supported my @InOrder; # lowercased recognizers in file order - these are the ones really used to match +my %StatsBased; +my %ExpectedOpenGL; $Name{$NoMatch} = $NoMatch; $NameLine{$NoMatch} = '(hard-coded)'; # use this for error messages in table parsing $Class{$NoMatch} = ''; $Supported{$NoMatch} = ''; +$StatsBased{$NoMatch} = ''; +$ExpectedOpenGL{$NoMatch} = ''; while () { @@ -93,7 +97,7 @@ while () next if m|^\s*$|; # skip blank lines chomp; - my ($name, $regex, $class, $supported, $extra) = split('\t+'); + my ($name, $regex, $class, $supported, $stats_based, $expected_opengl, $extra) = split('\t+'); my $errsOnLine = $ErrorsSeen; if (!$name) { @@ -119,7 +123,7 @@ while () print STDERR " $INPUT_LINE_NUMBER: name '$name' " . ($supported ? "supported" : "unsupported") . " class $class - ignored\n"; $ErrorsSeen++; } - if ($class !~ m/[0123]/) + if ($class !~ m/[012345]/) { print STDERR "Invalid class value '$class' on $GpuTable line $INPUT_LINE_NUMBER\n"; $ErrorsSeen++; @@ -129,6 +133,16 @@ while () print STDERR "Invalid supported value '$supported' on $GpuTable line $INPUT_LINE_NUMBER\n"; $ErrorsSeen++; } + if ($stats_based !~ m/[01]/) + { + print STDERR "Invalid stats_based value '$stats_based' on $GpuTable line $INPUT_LINE_NUMBER\n"; + $ErrorsSeen++; + } + if ($expected_opengl !~ m/\d+(\.\d+)?/) + { + print STDERR "Invalid expected_opengl value '$expected_opengl' on $GpuTable line $INPUT_LINE_NUMBER\n"; + $ErrorsSeen++; + } if ($extra) { print STDERR "Extra data '$extra' on $GpuTable line $INPUT_LINE_NUMBER\n"; @@ -144,6 +158,8 @@ while () $Recognizer{$name} = $regex; $Class{$regex} = $class; $Supported{$regex} = $supported ? "supported" : "unsupported"; + $StatsBased{$regex} = $stats_based; + $ExpectedOpenGL{$regex} = $expected_opengl; } } @@ -174,27 +190,27 @@ while (<>) } format STDOUT_TOP = -GPU String Supported? Class Recognizer ------------------------------------------------------------------------------------------------------- ----------- ----- ------------------------------------ +GPU String Supported? Class Stats OpenGL Recognizer +------------------------------------------------------------------------------------------------------ ----------- ----- ----- ------ ------------------------------------ . format STDOUT = -@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... @<<<<<<<<<< @> @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... -$_, $Supported{$RecognizedBy{$_}},$Class{$RecognizedBy{$_}},$Name{$RecognizedBy{$_}} +@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... @<<<<<<<<<< @> @> @<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... +$_, $Supported{$RecognizedBy{$_}},$Class{$RecognizedBy{$_}},$StatsBased{$RecognizedBy{$_}},$ExpectedOpenGL{$RecognizedBy{$_}},$Name{$RecognizedBy{$_}} . -my $ReportLineTemplate = "A102xxxA12xxxAA*"; # MUST match the format STDOUT above +my $ReportLineTemplate = "A102xxxA12xxxA2xxxxA2xxxxA5A*"; # MUST match the format STDOUT above format DIFF_TOP = - ------ OLD ------ ------ NEW ------ -GPU String Supported? Class Supported? Class ------------------------------------------------------------------------------------------------------- ----------- ----- ----------- ----- + ------------- OLD ------------- ----------- NEW --------------- +GPU String Supported? Class Stats OpenGL Supported? Class Stats OpenGL +------------------------------------------------------------------------------------------------------ ----------- ----- ----- ------ ----------- ----- ----- ------ . my ( $oldSupported, $oldClass, $newSupported, $newClass ); format DIFF = -@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... @<<<<<<<<<< @> @<<<<<<<<<< @> -$_, $oldSupported, $oldClass, $newSupported, $newClass +@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... @<<<<<<<<<< @> @> @<<<< @<<<<<<<<<< @> @> @<<<< +$_, $oldSupported, $oldClass, $oldStatsBased, $oldExpectedOpenGL, $newSupported, $newClass, $newStatsBased, $newExpectedOpenGL . if ( ! $Diff ) @@ -215,12 +231,14 @@ else my $discard = 2; while ( ) { - if ( $discard > 0 ) + if ( $discard <= 0 ) { - my ( $gpu, $supported, $class ) = unpack $ReportLineTemplate; + my ( $gpu, $supported, $class, $stats, $opengl ) = unpack $ReportLineTemplate; $gpu =~ s/\s*$//; ( $OldSupported{$gpu} = $supported ) =~ s/\s*$//; ( $OldClass{$gpu} = $class ) =~ s/\s*$//; + ( $OldStatsBased{$gpu} = $stats ) =~ s/\s*$//; + ( $OldExpectedOpenGL{$gpu} = $opengl ) =~ s/\s*$//; } else { @@ -235,26 +253,33 @@ else { $newSupported = $Supported{$RecognizedBy{$_}} || $NoMatch; $newClass = $Class{$RecognizedBy{$_}}; + $newStatsBased = $StatsBased{$RecognizedBy{$_}}; + $newExpectedOpenGL = $ExpectedOpenGL{$RecognizedBy{$_}}; if ( ! defined $OldSupported{$_} ) { $oldSupported = 'NEW'; $oldClass = '-'; + $oldStatsBased = '-'; + $oldExpectedOpenGL = '-'; + write; } else { $oldSupported = $OldSupported{$_} || $NoMatch; $oldClass = $OldClass{$_}; + $oldStatsBased = $OldStatsBased{$_}; + $oldExpectedOpenGL = $OldExpectedOpenGL{$_}; - if ( ( $oldSupported eq $newSupported ) - && ( $oldClass eq $newClass ) + if ( ( $oldSupported ne $newSupported ) + || ( $oldClass ne $newClass ) + || ( $oldStatsBased ne $newStatsBased ) + || ( $oldExpectedOpenGL ne $newExpectedOpenGL ) ) { - $newSupported = ''; - $newClass = ''; + write; } } - write; $-++; # suppresses pagination } } -- cgit v1.2.3 From 4ae06c7e3340e09ffe6b54dccd4faeb210330d7e Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 7 Aug 2013 18:03:16 -0400 Subject: add line number of recognizer to diff report --- scripts/gpu_table_tester | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'scripts') diff --git a/scripts/gpu_table_tester b/scripts/gpu_table_tester index 339823246c..76994da1aa 100755 --- a/scripts/gpu_table_tester +++ b/scripts/gpu_table_tester @@ -201,16 +201,16 @@ $_, $Supported{$RecognizedBy{$_}},$Class{$RecognizedBy{$_}},$StatsBased{$Recogni my $ReportLineTemplate = "A102xxxA12xxxA2xxxxA2xxxxA5A*"; # MUST match the format STDOUT above format DIFF_TOP = - ------------- OLD ------------- ----------- NEW --------------- -GPU String Supported? Class Stats OpenGL Supported? Class Stats OpenGL ------------------------------------------------------------------------------------------------------- ----------- ----- ----- ------ ----------- ----- ----- ------ + ------------- OLD ------------- ----------- NEW -------------------- +GPU String Supported? Class Stats OpenGL Supported? Class Stats OpenGL Line +------------------------------------------------------------------------------------------------------ ----------- ----- ----- ------ ----------- ----- ----- ------ ----- . my ( $oldSupported, $oldClass, $newSupported, $newClass ); format DIFF = -@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... @<<<<<<<<<< @> @> @<<<< @<<<<<<<<<< @> @> @<<<< -$_, $oldSupported, $oldClass, $oldStatsBased, $oldExpectedOpenGL, $newSupported, $newClass, $newStatsBased, $newExpectedOpenGL +@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... @<<<<<<<<<< @> @> @<<<< @<<<<<<<<<< @> @> @<<<< @>>>> +$_, $oldSupported, $oldClass, $oldStatsBased, $oldExpectedOpenGL, $newSupported, $newClass, $newStatsBased, $newExpectedOpenGL, $newRecognizedLine . if ( ! $Diff ) @@ -255,6 +255,7 @@ else $newClass = $Class{$RecognizedBy{$_}}; $newStatsBased = $StatsBased{$RecognizedBy{$_}}; $newExpectedOpenGL = $ExpectedOpenGL{$RecognizedBy{$_}}; + $newRecognizedLine = $RecognizerLine{$RecognizedBy{$_}}; if ( ! defined $OldSupported{$_} ) { -- cgit v1.2.3 From e51e79c4d4147f89304a03ef5ee9ec4dfe886d52 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Wed, 7 Aug 2013 18:04:03 -0400 Subject: truncate gpu id strings to 100 characters (avoids diff problems) --- scripts/gpu_table_tester | 1 + 1 file changed, 1 insertion(+) (limited to 'scripts') diff --git a/scripts/gpu_table_tester b/scripts/gpu_table_tester index 76994da1aa..6989e6f968 100755 --- a/scripts/gpu_table_tester +++ b/scripts/gpu_table_tester @@ -175,6 +175,7 @@ my %RecognizedBy; while (<>) { chomp; + $_ = substr($_,0,100); my $lcInput = lc $_; # the real gpu table parser lowercases the input string my $recognizer; $RecognizedBy{$_} = $NoMatch; -- cgit v1.2.3 From d5c9b7b8e5ea81ae6f3d7ca7f67d527c2f7e5ef4 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 29 Aug 2013 09:56:44 -0400 Subject: fix header display for diff report --- scripts/gpu_table_tester | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'scripts') diff --git a/scripts/gpu_table_tester b/scripts/gpu_table_tester index 6989e6f968..4ce08e3005 100755 --- a/scripts/gpu_table_tester +++ b/scripts/gpu_table_tester @@ -195,30 +195,27 @@ GPU String ------------------------------------------------------------------------------------------------------ ----------- ----- ----- ------ ------------------------------------ . format STDOUT = -@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... @<<<<<<<<<< @> @> @<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... +@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<< @> @> @<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... $_, $Supported{$RecognizedBy{$_}},$Class{$RecognizedBy{$_}},$StatsBased{$RecognizedBy{$_}},$ExpectedOpenGL{$RecognizedBy{$_}},$Name{$RecognizedBy{$_}} . -my $ReportLineTemplate = "A102xxxA12xxxA2xxxxA2xxxxA5A*"; # MUST match the format STDOUT above +my $ReportLineTemplate = "A102xxxA12xxxA2xxxxA2xxxxA5A*"; # Used to read a previous report - MUST match the format STDOUT above + +my ( $oldSupported, $oldClass, $newSupported, $newClass ); format DIFF_TOP = ------------- OLD ------------- ----------- NEW -------------------- GPU String Supported? Class Stats OpenGL Supported? Class Stats OpenGL Line ------------------------------------------------------------------------------------------------------ ----------- ----- ----- ------ ----------- ----- ----- ------ ----- -. - -my ( $oldSupported, $oldClass, $newSupported, $newClass ); - +. format DIFF = -@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<... @<<<<<<<<<< @> @> @<<<< @<<<<<<<<<< @> @> @<<<< @>>>> -$_, $oldSupported, $oldClass, $oldStatsBased, $oldExpectedOpenGL, $newSupported, $newClass, $newStatsBased, $newExpectedOpenGL, $newRecognizedLine +@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<< @> @> @<<<< @<<<<<<<<<< @> @> @<<<< @>>>> +$_, $oldSupported, $oldClass, $oldStatsBased, $oldExpectedOpenGL, $newSupported, $newClass, $newStatsBased, $newExpectedOpenGL, $newRecognizedLine . if ( ! $Diff ) { - ## Print results. - ## For each input, show supported or unsupported, the class, and the recognizer name - + ## Print results of testing each input line and how it was recognized. foreach ( sort keys %RecognizedBy ) { write if ! $UnMatchedOnly || $Name{$RecognizedBy{$_}} eq $NoMatch; @@ -227,6 +224,7 @@ if ( ! $Diff ) } else { + ## Print a comparison of how the recognition this time compared to the results from the $Diff file open OLD, "<$Diff" || die "Failed to open --diff file '$Diff'\n\t$!\n"; my $discard = 2; @@ -248,8 +246,8 @@ else } close OLD; - $FORMAT_TOP_NAME = DIFF_TOP; - $FORMAT_NAME = DIFF; + $FORMAT_TOP_NAME = 'DIFF_TOP'; + $FORMAT_NAME = 'DIFF'; foreach ( sort keys %RecognizedBy ) { $newSupported = $Supported{$RecognizedBy{$_}} || $NoMatch; @@ -265,6 +263,7 @@ else $oldStatsBased = '-'; $oldExpectedOpenGL = '-'; write; + $-++; # suppresses pagination } else { @@ -280,9 +279,10 @@ else ) { write; + $-++; # suppresses pagination } } - $-++; # suppresses pagination + } } -- cgit v1.2.3 From 980802e46859dc31f14d20e558a4e955e6976f48 Mon Sep 17 00:00:00 2001 From: Oz Linden Date: Thu, 5 Sep 2013 22:06:16 -0400 Subject: STORM-1552: detect, ignore, and delete invalid feature and gpu table files --- scripts/gpu_table_tester | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'scripts') diff --git a/scripts/gpu_table_tester b/scripts/gpu_table_tester index 9bc958636d..0fe3e9e8f7 100755 --- a/scripts/gpu_table_tester +++ b/scripts/gpu_table_tester @@ -73,6 +73,10 @@ die "Must specify a --gpu-table value" open(GPUS, "<$GpuTable") || die "Failed to open gpu table '$GpuTable':\n\t$!\n"; +my $FirstLine = ; +die "First line of gpu table does not begin with '//GPU_TABLE'" + unless $FirstLine =~ m|^//GPU_TABLE|; + # Parse the GPU table into these tables, indexed by the name my %NameLine; # name -> line number on which a given name was found (catches duplicate names) my %RecognizerLine; # name -> line number on which a given name was found (catches duplicate names) -- cgit v1.2.3