summaryrefslogtreecommitdiff
path: root/docs/reference/igt-gpu-tools
diff options
context:
space:
mode:
Diffstat (limited to 'docs/reference/igt-gpu-tools')
-rw-r--r--docs/reference/igt-gpu-tools/.gitignore27
-rw-r--r--docs/reference/igt-gpu-tools/Makefile.am218
-rw-r--r--docs/reference/igt-gpu-tools/generate_description_xml.sh46
-rwxr-xr-xdocs/reference/igt-gpu-tools/generate_programs_xml.sh22
-rw-r--r--docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml67
-rw-r--r--docs/reference/igt-gpu-tools/igt_test_programs.xml386
-rw-r--r--docs/reference/igt-gpu-tools/meson.build80
-rw-r--r--docs/reference/igt-gpu-tools/version.xml.in1
8 files changed, 847 insertions, 0 deletions
diff --git a/docs/reference/igt-gpu-tools/.gitignore b/docs/reference/igt-gpu-tools/.gitignore
new file mode 100644
index 00000000..9a788a26
--- /dev/null
+++ b/docs/reference/igt-gpu-tools/.gitignore
@@ -0,0 +1,27 @@
+/gtkdoc-check.log
+/gtkdoc-check.trs
+/html-build.stamp
+/html.stamp
+/html/
+/igt_test_programs_*.xml
+/igt-gpu-tools-decl-list.txt
+/igt-gpu-tools-decl.txt
+/igt-gpu-tools-overrides.txt
+/igt-gpu-tools-sections.txt
+/igt-gpu-tools-undeclared.txt
+/igt-gpu-tools-undocumented.txt
+/igt-gpu-tools-unused.txt
+/igt-gpu-tools.args
+/igt-gpu-tools.hierarchy
+/igt-gpu-tools.igt
+/igt-gpu-tools.prerequisites
+/igt-gpu-tools.signals
+/igt-gpu-tools.types
+/scan-build.stamp
+/setup-build.stamp
+/sgml-build.stamp
+/sgml.stamp
+/test-suite.log
+/version.xml
+/xml/
+
diff --git a/docs/reference/igt-gpu-tools/Makefile.am b/docs/reference/igt-gpu-tools/Makefile.am
new file mode 100644
index 00000000..11ada326
--- /dev/null
+++ b/docs/reference/igt-gpu-tools/Makefile.am
@@ -0,0 +1,218 @@
+## Process this file with automake to produce Makefile.in
+
+TESTLISTS = $(top_builddir)/tests/test-list.txt
+KEYWORDS = (invalid|hang|swap|thrash|crc|tiled|tiling|rte|ctx|render|blt|bsd|vebox|exec|rpm)
+
+xml/igt_test_programs_%_programs.xml: $(TESTLISTS)
+ mkdir -p `dirname $@`
+ echo "<?xml version=\"1.0\"?>" > $@
+ echo "<!DOCTYPE refsect1 PUBLIC \"-//OASIS//DTD DocBook XML V4.3//EN\"" >> $@
+ echo " \"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd\"" >> $@
+ echo "[" >> $@
+ echo " <!ENTITY % local.common.attrib \"xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'\">" >> $@
+ echo " <!ENTITY version SYSTEM \"version.xml\">" >> $@
+ echo "]>" >> $@
+ echo "<refsect1>" >> $@
+ echo "<title>Programs</title>" >> $@
+ echo "<informaltable pgwide=\"1\" frame=\"none\"><tgroup cols=\"2\"><tbody>" >> $@
+ for test in `cat $(TESTLISTS) | tr ' ' '\n' | grep "^$*" | sort`; do \
+ echo "<row><entry role=\"program_name\">" >> $@; \
+ echo "<link linkend=\"$$test\">$$test</link></entry></row>" >> $@; \
+ done;
+ echo "</tbody></tgroup></informaltable>" >> $@
+ echo "</refsect1>" >> $@
+
+xml/igt_test_programs_%_description.xml: $(TESTLISTS)
+ mkdir -p `dirname $@`
+ echo "<?xml version=\"1.0\"?>" > $@
+ echo "<!DOCTYPE refsect1 PUBLIC \"-//OASIS//DTD DocBook XML V4.3//EN\"" >> $@
+ echo " \"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd\"" >> $@
+ echo "[" >> $@
+ echo " <!ENTITY % local.common.attrib \"xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'\">" >> $@
+ echo " <!ENTITY version SYSTEM \"version.xml\">" >> $@
+ echo "]>" >> $@
+ echo "<refsect1>" >> $@
+ echo "<title>Description</title>" >> $@
+ for test in `cat $(TESTLISTS) | tr ' ' '\n' | grep "^$*" | sort`; do \
+ echo "<refsect2 id=\"$$test\"><title>" >> $@; \
+ echo "$$test" | perl -pe 's/(?<=_)$(KEYWORDS)(?=(_|\W))/<acronym>\1<\/acronym>/g' >> $@; \
+ echo "</title><para><![CDATA[" >> $@; \
+ if [ -x $(top_builddir)/tests/$$test ]; then \
+ testprog=$(top_builddir)/tests/$$test; \
+ else \
+ testprog=$(top_srcdir)/tests/$$test; \
+ fi; \
+ ./$$testprog --help-description >> $@; \
+ echo "]]></para>" >> $@; \
+ if ./$$testprog --list-subtests > /dev/null ; then \
+ echo "<refsect3><title>Subtests</title>" >> $@; \
+ subtest_list=`./$$testprog --list-subtests`; \
+ subtest_count=`echo $$subtest_list | wc -w`; \
+ if [ $$subtest_count -gt 100 ]; then \
+ echo "<para>This test has over 100 subtests. " >> $@; \
+ echo "Run <command>$$test</command> <option>--list-subtests</option> to list them.</para>" >> $@; \
+ else \
+ echo "<simplelist>" >> $@; \
+ for subtest in $$subtest_list; do \
+ echo "<member>" >> $@; \
+ echo "$$subtest" | perl -pe 's/\b$(KEYWORDS)\b/<acronym>\1<\/acronym>/g' >> $@; \
+ echo "</member>" >> $@; \
+ done; \
+ echo "</simplelist>" >> $@; \
+ fi; \
+ echo "</refsect3>" >> $@; \
+ fi; \
+ echo "</refsect2>" >> $@; \
+ done;
+ echo "</refsect1>" >> $@
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=igt-gpu-tools
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+
+# The top-level XML file (SGML in the past). You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
+
+# Directories containing the source code.
+# gtk-doc will search all .c and .h files beneath these paths
+# for inline comments documenting functions and macros.
+# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
+DOC_SOURCE_DIR=$(top_srcdir)/lib
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS=--rebuild-sections
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
+MKDB_OPTIONS=--output-format=xml
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS=
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB=$(top_srcdir)/lib/*.h
+CFILE_GLOB=$(top_srcdir)/lib/*.c
+
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES=
+
+# Header files or dirs to ignore when scanning. Use base file/dir names
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
+IGNORE_HFILES=gen6_render.h gen7_media.h gen7_render.h gen8_media.h \
+ gen8_render.h gpgpu_fill.h i830_reg.h i915_3d.h i915_pciids.h \
+ i915_reg.h igt_edid_template.h intel_reg.h debug.h instdone.h \
+ media_fill.h rendercopy.h media_spin.h media_fill_gen9.h \
+ gen9_render.h version.h
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES=
+
+test_program_files = xml/igt_test_programs_amdgpu_description.xml \
+ xml/igt_test_programs_amdgpu_programs.xml \
+ xml/igt_test_programs_chamelium_description.xml \
+ xml/igt_test_programs_chamelium_programs.xml \
+ xml/igt_test_programs_core_description.xml \
+ xml/igt_test_programs_core_programs.xml \
+ xml/igt_test_programs_debugfs_description.xml \
+ xml/igt_test_programs_debugfs_programs.xml \
+ xml/igt_test_programs_drm_description.xml \
+ xml/igt_test_programs_drm_programs.xml \
+ xml/igt_test_programs_drv_description.xml \
+ xml/igt_test_programs_drv_programs.xml \
+ xml/igt_test_programs_gem_description.xml \
+ xml/igt_test_programs_gem_programs.xml \
+ xml/igt_test_programs_gen3_description.xml \
+ xml/igt_test_programs_gen3_programs.xml \
+ xml/igt_test_programs_gen7_description.xml \
+ xml/igt_test_programs_gen7_programs.xml \
+ xml/igt_test_programs_gvt_description.xml \
+ xml/igt_test_programs_gvt_programs.xml \
+ xml/igt_test_programs_kms_description.xml \
+ xml/igt_test_programs_kms_programs.xml \
+ xml/igt_test_programs_meta_description.xml \
+ xml/igt_test_programs_meta_programs.xml \
+ xml/igt_test_programs_perf_description.xml \
+ xml/igt_test_programs_perf_programs.xml \
+ xml/igt_test_programs_pm_description.xml \
+ xml/igt_test_programs_pm_programs.xml \
+ xml/igt_test_programs_prime_description.xml \
+ xml/igt_test_programs_prime_programs.xml \
+ xml/igt_test_programs_sw_sync_description.xml \
+ xml/igt_test_programs_sw_sync_programs.xml \
+ xml/igt_test_programs_testdisplay_description.xml \
+ xml/igt_test_programs_testdisplay_programs.xml \
+ xml/igt_test_programs_tools_description.xml \
+ xml/igt_test_programs_tools_programs.xml \
+ xml/igt_test_programs_vgem_description.xml \
+ xml/igt_test_programs_vgem_programs.xml \
+ $(NULL)
+
+# 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=igt_test_programs.xml $(test_program_files) \
+ $(NULL)
+
+# 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=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
+# signals and properties.
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+GTKDOC_CFLAGS=
+GTKDOC_LIBS=
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(top_srcdir)/gtk-doc.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+# EXTRA_DIST +=
+
+# 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 $(test_program_files)
+
+CLEANFILES += $(test_program_files)
+
+# Comment this out if you want 'make check' to test you doc status
+# and run some sanity checks
+if ENABLE_GTK_DOC
+TESTS_ENVIRONMENT = cd $(srcdir) && \
+ DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+ SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
+#TESTS = $(GTKDOC_CHECK)
+endif
+
+-include $(top_srcdir)/git.mk
diff --git a/docs/reference/igt-gpu-tools/generate_description_xml.sh b/docs/reference/igt-gpu-tools/generate_description_xml.sh
new file mode 100644
index 00000000..705a7bf3
--- /dev/null
+++ b/docs/reference/igt-gpu-tools/generate_description_xml.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+output=$1
+filter=$2
+testlist=$3
+testdir=$(dirname $testlist)
+
+KEYWORDS="(invalid|hang|swap|thrash|crc|tiled|tiling|rte|ctx|render|blt|bsd|vebox|exec|rpm)"
+
+echo "<?xml version=\"1.0\"?>" > $output
+echo "<!DOCTYPE refsect1 PUBLIC \"-//OASIS//DTD DocBook XML V4.3//EN\"" >> $output
+echo " \"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd\"" >> $output
+echo "[" >> $output
+echo " <!ENTITY % local.common.attrib \"xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'\">" >> $output
+echo " <!ENTITY version SYSTEM \"version.xml\">" >> $output
+echo "]>" >> $output
+echo "<refsect1>" >> $output
+echo "<title>Description</title>" >> $output
+for test in `cat $testlist | tr ' ' '\n' | grep "^$filter" | sort`; do
+ echo "<refsect2 id=\"$test\"><title>" >> $output;
+ echo "$test" | perl -pe "s/(?<=_)$KEYWORDS(?=(_|\\W))/<acronym>\\1<\\/acronym>/g" >> $output;
+ echo "</title><para><![CDATA[" >> $output;
+ testprog=$testdir/$test;
+ ./$testprog --help-description >> $output;
+ echo "]]></para>" >> $output;
+ if ./$testprog --list-subtests > /dev/null ; then
+ echo "<refsect3><title>Subtests</title>" >> $output;
+ subtest_list=`./$testprog --list-subtests`;
+ subtest_count=`echo $subtest_list | wc -w`;
+ if [ $subtest_count -gt 100 ]; then
+ echo "<para>This test has over 100 subtests. " >> $output;
+ echo "Run <command>$test</command> <option>--list-subtests</option> to list them.</para>" >> $output;
+ else
+ echo "<simplelist>" >> $output;
+ for subtest in $subtest_list; do
+ echo "<member>" >> $output;
+ echo "$subtest" | perl -pe "s/\\b$KEYWORDS\\b/<acronym>\\1<\\/acronym>/g" >> $output;
+ echo "</member>" >> $output;
+ done;
+ echo "</simplelist>" >> $output;
+ fi;
+ echo "</refsect3>" >> $output;
+ fi;
+ echo "</refsect2>" >> $output;
+done;
+echo "</refsect1>" >> $output
diff --git a/docs/reference/igt-gpu-tools/generate_programs_xml.sh b/docs/reference/igt-gpu-tools/generate_programs_xml.sh
new file mode 100755
index 00000000..73adc8cc
--- /dev/null
+++ b/docs/reference/igt-gpu-tools/generate_programs_xml.sh
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+output=$1
+filter=$2
+testlist=$3
+
+echo "<?xml version=\"1.0\"?>" > $output
+echo "<!DOCTYPE refsect1 PUBLIC \"-//OASIS//DTD DocBook XML V4.3//EN\"" >> $output
+echo " \"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd\"" >> $output
+echo "[" >> $output
+echo " <!ENTITY % local.common.attrib \"xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'\">" >> $output
+echo " <!ENTITY version SYSTEM \"version.xml\">" >> $output
+echo "]>" >> $output
+echo "<refsect1>" >> $output
+echo "<title>Programs</title>" >> $output
+echo "<informaltable pgwide=\"1\" frame=\"none\"><tgroup cols=\"2\"><tbody>" >> $output
+for test in `cat $testlist | tr ' ' '\n' | grep "^$filter" | sort`; do
+ echo "<row><entry role=\"program_name\">" >> $output;
+ echo "<link linkend=\"$test\">$test</link></entry></row>" >> $output;
+done;
+echo "</tbody></tgroup></informaltable>" >> $output
+echo "</refsect1>" >> $output
diff --git a/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
new file mode 100644
index 00000000..ac83272f
--- /dev/null
+++ b/docs/reference/igt-gpu-tools/igt-gpu-tools-docs.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+ <!ENTITY version SYSTEM "version.xml">
+]>
+<book id="index">
+ <bookinfo>
+ <title>igt-gpu-tools Reference Manual</title>
+ <releaseinfo>
+ for igt-gpu-tools &version;.
+ </releaseinfo>
+ </bookinfo>
+
+ <chapter>
+ <title>API Reference</title>
+ <xi:include href="xml/drmtest.xml"/>
+ <xi:include href="xml/igt_alsa.xml"/>
+ <xi:include href="xml/igt_audio.xml"/>
+ <xi:include href="xml/igt_aux.xml"/>
+ <xi:include href="xml/igt_chamelium.xml"/>
+ <xi:include href="xml/igt_core.xml"/>
+ <xi:include href="xml/igt_debugfs.xml"/>
+ <xi:include href="xml/igt_device.xml"/>
+ <xi:include href="xml/igt_draw.xml"/>
+ <xi:include href="xml/igt_dummyload.xml"/>
+ <xi:include href="xml/igt_fb.xml"/>
+ <xi:include href="xml/igt_frame.xml"/>
+ <xi:include href="xml/igt_gt.xml"/>
+ <xi:include href="xml/igt_gvt.xml"/>
+ <xi:include href="xml/igt_kmod.xml"/>
+ <xi:include href="xml/igt_kms.xml"/>
+ <xi:include href="xml/igt_pm.xml"/>
+ <xi:include href="xml/igt_primes.xml"/>
+ <xi:include href="xml/igt_rand.xml"/>
+ <xi:include href="xml/igt_stats.xml"/>
+ <xi:include href="xml/igt_syncobj.xml"/>
+ <xi:include href="xml/igt_sysfs.xml"/>
+ <xi:include href="xml/igt_vc4.xml"/>
+ <xi:include href="xml/igt_vgem.xml"/>
+ <xi:include href="xml/igt_x86.xml"/>
+ <xi:include href="xml/intel_batchbuffer.xml"/>
+ <xi:include href="xml/intel_chipset.xml"/>
+ <xi:include href="xml/intel_io.xml"/>
+ <xi:include href="xml/ioctl_wrappers.xml"/>
+ <xi:include href="xml/sw_sync.xml"/>
+
+ </chapter>
+ <chapter>
+ <title>igt/i915 API Reference</title>
+ <xi:include href="xml/gem_context.xml"/>
+ <xi:include href="xml/gem_scheduler.xml"/>
+ <xi:include href="xml/gem_submission.xml"/>
+ </chapter>
+ <xi:include href="xml/igt_test_programs.xml"/>
+
+ <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+ <index id="full-api-index">
+ <title>API Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index id="deprecated-api-index" role="deprecated">
+ <title>Index of deprecated API</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+</book>
diff --git a/docs/reference/igt-gpu-tools/igt_test_programs.xml b/docs/reference/igt-gpu-tools/igt_test_programs.xml
new file mode 100644
index 00000000..ec05d53e
--- /dev/null
+++ b/docs/reference/igt-gpu-tools/igt_test_programs.xml
@@ -0,0 +1,386 @@
+<?xml version="1.0"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+ "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
+ <!ENTITY version SYSTEM "version.xml">
+]>
+
+<chapter id="test-programs">
+ <title>Test Programs</title>
+
+ <refentry id="igt-test-programs-common-features">
+ <refnamediv>
+ <refname>Common Features</refname>
+ <refpurpose>Features available in all test programs</refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Command Line Options</title>
+ <para>
+ All tests support the following command line options:
+
+ <variablelist>
+ <varlistentry>
+ <term><option>--list-subtests</option></term>
+ <listitem><para>
+ list the available subtests and exit
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--run-subtest <replaceable>subtest</replaceable></option></term>
+ <listitem><para>
+ run the specified subtest
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--debug[=log-domain]</option></term>
+ <listitem><para>
+ print extra debugging information when running tests and
+ optionally only show the messages from the specified log domain
+ (use "application" to specify the default application domain)
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--help-description</option></term>
+ <listitem><para>
+ print a short description of the test and exit
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><option>--help</option></term>
+ <listitem><para>
+ print help and exit
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </refsect1>
+
+ <refsect1>
+ <title>Exit Status</title>
+ <para>
+ The following exit status codes are defined:
+
+ <informaltable pgwide="1" frame="none">
+ <tgroup cols="3" align="left">
+ <thead>
+ <row><entry>Name</entry><entry>Value</entry><entry>Description</entry></row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>#IGT_EXIT_SUCCESS</entry>
+ <entry>0</entry>
+ <entry>The test was successful</entry>
+ </row>
+ <row>
+ <entry>#IGT_EXIT_SKIP</entry>
+ <entry>77</entry>
+ <entry>The test was skipped</entry>
+ </row>
+ <row>
+ <entry>#IGT_EXIT_TIMEOUT</entry>
+ <entry>78</entry>
+ <entry>The test took longer than expected and was stopped</entry>
+ </row>
+ <row>
+ <entry>#IGT_EXIT_INVALID</entry>
+ <entry>79</entry>
+ <entry>An invalid option or subtest was specified</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ Any other exit status indicates a test failure.
+ </para>
+ </refsect1>
+ </refentry>
+
+ <refentry id="igt-amdgpu-tests">
+ <refnamediv>
+ <refname>AMDGPU Tests</refname>
+ <refpurpose>Tests for amdgpu driver behaviour</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_amdgpu_programs.xml"/>
+ <xi:include href="igt_test_programs_amdgpu_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-chamelium-tests">
+ <refnamediv>
+ <refname>Chamelium Tests</refname>
+ <refpurpose>Tests using the Chamelium platform</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_chamelium_programs.xml"/>
+ <xi:include href="igt_test_programs_chamelium_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-core-tests">
+ <refnamediv>
+ <refname>Core Tests</refname>
+ <refpurpose>Tests for core drm ioctls and behaviour</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_core_programs.xml"/>
+ <xi:include href="igt_test_programs_core_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-debugfs-tests">
+ <refnamediv>
+ <refname>Debugfs Tests</refname>
+ <refpurpose>Tests for debugfs behaviour</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_debugfs_programs.xml"/>
+ <xi:include href="igt_test_programs_debugfs_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-drm-tests">
+ <refnamediv>
+ <refname>DRM Tests</refname>
+ <refpurpose>Tests for libdrm behaviour</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_drm_programs.xml"/>
+ <xi:include href="igt_test_programs_drm_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-drv-tests">
+ <refnamediv>
+ <refname>DRV Tests</refname>
+ <refpurpose>Tests for overall driver behaviour</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_drv_programs.xml"/>
+ <xi:include href="igt_test_programs_drv_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-gem-tests">
+ <refnamediv>
+ <refname>GEM Tests</refname>
+ <refpurpose>Tests for the graphics execution manager</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_gem_programs.xml"/>
+ <xi:include href="igt_test_programs_gem_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-gen3-tests">
+ <refnamediv>
+ <refname>Gen 3 Tests</refname>
+ <refpurpose>Tests specific to gen 3</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_gen3_programs.xml"/>
+ <xi:include href="igt_test_programs_gen3_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-gen7-tests">
+ <refnamediv>
+ <refname>Gen 7 Tests</refname>
+ <refpurpose>Tests specific to gen 7</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_gen7_programs.xml"/>
+ <xi:include href="igt_test_programs_gen7_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-gvt-tests">
+ <refnamediv>
+ <refname>GVT Tests</refname>
+ <refpurpose>Tests for graphics virtualization technology</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_gvt_programs.xml"/>
+ <xi:include href="igt_test_programs_gvt_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-kms-tests">
+ <refnamediv>
+ <refname>KMS Tests</refname>
+ <refpurpose>Tests for kernel mode setting</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_kms_programs.xml"/>
+ <xi:include href="igt_test_programs_kms_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-meta-tests">
+ <refnamediv>
+ <refname>Meta Tests</refname>
+ <refpurpose>Tests for the CI system itself</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_meta_programs.xml"/>
+ <xi:include href="igt_test_programs_meta_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-perf-tests">
+ <refnamediv>
+ <refname>Perf Tests</refname>
+ <refpurpose>Tests for the performance metrics</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_perf_programs.xml"/>
+ <xi:include href="igt_test_programs_perf_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-pm-tests">
+ <refnamediv>
+ <refname>PM Tests</refname>
+ <refpurpose>Tests for power management features</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_pm_programs.xml"/>
+ <xi:include href="igt_test_programs_pm_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-prime-tests">
+ <refnamediv>
+ <refname>Prime Tests</refname>
+ <refpurpose>Tests for buffer sharding</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_prime_programs.xml"/>
+ <xi:include href="igt_test_programs_prime_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-sw-sync-tests">
+ <refnamediv>
+ <refname>SW Sync Tests</refname>
+ <refpurpose>Tests for software sync (fencing)</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_sw_sync_programs.xml"/>
+ <xi:include href="igt_test_programs_sw_sync_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-testdisplay-tests">
+ <refnamediv>
+ <refname>Display Tests</refname>
+ <refpurpose>Tests for display validation</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_testdisplay_programs.xml"/>
+ <xi:include href="igt_test_programs_testdisplay_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-tools-tests">
+ <refnamediv>
+ <refname>Tools Tests</refname>
+ <refpurpose>Tests for IGT tools behaviour</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_tools_programs.xml"/>
+ <xi:include href="igt_test_programs_tools_description.xml"/>
+ </refentry>
+
+ <refentry id="igt-vgem-tests">
+ <refnamediv>
+ <refname>vGEM Tests</refname>
+ <refpurpose>Tests for the vitual graphics execution manager</refpurpose>
+ </refnamediv>
+ <xi:include href="igt_test_programs_vgem_programs.xml"/>
+ <xi:include href="igt_test_programs_vgem_description.xml"/>
+ </refentry>
+
+ <glossary>
+ <title>Glossary</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="invalid">
+ <glossterm>invalid</glossterm>
+ <glossdef>
+ <para>Negative tests to validate kernel interface input validation.</para>
+ </glossdef>
+ </glossentry>
+
+ <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 environment 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>
diff --git a/docs/reference/igt-gpu-tools/meson.build b/docs/reference/igt-gpu-tools/meson.build
new file mode 100644
index 00000000..aadb9af5
--- /dev/null
+++ b/docs/reference/igt-gpu-tools/meson.build
@@ -0,0 +1,80 @@
+gnome = import('gnome')
+
+ignore_headers = [
+ 'gen6_render.h',
+ 'gen7_media.h',
+ 'gen7_render.h',
+ 'gen8_media.h',
+ 'gen8_render.h',
+ 'gpgpu_fill.h',
+ 'i830_reg.h',
+ 'i915_3d.h',
+ 'i915_pciids.h',
+ 'i915_reg.h',
+ 'igt_edid_template.h',
+ 'intel_reg.h',
+ 'debug.h',
+ 'instdone.h',
+ 'media_fill.h',
+ 'rendercopy.h',
+ 'media_spin.h',
+ 'media_fill_gen9.h',
+ 'gen9_render.h',
+ 'version.h',
+]
+
+test_groups = [
+ 'amdgpu',
+ 'chamelium',
+ 'core',
+ 'debugfs',
+ 'drm',
+ 'drv',
+ 'gem',
+ 'gen3',
+ 'gen7',
+ 'gvt',
+ 'kms',
+ 'meta',
+ 'perf',
+ 'pm',
+ 'prime',
+ 'sw_sync',
+ 'testdisplay',
+ 'tools',
+ 'vgem',
+]
+
+gen_description = find_program('generate_description_xml.sh')
+gen_programs = find_program('generate_programs_xml.sh')
+
+test_list_files = []
+
+foreach group : test_groups
+ programs_xml = 'igt_test_programs_' + group + '_programs.xml'
+ custom_target(programs_xml,
+ output : programs_xml,
+ build_by_default : true,
+ command : [ gen_programs, '@OUTPUT@', group, test_list ])
+
+ description_xml = 'igt_test_programs_' + group + '_description.xml'
+ custom_target(description_xml,
+ output : description_xml,
+ build_by_default : true,
+ depends : test_executables,
+ command : [ gen_description, '@OUTPUT@', group, test_list ])
+endforeach
+
+configure_file(input: 'version.xml.in',
+ output: 'version.xml',
+ install: false, configuration: config)
+
+gnome.gtkdoc('igt-gpu-tools',
+ content_files : ['igt_test_programs.xml'],
+ dependencies : lib_igt,
+ install : true,
+ main_xml : 'igt-gpu-tools-docs.xml',
+ scan_args : '--rebuild-sections',
+ mkdb_args : '--output-format=xml',
+ ignore_headers : ignore_headers,
+ src_dir : inc_for_gtkdoc)
diff --git a/docs/reference/igt-gpu-tools/version.xml.in b/docs/reference/igt-gpu-tools/version.xml.in
new file mode 100644
index 00000000..a24f9877
--- /dev/null
+++ b/docs/reference/igt-gpu-tools/version.xml.in
@@ -0,0 +1 @@
+@PACKAGE_VERSION@