Skip to content

IGT GPU Tools Support

The plugin has built-in support for test source trees that use structured doc comments and test macros. While designed around IGT GPU Tools conventions, the approach works for any C test codebase that follows a similar comment structure.

What is IGT GPU Tools?

IGT GPU Tools is a collection of low-level tools and tests for developing and testing DRM (Direct Rendering Manager) drivers in the Linux kernel. It is maintained by the freedesktop.org community and used by GPU driver developers working on Intel (i915/Xe), AMD, Qualcomm, and other DRM drivers.

The test suite contains hundreds of test files under tests/, each with structured doc comments documenting the test purpose, metadata (category, feature area, functionality), and individual subtests. The codebase also uses gtk-doc conventions in its lib/ library headers — both of which mkdocs-cdoc was designed to handle.

Full IGT config example

plugins:
  - cdoc:
      project_name: igt-gpu-tools
      version_file: meson.build
      clang_args: ["-Ilib", "-Itests", "-Iinclude"]

      custom_index_pages:
        - docs/api_ref.md

      sources:
        - root: lib
          nav_title: Core API
          output_dir: api_reference/lib
          custom_index_pages:
            - docs/lib-intro.md

        - root: tests
          nav_title: Tests
          output_dir: api_reference/tests
          extensions: [".c"]
          custom_index_pages:
            - docs/tests-intro.md
          igt:
            group_by: [category, mega_feature, sub_category, functionality]

      convert_rst: true
      convert_gtkdoc: true
      appendix_code_usages: true