summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/messages/message_template.msg55
-rwxr-xr-xscripts/messages/message_template.msg.sha12
-rwxr-xr-xscripts/packages-formatter.py2
-rwxr-xr-xscripts/perf/frame_profile43
-rw-r--r--scripts/perf/profile_cmp.py5
5 files changed, 94 insertions, 13 deletions
diff --git a/scripts/messages/message_template.msg b/scripts/messages/message_template.msg
index 1450c111c2..f167df8636 100755
--- a/scripts/messages/message_template.msg
+++ b/scripts/messages/message_template.msg
@@ -8,7 +8,7 @@ version 2.0
// for each type is listed below:
// Low: 430
// Medium: 18
-// High: 30
+// High: 32
// PLEASE UPDATE THIS WHEN YOU ADD A NEW MESSAGE!
@@ -4370,14 +4370,18 @@ version 2.0
// ScriptTeleportRequest
// reliable
{
- ScriptTeleportRequest Low 195 Trusted Unencoded
- {
- Data Single
- { ObjectName Variable 1 }
- { SimName Variable 1 }
- { SimPosition LLVector3 }
- { LookAt LLVector3 }
- }
+ ScriptTeleportRequest Low 195 Trusted Unencoded
+ {
+ Data Single
+ { ObjectName Variable 1 }
+ { SimName Variable 1 }
+ { SimPosition LLVector3 }
+ { LookAt LLVector3 }
+ }
+ {
+ Options Variable
+ { Flags U32 }
+ }
}
@@ -9133,3 +9137,36 @@ version 2.0
}
}
+// viewer->sim
+// GameControlInput - input from game controller
+// This message is split into two Variable chunks:
+//
+// AxisData = list of {Index:Value} pairs. Value is an S16 that maps to range [-1, 1].
+// ButtonData = list of indices of pressed buttons
+//
+// Any Axis ommitted from the message is assumed by the receiving Simulator to be unchanged
+// from its last message.
+//
+// Any Button ommitted from the message is assumed by the receiving Simulator to be unpressed.
+//
+// Since GameControlInput messages are sent unreliably: whenenver the changes stop the last
+// message will be resent a few times in the hopes the server finally receives it.
+//
+{
+ GameControlInput High 32 NotTrusted Zerocoded
+ {
+ AgentData Single
+ { AgentID LLUUID }
+ { SessionID LLUUID }
+ }
+ {
+ AxisData Variable
+ { Index U8 }
+ { Value S16 }
+ }
+ {
+ ButtonData Variable
+ { Data Variable 1 }
+ }
+}
+
diff --git a/scripts/messages/message_template.msg.sha1 b/scripts/messages/message_template.msg.sha1
index efa5f3cf48..eb436d0627 100755
--- a/scripts/messages/message_template.msg.sha1
+++ b/scripts/messages/message_template.msg.sha1
@@ -1 +1 @@
-d7915d67467e59287857630bd89bf9529d065199 \ No newline at end of file
+b98fc0af5fa88601f5afa4f3c83f08188316e9a8 \ No newline at end of file
diff --git a/scripts/packages-formatter.py b/scripts/packages-formatter.py
index 4449111e46..5d31702e76 100755
--- a/scripts/packages-formatter.py
+++ b/scripts/packages-formatter.py
@@ -42,7 +42,7 @@ _autobuild_env=os.environ.copy()
# Coerce stdout encoding to utf-8 as cygwin's will be detected as cp1252 otherwise.
_autobuild_env["PYTHONIOENCODING"] = "utf-8"
-pkg_line=re.compile('^([\w-]+):\s+(.*)$')
+pkg_line=re.compile(r'^([\w-]+):\s+(.*)$')
def autobuild(*args):
"""
diff --git a/scripts/perf/frame_profile b/scripts/perf/frame_profile
new file mode 100755
index 0000000000..84eb1166d5
--- /dev/null
+++ b/scripts/perf/frame_profile
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+
+exe="$1"
+
+if [[ -z "$exe" ]]
+then
+ # this script lives in scripts/perf
+ base="$(dirname "$0")/../.."
+ case $OSTYPE in
+ darwin*)
+ # Don't assume a build type (e.g. RelWithDebInfo). Collect all of
+ # both, and pick the most recent build.
+ exe="$(ls -t "$base"/build-darwin-x86_64/newview/*/"Second Life"*.app/Contents/MacOS/"Second Life"* | head -1)"
+ ;;
+
+ cygwin)
+ exe="$(ls -t "$base"/build-*/newview/*/secondlife-bin.exe | head -1)"
+ ;;
+
+ linux-gnu)
+ exe="$(ls -t "$base"/build-linux-*/newview/packaged/secondlife | head -1)"
+ ;;
+
+ *)
+ stderr "Unknown platform $OSTYPE"
+ exit 1
+ ;;
+ esac
+fi
+
+if [ -z "$exe" ]
+then stderr "No viewer package build found"
+ exit 1
+fi
+
+# If a Mac user specified the .app bundle itself, dig in for the executable.
+if [[ "$OSTYPE" == darwin* && -d "$exe" && "$exe" == *.app ]]
+then
+ exe="$(ls "$exe/Contents/MacOS/Second Life "*)"
+fi
+
+"$exe" --autologin --luafile 'frame_profile_quit.lua 228 232 26' \
+ http://maps.secondlife.com/secondlife/Bug%20Island/220/224/27
diff --git a/scripts/perf/profile_cmp.py b/scripts/perf/profile_cmp.py
index 9dbfa3145b..34281b8d01 100644
--- a/scripts/perf/profile_cmp.py
+++ b/scripts/perf/profile_cmp.py
@@ -60,8 +60,9 @@ def compare(baseline, test, epsilon=DEFAULT_EPSILON):
if abs(delta) > epsilon:
deltas.append((delta, shader, bthruput, tthruput))
- # descending order of performance gain
- deltas.sort(reverse=True)
+ # ascending order of performance gain: put the most egregious performance
+ # hits at the top of the list
+ deltas.sort()
print(f'{len(deltas)} shaders showed nontrivial performance differences '
'(millon samples/sec):')
namelen = max(len(s[1]) for s in deltas) if deltas else 0