diff --git a/docs/reference/intel-gpu-tools/.gitignore b/docs/reference/intel-gpu-tools/.gitignore
index 9415974c..303929bc 100644
--- a/docs/reference/intel-gpu-tools/.gitignore
+++ b/docs/reference/intel-gpu-tools/.gitignore
@@ -3,6 +3,7 @@
/html-build.stamp
/html.stamp
/html/
+/igt_test_programs.xml
/intel-gpu-tools-decl-list.txt
/intel-gpu-tools-decl.txt
/intel-gpu-tools-overrides.txt
diff --git a/docs/reference/intel-gpu-tools/Makefile.am b/docs/reference/intel-gpu-tools/Makefile.am
index 3368e3ec..e02308ae 100644
--- a/docs/reference/intel-gpu-tools/Makefile.am
+++ b/docs/reference/intel-gpu-tools/Makefile.am
@@ -1,5 +1,22 @@
## Process this file with automake to produce Makefile.in
+TESTLISTS = $(top_builddir)/tests/single-tests.txt $(top_builddir)/tests/multi-tests.txt
+igt_test_programs.xml: igt_test_programs.xml.header $(TESTLISTS)
+ cat $(srcdir)/igt_test_programs.xml.header > $@; \
+ for test in `cat $(TESTLISTS)`; do \
+ if [ "$$test" = "TESTLIST" -o "$$test" = "END" ]; then \
+ continue; \
+ fi; \
+ echo "$$test" >> $@; \
+ if [ -x $(top_builddir)/tests/$$test ]; then \
+ ./$(top_builddir)/tests/$$test --help-description >> $@; \
+ else \
+ ./$(top_srcdir)/tests/$$test --help-description >> $@; \
+ fi; \
+ echo "" >> $@; \
+ done; \
+ echo "" >> $@;
+
# We require automake 1.6 at least.
AUTOMAKE_OPTIONS = 1.6
@@ -68,12 +85,12 @@ HTML_IMAGES=
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
-content_files=
+content_files=igt_test_programs.xml
# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
# These files must be listed here *and* in content_files
# e.g. expand_content_files=running.sgml
-expand_content_files=
+expand_content_files=igt_test_programs.xml
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
@@ -88,12 +105,14 @@ include $(top_srcdir)/gtk-doc.make
# Other files to distribute
# e.g. EXTRA_DIST += version.xml.in
-EXTRA_DIST +=
+EXTRA_DIST += igt_test_programs.xml.header
# Files not to distribute
# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
-DISTCLEANFILES = $(DOC_MODULE)-sections.txt
+DISTCLEANFILES = $(DOC_MODULE)-sections.txt igt_test_programs.xml
+
+CLEANFILES += igt_test_programs.xml
# Comment this out if you want 'make check' to test you doc status
# and run some sanity checks
diff --git a/docs/reference/intel-gpu-tools/igt_test_programs.xml.header b/docs/reference/intel-gpu-tools/igt_test_programs.xml.header
new file mode 100644
index 00000000..662242ef
--- /dev/null
+++ b/docs/reference/intel-gpu-tools/igt_test_programs.xml.header
@@ -0,0 +1,65 @@
+
+
+
+]>
+
+
+Test Programs
+1
+
+ INTEL-GPU-TOOLS Library
+
+
+
+Tests Programs
+Test cases for features and bugs
+
+
+
+Description
+Test cases for bugs, features and regression testing. All tests support the
+following common options:
+
+
+
+
+
+list the available subtests and exit
+
+
+
+
+
+
+run the specified subtest
+
+
+
+
+
+
+print extra debugging information when running tests
+
+
+
+
+
+
+print a short description of the test and exit
+
+
+
+
+
+
+print help and exit
+
+
+
+
+
+
+Programs
diff --git a/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml b/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml
index 3d9caf89..07ced055 100644
--- a/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml
+++ b/docs/reference/intel-gpu-tools/intel-gpu-tools-docs.xml
@@ -25,6 +25,7 @@
+