diff --git a/docs/reference/intel-gpu-tools/Makefile.am b/docs/reference/intel-gpu-tools/Makefile.am
index d7ef4df..53a6224 100644
--- a/docs/reference/intel-gpu-tools/Makefile.am
+++ b/docs/reference/intel-gpu-tools/Makefile.am
@@ -1,6 +1,8 @@
 ## Process this file with automake to produce Makefile.in
 
 TESTLISTS = $(top_builddir)/tests/single-tests.txt $(top_builddir)/tests/multi-tests.txt
+KEYWORDS = (hang|swap|thrash|crc|tiled|tiling|normal|uncached|snoop|rte|ctx|exec|rpm)
+
 xml/igt_test_programs_%_programs.xml: $(TESTLISTS)
 	mkdir -p `dirname $@`
 	echo "<?xml version=\"1.0\"?>" > $@
@@ -32,7 +34,9 @@ xml/igt_test_programs_%_description.xml: $(TESTLISTS)
 	echo "<refsect1>" >> $@
 	echo "<title>Description</title>" >> $@
 	for test in `cat $(TESTLISTS) | tr ' ' '\n' | grep "^$*" | sort`; do \
-		echo "<refsect2 id=\"$$test\"><title>$$test</title><para>" >> $@; \
+		echo "<refsect2 id=\"$$test\"><title>" >> $@; \
+		echo "$$test" | perl -pe 's/(?<=_)$(KEYWORDS)(?=(_|\W))/<acronym>\1<\/acronym>/g' >> $@; \
+		echo "</title><para>" >> $@; \
 		if [ -x $(top_builddir)/tests/$$test ]; then \
 			testprog=$(top_builddir)/tests/$$test; \
 		else \
@@ -44,7 +48,9 @@ xml/igt_test_programs_%_description.xml: $(TESTLISTS)
 			echo "<refsect3><title>Subtests</title>" >> $@; \
 			echo "<simplelist>" >> $@; \
 			for subtest in `./$$testprog --list-subtests`; do \
-				echo "<member>$$subtest</member>" >> $@; \
+				echo "<member>" >> $@; \
+				echo "$$subtest" | perl -pe 's/\b$(KEYWORDS)\b/<acronym>\1<\/acronym>/g' >> $@; \
+				echo "</member>" >> $@; \
 			done; \
 			echo "</simplelist></refsect3>" >> $@; \
 		fi; \
diff --git a/docs/reference/intel-gpu-tools/igt_test_programs.xml b/docs/reference/intel-gpu-tools/igt_test_programs.xml
index 07285fe..970ecb9 100644
--- a/docs/reference/intel-gpu-tools/igt_test_programs.xml
+++ b/docs/reference/intel-gpu-tools/igt_test_programs.xml
@@ -187,4 +187,110 @@
     <xi:include href="igt_test_programs_debugfs_programs.xml"/>
     <xi:include href="igt_test_programs_debugfs_description.xml"/>
   </refentry>
+
+  <glossary>
+    <title>Gloassary</title>
+
+    <para>The following terms are commonly used in test names to describe
+      various features of the test and can be used to filter and select
+      particular tests.</para>
+
+    <glossentry id="hang">
+      <glossterm>hang</glossterm>
+      <glossdef>
+        <para>Tests that provoke gpu hangs.</para>
+      </glossdef>
+    </glossentry>
+
+    <glossentry id="swap">
+      <glossterm>swap</glossterm>
+      <glossdef>
+        <para>Tests that force their full working sets through swap.</para>
+      </glossdef>
+    </glossentry>
+
+    <glossentry id="thrash">
+      <glossterm>thrash</glossterm>
+      <glossdef>
+        <para>Tests that tend to have really slow forward progress due to gtt/memory/.. thrashing.</para>
+      </glossdef>
+    </glossentry>
+
+    <glossentry id="crc">
+      <glossterm>crc</glossterm>
+      <glossdef>
+        <para>Tests that use the display CRC infrastructure to check the results.</para>
+      </glossdef>
+    </glossentry>
+
+    <glossentry id="tiled">
+      <glossterm>tiled</glossterm>
+      <glossdef>
+        <para>Tests that exercise behaviour on tiled buffers.</para>
+      </glossdef>
+    </glossentry>
+
+    <glossentry id="tiling">
+      <glossterm>tiling</glossterm>
+      <glossdef>
+        <para>Tests that exercise behaviour on tiled buffers.</para>
+      </glossdef>
+    </glossentry>
+
+    <glossentry id="rte">
+      <glossterm>rte</glossterm>
+      <glossdef>
+        <para>Runtime enviroment checks.</para>
+      </glossdef>
+    </glossentry>
+
+    <glossentry id="ctx">
+      <glossterm>ctx</glossterm>
+      <glossdef>
+        <para>Tests that exercise the hardware context support.</para>
+      </glossdef>
+    </glossentry>
+
+    <glossentry id="render">
+      <glossterm>render</glossterm>
+      <glossdef>
+        <para>Tests which apply to the render ring.</para>
+      </glossdef>
+    </glossentry>
+
+    <glossentry id="blt">
+      <glossterm>blt</glossterm>
+      <glossdef>
+        <para>Tests which apply to the blt ring.</para>
+      </glossdef>
+    </glossentry>
+
+    <glossentry id="bsd">
+      <glossterm>bsd</glossterm>
+      <glossdef>
+        <para>Tests which apply to the bsd ring.</para>
+      </glossdef>
+    </glossentry>
+
+    <glossentry id="vebox">
+      <glossterm>vebox</glossterm>
+      <glossdef>
+        <para>Tests which apply to the vebox ring.</para>
+      </glossdef>
+    </glossentry>
+
+    <glossentry id="exec">
+      <glossterm>exec</glossterm>
+      <glossdef>
+        <para>Tests that exercise the execbuf code in various ways.</para>
+      </glossdef>
+    </glossentry>
+
+    <glossentry id="rpm">
+      <glossterm>rpm</glossterm>
+      <glossdef>
+        <para>Runtime power management tests.</para>
+      </glossdef>
+    </glossentry>
+  </glossary>
 </chapter>
