diff --git a/checkbox-support/checkbox_support/helpers/host_utils.py b/checkbox-support/checkbox_support/helpers/host_utils.py
index 387db7f50e..5734684bf0 100644
--- a/checkbox-support/checkbox_support/helpers/host_utils.py
+++ b/checkbox-support/checkbox_support/helpers/host_utils.py
@@ -16,7 +16,7 @@
# You should have received a copy of the GNU General Public License
# along with Checkbox. If not, see .
-"""Shared utilities for host Vulkan test helpers."""
+"""Shared utilities for host GPU test helpers."""
import os
import shutil
@@ -24,8 +24,8 @@
import sysconfig
-class VulkanDetectionError(Exception):
- """Raised when a GPU/Vulkan detection step fails."""
+class HostGPUDetectionError(Exception):
+ """Raised when a host GPU detection step fails."""
def get_arch_triple():
@@ -38,11 +38,11 @@ def get_arch_triple():
def find_plz_run():
"""Return the path to plz-run from PATH.
- Raises VulkanDetectionError if plz-run is not found.
+ Raises HostGPUDetectionError if plz-run is not found.
"""
path = shutil.which("plz-run")
if path is None:
- raise VulkanDetectionError("plz-run not found in PATH")
+ raise HostGPUDetectionError("plz-run not found in PATH")
return path
@@ -69,7 +69,7 @@ def prime_selected_vendor():
"""Return the GPU vendor chosen by prime-select.
Returns one of the keys in _PRIME_VENDOR_ICD_PREFIXES.
- Raises VulkanDetectionError if prime-select is not installed, fails,
+ Raises HostGPUDetectionError if prime-select is not installed, fails,
or returns an unrecognised value (e.g. 'on-demand').
"""
try:
@@ -83,9 +83,9 @@ def prime_selected_vendor():
.lower()
)
except (OSError, subprocess.CalledProcessError) as e:
- raise VulkanDetectionError("prime-select query failed") from e
+ raise HostGPUDetectionError("prime-select query failed") from e
if output not in _PRIME_VENDOR_ICD_PREFIXES:
- raise VulkanDetectionError(
+ raise HostGPUDetectionError(
"prime-select returned unrecognised value: {!r}".format(output)
)
return output
@@ -96,7 +96,7 @@ def _run_vulkaninfo(plz_run, arch_triple):
vulkaninfo is executed inside a new mount/user namespace (via plz-run)
so that it uses the host ICD stack instead of snap-bundled libraries.
- Raises VulkanDetectionError if vulkaninfo fails.
+ Raises HostGPUDetectionError if vulkaninfo fails.
"""
ld_library_path = "/usr/lib/{arch}:/usr/lib".format(arch=arch_triple)
try:
@@ -117,7 +117,7 @@ def _run_vulkaninfo(plz_run, arch_triple):
stderr=subprocess.STDOUT,
)
except subprocess.CalledProcessError as e:
- raise VulkanDetectionError("vulkaninfo failed") from e
+ raise HostGPUDetectionError("vulkaninfo failed") from e
def _vendor_prefixes_from_vulkaninfo(output):
@@ -127,7 +127,7 @@ def _vendor_prefixes_from_vulkaninfo(output):
Matches on the vendorID field which is unambiguous across driver versions
and device names. The field is right-padded with spaces for alignment,
so each line is stripped before matching.
- Raises VulkanDetectionError if no known vendor is found.
+ Raises HostGPUDetectionError if no known vendor is found.
"""
for line in output.splitlines():
stripped = line.strip()
@@ -136,7 +136,7 @@ def _vendor_prefixes_from_vulkaninfo(output):
for vid, prefixes in _PCI_VENDOR_ICD_PREFIXES.items():
if vid in stripped:
return prefixes
- raise VulkanDetectionError(
+ raise HostGPUDetectionError(
"no known GPU vendor found in vulkaninfo output"
)
@@ -146,14 +146,14 @@ def active_vendor_prefixes():
Tries prime-select first (authoritative on PRIME multi-GPU systems),
then falls back to vulkaninfo via plz-run.
- Raises VulkanDetectionError if no method identifies the vendor.
+ Raises HostGPUDetectionError if no method identifies the vendor.
"""
# prime-select is only present on NVIDIA hybrid systems;
# absence or unrecognised output is normal — fall through.
try:
vendor = prime_selected_vendor()
return _PRIME_VENDOR_ICD_PREFIXES[vendor]
- except VulkanDetectionError:
+ except HostGPUDetectionError:
pass
plz_run = find_plz_run()
@@ -176,7 +176,7 @@ def find_host_icd_filenames(vendor_prefixes=None):
try:
entries = sorted(os.listdir(icd_dir))
except OSError as e:
- raise VulkanDetectionError(
+ raise HostGPUDetectionError(
"cannot read Vulkan ICD directory {}".format(icd_dir)
) from e
result = []
@@ -197,7 +197,7 @@ def check_host_gpu(plz_run, arch_triple):
"""Return True if a physical GPU is available via host Vulkan drivers."""
try:
output = _run_vulkaninfo(plz_run, arch_triple)
- except VulkanDetectionError:
+ except HostGPUDetectionError:
return False
return any(
t in output
diff --git a/checkbox-support/checkbox_support/helpers/tests/test_host_utils.py b/checkbox-support/checkbox_support/helpers/tests/test_host_utils.py
index ad4530d263..5b98af1a93 100644
--- a/checkbox-support/checkbox_support/helpers/tests/test_host_utils.py
+++ b/checkbox-support/checkbox_support/helpers/tests/test_host_utils.py
@@ -31,7 +31,7 @@ def test_returns_path_when_found(self, _which):
@patch("shutil.which", return_value=None)
def test_raises_when_not_found(self, _which):
- with self.assertRaises(host_utils.VulkanDetectionError):
+ with self.assertRaises(host_utils.HostGPUDetectionError):
host_utils.find_plz_run()
@@ -184,12 +184,12 @@ def test_returns_known_vendor(self, _mock):
@patch("subprocess.check_output", return_value="on-demand\n")
def test_raises_for_on_demand(self, _mock):
- with self.assertRaises(host_utils.VulkanDetectionError):
+ with self.assertRaises(host_utils.HostGPUDetectionError):
host_utils.prime_selected_vendor()
@patch("subprocess.check_output", side_effect=FileNotFoundError)
def test_raises_when_prime_select_not_found(self, _mock):
- with self.assertRaises(host_utils.VulkanDetectionError):
+ with self.assertRaises(host_utils.HostGPUDetectionError):
host_utils.prime_selected_vendor()
@patch(
@@ -197,7 +197,7 @@ def test_raises_when_prime_select_not_found(self, _mock):
side_effect=subprocess.CalledProcessError(1, "prime-select"),
)
def test_raises_on_error(self, _mock):
- with self.assertRaises(host_utils.VulkanDetectionError):
+ with self.assertRaises(host_utils.HostGPUDetectionError):
host_utils.prime_selected_vendor()
@@ -210,12 +210,12 @@ def test_returns_prefixes_for_known_vendor(self):
def test_raises_for_unknown_vendor(self):
output = " vendorID = 0x1234\n"
- with self.assertRaises(host_utils.VulkanDetectionError):
+ with self.assertRaises(host_utils.HostGPUDetectionError):
host_utils._vendor_prefixes_from_vulkaninfo(output)
def test_raises_when_no_vendorid_line(self):
output = "deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU\n"
- with self.assertRaises(host_utils.VulkanDetectionError):
+ with self.assertRaises(host_utils.HostGPUDetectionError):
host_utils._vendor_prefixes_from_vulkaninfo(output)
@@ -229,7 +229,7 @@ def test_returns_prime_vendor(self, _prime):
@patch(
"checkbox_support.helpers.host_utils.prime_selected_vendor",
- side_effect=host_utils.VulkanDetectionError,
+ side_effect=host_utils.HostGPUDetectionError,
)
@patch(
"checkbox_support.helpers.host_utils.find_plz_run",
@@ -248,14 +248,14 @@ def test_returns_vulkaninfo_vendor(self, _vkinfo, _arch, _plz, _prime):
@patch(
"checkbox_support.helpers.host_utils.prime_selected_vendor",
- side_effect=host_utils.VulkanDetectionError,
+ side_effect=host_utils.HostGPUDetectionError,
)
@patch(
"checkbox_support.helpers.host_utils.find_plz_run",
- side_effect=host_utils.VulkanDetectionError,
+ side_effect=host_utils.HostGPUDetectionError,
)
def test_raises_when_all_methods_fail(self, _plz, _prime):
- with self.assertRaises(host_utils.VulkanDetectionError):
+ with self.assertRaises(host_utils.HostGPUDetectionError):
host_utils.active_vendor_prefixes()
@@ -291,7 +291,7 @@ def test_skips_non_json_files(self):
def test_raises_when_icd_dir_missing(self):
with patch("os.listdir", side_effect=OSError):
- with self.assertRaises(host_utils.VulkanDetectionError):
+ with self.assertRaises(host_utils.HostGPUDetectionError):
host_utils.find_host_icd_filenames()
diff --git a/providers/base/bin/cl_host.py b/providers/base/bin/cl_host.py
index 8751267dab..66e21cba1b 100755
--- a/providers/base/bin/cl_host.py
+++ b/providers/base/bin/cl_host.py
@@ -35,7 +35,7 @@
import sys
from checkbox_support.helpers.host_utils import (
- VulkanDetectionError,
+ HostGPUDetectionError,
find_plz_run,
get_arch_triple,
)
@@ -78,7 +78,7 @@ def cmd_resource():
try:
plz_run = find_plz_run()
- except VulkanDetectionError as exc:
+ except HostGPUDetectionError as exc:
print("FAIL: {}".format(exc), file=sys.stderr)
return 1
diff --git a/providers/base/bin/crucible_host.py b/providers/base/bin/crucible_host.py
index 72ab840262..05ca25e5f2 100755
--- a/providers/base/bin/crucible_host.py
+++ b/providers/base/bin/crucible_host.py
@@ -35,7 +35,7 @@
import sys
from checkbox_support.helpers.host_utils import (
- VulkanDetectionError,
+ HostGPUDetectionError,
active_vendor_prefixes,
check_host_gpu,
find_host_icd_filenames,
@@ -107,7 +107,7 @@ def main():
else:
logging.error("Unknown command: %s", command)
return 1
- except (RuntimeError, VulkanDetectionError) as exc:
+ except (RuntimeError, HostGPUDetectionError) as exc:
logging.error("%s", exc)
return 1
diff --git a/providers/base/bin/gl_host.py b/providers/base/bin/gl_host.py
index fc74f890fe..6723c14c7b 100755
--- a/providers/base/bin/gl_host.py
+++ b/providers/base/bin/gl_host.py
@@ -36,7 +36,7 @@
import sys
from checkbox_support.helpers.host_utils import (
- VulkanDetectionError,
+ HostGPUDetectionError,
find_plz_run,
get_arch_triple,
)
@@ -142,7 +142,7 @@ def main():
else:
logging.error("Unknown command: %s", command)
return 1
- except (RuntimeError, OpenGLError, VulkanDetectionError) as exc:
+ except (RuntimeError, OpenGLError, HostGPUDetectionError) as exc:
logging.error("%s", exc)
return 1
return 0
diff --git a/providers/base/bin/lz_host.py b/providers/base/bin/lz_host.py
new file mode 100755
index 0000000000..a5ce809f43
--- /dev/null
+++ b/providers/base/bin/lz_host.py
@@ -0,0 +1,131 @@
+#!/usr/bin/env python3
+# This file is part of Checkbox.
+#
+# Copyright 2025 Canonical Ltd.
+# Written by:
+# Shane McKee
+#
+# Checkbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 3,
+# as published by the Free Software Foundation.
+#
+# Checkbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Checkbox. If not, see .
+
+"""
+Host Level Zero helper for Checkbox.
+
+Subcommands:
+ resource Emit a resource record if a GPU is available via host
+ Level Zero drivers (used by depends:
+ graphics/lz_classic_gpu_avail).
+ validate-install Emit a resource record if the host Level Zero ICD loader
+ is installed (used by depends:
+ graphics/lz_classic_lz_avail).
+ run-test ARGS... Run a level-zero-tests test binary with --no-confinement,
+ forwarding all remaining arguments to the test.
+"""
+
+import glob
+import logging
+import os
+import subprocess
+import sys
+
+from checkbox_support.helpers.host_utils import (
+ HostGPUDetectionError,
+ find_plz_run,
+ get_arch_triple,
+)
+
+
+def check_host_gpu(plz_run, arch_triple):
+ """Check for a Level Zero GPU by probing render device nodes.
+
+ plz-run is used to escape snap confinement so that the host device
+ nodes and libraries are visible.
+ """
+ render_nodes = glob.glob("/dev/dri/renderD*")
+ if not render_nodes:
+ logging.error("No render device nodes found in /dev/dri")
+ return False
+ loader = "/usr/lib/{}/libze_loader.so.1".format(arch_triple)
+ if not os.path.isfile(loader):
+ logging.error("Host Level Zero loader not found at %s", loader)
+ return False
+ logging.info("Found render device(s) and Level Zero loader at %s", loader)
+ return True
+
+
+def cmd_resource():
+ arch_triple = get_arch_triple()
+
+ try:
+ plz_run = find_plz_run()
+ except HostGPUDetectionError as exc:
+ logging.error("%s", exc)
+ return 1
+
+ if check_host_gpu(plz_run, arch_triple):
+ print("gpu_available: True")
+ return 0
+
+ logging.error("No Level Zero GPU device found using host drivers")
+ return 1
+
+
+def cmd_validate_install():
+ arch_triple = get_arch_triple()
+ host_ze = "/usr/lib/{}/libze_loader.so.1".format(arch_triple)
+ if os.path.isfile(host_ze):
+ logging.info("Host Level Zero loader found at %s", host_ze)
+ print("ze_loader_available: True")
+ return 0
+ logging.error("Host Level Zero loader not found at %s", host_ze)
+ logging.error(
+ "Install libze1 or equivalent before running host Level Zero tests"
+ )
+ return 1
+
+
+def cmd_run_test(test_args):
+ snap = "/snap/level-zero-tests/current"
+ result = subprocess.run(
+ ["{}/test".format(snap), "--no-confinement"] + test_args,
+ env=dict(os.environ, SNAP=snap),
+ )
+ return result.returncode
+
+
+def main():
+ logging.basicConfig(
+ format="%(levelname)s: %(message)s", level=logging.INFO
+ )
+ if len(sys.argv) < 2:
+ logging.error(
+ "Usage: lz_host.py {resource,validate-install,run-test} [args...]"
+ )
+ return 1
+ command = sys.argv[1]
+ try:
+ if command == "resource":
+ return cmd_resource()
+ elif command == "validate-install":
+ return cmd_validate_install()
+ elif command == "run-test":
+ return cmd_run_test(sys.argv[2:])
+ else:
+ logging.error("Unknown command: %s", command)
+ return 1
+ except (RuntimeError, HostGPUDetectionError) as exc:
+ logging.error("%s", exc)
+ return 1
+
+
+if __name__ == "__main__":
+ sys.exit(main())
diff --git a/providers/base/bin/vk_host.py b/providers/base/bin/vk_host.py
index 694516080f..2a87af8d8b 100755
--- a/providers/base/bin/vk_host.py
+++ b/providers/base/bin/vk_host.py
@@ -36,7 +36,7 @@
import sys
from checkbox_support.helpers.host_utils import (
- VulkanDetectionError,
+ HostGPUDetectionError,
active_vendor_prefixes,
check_host_gpu,
find_host_icd_filenames,
@@ -107,7 +107,7 @@ def main():
else:
logging.error("Unknown command: %s", command)
return 1
- except (RuntimeError, VulkanDetectionError) as exc:
+ except (RuntimeError, HostGPUDetectionError) as exc:
logging.error("%s", exc)
return 1
diff --git a/providers/base/tests/test_cl_host.py b/providers/base/tests/test_cl_host.py
index 247abbd24e..185650aff6 100644
--- a/providers/base/tests/test_cl_host.py
+++ b/providers/base/tests/test_cl_host.py
@@ -22,7 +22,7 @@
from unittest.mock import MagicMock, patch
import cl_host
-from checkbox_support.helpers.host_utils import VulkanDetectionError
+from checkbox_support.helpers.host_utils import HostGPUDetectionError
class TestCheckHostGpu(unittest.TestCase):
@@ -115,7 +115,7 @@ def test_returns_1_when_no_gpu(self, _arch, _plz, _check):
@patch(
"cl_host.find_plz_run",
- side_effect=VulkanDetectionError("plz-run not found in PATH"),
+ side_effect=HostGPUDetectionError("plz-run not found in PATH"),
)
@patch("cl_host.get_arch_triple", return_value="x86_64-linux-gnu")
def test_returns_1_when_plz_run_not_found(self, _arch, _plz):
diff --git a/providers/base/tests/test_crucible_host.py b/providers/base/tests/test_crucible_host.py
index b94c2fca69..7c8a600d17 100644
--- a/providers/base/tests/test_crucible_host.py
+++ b/providers/base/tests/test_crucible_host.py
@@ -21,13 +21,13 @@
from unittest.mock import MagicMock, patch
import crucible_host
-from checkbox_support.helpers.host_utils import VulkanDetectionError
+from checkbox_support.helpers.host_utils import HostGPUDetectionError
class TestCmdResource(unittest.TestCase):
@patch(
"crucible_host.find_plz_run",
- side_effect=VulkanDetectionError("plz-run not found"),
+ side_effect=HostGPUDetectionError("plz-run not found"),
)
@patch("crucible_host.get_arch_triple", return_value="x86_64-linux-gnu")
def test_returns_1_when_plz_run_not_found(self, _arch, _plz):
diff --git a/providers/base/tests/test_lz_host.py b/providers/base/tests/test_lz_host.py
new file mode 100644
index 0000000000..9e8582ce1d
--- /dev/null
+++ b/providers/base/tests/test_lz_host.py
@@ -0,0 +1,205 @@
+#!/usr/bin/env python3
+# This file is part of Checkbox.
+#
+# Copyright 2025 Canonical Ltd.
+# Written by:
+# Shane McKee
+#
+# Checkbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 3,
+# as published by the Free Software Foundation.
+#
+# Checkbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Checkbox. If not, see .
+
+import unittest
+from unittest.mock import MagicMock, patch
+
+import lz_host
+from checkbox_support.helpers.host_utils import HostGPUDetectionError
+
+
+class TestCheckHostGpu(unittest.TestCase):
+ PLZ_RUN = "/snap/checkbox22/current/bin/plz-run"
+ ARCH_TRIPLE = "x86_64-linux-gnu"
+
+ @patch("os.path.isfile", return_value=True)
+ @patch("lz_host.glob.glob", return_value=[])
+ def test_returns_false_when_no_render_nodes(self, _glob, _isfile):
+ self.assertFalse(
+ lz_host.check_host_gpu(self.PLZ_RUN, self.ARCH_TRIPLE)
+ )
+
+ @patch("os.path.isfile", return_value=False)
+ @patch(
+ "lz_host.glob.glob",
+ return_value=["/dev/dri/renderD128"],
+ )
+ def test_returns_false_when_loader_missing(self, _glob, _isfile):
+ self.assertFalse(
+ lz_host.check_host_gpu(self.PLZ_RUN, self.ARCH_TRIPLE)
+ )
+
+ @patch("os.path.isfile", return_value=True)
+ @patch(
+ "lz_host.glob.glob",
+ return_value=["/dev/dri/renderD128"],
+ )
+ def test_returns_true_when_render_node_and_loader_found(
+ self, _glob, _isfile
+ ):
+ self.assertTrue(lz_host.check_host_gpu(self.PLZ_RUN, self.ARCH_TRIPLE))
+
+ @patch("os.path.isfile", return_value=True)
+ @patch(
+ "lz_host.glob.glob",
+ return_value=["/dev/dri/renderD128"],
+ )
+ def test_checks_correct_loader_path(self, _glob, mock_isfile):
+ lz_host.check_host_gpu(self.PLZ_RUN, self.ARCH_TRIPLE)
+ mock_isfile.assert_called_once_with(
+ "/usr/lib/x86_64-linux-gnu/libze_loader.so.1"
+ )
+
+
+class TestCmdResource(unittest.TestCase):
+ @patch("lz_host.check_host_gpu", return_value=True)
+ @patch(
+ "lz_host.find_plz_run",
+ return_value="/snap/checkbox22/current/bin/plz-run",
+ )
+ @patch("lz_host.get_arch_triple", return_value="x86_64-linux-gnu")
+ @patch("builtins.print")
+ def test_returns_0_and_prints_record_when_gpu_found(
+ self, mock_print, _arch, _plz, _check
+ ):
+ self.assertEqual(lz_host.cmd_resource(), 0)
+ mock_print.assert_called_once_with("gpu_available: True")
+
+ @patch("lz_host.check_host_gpu", return_value=False)
+ @patch(
+ "lz_host.find_plz_run",
+ return_value="/snap/checkbox22/current/bin/plz-run",
+ )
+ @patch("lz_host.get_arch_triple", return_value="x86_64-linux-gnu")
+ def test_returns_1_when_no_gpu(self, _arch, _plz, _check):
+ self.assertEqual(lz_host.cmd_resource(), 1)
+
+ @patch(
+ "lz_host.find_plz_run",
+ side_effect=HostGPUDetectionError("plz-run not found in PATH"),
+ )
+ @patch("lz_host.get_arch_triple", return_value="x86_64-linux-gnu")
+ def test_returns_1_when_plz_run_not_found(self, _arch, _plz):
+ self.assertEqual(lz_host.cmd_resource(), 1)
+
+
+class TestCmdValidateInstall(unittest.TestCase):
+ @patch("os.path.isfile", return_value=True)
+ @patch("lz_host.get_arch_triple", return_value="x86_64-linux-gnu")
+ @patch("builtins.print")
+ def test_returns_0_and_prints_record_when_loader_found(
+ self, mock_print, _arch, _isfile
+ ):
+ self.assertEqual(lz_host.cmd_validate_install(), 0)
+ mock_print.assert_called_once_with("ze_loader_available: True")
+
+ @patch("os.path.isfile", return_value=False)
+ @patch("lz_host.get_arch_triple", return_value="x86_64-linux-gnu")
+ def test_returns_1_when_loader_not_found(self, _arch, _isfile):
+ self.assertEqual(lz_host.cmd_validate_install(), 1)
+
+ @patch("os.path.isfile", return_value=True)
+ @patch("lz_host.get_arch_triple", return_value="x86_64-linux-gnu")
+ def test_checks_correct_path(self, _arch, mock_isfile):
+ lz_host.cmd_validate_install()
+ mock_isfile.assert_called_once_with(
+ "/usr/lib/x86_64-linux-gnu/libze_loader.so.1"
+ )
+
+
+class TestCmdRunTest(unittest.TestCase):
+ SNAP = "/snap/level-zero-tests/current"
+
+ @patch("subprocess.run")
+ def test_passes_test_args_to_snap_binary(self, mock_run):
+ mock_run.return_value = MagicMock(returncode=0)
+ lz_host.cmd_run_test(["perf/test_perf"])
+ cmd = mock_run.call_args[0][0]
+ self.assertEqual(cmd[0], "{}/test".format(self.SNAP))
+ self.assertIn("--no-confinement", cmd)
+ self.assertIn("perf/test_perf", cmd)
+
+ @patch("subprocess.run")
+ def test_passes_multiple_args(self, mock_run):
+ mock_run.return_value = MagicMock(returncode=0)
+ lz_host.cmd_run_test(["perf/test_perf", "--gtest_filter=*", "5"])
+ cmd = mock_run.call_args[0][0]
+ self.assertIn("perf/test_perf", cmd)
+ self.assertIn("--gtest_filter=*", cmd)
+ self.assertIn("5", cmd)
+
+ @patch("subprocess.run")
+ def test_sets_snap_env(self, mock_run):
+ mock_run.return_value = MagicMock(returncode=0)
+ lz_host.cmd_run_test(["perf/test_perf"])
+ env = mock_run.call_args[1]["env"]
+ self.assertEqual(env["SNAP"], self.SNAP)
+
+ @patch("subprocess.run")
+ def test_returns_subprocess_returncode(self, mock_run):
+ mock_run.return_value = MagicMock(returncode=1)
+ self.assertEqual(lz_host.cmd_run_test(["perf/test_perf"]), 1)
+
+
+class TestMain(unittest.TestCase):
+ @patch("lz_host.cmd_resource", return_value=0)
+ def test_dispatches_resource(self, mock_cmd):
+ with patch("sys.argv", ["lz_host.py", "resource"]):
+ self.assertEqual(lz_host.main(), 0)
+ self.assertEqual(mock_cmd.call_count, 1)
+
+ @patch("lz_host.cmd_validate_install", return_value=0)
+ def test_dispatches_validate_install(self, mock_cmd):
+ with patch("sys.argv", ["lz_host.py", "validate-install"]):
+ self.assertEqual(lz_host.main(), 0)
+ self.assertEqual(mock_cmd.call_count, 1)
+
+ @patch("lz_host.cmd_run_test", return_value=0)
+ def test_dispatches_run_test_with_args(self, mock_cmd):
+ with patch("sys.argv", ["lz_host.py", "run-test", "perf/test_perf"]):
+ self.assertEqual(lz_host.main(), 0)
+ mock_cmd.assert_called_once_with(["perf/test_perf"])
+
+ def test_returns_1_with_no_args(self):
+ with patch("sys.argv", ["lz_host.py"]):
+ self.assertEqual(lz_host.main(), 1)
+
+ def test_returns_1_with_unknown_command(self):
+ with patch("sys.argv", ["lz_host.py", "unknown-cmd"]):
+ self.assertEqual(lz_host.main(), 1)
+
+ @patch(
+ "lz_host.cmd_resource",
+ side_effect=RuntimeError("unexpected failure"),
+ )
+ def test_catches_runtime_error(self, _cmd):
+ with patch("sys.argv", ["lz_host.py", "resource"]):
+ self.assertEqual(lz_host.main(), 1)
+
+ @patch(
+ "lz_host.cmd_resource",
+ side_effect=HostGPUDetectionError("plz-run gone"),
+ )
+ def test_catches_host_gpu_detection_error(self, _cmd):
+ with patch("sys.argv", ["lz_host.py", "resource"]):
+ self.assertEqual(lz_host.main(), 1)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/providers/base/tests/test_vk_host.py b/providers/base/tests/test_vk_host.py
index 8f2c22de52..e73e06765b 100644
--- a/providers/base/tests/test_vk_host.py
+++ b/providers/base/tests/test_vk_host.py
@@ -21,7 +21,7 @@
from unittest.mock import MagicMock, patch
import vk_host
-from checkbox_support.helpers.host_utils import VulkanDetectionError
+from checkbox_support.helpers.host_utils import HostGPUDetectionError
class TestCmdResource(unittest.TestCase):
@@ -45,7 +45,7 @@ def test_returns_1_when_no_gpu(self, _arch, _plz, _check):
@patch(
"vk_host.find_plz_run",
- side_effect=VulkanDetectionError("plz-run not found"),
+ side_effect=HostGPUDetectionError("plz-run not found"),
)
@patch("vk_host.get_arch_triple", return_value="x86_64-linux-gnu")
def test_returns_1_when_plz_run_not_found(self, _arch, _plz):
diff --git a/providers/base/units/graphics/crucible.pxu b/providers/base/units/graphics/crucible.pxu
deleted file mode 100644
index 3ffdb2d215..0000000000
--- a/providers/base/units/graphics/crucible.pxu
+++ /dev/null
@@ -1,263 +0,0 @@
-unit: setup job
-plugin: shell
-id: setup/install_crucible
-category_id: com.canonical.plainbox::graphics
-_summary: Install crucible snap
-_purpose:
- This job will install the crucible snap, a dependency of crucible graphics testing
-user: root
-command:
- if snap list crucible &>/dev/null; then
- snap refresh --edge crucible
- else
- snap install --edge crucible
- fi
-estimated_duration: 1m
-
-plugin: resource
-id: graphics/vk_crucible_gpu_avail
-category_id: com.canonical.plainbox::graphics
-user: root
-_summary: Checks for Vulkan-capable GPU
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
-estimated_duration: 1s
-command:
- if env -u DISPLAY crucible.vulkaninfo --summary 2>&1 | grep "PHYSICAL_DEVICE_TYPE_.*_GPU"; then
- echo "PASS: Found a Vulkan-capable GPU"
- else
- echo "FAIL: No Vulkan-capable GPU found"
- exit 1
- fi
-
-id: graphics/crucible_core_stencil_triangles
-depends:
- graphics/vk_crucible_gpu_avail
-setup_include:
- setup/install_crucible
-category_id: com.canonical.plainbox::graphics
-flags: simple
-user: root
-_summary: Run the stencil-triangles tests via crucible (core)
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
-estimated_duration: 5m
-command: crucible.test 'func.depthstencil.stencil-triangles.clear-0x17.ref-0x17.*'
-_siblings: [
- { "id": "graphics/crucible_core_aspect_stencil",
- "_summary": "Run the aspect-stencil tests via crucible (core)",
- "command": "crucible.test 'func.miptree.s8-uint.aspect-stencil.view-2d.levels02.*'" },
- { "id": "graphics/crucible_core_aspect_depth",
- "_summary": "Run the aspect-depth tests via crucible (core)",
- "command": "crucible.test 'func.miptree.d32-sfloat.aspect-depth.*'" },
- { "id": "graphics/crucible_core_r8g8b8a8_aspect_color",
- "_summary": "Run the r8g8b8a8-aspect-color tests via crucible (core)",
- "command": "crucible.test 'func.miptree.r8g8b8a8-unorm.aspect-color.*'" },
- { "id": "graphics/crucible_core_bc3_aspect_color",
- "_summary": "Run the bc3-aspect-color tests via crucible (core)",
- "command": "crucible.test 'func.miptree.bc3-unorm.aspect-color.*'" },
- { "id": "graphics/crucible_core_bench",
- "_summary": "Run the bench tests via crucible (core)",
- "command": "crucible.test 'bench.*'" },
- { "id": "graphics/crucible_core_bug",
- "_summary": "Run the bug tests via crucible (core)",
- "command": "crucible.test 'bug.*'" },
- { "id": "graphics/crucible_core_depthstencil",
- "_summary": "Run the depthstencil tests via crucible (core)",
- "command": "crucible.test 'func.depthstencil.*'" },
- { "id": "graphics/crucible_core_desc",
- "_summary": "Run the desc tests via crucible (core)",
- "command": "crucible.test 'func.desc.*'" },
- { "id": "graphics/crucible_core_draw",
- "_summary": "Run the draw tests via crucible (core)",
- "command": "crucible.test 'func.draw*'" },
- { "id": "graphics/crucible_core_gs_basic",
- "_summary": "Run the gs-basic tests via crucible (core)",
- "command": "crucible.test 'func.gs.basic'" },
- { "id": "graphics/crucible_core_first",
- "_summary": "Run the first tests via crucible (core)",
- "command": "crucible.test 'func.first'" },
- { "id": "graphics/crucible_core_compute",
- "_summary": "Run the compute tests via crucible (core)",
- "command": "crucible.test 'func.compute.*'" },
- { "id": "graphics/crucible_core_shader",
- "_summary": "Run the shader tests via crucible (core)",
- "command": "crucible.test 'func.shader.*'" },
- { "id": "graphics/crucible_core_issue",
- "_summary": "Run the issue tests via crucible (core)",
- "command": "crucible.test 'func.issue*'" },
- { "id": "graphics/crucible_core_mesh",
- "_summary": "Run the mesh tests via crucible (core)",
- "command": "crucible.test 'func.mesh.*'" },
- { "id": "graphics/crucible_core_example",
- "_summary": "Run the example tests via crucible (core)",
- "command": "crucible.test 'example.*'" },
- { "id": "graphics/crucible_core_buffer",
- "_summary": "Run the buffer tests via crucible (core)",
- "command": "crucible.test 'func.buffer.*'" },
- { "id": "graphics/crucible_core_cmd_buffer",
- "_summary": "Run the cmd-buffer tests via crucible (core)",
- "command": "crucible.test 'func.cmd-buffer.*'" },
- { "id": "graphics/crucible_core_copy",
- "_summary": "Run the copy tests via crucible (core)",
- "command": "crucible.test 'func.copy.*'" },
- { "id": "graphics/crucible_core_event",
- "_summary": "Run the event tests via crucible (core)",
- "command": "crucible.test 'func.event.*'" },
- { "id": "graphics/crucible_core_query",
- "_summary": "Run the query tests via crucible (core)",
- "command": "crucible.test 'func.query.*'" },
- { "id": "graphics/crucible_core_interleaved_cmd_buffers",
- "_summary": "Run the interleaved-cmd-buffers tests via crucible (core)",
- "command": "crucible.test 'func.interleaved-cmd-buffers.*'" },
- { "id": "graphics/crucible_core_memory_budget",
- "_summary": "Run the memory_budget tests via crucible (core)",
- "command": "crucible.test 'func.memory_budget'" },
- { "id": "graphics/crucible_core_renderpass",
- "_summary": "Run the renderpass tests via crucible (core)",
- "command": "crucible.test 'func.renderpass.*'" },
- { "id": "graphics/crucible_core_memory_fd",
- "_summary": "Run the memory-fd tests via crucible (core)",
- "command": "crucible.test 'func.memory-fd.*'" },
- { "id": "graphics/crucible_core_stress",
- "_summary": "Run the stress tests via crucible (core)",
- "command": "crucible.test 'stress.*'" },
- { "id": "graphics/crucible_core_self",
- "_summary": "Run the self tests via crucible (core)",
- "command": "crucible.test 'self.*'" },
- { "id": "graphics/crucible_core_calibrated_timestamps",
- "_summary": "Run the calibrated-timestamps tests via crucible (core)",
- "command": "crucible.test 'func.calibrated-timestamps.*'" },
- { "id": "graphics/crucible_core_sync",
- "_summary": "Run the sync tests via crucible (core)",
- "command": "crucible.test 'func.sync.*'" }]
-
-unit: job
-plugin: shell
-id: graphics/crucible_classic_gpu_avail
-category_id: com.canonical.plainbox::graphics
-user: root
-_summary: Checks for Vulkan-capable GPU using host drivers
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
- PATH
- VK_ICD_FILENAMES
-estimated_duration: 1s
-command: crucible_host.py resource
-
-unit: job
-plugin: shell
-id: graphics/crucible_classic_vk_avail
-category_id: com.canonical.plainbox::graphics
-user: root
-_summary: Checks for host Vulkan ICD loader required by crucible --no-confinement
-estimated_duration: 1s
-command: crucible_host.py validate-install
-
-id: graphics/crucible_classic_stencil_triangles
-depends:
- graphics/crucible_classic_gpu_avail
- graphics/crucible_classic_vk_avail
-setup_include:
- setup/install_crucible
-category_id: com.canonical.plainbox::graphics
-flags: simple
-user: root
-_summary: Run the stencil-triangles tests via crucible (classic)
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
- VK_ICD_FILENAMES
-estimated_duration: 5m
-command: crucible_host.py run-test 'func.depthstencil.stencil-triangles.clear-0x17.ref-0x17.*'
-_siblings: [
- { "id": "graphics/crucible_classic_aspect_stencil",
- "_summary": "Run the aspect-stencil tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.miptree.s8-uint.aspect-stencil.view-2d.levels02.*'" },
- { "id": "graphics/crucible_classic_aspect_depth",
- "_summary": "Run the aspect-depth tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.miptree.d32-sfloat.aspect-depth.*'" },
- { "id": "graphics/crucible_classic_r8g8b8a8_aspect_color",
- "_summary": "Run the r8g8b8a8-aspect-color tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.miptree.r8g8b8a8-unorm.aspect-color.*'" },
- { "id": "graphics/crucible_classic_bc3_aspect_color",
- "_summary": "Run the bc3-aspect-color tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.miptree.bc3-unorm.aspect-color.*'" },
- { "id": "graphics/crucible_classic_bench",
- "_summary": "Run the bench tests via crucible (classic)",
- "command": "crucible_host.py run-test 'bench.*'" },
- { "id": "graphics/crucible_classic_bug",
- "_summary": "Run the bug tests via crucible (classic)",
- "command": "crucible_host.py run-test 'bug.*'" },
- { "id": "graphics/crucible_classic_depthstencil",
- "_summary": "Run the depthstencil tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.depthstencil.*'" },
- { "id": "graphics/crucible_classic_desc",
- "_summary": "Run the desc tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.desc.*'" },
- { "id": "graphics/crucible_classic_draw",
- "_summary": "Run the draw tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.draw*'" },
- { "id": "graphics/crucible_classic_gs_basic",
- "_summary": "Run the gs-basic tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.gs.basic'" },
- { "id": "graphics/crucible_classic_first",
- "_summary": "Run the first tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.first'" },
- { "id": "graphics/crucible_classic_compute",
- "_summary": "Run the compute tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.compute.*'" },
- { "id": "graphics/crucible_classic_shader",
- "_summary": "Run the shader tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.shader.*'" },
- { "id": "graphics/crucible_classic_issue",
- "_summary": "Run the issue tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.issue*'" },
- { "id": "graphics/crucible_classic_mesh",
- "_summary": "Run the mesh tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.mesh.*'" },
- { "id": "graphics/crucible_classic_example",
- "_summary": "Run the example tests via crucible (classic)",
- "command": "crucible_host.py run-test 'example.*'" },
- { "id": "graphics/crucible_classic_buffer",
- "_summary": "Run the buffer tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.buffer.*'" },
- { "id": "graphics/crucible_classic_cmd_buffer",
- "_summary": "Run the cmd-buffer tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.cmd-buffer.*'" },
- { "id": "graphics/crucible_classic_copy",
- "_summary": "Run the copy tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.copy.*'" },
- { "id": "graphics/crucible_classic_event",
- "_summary": "Run the event tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.event.*'" },
- { "id": "graphics/crucible_classic_query",
- "_summary": "Run the query tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.query.*'" },
- { "id": "graphics/crucible_classic_interleaved_cmd_buffers",
- "_summary": "Run the interleaved-cmd-buffers tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.interleaved-cmd-buffers.*'" },
- { "id": "graphics/crucible_classic_memory_budget",
- "_summary": "Run the memory_budget tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.memory_budget'" },
- { "id": "graphics/crucible_classic_renderpass",
- "_summary": "Run the renderpass tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.renderpass.*'" },
- { "id": "graphics/crucible_classic_memory_fd",
- "_summary": "Run the memory-fd tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.memory-fd.*'" },
- { "id": "graphics/crucible_classic_stress",
- "_summary": "Run the stress tests via crucible (classic)",
- "command": "crucible_host.py run-test 'stress.*'" },
- { "id": "graphics/crucible_classic_self",
- "_summary": "Run the self tests via crucible (classic)",
- "command": "crucible_host.py run-test 'self.*'" },
- { "id": "graphics/crucible_classic_calibrated_timestamps",
- "_summary": "Run the calibrated-timestamps tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.calibrated-timestamps.*'" },
- { "id": "graphics/crucible_classic_sync",
- "_summary": "Run the sync tests via crucible (classic)",
- "command": "crucible_host.py run-test 'func.sync.*'" }]
diff --git a/providers/base/units/graphics/crucible.yaml b/providers/base/units/graphics/crucible.yaml
new file mode 100644
index 0000000000..749d14eb1d
--- /dev/null
+++ b/providers/base/units/graphics/crucible.yaml
@@ -0,0 +1,259 @@
+unit: setup job
+plugin: shell
+id: setup/install_crucible
+category_id: com.canonical.plainbox::graphics
+summary: Install crucible snap
+user: root
+command: |
+ if snap list crucible &>/dev/null; then
+ snap refresh --edge crucible
+ else
+ snap install --edge crucible
+ fi
+estimated_duration: 1m
+---
+plugin: resource
+id: graphics/vk_crucible_gpu_avail
+category_id: com.canonical.plainbox::graphics
+user: root
+summary: Checks for Vulkan-capable GPU
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+estimated_duration: 1s
+command: |
+ if env -u DISPLAY crucible.vulkaninfo --summary 2>&1 | grep "PHYSICAL_DEVICE_TYPE_.*_GPU"; then
+ echo "PASS: Found a Vulkan-capable GPU"
+ else
+ echo "FAIL: No Vulkan-capable GPU found"
+ exit 1
+ fi
+---
+id: graphics/crucible_core_stencil_triangles
+depends:
+ - graphics/vk_crucible_gpu_avail
+category_id: com.canonical.plainbox::graphics
+flags:
+ - simple
+user: root
+summary: Run the stencil-triangles tests via crucible (core)
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+estimated_duration: 5m
+command: crucible.test 'func.depthstencil.stencil-triangles.clear-0x17.ref-0x17.*'
+siblings:
+ - id: graphics/crucible_core_aspect_stencil
+ summary: Run the aspect-stencil tests via crucible (core)
+ command: crucible.test 'func.miptree.s8-uint.aspect-stencil.view-2d.levels02.*'
+ - id: graphics/crucible_core_aspect_depth
+ summary: Run the aspect-depth tests via crucible (core)
+ command: crucible.test 'func.miptree.d32-sfloat.aspect-depth.*'
+ - id: graphics/crucible_core_r8g8b8a8_aspect_color
+ summary: Run the r8g8b8a8-aspect-color tests via crucible (core)
+ command: crucible.test 'func.miptree.r8g8b8a8-unorm.aspect-color.*'
+ - id: graphics/crucible_core_bc3_aspect_color
+ summary: Run the bc3-aspect-color tests via crucible (core)
+ command: crucible.test 'func.miptree.bc3-unorm.aspect-color.*'
+ - id: graphics/crucible_core_bench
+ summary: Run the bench tests via crucible (core)
+ command: crucible.test 'bench.*'
+ - id: graphics/crucible_core_bug
+ summary: Run the bug tests via crucible (core)
+ command: crucible.test 'bug.*'
+ - id: graphics/crucible_core_depthstencil
+ summary: Run the depthstencil tests via crucible (core)
+ command: crucible.test 'func.depthstencil.*'
+ - id: graphics/crucible_core_desc
+ summary: Run the desc tests via crucible (core)
+ command: crucible.test 'func.desc.*'
+ - id: graphics/crucible_core_draw
+ summary: Run the draw tests via crucible (core)
+ command: crucible.test 'func.draw*'
+ - id: graphics/crucible_core_gs_basic
+ summary: Run the gs-basic tests via crucible (core)
+ command: crucible.test 'func.gs.basic'
+ - id: graphics/crucible_core_first
+ summary: Run the first tests via crucible (core)
+ command: crucible.test 'func.first'
+ - id: graphics/crucible_core_compute
+ summary: Run the compute tests via crucible (core)
+ command: crucible.test 'func.compute.*'
+ - id: graphics/crucible_core_shader
+ summary: Run the shader tests via crucible (core)
+ command: crucible.test 'func.shader.*'
+ - id: graphics/crucible_core_issue
+ summary: Run the issue tests via crucible (core)
+ command: crucible.test 'func.issue*'
+ - id: graphics/crucible_core_mesh
+ summary: Run the mesh tests via crucible (core)
+ command: crucible.test 'func.mesh.*'
+ - id: graphics/crucible_core_example
+ summary: Run the example tests via crucible (core)
+ command: crucible.test 'example.*'
+ - id: graphics/crucible_core_buffer
+ summary: Run the buffer tests via crucible (core)
+ command: crucible.test 'func.buffer.*'
+ - id: graphics/crucible_core_cmd_buffer
+ summary: Run the cmd-buffer tests via crucible (core)
+ command: crucible.test 'func.cmd-buffer.*'
+ - id: graphics/crucible_core_copy
+ summary: Run the copy tests via crucible (core)
+ command: crucible.test 'func.copy.*'
+ - id: graphics/crucible_core_event
+ summary: Run the event tests via crucible (core)
+ command: crucible.test 'func.event.*'
+ - id: graphics/crucible_core_query
+ summary: Run the query tests via crucible (core)
+ command: crucible.test 'func.query.*'
+ - id: graphics/crucible_core_interleaved_cmd_buffers
+ summary: Run the interleaved-cmd-buffers tests via crucible (core)
+ command: crucible.test 'func.interleaved-cmd-buffers.*'
+ - id: graphics/crucible_core_memory_budget
+ summary: Run the memory_budget tests via crucible (core)
+ command: crucible.test 'func.memory_budget'
+ - id: graphics/crucible_core_renderpass
+ summary: Run the renderpass tests via crucible (core)
+ command: crucible.test 'func.renderpass.*'
+ - id: graphics/crucible_core_memory_fd
+ summary: Run the memory-fd tests via crucible (core)
+ command: crucible.test 'func.memory-fd.*'
+ - id: graphics/crucible_core_stress
+ summary: Run the stress tests via crucible (core)
+ command: crucible.test 'stress.*'
+ - id: graphics/crucible_core_self
+ summary: Run the self tests via crucible (core)
+ command: crucible.test 'self.*'
+ - id: graphics/crucible_core_calibrated_timestamps
+ summary: Run the calibrated-timestamps tests via crucible (core)
+ command: crucible.test 'func.calibrated-timestamps.*'
+ - id: graphics/crucible_core_sync
+ summary: Run the sync tests via crucible (core)
+ command: crucible.test 'func.sync.*'
+---
+unit: job
+plugin: shell
+id: graphics/crucible_classic_gpu_avail
+category_id: com.canonical.plainbox::graphics
+user: root
+summary: Checks for Vulkan-capable GPU using host drivers
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+ - PATH
+ - VK_ICD_FILENAMES
+estimated_duration: 1s
+command: crucible_host.py resource
+---
+unit: job
+plugin: shell
+id: graphics/crucible_classic_vk_avail
+category_id: com.canonical.plainbox::graphics
+user: root
+summary: Checks for host Vulkan ICD loader required by crucible --no-confinement
+estimated_duration: 1s
+command: crucible_host.py validate-install
+---
+id: graphics/crucible_classic_stencil_triangles
+depends:
+ - graphics/crucible_classic_gpu_avail
+ - graphics/crucible_classic_vk_avail
+category_id: com.canonical.plainbox::graphics
+flags:
+ - simple
+user: root
+summary: Run the stencil-triangles tests via crucible (classic)
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+ - VK_ICD_FILENAMES
+estimated_duration: 5m
+command: crucible_host.py run-test 'func.depthstencil.stencil-triangles.clear-0x17.ref-0x17.*'
+siblings:
+ - id: graphics/crucible_classic_aspect_stencil
+ summary: Run the aspect-stencil tests via crucible (classic)
+ command: crucible_host.py run-test 'func.miptree.s8-uint.aspect-stencil.view-2d.levels02.*'
+ - id: graphics/crucible_classic_aspect_depth
+ summary: Run the aspect-depth tests via crucible (classic)
+ command: crucible_host.py run-test 'func.miptree.d32-sfloat.aspect-depth.*'
+ - id: graphics/crucible_classic_r8g8b8a8_aspect_color
+ summary: Run the r8g8b8a8-aspect-color tests via crucible (classic)
+ command: crucible_host.py run-test 'func.miptree.r8g8b8a8-unorm.aspect-color.*'
+ - id: graphics/crucible_classic_bc3_aspect_color
+ summary: Run the bc3-aspect-color tests via crucible (classic)
+ command: crucible_host.py run-test 'func.miptree.bc3-unorm.aspect-color.*'
+ - id: graphics/crucible_classic_bench
+ summary: Run the bench tests via crucible (classic)
+ command: crucible_host.py run-test 'bench.*'
+ - id: graphics/crucible_classic_bug
+ summary: Run the bug tests via crucible (classic)
+ command: crucible_host.py run-test 'bug.*'
+ - id: graphics/crucible_classic_depthstencil
+ summary: Run the depthstencil tests via crucible (classic)
+ command: crucible_host.py run-test 'func.depthstencil.*'
+ - id: graphics/crucible_classic_desc
+ summary: Run the desc tests via crucible (classic)
+ command: crucible_host.py run-test 'func.desc.*'
+ - id: graphics/crucible_classic_draw
+ summary: Run the draw tests via crucible (classic)
+ command: crucible_host.py run-test 'func.draw*'
+ - id: graphics/crucible_classic_gs_basic
+ summary: Run the gs-basic tests via crucible (classic)
+ command: crucible_host.py run-test 'func.gs.basic'
+ - id: graphics/crucible_classic_first
+ summary: Run the first tests via crucible (classic)
+ command: crucible_host.py run-test 'func.first'
+ - id: graphics/crucible_classic_compute
+ summary: Run the compute tests via crucible (classic)
+ command: crucible_host.py run-test 'func.compute.*'
+ - id: graphics/crucible_classic_shader
+ summary: Run the shader tests via crucible (classic)
+ command: crucible_host.py run-test 'func.shader.*'
+ - id: graphics/crucible_classic_issue
+ summary: Run the issue tests via crucible (classic)
+ command: crucible_host.py run-test 'func.issue*'
+ - id: graphics/crucible_classic_mesh
+ summary: Run the mesh tests via crucible (classic)
+ command: crucible_host.py run-test 'func.mesh.*'
+ - id: graphics/crucible_classic_example
+ summary: Run the example tests via crucible (classic)
+ command: crucible_host.py run-test 'example.*'
+ - id: graphics/crucible_classic_buffer
+ summary: Run the buffer tests via crucible (classic)
+ command: crucible_host.py run-test 'func.buffer.*'
+ - id: graphics/crucible_classic_cmd_buffer
+ summary: Run the cmd-buffer tests via crucible (classic)
+ command: crucible_host.py run-test 'func.cmd-buffer.*'
+ - id: graphics/crucible_classic_copy
+ summary: Run the copy tests via crucible (classic)
+ command: crucible_host.py run-test 'func.copy.*'
+ - id: graphics/crucible_classic_event
+ summary: Run the event tests via crucible (classic)
+ command: crucible_host.py run-test 'func.event.*'
+ - id: graphics/crucible_classic_query
+ summary: Run the query tests via crucible (classic)
+ command: crucible_host.py run-test 'func.query.*'
+ - id: graphics/crucible_classic_interleaved_cmd_buffers
+ summary: Run the interleaved-cmd-buffers tests via crucible (classic)
+ command: crucible_host.py run-test 'func.interleaved-cmd-buffers.*'
+ - id: graphics/crucible_classic_memory_budget
+ summary: Run the memory_budget tests via crucible (classic)
+ command: crucible_host.py run-test 'func.memory_budget'
+ - id: graphics/crucible_classic_renderpass
+ summary: Run the renderpass tests via crucible (classic)
+ command: crucible_host.py run-test 'func.renderpass.*'
+ - id: graphics/crucible_classic_memory_fd
+ summary: Run the memory-fd tests via crucible (classic)
+ command: crucible_host.py run-test 'func.memory-fd.*'
+ - id: graphics/crucible_classic_stress
+ summary: Run the stress tests via crucible (classic)
+ command: crucible_host.py run-test 'stress.*'
+ - id: graphics/crucible_classic_self
+ summary: Run the self tests via crucible (classic)
+ command: crucible_host.py run-test 'self.*'
+ - id: graphics/crucible_classic_calibrated_timestamps
+ summary: Run the calibrated-timestamps tests via crucible (classic)
+ command: crucible_host.py run-test 'func.calibrated-timestamps.*'
+ - id: graphics/crucible_classic_sync
+ summary: Run the sync tests via crucible (classic)
+ command: crucible_host.py run-test 'func.sync.*'
diff --git a/providers/base/units/graphics/level-zero.yaml b/providers/base/units/graphics/level-zero.yaml
new file mode 100644
index 0000000000..67b68b23f1
--- /dev/null
+++ b/providers/base/units/graphics/level-zero.yaml
@@ -0,0 +1,779 @@
+unit: job
+plugin: shell
+id: setup/install_level_zero_tests
+category_id: com.canonical.plainbox::graphics
+summary: Install level-zero-tests snap
+purpose: This job will install the level-zero-tests snap, a dependency of Level Zero conformance testing
+user: root
+command: |
+ if snap list level-zero-tests &>/dev/null; then
+ snap refresh --beta level-zero-tests
+ else
+ snap install --beta level-zero-tests
+ fi
+estimated_duration: 1m
+---
+unit: job
+plugin: shell
+id: graphics/lz_gpu_avail
+depends:
+ - setup/install_level_zero_tests
+category_id: com.canonical.plainbox::graphics
+user: root
+summary: Checks for GPU for level-zero-tests
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+estimated_duration: 1s
+command: |
+ if level-zero-tests.test test_driver; then
+ echo "PASS: Found a Level Zero GPU"
+ else
+ echo "FAIL: No Level Zero GPU found"
+ exit 1
+ fi
+---
+id: graphics/lz_core_test_affinity_helper
+depends:
+ - graphics/lz_gpu_avail
+ - setup/install_level_zero_tests
+category_id: com.canonical.plainbox::graphics
+flags:
+ - simple
+user: root
+summary: Run test_affinity_helper from level-zero-tests (core)
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+estimated_duration: 1m
+command: level-zero-tests.test test_affinity_helper
+siblings:
+ - id: graphics/lz_core_test_api_ltracing
+ summary: Run test_api_ltracing from level-zero-tests (core)
+ command: level-zero-tests.test test_api_ltracing
+ - id: graphics/lz_core_test_api_ltracing_dynamic
+ summary: Run test_api_ltracing_dynamic from level-zero-tests (core)
+ command: level-zero-tests.test test_api_ltracing_dynamic
+ - id: graphics/lz_core_test_barrier
+ summary: Run test_barrier from level-zero-tests (core)
+ command: level-zero-tests.test test_barrier
+ - id: graphics/lz_core_test_cmdlist
+ summary: Run test_cmdlist from level-zero-tests (core)
+ command: level-zero-tests.test test_cmdlist
+ - id: graphics/lz_core_test_cmdlist_errors
+ summary: Run test_cmdlist_errors from level-zero-tests (core)
+ command: level-zero-tests.test test_cmdlist_errors
+ - id: graphics/lz_core_test_cmdqueue
+ summary: Run test_cmdqueue from level-zero-tests (core)
+ command: level-zero-tests.test test_cmdqueue
+ - id: graphics/lz_core_test_cmdqueue_errors
+ summary: Run test_cmdqueue_errors from level-zero-tests (core)
+ command: level-zero-tests.test test_cmdqueue_errors
+ - id: graphics/lz_core_test_context
+ summary: Run test_context from level-zero-tests (core)
+ command: level-zero-tests.test test_context
+ - id: graphics/lz_core_test_copy
+ summary: Run test_copy from level-zero-tests (core)
+ command: level-zero-tests.test test_copy
+ - id: graphics/lz_core_test_debug
+ summary: Run test_debug from level-zero-tests (core)
+ command: level-zero-tests.test test_debug
+ - id: graphics/lz_core_test_debug_errors
+ summary: Run test_debug_errors from level-zero-tests (core)
+ command: level-zero-tests.test test_debug_errors
+ - id: graphics/lz_core_test_debug_errors_helper
+ summary: Run test_debug_errors_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_debug_errors_helper
+ - id: graphics/lz_core_test_debug_helper
+ summary: Run test_debug_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_debug_helper
+ - id: graphics/lz_core_test_device
+ summary: Run test_device from level-zero-tests (core)
+ command: level-zero-tests.test test_device
+ - id: graphics/lz_core_test_device_errors
+ summary: Run test_device_errors from level-zero-tests (core)
+ command: level-zero-tests.test test_device_errors
+ - id: graphics/lz_core_test_device_hierarchy_helper
+ summary: Run test_device_hierarchy_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_device_hierarchy_helper
+ - id: graphics/lz_core_test_driver
+ summary: Run test_driver from level-zero-tests (core)
+ command: level-zero-tests.test test_driver
+ - id: graphics/lz_core_test_driver_errors
+ summary: Run test_driver_errors from level-zero-tests (core)
+ command: level-zero-tests.test test_driver_errors
+ - id: graphics/lz_core_test_driver_init_flag_gpu
+ summary: Run test_driver_init_flag_gpu from level-zero-tests (core)
+ command: level-zero-tests.test test_driver_init_flag_gpu
+ - id: graphics/lz_core_test_driver_init_flag_none
+ summary: Run test_driver_init_flag_none from level-zero-tests (core)
+ command: level-zero-tests.test test_driver_init_flag_none
+ - id: graphics/lz_core_test_driver_init_flag_vpu
+ summary: Run test_driver_init_flag_vpu from level-zero-tests (core)
+ command: level-zero-tests.test test_driver_init_flag_vpu
+ - id: graphics/lz_core_test_driver_init_flag_vpu_gpu
+ summary: Run test_driver_init_flag_vpu_gpu from level-zero-tests (core)
+ command: level-zero-tests.test test_driver_init_flag_vpu_gpu
+ - id: graphics/lz_core_test_event
+ summary: Run test_event from level-zero-tests (core)
+ command: level-zero-tests.test test_event
+ - id: graphics/lz_core_test_fabric
+ summary: Run test_fabric from level-zero-tests (core)
+ command: level-zero-tests.test test_fabric
+ - id: graphics/lz_core_test_fabric_helper
+ summary: Run test_fabric_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_fabric_helper
+ - id: graphics/lz_core_test_fence
+ summary: Run test_fence from level-zero-tests (core)
+ command: level-zero-tests.test test_fence
+ - id: graphics/lz_core_test_handle_tracking_errors
+ summary: Run test_handle_tracking_errors from level-zero-tests (core)
+ command: level-zero-tests.test test_handle_tracking_errors
+ - id: graphics/lz_core_test_image
+ summary: Run test_image from level-zero-tests (core)
+ command: level-zero-tests.test test_image
+ - id: graphics/lz_core_test_import_helper
+ summary: Run test_import_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_import_helper
+ - id: graphics/lz_core_test_init_sysman
+ summary: Run test_init_sysman from level-zero-tests (core)
+ command: level-zero-tests.test test_init_sysman
+ - id: graphics/lz_core_test_init_sysman_after_core
+ summary: Run test_init_sysman_after_core from level-zero-tests (core)
+ command: level-zero-tests.test test_init_sysman_after_core
+ - id: graphics/lz_core_test_init_sysman_before_core
+ summary: Run test_init_sysman_before_core from level-zero-tests (core)
+ command: level-zero-tests.test test_init_sysman_before_core
+ - id: graphics/lz_core_test_init_sysman_enum_freq_with_sysman_handle
+ summary: Run test_init_sysman_enum_freq_with_sysman_handle from level-zero-tests (core)
+ command: level-zero-tests.test test_init_sysman_enum_freq_with_sysman_handle
+ - id: graphics/lz_core_test_ipc
+ summary: Run test_ipc from level-zero-tests (core)
+ command: level-zero-tests.test test_ipc
+ - id: graphics/lz_core_test_ipc_event_helper
+ summary: Run test_ipc_event_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_ipc_event_helper
+ - id: graphics/lz_core_test_ipc_memory
+ summary: Run test_ipc_memory from level-zero-tests (core)
+ command: level-zero-tests.test test_ipc_memory
+ - id: graphics/lz_core_test_ipc_memory_helper
+ summary: Run test_ipc_memory_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_ipc_memory_helper
+ - id: graphics/lz_core_test_ipc_multidevice
+ summary: Run test_ipc_multidevice from level-zero-tests (core)
+ command: level-zero-tests.test test_ipc_multidevice
+ - id: graphics/lz_core_test_ipc_multisubdevice
+ summary: Run test_ipc_multisubdevice from level-zero-tests (core)
+ command: level-zero-tests.test test_ipc_multisubdevice
+ - id: graphics/lz_core_test_ipc_p2p_memory
+ summary: Run test_ipc_p2p_memory from level-zero-tests (core)
+ command: level-zero-tests.test test_ipc_p2p_memory
+ - id: graphics/lz_core_test_ipc_put_handle
+ summary: Run test_ipc_put_handle from level-zero-tests (core)
+ command: level-zero-tests.test test_ipc_put_handle
+ - id: graphics/lz_core_test_ipc_put_handle_helper
+ summary: Run test_ipc_put_handle_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_ipc_put_handle_helper
+ - id: graphics/lz_core_test_ltracing_compat_ipc_event_helper
+ summary: Run test_ltracing_compat_ipc_event_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_ltracing_compat_ipc_event_helper
+ - id: graphics/lz_core_test_ltracing_compat_ipc_event_helper_dynamic
+ summary: Run test_ltracing_compat_ipc_event_helper_dynamic from level-zero-tests (core)
+ command: level-zero-tests.test test_ltracing_compat_ipc_event_helper_dynamic
+ - id: graphics/lz_core_test_ltracing_ipc_event_helper
+ summary: Run test_ltracing_ipc_event_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_ltracing_ipc_event_helper
+ - id: graphics/lz_core_test_ltracing_ipc_event_helper_dynamic
+ summary: Run test_ltracing_ipc_event_helper_dynamic from level-zero-tests (core)
+ command: level-zero-tests.test test_ltracing_ipc_event_helper_dynamic
+ - id: graphics/lz_core_test_memory
+ summary: Run test_memory from level-zero-tests (core)
+ command: level-zero-tests.test test_memory
+ - id: graphics/lz_core_test_memory_overcommit
+ summary: Run test_memory_overcommit from level-zero-tests (core)
+ command: level-zero-tests.test test_memory_overcommit
+ - id: graphics/lz_core_test_metric
+ summary: Run test_metric from level-zero-tests (core)
+ command: level-zero-tests.test test_metric
+ - id: graphics/lz_core_test_metric_enable
+ summary: Run test_metric_enable from level-zero-tests (core)
+ command: level-zero-tests.test test_metric_enable
+ - id: graphics/lz_core_test_metric_errors
+ summary: Run test_metric_errors from level-zero-tests (core)
+ command: level-zero-tests.test test_metric_errors
+ - id: graphics/lz_core_test_metric_helper
+ summary: Run test_metric_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_metric_helper
+ - id: graphics/lz_core_test_module
+ summary: Run test_module from level-zero-tests (core)
+ command: level-zero-tests.test test_module
+ - id: graphics/lz_core_test_module_errors
+ summary: Run test_module_errors from level-zero-tests (core)
+ command: level-zero-tests.test test_module_errors
+ - id: graphics/lz_core_test_multiprocess
+ summary: Run test_multiprocess from level-zero-tests (core)
+ command: level-zero-tests.test test_multiprocess
+ - id: graphics/lz_core_test_multithread
+ summary: Run test_multithread from level-zero-tests (core)
+ command: level-zero-tests.test test_multithread
+ - id: graphics/lz_core_test_mutable_cmdlist
+ summary: Run test_mutable_cmdlist from level-zero-tests (core)
+ command: level-zero-tests.test test_mutable_cmdlist
+ - id: graphics/lz_core_test_p2p
+ summary: Run test_p2p from level-zero-tests (core)
+ command: level-zero-tests.test test_p2p
+ - id: graphics/lz_core_test_pci_device_order_helper
+ summary: Run test_pci_device_order_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_pci_device_order_helper
+ - id: graphics/lz_core_test_pin
+ summary: Run test_pin from level-zero-tests (core)
+ command: level-zero-tests.test test_pin
+ - id: graphics/lz_core_test_process_helper
+ summary: Run test_process_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_process_helper
+ - id: graphics/lz_core_test_residency
+ summary: Run test_residency from level-zero-tests (core)
+ command: level-zero-tests.test test_residency
+ - id: graphics/lz_core_test_sampler
+ summary: Run test_sampler from level-zero-tests (core)
+ command: level-zero-tests.test test_sampler
+ - id: graphics/lz_core_test_stress_atomics
+ summary: Run test_stress_atomics from level-zero-tests (core)
+ command: level-zero-tests.test test_stress_atomics
+ - id: graphics/lz_core_test_stress_commands_overloading
+ summary: Run test_stress_commands_overloading from level-zero-tests (core)
+ command: level-zero-tests.test test_stress_commands_overloading
+ - id: graphics/lz_core_test_stress_memory_allocation
+ summary: Run test_stress_memory_allocation from level-zero-tests (core)
+ command: level-zero-tests.test test_stress_memory_allocation
+ - id: graphics/lz_core_test_stress_misc
+ summary: Run test_stress_misc from level-zero-tests (core)
+ command: level-zero-tests.test test_stress_misc
+ - id: graphics/lz_core_test_sysman_device
+ summary: Run test_sysman_device from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_device
+ - id: graphics/lz_core_test_sysman_device_helper_zesinit
+ summary: Run test_sysman_device_helper_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_device_helper_zesinit
+ - id: graphics/lz_core_test_sysman_device_hierarchy_helper
+ summary: Run test_sysman_device_hierarchy_helper from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_device_hierarchy_helper
+ - id: graphics/lz_core_test_sysman_device_hierarchy_helper_zesinit
+ summary: Run test_sysman_device_hierarchy_helper_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_device_hierarchy_helper_zesinit
+ - id: graphics/lz_core_test_sysman_device_zesinit
+ summary: Run test_sysman_device_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_device_zesinit
+ - id: graphics/lz_core_test_sysman_diagnostics
+ summary: Run test_sysman_diagnostics from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_diagnostics
+ - id: graphics/lz_core_test_sysman_diagnostics_zesinit
+ summary: Run test_sysman_diagnostics_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_diagnostics_zesinit
+ - id: graphics/lz_core_test_sysman_ecc
+ summary: Run test_sysman_ecc from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_ecc
+ - id: graphics/lz_core_test_sysman_ecc_zesinit
+ summary: Run test_sysman_ecc_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_ecc_zesinit
+ - id: graphics/lz_core_test_sysman_engine
+ summary: Run test_sysman_engine from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_engine
+ - id: graphics/lz_core_test_sysman_engine_zesinit
+ summary: Run test_sysman_engine_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_engine_zesinit
+ - id: graphics/lz_core_test_sysman_events
+ summary: Run test_sysman_events from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_events
+ - id: graphics/lz_core_test_sysman_events_zesinit
+ summary: Run test_sysman_events_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_events_zesinit
+ - id: graphics/lz_core_test_sysman_fabric
+ summary: Run test_sysman_fabric from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_fabric
+ - id: graphics/lz_core_test_sysman_fabric_zesinit
+ summary: Run test_sysman_fabric_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_fabric_zesinit
+ - id: graphics/lz_core_test_sysman_fan
+ summary: Run test_sysman_fan from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_fan
+ - id: graphics/lz_core_test_sysman_fan_zesinit
+ summary: Run test_sysman_fan_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_fan_zesinit
+ - id: graphics/lz_core_test_sysman_firmware
+ summary: Run test_sysman_firmware from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_firmware
+ - id: graphics/lz_core_test_sysman_firmware_zesinit
+ summary: Run test_sysman_firmware_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_firmware_zesinit
+ - id: graphics/lz_core_test_sysman_frequency
+ summary: Run test_sysman_frequency from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_frequency
+ - id: graphics/lz_core_test_sysman_frequency_zesinit
+ summary: Run test_sysman_frequency_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_frequency_zesinit
+ - id: graphics/lz_core_test_sysman_led
+ summary: Run test_sysman_led from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_led
+ - id: graphics/lz_core_test_sysman_led_zesinit
+ summary: Run test_sysman_led_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_led_zesinit
+ - id: graphics/lz_core_test_sysman_memory
+ summary: Run test_sysman_memory from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_memory
+ - id: graphics/lz_core_test_sysman_memory_zesinit
+ summary: Run test_sysman_memory_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_memory_zesinit
+ - id: graphics/lz_core_test_sysman_overclocking
+ summary: Run test_sysman_overclocking from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_overclocking
+ - id: graphics/lz_core_test_sysman_overclocking_zesinit
+ summary: Run test_sysman_overclocking_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_overclocking_zesinit
+ - id: graphics/lz_core_test_sysman_pci
+ summary: Run test_sysman_pci from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_pci
+ - id: graphics/lz_core_test_sysman_pci_zesinit
+ summary: Run test_sysman_pci_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_pci_zesinit
+ - id: graphics/lz_core_test_sysman_performance
+ summary: Run test_sysman_performance from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_performance
+ - id: graphics/lz_core_test_sysman_performance_zesinit
+ summary: Run test_sysman_performance_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_performance_zesinit
+ - id: graphics/lz_core_test_sysman_power
+ summary: Run test_sysman_power from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_power
+ - id: graphics/lz_core_test_sysman_power_zesinit
+ summary: Run test_sysman_power_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_power_zesinit
+ - id: graphics/lz_core_test_sysman_psu
+ summary: Run test_sysman_psu from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_psu
+ - id: graphics/lz_core_test_sysman_psu_zesinit
+ summary: Run test_sysman_psu_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_psu_zesinit
+ - id: graphics/lz_core_test_sysman_ras
+ summary: Run test_sysman_ras from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_ras
+ - id: graphics/lz_core_test_sysman_ras_zesinit
+ summary: Run test_sysman_ras_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_ras_zesinit
+ - id: graphics/lz_core_test_sysman_scheduler
+ summary: Run test_sysman_scheduler from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_scheduler
+ - id: graphics/lz_core_test_sysman_scheduler_zesinit
+ summary: Run test_sysman_scheduler_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_scheduler_zesinit
+ - id: graphics/lz_core_test_sysman_standby
+ summary: Run test_sysman_standby from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_standby
+ - id: graphics/lz_core_test_sysman_standby_zesinit
+ summary: Run test_sysman_standby_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_standby_zesinit
+ - id: graphics/lz_core_test_sysman_temperature
+ summary: Run test_sysman_temperature from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_temperature
+ - id: graphics/lz_core_test_sysman_temperature_zesinit
+ summary: Run test_sysman_temperature_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_temperature_zesinit
+ - id: graphics/lz_core_test_sysman_vf_management
+ summary: Run test_sysman_vf_management from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_vf_management
+ - id: graphics/lz_core_test_sysman_vf_management_zesinit
+ summary: Run test_sysman_vf_management_zesinit from level-zero-tests (core)
+ command: level-zero-tests.test test_sysman_vf_management_zesinit
+ - id: graphics/lz_core_test_template
+ summary: Run test_template from level-zero-tests (core)
+ command: level-zero-tests.test test_template
+ - id: graphics/lz_core_test_usm
+ summary: Run test_usm from level-zero-tests (core)
+ command: level-zero-tests.test test_usm
+ - id: graphics/lz_core_test_zesdevice_errors
+ summary: Run test_zesdevice_errors from level-zero-tests (core)
+ command: level-zero-tests.test test_zesdevice_errors
+---
+unit: job
+plugin: shell
+id: graphics/lz_classic_gpu_avail
+category_id: com.canonical.plainbox::graphics
+user: root
+summary: Checks for Level Zero GPU using host drivers
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+ - PATH
+estimated_duration: 1s
+command: lz_host.py resource
+---
+unit: job
+plugin: shell
+id: graphics/lz_classic_lz_avail
+category_id: com.canonical.plainbox::graphics
+user: root
+summary: Checks for host Level Zero ICD loader required by level-zero-tests
+estimated_duration: 1s
+command: lz_host.py validate-install
+---
+id: graphics/lz_classic_test_affinity_helper
+depends:
+ - graphics/lz_classic_gpu_avail
+ - graphics/lz_classic_lz_avail
+ - setup/install_level_zero_tests
+category_id: com.canonical.plainbox::graphics
+flags:
+ - simple
+user: root
+summary: Run test_affinity_helper from level-zero-tests (classic)
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+estimated_duration: 1m
+command: lz_host.py run-test test_affinity_helper
+siblings:
+ - id: graphics/lz_classic_test_api_ltracing
+ summary: Run test_api_ltracing from level-zero-tests (classic)
+ command: lz_host.py run-test test_api_ltracing
+ - id: graphics/lz_classic_test_api_ltracing_dynamic
+ summary: Run test_api_ltracing_dynamic from level-zero-tests (classic)
+ command: lz_host.py run-test test_api_ltracing_dynamic
+ - id: graphics/lz_classic_test_barrier
+ summary: Run test_barrier from level-zero-tests (classic)
+ command: lz_host.py run-test test_barrier
+ - id: graphics/lz_classic_test_cmdlist
+ summary: Run test_cmdlist from level-zero-tests (classic)
+ command: lz_host.py run-test test_cmdlist
+ - id: graphics/lz_classic_test_cmdlist_errors
+ summary: Run test_cmdlist_errors from level-zero-tests (classic)
+ command: lz_host.py run-test test_cmdlist_errors
+ - id: graphics/lz_classic_test_cmdqueue
+ summary: Run test_cmdqueue from level-zero-tests (classic)
+ command: lz_host.py run-test test_cmdqueue
+ - id: graphics/lz_classic_test_cmdqueue_errors
+ summary: Run test_cmdqueue_errors from level-zero-tests (classic)
+ command: lz_host.py run-test test_cmdqueue_errors
+ - id: graphics/lz_classic_test_context
+ summary: Run test_context from level-zero-tests (classic)
+ command: lz_host.py run-test test_context
+ - id: graphics/lz_classic_test_copy
+ summary: Run test_copy from level-zero-tests (classic)
+ command: lz_host.py run-test test_copy
+ - id: graphics/lz_classic_test_debug
+ summary: Run test_debug from level-zero-tests (classic)
+ command: lz_host.py run-test test_debug
+ - id: graphics/lz_classic_test_debug_errors
+ summary: Run test_debug_errors from level-zero-tests (classic)
+ command: lz_host.py run-test test_debug_errors
+ - id: graphics/lz_classic_test_debug_errors_helper
+ summary: Run test_debug_errors_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_debug_errors_helper
+ - id: graphics/lz_classic_test_debug_helper
+ summary: Run test_debug_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_debug_helper
+ - id: graphics/lz_classic_test_device
+ summary: Run test_device from level-zero-tests (classic)
+ command: lz_host.py run-test test_device
+ - id: graphics/lz_classic_test_device_errors
+ summary: Run test_device_errors from level-zero-tests (classic)
+ command: lz_host.py run-test test_device_errors
+ - id: graphics/lz_classic_test_device_hierarchy_helper
+ summary: Run test_device_hierarchy_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_device_hierarchy_helper
+ - id: graphics/lz_classic_test_driver
+ summary: Run test_driver from level-zero-tests (classic)
+ command: lz_host.py run-test test_driver
+ - id: graphics/lz_classic_test_driver_errors
+ summary: Run test_driver_errors from level-zero-tests (classic)
+ command: lz_host.py run-test test_driver_errors
+ - id: graphics/lz_classic_test_driver_init_flag_gpu
+ summary: Run test_driver_init_flag_gpu from level-zero-tests (classic)
+ command: lz_host.py run-test test_driver_init_flag_gpu
+ - id: graphics/lz_classic_test_driver_init_flag_none
+ summary: Run test_driver_init_flag_none from level-zero-tests (classic)
+ command: lz_host.py run-test test_driver_init_flag_none
+ - id: graphics/lz_classic_test_driver_init_flag_vpu
+ summary: Run test_driver_init_flag_vpu from level-zero-tests (classic)
+ command: lz_host.py run-test test_driver_init_flag_vpu
+ - id: graphics/lz_classic_test_driver_init_flag_vpu_gpu
+ summary: Run test_driver_init_flag_vpu_gpu from level-zero-tests (classic)
+ command: lz_host.py run-test test_driver_init_flag_vpu_gpu
+ - id: graphics/lz_classic_test_event
+ summary: Run test_event from level-zero-tests (classic)
+ command: lz_host.py run-test test_event
+ - id: graphics/lz_classic_test_fabric
+ summary: Run test_fabric from level-zero-tests (classic)
+ command: lz_host.py run-test test_fabric
+ - id: graphics/lz_classic_test_fabric_helper
+ summary: Run test_fabric_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_fabric_helper
+ - id: graphics/lz_classic_test_fence
+ summary: Run test_fence from level-zero-tests (classic)
+ command: lz_host.py run-test test_fence
+ - id: graphics/lz_classic_test_handle_tracking_errors
+ summary: Run test_handle_tracking_errors from level-zero-tests (classic)
+ command: lz_host.py run-test test_handle_tracking_errors
+ - id: graphics/lz_classic_test_image
+ summary: Run test_image from level-zero-tests (classic)
+ command: lz_host.py run-test test_image
+ - id: graphics/lz_classic_test_import_helper
+ summary: Run test_import_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_import_helper
+ - id: graphics/lz_classic_test_init_sysman
+ summary: Run test_init_sysman from level-zero-tests (classic)
+ command: lz_host.py run-test test_init_sysman
+ - id: graphics/lz_classic_test_init_sysman_after_core
+ summary: Run test_init_sysman_after_core from level-zero-tests (classic)
+ command: lz_host.py run-test test_init_sysman_after_core
+ - id: graphics/lz_classic_test_init_sysman_before_core
+ summary: Run test_init_sysman_before_core from level-zero-tests (classic)
+ command: lz_host.py run-test test_init_sysman_before_core
+ - id: graphics/lz_classic_test_init_sysman_enum_freq_with_sysman_handle
+ summary: Run test_init_sysman_enum_freq_with_sysman_handle from level-zero-tests (classic)
+ command: lz_host.py run-test test_init_sysman_enum_freq_with_sysman_handle
+ - id: graphics/lz_classic_test_ipc
+ summary: Run test_ipc from level-zero-tests (classic)
+ command: lz_host.py run-test test_ipc
+ - id: graphics/lz_classic_test_ipc_event_helper
+ summary: Run test_ipc_event_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_ipc_event_helper
+ - id: graphics/lz_classic_test_ipc_memory
+ summary: Run test_ipc_memory from level-zero-tests (classic)
+ command: lz_host.py run-test test_ipc_memory
+ - id: graphics/lz_classic_test_ipc_memory_helper
+ summary: Run test_ipc_memory_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_ipc_memory_helper
+ - id: graphics/lz_classic_test_ipc_multidevice
+ summary: Run test_ipc_multidevice from level-zero-tests (classic)
+ command: lz_host.py run-test test_ipc_multidevice
+ - id: graphics/lz_classic_test_ipc_multisubdevice
+ summary: Run test_ipc_multisubdevice from level-zero-tests (classic)
+ command: lz_host.py run-test test_ipc_multisubdevice
+ - id: graphics/lz_classic_test_ipc_p2p_memory
+ summary: Run test_ipc_p2p_memory from level-zero-tests (classic)
+ command: lz_host.py run-test test_ipc_p2p_memory
+ - id: graphics/lz_classic_test_ipc_put_handle
+ summary: Run test_ipc_put_handle from level-zero-tests (classic)
+ command: lz_host.py run-test test_ipc_put_handle
+ - id: graphics/lz_classic_test_ipc_put_handle_helper
+ summary: Run test_ipc_put_handle_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_ipc_put_handle_helper
+ - id: graphics/lz_classic_test_ltracing_compat_ipc_event_helper
+ summary: Run test_ltracing_compat_ipc_event_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_ltracing_compat_ipc_event_helper
+ - id: graphics/lz_classic_test_ltracing_compat_ipc_event_helper_dynamic
+ summary: Run test_ltracing_compat_ipc_event_helper_dynamic from level-zero-tests (classic)
+ command: lz_host.py run-test test_ltracing_compat_ipc_event_helper_dynamic
+ - id: graphics/lz_classic_test_ltracing_ipc_event_helper
+ summary: Run test_ltracing_ipc_event_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_ltracing_ipc_event_helper
+ - id: graphics/lz_classic_test_ltracing_ipc_event_helper_dynamic
+ summary: Run test_ltracing_ipc_event_helper_dynamic from level-zero-tests (classic)
+ command: lz_host.py run-test test_ltracing_ipc_event_helper_dynamic
+ - id: graphics/lz_classic_test_memory
+ summary: Run test_memory from level-zero-tests (classic)
+ command: lz_host.py run-test test_memory
+ - id: graphics/lz_classic_test_memory_overcommit
+ summary: Run test_memory_overcommit from level-zero-tests (classic)
+ command: lz_host.py run-test test_memory_overcommit
+ - id: graphics/lz_classic_test_metric
+ summary: Run test_metric from level-zero-tests (classic)
+ command: lz_host.py run-test test_metric
+ - id: graphics/lz_classic_test_metric_enable
+ summary: Run test_metric_enable from level-zero-tests (classic)
+ command: lz_host.py run-test test_metric_enable
+ - id: graphics/lz_classic_test_metric_errors
+ summary: Run test_metric_errors from level-zero-tests (classic)
+ command: lz_host.py run-test test_metric_errors
+ - id: graphics/lz_classic_test_metric_helper
+ summary: Run test_metric_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_metric_helper
+ - id: graphics/lz_classic_test_module
+ summary: Run test_module from level-zero-tests (classic)
+ command: lz_host.py run-test test_module
+ - id: graphics/lz_classic_test_module_errors
+ summary: Run test_module_errors from level-zero-tests (classic)
+ command: lz_host.py run-test test_module_errors
+ - id: graphics/lz_classic_test_multiprocess
+ summary: Run test_multiprocess from level-zero-tests (classic)
+ command: lz_host.py run-test test_multiprocess
+ - id: graphics/lz_classic_test_multithread
+ summary: Run test_multithread from level-zero-tests (classic)
+ command: lz_host.py run-test test_multithread
+ - id: graphics/lz_classic_test_mutable_cmdlist
+ summary: Run test_mutable_cmdlist from level-zero-tests (classic)
+ command: lz_host.py run-test test_mutable_cmdlist
+ - id: graphics/lz_classic_test_p2p
+ summary: Run test_p2p from level-zero-tests (classic)
+ command: lz_host.py run-test test_p2p
+ - id: graphics/lz_classic_test_pci_device_order_helper
+ summary: Run test_pci_device_order_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_pci_device_order_helper
+ - id: graphics/lz_classic_test_pin
+ summary: Run test_pin from level-zero-tests (classic)
+ command: lz_host.py run-test test_pin
+ - id: graphics/lz_classic_test_process_helper
+ summary: Run test_process_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_process_helper
+ - id: graphics/lz_classic_test_residency
+ summary: Run test_residency from level-zero-tests (classic)
+ command: lz_host.py run-test test_residency
+ - id: graphics/lz_classic_test_sampler
+ summary: Run test_sampler from level-zero-tests (classic)
+ command: lz_host.py run-test test_sampler
+ - id: graphics/lz_classic_test_stress_atomics
+ summary: Run test_stress_atomics from level-zero-tests (classic)
+ command: lz_host.py run-test test_stress_atomics
+ - id: graphics/lz_classic_test_stress_commands_overloading
+ summary: Run test_stress_commands_overloading from level-zero-tests (classic)
+ command: lz_host.py run-test test_stress_commands_overloading
+ - id: graphics/lz_classic_test_stress_memory_allocation
+ summary: Run test_stress_memory_allocation from level-zero-tests (classic)
+ command: lz_host.py run-test test_stress_memory_allocation
+ - id: graphics/lz_classic_test_stress_misc
+ summary: Run test_stress_misc from level-zero-tests (classic)
+ command: lz_host.py run-test test_stress_misc
+ - id: graphics/lz_classic_test_sysman_device
+ summary: Run test_sysman_device from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_device
+ - id: graphics/lz_classic_test_sysman_device_helper_zesinit
+ summary: Run test_sysman_device_helper_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_device_helper_zesinit
+ - id: graphics/lz_classic_test_sysman_device_hierarchy_helper
+ summary: Run test_sysman_device_hierarchy_helper from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_device_hierarchy_helper
+ - id: graphics/lz_classic_test_sysman_device_hierarchy_helper_zesinit
+ summary: Run test_sysman_device_hierarchy_helper_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_device_hierarchy_helper_zesinit
+ - id: graphics/lz_classic_test_sysman_device_zesinit
+ summary: Run test_sysman_device_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_device_zesinit
+ - id: graphics/lz_classic_test_sysman_diagnostics
+ summary: Run test_sysman_diagnostics from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_diagnostics
+ - id: graphics/lz_classic_test_sysman_diagnostics_zesinit
+ summary: Run test_sysman_diagnostics_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_diagnostics_zesinit
+ - id: graphics/lz_classic_test_sysman_ecc
+ summary: Run test_sysman_ecc from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_ecc
+ - id: graphics/lz_classic_test_sysman_ecc_zesinit
+ summary: Run test_sysman_ecc_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_ecc_zesinit
+ - id: graphics/lz_classic_test_sysman_engine
+ summary: Run test_sysman_engine from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_engine
+ - id: graphics/lz_classic_test_sysman_engine_zesinit
+ summary: Run test_sysman_engine_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_engine_zesinit
+ - id: graphics/lz_classic_test_sysman_events
+ summary: Run test_sysman_events from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_events
+ - id: graphics/lz_classic_test_sysman_events_zesinit
+ summary: Run test_sysman_events_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_events_zesinit
+ - id: graphics/lz_classic_test_sysman_fabric
+ summary: Run test_sysman_fabric from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_fabric
+ - id: graphics/lz_classic_test_sysman_fabric_zesinit
+ summary: Run test_sysman_fabric_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_fabric_zesinit
+ - id: graphics/lz_classic_test_sysman_fan
+ summary: Run test_sysman_fan from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_fan
+ - id: graphics/lz_classic_test_sysman_fan_zesinit
+ summary: Run test_sysman_fan_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_fan_zesinit
+ - id: graphics/lz_classic_test_sysman_firmware
+ summary: Run test_sysman_firmware from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_firmware
+ - id: graphics/lz_classic_test_sysman_firmware_zesinit
+ summary: Run test_sysman_firmware_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_firmware_zesinit
+ - id: graphics/lz_classic_test_sysman_frequency
+ summary: Run test_sysman_frequency from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_frequency
+ - id: graphics/lz_classic_test_sysman_frequency_zesinit
+ summary: Run test_sysman_frequency_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_frequency_zesinit
+ - id: graphics/lz_classic_test_sysman_led
+ summary: Run test_sysman_led from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_led
+ - id: graphics/lz_classic_test_sysman_led_zesinit
+ summary: Run test_sysman_led_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_led_zesinit
+ - id: graphics/lz_classic_test_sysman_memory
+ summary: Run test_sysman_memory from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_memory
+ - id: graphics/lz_classic_test_sysman_memory_zesinit
+ summary: Run test_sysman_memory_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_memory_zesinit
+ - id: graphics/lz_classic_test_sysman_overclocking
+ summary: Run test_sysman_overclocking from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_overclocking
+ - id: graphics/lz_classic_test_sysman_overclocking_zesinit
+ summary: Run test_sysman_overclocking_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_overclocking_zesinit
+ - id: graphics/lz_classic_test_sysman_pci
+ summary: Run test_sysman_pci from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_pci
+ - id: graphics/lz_classic_test_sysman_pci_zesinit
+ summary: Run test_sysman_pci_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_pci_zesinit
+ - id: graphics/lz_classic_test_sysman_performance
+ summary: Run test_sysman_performance from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_performance
+ - id: graphics/lz_classic_test_sysman_performance_zesinit
+ summary: Run test_sysman_performance_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_performance_zesinit
+ - id: graphics/lz_classic_test_sysman_power
+ summary: Run test_sysman_power from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_power
+ - id: graphics/lz_classic_test_sysman_power_zesinit
+ summary: Run test_sysman_power_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_power_zesinit
+ - id: graphics/lz_classic_test_sysman_psu
+ summary: Run test_sysman_psu from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_psu
+ - id: graphics/lz_classic_test_sysman_psu_zesinit
+ summary: Run test_sysman_psu_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_psu_zesinit
+ - id: graphics/lz_classic_test_sysman_ras
+ summary: Run test_sysman_ras from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_ras
+ - id: graphics/lz_classic_test_sysman_ras_zesinit
+ summary: Run test_sysman_ras_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_ras_zesinit
+ - id: graphics/lz_classic_test_sysman_scheduler
+ summary: Run test_sysman_scheduler from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_scheduler
+ - id: graphics/lz_classic_test_sysman_scheduler_zesinit
+ summary: Run test_sysman_scheduler_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_scheduler_zesinit
+ - id: graphics/lz_classic_test_sysman_standby
+ summary: Run test_sysman_standby from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_standby
+ - id: graphics/lz_classic_test_sysman_standby_zesinit
+ summary: Run test_sysman_standby_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_standby_zesinit
+ - id: graphics/lz_classic_test_sysman_temperature
+ summary: Run test_sysman_temperature from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_temperature
+ - id: graphics/lz_classic_test_sysman_temperature_zesinit
+ summary: Run test_sysman_temperature_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_temperature_zesinit
+ - id: graphics/lz_classic_test_sysman_vf_management
+ summary: Run test_sysman_vf_management from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_vf_management
+ - id: graphics/lz_classic_test_sysman_vf_management_zesinit
+ summary: Run test_sysman_vf_management_zesinit from level-zero-tests (classic)
+ command: lz_host.py run-test test_sysman_vf_management_zesinit
+ - id: graphics/lz_classic_test_template
+ summary: Run test_template from level-zero-tests (classic)
+ command: lz_host.py run-test test_template
+ - id: graphics/lz_classic_test_usm
+ summary: Run test_usm from level-zero-tests (classic)
+ command: lz_host.py run-test test_usm
+ - id: graphics/lz_classic_test_zesdevice_errors
+ summary: Run test_zesdevice_errors from level-zero-tests (classic)
+ command: lz_host.py run-test test_zesdevice_errors
diff --git a/providers/base/units/graphics/opencl-cts.pxu b/providers/base/units/graphics/opencl-cts.pxu
deleted file mode 100644
index f90804867c..0000000000
--- a/providers/base/units/graphics/opencl-cts.pxu
+++ /dev/null
@@ -1,439 +0,0 @@
-unit: job
-plugin: shell
-id: setup/install_opencl_cts
-category_id: com.canonical.plainbox::graphics
-_summary: Install opencl-cts snap
-_purpose:
- This job will install the opencl-cts snap, a dependency of opencl conformance testing
-user: root
-command:
- if snap list opencl-cts &>/dev/null; then
- snap refresh --beta opencl-cts
- else
- snap install --beta opencl-cts
- fi
-estimated_duration: 1m
-
-unit: job
-plugin: shell
-id: graphics/cl_gpu_avail
-category_id: com.canonical.plainbox::graphics
-user: root
-requires:
- executable.name == 'clinfo'
-_summary: Checks for GPU for OpenCL
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
-estimated_duration: 1s
-command:
- if clinfo --prop CL_DEVICE_TYPE | grep -q CL_DEVICE_TYPE_GPU; then
- echo "PASS: Found a GPU for OpenCL"
- else
- echo "FAIL: No GPU available in clinfo"
- exit 1
- fi
-
-id: graphics/cl_core_basic
-depends:
- graphics/cl_gpu_avail
- setup/install_opencl_cts
-category_id: com.canonical.plainbox::graphics
-flags: simple
-user: root
-_summary: Run the basic tests from OpenCL-CTS (core)
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
-estimated_duration: 5m
-command: opencl-cts.test basic/test_basic
-_siblings: [
- { "id": "graphics/cl_core_geometrics",
- "_summary": "Run the geometrics tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test geometrics/test_geometrics" },
- { "id": "graphics/cl_core_api",
- "_summary": "Run the api tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test api/test_api" },
- { "id": "graphics/cl_core_compiler",
- "_summary": "Run the compiler tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test compiler/test_compiler" },
- { "id": "graphics/cl_core_commonfns",
- "_summary": "Run the commonfns tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test commonfns/test_commonfns" },
- { "id": "graphics/cl_core_relationals",
- "_summary": "Run the relationals tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test relationals/test_relationals" },
- { "id": "graphics/cl_core_thread_dimensions",
- "_summary": "Run the thread_dimensions tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test thread_dimensions/test_thread_dimensions full*" },
- { "id": "graphics/cl_core_mult_device_contexts",
- "_summary": "Run the mult_device_contexts tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test multiple_device_context/test_multiples" },
- { "id": "graphics/cl_core_atomics",
- "_summary": "Run the atomics tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test atomics/test_atomics" },
- { "id": "graphics/cl_core_profiling",
- "_summary": "Run the profiling tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test profiling/test_profiling" },
- { "id": "graphics/cl_core_events",
- "_summary": "Run the events tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test events/test_events" },
- { "id": "graphics/cl_core_allocations_single",
- "_summary": "Run the allocations_single tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test allocations/test_allocations single 5 all" },
- { "id": "graphics/cl_core_allocations_multiple",
- "_summary": "Run the allocations_multiple tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test allocations/test_allocations multiple 5 all" },
- { "id": "graphics/cl_core_vectors",
- "_summary": "Run the vectors tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test vectors/test_vectors" },
- { "id": "graphics/cl_core_printf",
- "_summary": "Run the printf tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test printf/test_printf" },
- { "id": "graphics/cl_core_dev_partition",
- "_summary": "Run the dev_partition tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test device_partition/test_device_partition" },
- { "id": "graphics/cl_core_buffers",
- "_summary": "Run the buffers tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test buffers/test_buffers" },
- { "id": "graphics/cl_core_cl_get_info",
- "_summary": "Run the cl_get_info tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/clGetInfo/test_cl_get_info" },
- { "id": "graphics/cl_core_kernel_image_methods",
- "_summary": "Run the kernel_image_methods tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/kernel_image_methods/test_kernel_image_methods" },
- { "id": "graphics/cl_core_image_streams_nearest",
- "_summary": "Run the image_streams_nearest tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/kernel_read_write/test_image_streams CL_FILTER_NEAREST" },
- { "id": "graphics/cl_core_image_streams_pitches_nearest",
- "_summary": "Run the image_streams_pitches_nearest tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/kernel_read_write/test_image_streams use_pitches CL_FILTER_NEAREST" },
- { "id": "graphics/cl_core_image_streams_max_nearest",
- "_summary": "Run the image_streams_max_nearest tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/kernel_read_write/test_image_streams max_images CL_FILTER_NEAREST" },
- { "id": "graphics/cl_core_cl_copy_images",
- "_summary": "Run the cl_copy_images tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/clCopyImage/test_cl_copy_images" },
- { "id": "graphics/cl_core_cl_copy_small_images",
- "_summary": "Run the cl_copy_small_images tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/clCopyImage/test_cl_copy_images small_images" },
- { "id": "graphics/cl_core_cl_copy_max_images",
- "_summary": "Run the cl_copy_max_images tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/clCopyImage/test_cl_copy_images max_images" },
- { "id": "graphics/cl_core_read_write_images",
- "_summary": "Run the read_write_images tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/clReadWriteImage/test_cl_read_write_images" },
- { "id": "graphics/cl_core_read_write_images_pitches",
- "_summary": "Run the read_write_images_pitches tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/clReadWriteImage/test_cl_read_write_images use_pitches" },
- { "id": "graphics/cl_core_read_write_max_images",
- "_summary": "Run the read_write_max_images tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/clReadWriteImage/test_cl_read_write_images max_images" },
- { "id": "graphics/cl_core_cl_fill_images",
- "_summary": "Run the cl_fill_images tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/clFillImage/test_cl_fill_images" },
- { "id": "graphics/cl_core_cl_fill_images_pitches",
- "_summary": "Run the cl_fill_images_pitches tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/clFillImage/test_cl_fill_images use_pitches" },
- { "id": "graphics/cl_core_cl_fill_images_max",
- "_summary": "Run the cl_fill_images_max tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/clFillImage/test_cl_fill_images max_images" },
- { "id": "graphics/cl_core_samplerless_reads",
- "_summary": "Run the samplerless_reads tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/samplerlessReads/test_samplerless_reads" },
- { "id": "graphics/cl_core_samplerless_reads_pitches",
- "_summary": "Run the samplerless_reads_pitches tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/samplerlessReads/test_samplerless_reads use_pitches" },
- { "id": "graphics/cl_core_samplerless_reads_max",
- "_summary": "Run the samplerless_reads_max tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/samplerlessReads/test_samplerless_reads max_images" },
- { "id": "graphics/cl_core_mem_host_flags",
- "_summary": "Run the mem_host_flags tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test mem_host_flags/test_mem_host_flags" },
- { "id": "graphics/cl_core_image_streams_linear",
- "_summary": "Run the image_streams_linear tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/kernel_read_write/test_image_streams CL_FILTER_LINEAR" },
- { "id": "graphics/cl_core_image_streams_linear_pitches",
- "_summary": "Run the image_streams_linear_pitches tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/kernel_read_write/test_image_streams use_pitches CL_FILTER_LINEAR" },
- { "id": "graphics/cl_core_image_streams_linear_max",
- "_summary": "Run the image_streams_linear_max tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/kernel_read_write/test_image_streams max_images CL_FILTER_LINEAR" },
- { "id": "graphics/cl_core_gl",
- "_summary": "Run the gl tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test gl/test_gl" },
- { "id": "graphics/cl_core_select",
- "_summary": "Run the select tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test select/test_select" },
- { "id": "graphics/cl_core_conversions",
- "_summary": "Run the conversions tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test conversions/test_conversions" },
- { "id": "graphics/cl_core_contractions",
- "_summary": "Run the contractions tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test contractions/test_contractions" },
- { "id": "graphics/cl_core_bruteforce",
- "_summary": "Run the bruteforce tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test math_brute_force/test_bruteforce" },
- { "id": "graphics/cl_core_integer_ops",
- "_summary": "Run the integer_ops tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test integer_ops/test_integer_ops" },
- { "id": "graphics/cl_core_half",
- "_summary": "Run the half tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test half/test_half" },
- { "id": "graphics/cl_core_c11_atomics",
- "_summary": "Run the c11_atomics tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test c11_atomics/test_c11_atomics" },
- { "id": "graphics/cl_core_device_execution",
- "_summary": "Run the device_execution tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test device_execution/test_device_execution" },
- { "id": "graphics/cl_core_addr_space",
- "_summary": "Run the addr_space tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test generic_address_space/test_generic_address_space" },
- { "id": "graphics/cl_core_non_uniform_work_group",
- "_summary": "Run the non_uniform_work_group tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test non_uniform_work_group/test_non_uniform_work_group" },
- { "id": "graphics/cl_core_pipes",
- "_summary": "Run the pipes tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test pipes/test_pipes" },
- { "id": "graphics/cl_core_svm",
- "_summary": "Run the svm tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test SVM/test_svm" },
- { "id": "graphics/cl_core_workgroups",
- "_summary": "Run the workgroups tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test workgroups/test_workgroups" },
- { "id": "graphics/cl_core_device_timer",
- "_summary": "Run the device_timer tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test device_timer/test_device_timer" },
- { "id": "graphics/cl_core_spirv_new",
- "_summary": "Run the spirv_new tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test spirv_new/test_spirv_new --spirv-binaries-path spirv_bin" },
- { "id": "graphics/cl_core_spir",
- "_summary": "Run the spir tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test spir/test_spir no-unzip" },
- { "id": "graphics/cl_core_image_streams_mipmaps",
- "_summary": "Run the image_streams_mipmaps tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/kernel_read_write/test_image_streams test_mipmaps CL_FILTER_NEAREST" },
- { "id": "graphics/cl_core_cl_copy_images_mipmaps",
- "_summary": "Run the cl_copy_images_mipmaps tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/clCopyImage/test_cl_copy_images test_mipmaps" },
- { "id": "graphics/cl_core_cl_read_write_images_mipmaps",
- "_summary": "Run the cl_read_write_images_mipmaps tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test images/clReadWriteImage/test_cl_read_write_images test_mipmaps" },
- { "id": "graphics/cl_core_subgroups",
- "_summary": "Run the subgroups tests from OpenCL-CTS (core)",
- "command": "opencl-cts.test subgroups/test_subgroups" }]
-
-unit: job
-plugin: shell
-id: graphics/cl_host_gpu_avail
-category_id: com.canonical.plainbox::graphics
-user: root
-requires:
- executable.name == 'clinfo'
-_summary: Checks for GPU for OpenCL using host drivers
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
- PATH
-estimated_duration: 1s
-command: cl_host.py resource
-
-unit: job
-plugin: shell
-id: graphics/cl_host_ocl_avail
-category_id: com.canonical.plainbox::graphics
-user: root
-_summary: Checks for host OpenCL ICD loader required by opencl-cts --no-confinement
-estimated_duration: 1s
-command: cl_host.py validate-install
-
-id: graphics/cl_host_basic
-depends:
- graphics/cl_host_gpu_avail
- graphics/cl_host_ocl_avail
-setup_include:
- setup/install_opencl_cts
-category_id: com.canonical.plainbox::graphics
-flags: simple
-user: root
-_summary: Run the basic tests from OpenCL-CTS (host)
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
-estimated_duration: 5m
-command: cl_host.py run-test basic/test_basic
-_siblings: [
- { "id": "graphics/cl_host_geometrics",
- "_summary": "Run the geometrics tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test geometrics/test_geometrics" },
- { "id": "graphics/cl_host_api",
- "_summary": "Run the api tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test api/test_api" },
- { "id": "graphics/cl_host_compiler",
- "_summary": "Run the compiler tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test compiler/test_compiler" },
- { "id": "graphics/cl_host_commonfns",
- "_summary": "Run the commonfns tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test commonfns/test_commonfns" },
- { "id": "graphics/cl_host_relationals",
- "_summary": "Run the relationals tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test relationals/test_relationals" },
- { "id": "graphics/cl_host_thread_dimensions",
- "_summary": "Run the thread_dimensions tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test thread_dimensions/test_thread_dimensions full*" },
- { "id": "graphics/cl_host_mult_device_contexts",
- "_summary": "Run the mult_device_contexts tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test multiple_device_context/test_multiples" },
- { "id": "graphics/cl_host_atomics",
- "_summary": "Run the atomics tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test atomics/test_atomics" },
- { "id": "graphics/cl_host_profiling",
- "_summary": "Run the profiling tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test profiling/test_profiling" },
- { "id": "graphics/cl_host_events",
- "_summary": "Run the events tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test events/test_events" },
- { "id": "graphics/cl_host_allocations_single",
- "_summary": "Run the allocations_single tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test allocations/test_allocations single 5 all" },
- { "id": "graphics/cl_host_allocations_multiple",
- "_summary": "Run the allocations_multiple tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test allocations/test_allocations multiple 5 all" },
- { "id": "graphics/cl_host_vectors",
- "_summary": "Run the vectors tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test vectors/test_vectors" },
- { "id": "graphics/cl_host_printf",
- "_summary": "Run the printf tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test printf/test_printf" },
- { "id": "graphics/cl_host_dev_partition",
- "_summary": "Run the dev_partition tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test device_partition/test_device_partition" },
- { "id": "graphics/cl_host_buffers",
- "_summary": "Run the buffers tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test buffers/test_buffers" },
- { "id": "graphics/cl_host_cl_get_info",
- "_summary": "Run the cl_get_info tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/clGetInfo/test_cl_get_info" },
- { "id": "graphics/cl_host_kernel_image_methods",
- "_summary": "Run the kernel_image_methods tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/kernel_image_methods/test_kernel_image_methods" },
- { "id": "graphics/cl_host_image_streams_nearest",
- "_summary": "Run the image_streams_nearest tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/kernel_read_write/test_image_streams CL_FILTER_NEAREST" },
- { "id": "graphics/cl_host_image_streams_pitches_nearest",
- "_summary": "Run the image_streams_pitches_nearest tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/kernel_read_write/test_image_streams use_pitches CL_FILTER_NEAREST" },
- { "id": "graphics/cl_host_image_streams_max_nearest",
- "_summary": "Run the image_streams_max_nearest tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/kernel_read_write/test_image_streams max_images CL_FILTER_NEAREST" },
- { "id": "graphics/cl_host_cl_copy_images",
- "_summary": "Run the cl_copy_images tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/clCopyImage/test_cl_copy_images" },
- { "id": "graphics/cl_host_cl_copy_small_images",
- "_summary": "Run the cl_copy_small_images tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/clCopyImage/test_cl_copy_images small_images" },
- { "id": "graphics/cl_host_cl_copy_max_images",
- "_summary": "Run the cl_copy_max_images tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/clCopyImage/test_cl_copy_images max_images" },
- { "id": "graphics/cl_host_read_write_images",
- "_summary": "Run the read_write_images tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/clReadWriteImage/test_cl_read_write_images" },
- { "id": "graphics/cl_host_read_write_images_pitches",
- "_summary": "Run the read_write_images_pitches tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/clReadWriteImage/test_cl_read_write_images use_pitches" },
- { "id": "graphics/cl_host_read_write_max_images",
- "_summary": "Run the read_write_max_images tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/clReadWriteImage/test_cl_read_write_images max_images" },
- { "id": "graphics/cl_host_cl_fill_images",
- "_summary": "Run the cl_fill_images tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/clFillImage/test_cl_fill_images" },
- { "id": "graphics/cl_host_cl_fill_images_pitches",
- "_summary": "Run the cl_fill_images_pitches tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/clFillImage/test_cl_fill_images use_pitches" },
- { "id": "graphics/cl_host_cl_fill_images_max",
- "_summary": "Run the cl_fill_images_max tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/clFillImage/test_cl_fill_images max_images" },
- { "id": "graphics/cl_host_samplerless_reads",
- "_summary": "Run the samplerless_reads tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/samplerlessReads/test_samplerless_reads" },
- { "id": "graphics/cl_host_samplerless_reads_pitches",
- "_summary": "Run the samplerless_reads_pitches tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/samplerlessReads/test_samplerless_reads use_pitches" },
- { "id": "graphics/cl_host_samplerless_reads_max",
- "_summary": "Run the samplerless_reads_max tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/samplerlessReads/test_samplerless_reads max_images" },
- { "id": "graphics/cl_host_mem_host_flags",
- "_summary": "Run the mem_host_flags tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test mem_host_flags/test_mem_host_flags" },
- { "id": "graphics/cl_host_image_streams_linear",
- "_summary": "Run the image_streams_linear tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/kernel_read_write/test_image_streams CL_FILTER_LINEAR" },
- { "id": "graphics/cl_host_image_streams_linear_pitches",
- "_summary": "Run the image_streams_linear_pitches tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/kernel_read_write/test_image_streams use_pitches CL_FILTER_LINEAR" },
- { "id": "graphics/cl_host_image_streams_linear_max",
- "_summary": "Run the image_streams_linear_max tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/kernel_read_write/test_image_streams max_images CL_FILTER_LINEAR" },
- { "id": "graphics/cl_host_gl",
- "_summary": "Run the gl tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test gl/test_gl" },
- { "id": "graphics/cl_host_select",
- "_summary": "Run the select tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test select/test_select" },
- { "id": "graphics/cl_host_conversions",
- "_summary": "Run the conversions tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test conversions/test_conversions" },
- { "id": "graphics/cl_host_contractions",
- "_summary": "Run the contractions tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test contractions/test_contractions" },
- { "id": "graphics/cl_host_bruteforce",
- "_summary": "Run the bruteforce tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test math_brute_force/test_bruteforce" },
- { "id": "graphics/cl_host_integer_ops",
- "_summary": "Run the integer_ops tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test integer_ops/test_integer_ops" },
- { "id": "graphics/cl_host_half",
- "_summary": "Run the half tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test half/test_half" },
- { "id": "graphics/cl_host_c11_atomics",
- "_summary": "Run the c11_atomics tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test c11_atomics/test_c11_atomics" },
- { "id": "graphics/cl_host_device_execution",
- "_summary": "Run the device_execution tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test device_execution/test_device_execution" },
- { "id": "graphics/cl_host_addr_space",
- "_summary": "Run the addr_space tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test generic_address_space/test_generic_address_space" },
- { "id": "graphics/cl_host_non_uniform_work_group",
- "_summary": "Run the non_uniform_work_group tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test non_uniform_work_group/test_non_uniform_work_group" },
- { "id": "graphics/cl_host_pipes",
- "_summary": "Run the pipes tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test pipes/test_pipes" },
- { "id": "graphics/cl_host_svm",
- "_summary": "Run the svm tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test SVM/test_svm" },
- { "id": "graphics/cl_host_workgroups",
- "_summary": "Run the workgroups tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test workgroups/test_workgroups" },
- { "id": "graphics/cl_host_device_timer",
- "_summary": "Run the device_timer tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test device_timer/test_device_timer" },
- { "id": "graphics/cl_host_spirv_new",
- "_summary": "Run the spirv_new tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test spirv_new/test_spirv_new --spirv-binaries-path spirv_bin" },
- { "id": "graphics/cl_host_spir",
- "_summary": "Run the spir tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test spir/test_spir no-unzip" },
- { "id": "graphics/cl_host_image_streams_mipmaps",
- "_summary": "Run the image_streams_mipmaps tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/kernel_read_write/test_image_streams test_mipmaps CL_FILTER_NEAREST" },
- { "id": "graphics/cl_host_cl_copy_images_mipmaps",
- "_summary": "Run the cl_copy_images_mipmaps tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/clCopyImage/test_cl_copy_images test_mipmaps" },
- { "id": "graphics/cl_host_cl_read_write_images_mipmaps",
- "_summary": "Run the cl_read_write_images_mipmaps tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test images/clReadWriteImage/test_cl_read_write_images test_mipmaps" },
- { "id": "graphics/cl_host_subgroups",
- "_summary": "Run the subgroups tests from OpenCL-CTS (host)",
- "command": "cl_host.py run-test subgroups/test_subgroups" }]
diff --git a/providers/base/units/graphics/opencl-cts.yaml b/providers/base/units/graphics/opencl-cts.yaml
new file mode 100644
index 0000000000..f0dfeac380
--- /dev/null
+++ b/providers/base/units/graphics/opencl-cts.yaml
@@ -0,0 +1,436 @@
+unit: setup job
+plugin: shell
+id: setup/install_opencl_cts
+category_id: com.canonical.plainbox::graphics
+summary: Install opencl-cts snap
+user: root
+command: |
+ if snap list opencl-cts &>/dev/null; then
+ snap refresh --beta opencl-cts
+ else
+ snap install --beta opencl-cts
+ fi
+estimated_duration: 1m
+---
+unit: job
+plugin: shell
+id: graphics/cl_gpu_avail
+category_id: com.canonical.plainbox::graphics
+user: root
+requires:
+ - executable.name == 'clinfo'
+summary: Checks for GPU for OpenCL
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+estimated_duration: 1s
+command: |
+ if clinfo --prop CL_DEVICE_TYPE | grep -q CL_DEVICE_TYPE_GPU; then
+ echo "PASS: Found a GPU for OpenCL"
+ else
+ echo "FAIL: No GPU available in clinfo"
+ exit 1
+ fi
+---
+id: graphics/cl_core_basic
+depends:
+ - graphics/cl_gpu_avail
+category_id: com.canonical.plainbox::graphics
+flags:
+ - simple
+user: root
+summary: Run the basic tests from OpenCL-CTS (core)
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+estimated_duration: 5m
+command: opencl-cts.test basic/test_basic
+siblings:
+ - id: graphics/cl_core_geometrics
+ summary: Run the geometrics tests from OpenCL-CTS (core)
+ command: opencl-cts.test geometrics/test_geometrics
+ - id: graphics/cl_core_api
+ summary: Run the api tests from OpenCL-CTS (core)
+ command: opencl-cts.test api/test_api
+ - id: graphics/cl_core_compiler
+ summary: Run the compiler tests from OpenCL-CTS (core)
+ command: opencl-cts.test compiler/test_compiler
+ - id: graphics/cl_core_commonfns
+ summary: Run the commonfns tests from OpenCL-CTS (core)
+ command: opencl-cts.test commonfns/test_commonfns
+ - id: graphics/cl_core_relationals
+ summary: Run the relationals tests from OpenCL-CTS (core)
+ command: opencl-cts.test relationals/test_relationals
+ - id: graphics/cl_core_thread_dimensions
+ summary: Run the thread_dimensions tests from OpenCL-CTS (core)
+ command: opencl-cts.test thread_dimensions/test_thread_dimensions full*
+ - id: graphics/cl_core_mult_device_contexts
+ summary: Run the mult_device_contexts tests from OpenCL-CTS (core)
+ command: opencl-cts.test multiple_device_context/test_multiples
+ - id: graphics/cl_core_atomics
+ summary: Run the atomics tests from OpenCL-CTS (core)
+ command: opencl-cts.test atomics/test_atomics
+ - id: graphics/cl_core_profiling
+ summary: Run the profiling tests from OpenCL-CTS (core)
+ command: opencl-cts.test profiling/test_profiling
+ - id: graphics/cl_core_events
+ summary: Run the events tests from OpenCL-CTS (core)
+ command: opencl-cts.test events/test_events
+ - id: graphics/cl_core_allocations_single
+ summary: Run the allocations_single tests from OpenCL-CTS (core)
+ command: opencl-cts.test allocations/test_allocations single 5 all
+ - id: graphics/cl_core_allocations_multiple
+ summary: Run the allocations_multiple tests from OpenCL-CTS (core)
+ command: opencl-cts.test allocations/test_allocations multiple 5 all
+ - id: graphics/cl_core_vectors
+ summary: Run the vectors tests from OpenCL-CTS (core)
+ command: opencl-cts.test vectors/test_vectors
+ - id: graphics/cl_core_printf
+ summary: Run the printf tests from OpenCL-CTS (core)
+ command: opencl-cts.test printf/test_printf
+ - id: graphics/cl_core_dev_partition
+ summary: Run the dev_partition tests from OpenCL-CTS (core)
+ command: opencl-cts.test device_partition/test_device_partition
+ - id: graphics/cl_core_buffers
+ summary: Run the buffers tests from OpenCL-CTS (core)
+ command: opencl-cts.test buffers/test_buffers
+ - id: graphics/cl_core_cl_get_info
+ summary: Run the cl_get_info tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/clGetInfo/test_cl_get_info
+ - id: graphics/cl_core_kernel_image_methods
+ summary: Run the kernel_image_methods tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/kernel_image_methods/test_kernel_image_methods
+ - id: graphics/cl_core_image_streams_nearest
+ summary: Run the image_streams_nearest tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/kernel_read_write/test_image_streams CL_FILTER_NEAREST
+ - id: graphics/cl_core_image_streams_pitches_nearest
+ summary: Run the image_streams_pitches_nearest tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/kernel_read_write/test_image_streams use_pitches CL_FILTER_NEAREST
+ - id: graphics/cl_core_image_streams_max_nearest
+ summary: Run the image_streams_max_nearest tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/kernel_read_write/test_image_streams max_images CL_FILTER_NEAREST
+ - id: graphics/cl_core_cl_copy_images
+ summary: Run the cl_copy_images tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/clCopyImage/test_cl_copy_images
+ - id: graphics/cl_core_cl_copy_small_images
+ summary: Run the cl_copy_small_images tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/clCopyImage/test_cl_copy_images small_images
+ - id: graphics/cl_core_cl_copy_max_images
+ summary: Run the cl_copy_max_images tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/clCopyImage/test_cl_copy_images max_images
+ - id: graphics/cl_core_read_write_images
+ summary: Run the read_write_images tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/clReadWriteImage/test_cl_read_write_images
+ - id: graphics/cl_core_read_write_images_pitches
+ summary: Run the read_write_images_pitches tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/clReadWriteImage/test_cl_read_write_images use_pitches
+ - id: graphics/cl_core_read_write_max_images
+ summary: Run the read_write_max_images tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/clReadWriteImage/test_cl_read_write_images max_images
+ - id: graphics/cl_core_cl_fill_images
+ summary: Run the cl_fill_images tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/clFillImage/test_cl_fill_images
+ - id: graphics/cl_core_cl_fill_images_pitches
+ summary: Run the cl_fill_images_pitches tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/clFillImage/test_cl_fill_images use_pitches
+ - id: graphics/cl_core_cl_fill_images_max
+ summary: Run the cl_fill_images_max tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/clFillImage/test_cl_fill_images max_images
+ - id: graphics/cl_core_samplerless_reads
+ summary: Run the samplerless_reads tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/samplerlessReads/test_samplerless_reads
+ - id: graphics/cl_core_samplerless_reads_pitches
+ summary: Run the samplerless_reads_pitches tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/samplerlessReads/test_samplerless_reads use_pitches
+ - id: graphics/cl_core_samplerless_reads_max
+ summary: Run the samplerless_reads_max tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/samplerlessReads/test_samplerless_reads max_images
+ - id: graphics/cl_core_mem_host_flags
+ summary: Run the mem_host_flags tests from OpenCL-CTS (core)
+ command: opencl-cts.test mem_host_flags/test_mem_host_flags
+ - id: graphics/cl_core_image_streams_linear
+ summary: Run the image_streams_linear tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/kernel_read_write/test_image_streams CL_FILTER_LINEAR
+ - id: graphics/cl_core_image_streams_linear_pitches
+ summary: Run the image_streams_linear_pitches tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/kernel_read_write/test_image_streams use_pitches CL_FILTER_LINEAR
+ - id: graphics/cl_core_image_streams_linear_max
+ summary: Run the image_streams_linear_max tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/kernel_read_write/test_image_streams max_images CL_FILTER_LINEAR
+ - id: graphics/cl_core_gl
+ summary: Run the gl tests from OpenCL-CTS (core)
+ command: opencl-cts.test gl/test_gl
+ - id: graphics/cl_core_select
+ summary: Run the select tests from OpenCL-CTS (core)
+ command: opencl-cts.test select/test_select
+ - id: graphics/cl_core_conversions
+ summary: Run the conversions tests from OpenCL-CTS (core)
+ command: opencl-cts.test conversions/test_conversions
+ - id: graphics/cl_core_contractions
+ summary: Run the contractions tests from OpenCL-CTS (core)
+ command: opencl-cts.test contractions/test_contractions
+ - id: graphics/cl_core_bruteforce
+ summary: Run the bruteforce tests from OpenCL-CTS (core)
+ command: opencl-cts.test math_brute_force/test_bruteforce
+ - id: graphics/cl_core_integer_ops
+ summary: Run the integer_ops tests from OpenCL-CTS (core)
+ command: opencl-cts.test integer_ops/test_integer_ops
+ - id: graphics/cl_core_half
+ summary: Run the half tests from OpenCL-CTS (core)
+ command: opencl-cts.test half/test_half
+ - id: graphics/cl_core_c11_atomics
+ summary: Run the c11_atomics tests from OpenCL-CTS (core)
+ command: opencl-cts.test c11_atomics/test_c11_atomics
+ - id: graphics/cl_core_device_execution
+ summary: Run the device_execution tests from OpenCL-CTS (core)
+ command: opencl-cts.test device_execution/test_device_execution
+ - id: graphics/cl_core_addr_space
+ summary: Run the addr_space tests from OpenCL-CTS (core)
+ command: opencl-cts.test generic_address_space/test_generic_address_space
+ - id: graphics/cl_core_non_uniform_work_group
+ summary: Run the non_uniform_work_group tests from OpenCL-CTS (core)
+ command: opencl-cts.test non_uniform_work_group/test_non_uniform_work_group
+ - id: graphics/cl_core_pipes
+ summary: Run the pipes tests from OpenCL-CTS (core)
+ command: opencl-cts.test pipes/test_pipes
+ - id: graphics/cl_core_svm
+ summary: Run the svm tests from OpenCL-CTS (core)
+ command: opencl-cts.test SVM/test_svm
+ - id: graphics/cl_core_workgroups
+ summary: Run the workgroups tests from OpenCL-CTS (core)
+ command: opencl-cts.test workgroups/test_workgroups
+ - id: graphics/cl_core_device_timer
+ summary: Run the device_timer tests from OpenCL-CTS (core)
+ command: opencl-cts.test device_timer/test_device_timer
+ - id: graphics/cl_core_spirv_new
+ summary: Run the spirv_new tests from OpenCL-CTS (core)
+ command: opencl-cts.test spirv_new/test_spirv_new --spirv-binaries-path spirv_bin
+ - id: graphics/cl_core_spir
+ summary: Run the spir tests from OpenCL-CTS (core)
+ command: opencl-cts.test spir/test_spir no-unzip
+ - id: graphics/cl_core_image_streams_mipmaps
+ summary: Run the image_streams_mipmaps tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/kernel_read_write/test_image_streams test_mipmaps CL_FILTER_NEAREST
+ - id: graphics/cl_core_cl_copy_images_mipmaps
+ summary: Run the cl_copy_images_mipmaps tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/clCopyImage/test_cl_copy_images test_mipmaps
+ - id: graphics/cl_core_cl_read_write_images_mipmaps
+ summary: Run the cl_read_write_images_mipmaps tests from OpenCL-CTS (core)
+ command: opencl-cts.test images/clReadWriteImage/test_cl_read_write_images test_mipmaps
+ - id: graphics/cl_core_subgroups
+ summary: Run the subgroups tests from OpenCL-CTS (core)
+ command: opencl-cts.test subgroups/test_subgroups
+---
+unit: job
+plugin: shell
+id: graphics/cl_host_gpu_avail
+category_id: com.canonical.plainbox::graphics
+user: root
+requires:
+ - executable.name == 'clinfo'
+summary: Checks for GPU for OpenCL using host drivers
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+ - PATH
+estimated_duration: 1s
+command: cl_host.py resource
+---
+unit: job
+plugin: shell
+id: graphics/cl_host_ocl_avail
+category_id: com.canonical.plainbox::graphics
+user: root
+summary: Checks for host OpenCL ICD loader required by opencl-cts --no-confinement
+estimated_duration: 1s
+command: cl_host.py validate-install
+---
+id: graphics/cl_host_basic
+depends:
+ - graphics/cl_host_gpu_avail
+ - graphics/cl_host_ocl_avail
+category_id: com.canonical.plainbox::graphics
+flags:
+ - simple
+user: root
+summary: Run the basic tests from OpenCL-CTS (host)
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+estimated_duration: 5m
+command: cl_host.py run-test basic/test_basic
+siblings:
+ - id: graphics/cl_host_geometrics
+ summary: Run the geometrics tests from OpenCL-CTS (host)
+ command: cl_host.py run-test geometrics/test_geometrics
+ - id: graphics/cl_host_api
+ summary: Run the api tests from OpenCL-CTS (host)
+ command: cl_host.py run-test api/test_api
+ - id: graphics/cl_host_compiler
+ summary: Run the compiler tests from OpenCL-CTS (host)
+ command: cl_host.py run-test compiler/test_compiler
+ - id: graphics/cl_host_commonfns
+ summary: Run the commonfns tests from OpenCL-CTS (host)
+ command: cl_host.py run-test commonfns/test_commonfns
+ - id: graphics/cl_host_relationals
+ summary: Run the relationals tests from OpenCL-CTS (host)
+ command: cl_host.py run-test relationals/test_relationals
+ - id: graphics/cl_host_thread_dimensions
+ summary: Run the thread_dimensions tests from OpenCL-CTS (host)
+ command: cl_host.py run-test thread_dimensions/test_thread_dimensions full*
+ - id: graphics/cl_host_mult_device_contexts
+ summary: Run the mult_device_contexts tests from OpenCL-CTS (host)
+ command: cl_host.py run-test multiple_device_context/test_multiples
+ - id: graphics/cl_host_atomics
+ summary: Run the atomics tests from OpenCL-CTS (host)
+ command: cl_host.py run-test atomics/test_atomics
+ - id: graphics/cl_host_profiling
+ summary: Run the profiling tests from OpenCL-CTS (host)
+ command: cl_host.py run-test profiling/test_profiling
+ - id: graphics/cl_host_events
+ summary: Run the events tests from OpenCL-CTS (host)
+ command: cl_host.py run-test events/test_events
+ - id: graphics/cl_host_allocations_single
+ summary: Run the allocations_single tests from OpenCL-CTS (host)
+ command: cl_host.py run-test allocations/test_allocations single 5 all
+ - id: graphics/cl_host_allocations_multiple
+ summary: Run the allocations_multiple tests from OpenCL-CTS (host)
+ command: cl_host.py run-test allocations/test_allocations multiple 5 all
+ - id: graphics/cl_host_vectors
+ summary: Run the vectors tests from OpenCL-CTS (host)
+ command: cl_host.py run-test vectors/test_vectors
+ - id: graphics/cl_host_printf
+ summary: Run the printf tests from OpenCL-CTS (host)
+ command: cl_host.py run-test printf/test_printf
+ - id: graphics/cl_host_dev_partition
+ summary: Run the dev_partition tests from OpenCL-CTS (host)
+ command: cl_host.py run-test device_partition/test_device_partition
+ - id: graphics/cl_host_buffers
+ summary: Run the buffers tests from OpenCL-CTS (host)
+ command: cl_host.py run-test buffers/test_buffers
+ - id: graphics/cl_host_cl_get_info
+ summary: Run the cl_get_info tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/clGetInfo/test_cl_get_info
+ - id: graphics/cl_host_kernel_image_methods
+ summary: Run the kernel_image_methods tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/kernel_image_methods/test_kernel_image_methods
+ - id: graphics/cl_host_image_streams_nearest
+ summary: Run the image_streams_nearest tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/kernel_read_write/test_image_streams CL_FILTER_NEAREST
+ - id: graphics/cl_host_image_streams_pitches_nearest
+ summary: Run the image_streams_pitches_nearest tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/kernel_read_write/test_image_streams use_pitches CL_FILTER_NEAREST
+ - id: graphics/cl_host_image_streams_max_nearest
+ summary: Run the image_streams_max_nearest tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/kernel_read_write/test_image_streams max_images CL_FILTER_NEAREST
+ - id: graphics/cl_host_cl_copy_images
+ summary: Run the cl_copy_images tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/clCopyImage/test_cl_copy_images
+ - id: graphics/cl_host_cl_copy_small_images
+ summary: Run the cl_copy_small_images tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/clCopyImage/test_cl_copy_images small_images
+ - id: graphics/cl_host_cl_copy_max_images
+ summary: Run the cl_copy_max_images tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/clCopyImage/test_cl_copy_images max_images
+ - id: graphics/cl_host_read_write_images
+ summary: Run the read_write_images tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/clReadWriteImage/test_cl_read_write_images
+ - id: graphics/cl_host_read_write_images_pitches
+ summary: Run the read_write_images_pitches tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/clReadWriteImage/test_cl_read_write_images use_pitches
+ - id: graphics/cl_host_read_write_max_images
+ summary: Run the read_write_max_images tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/clReadWriteImage/test_cl_read_write_images max_images
+ - id: graphics/cl_host_cl_fill_images
+ summary: Run the cl_fill_images tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/clFillImage/test_cl_fill_images
+ - id: graphics/cl_host_cl_fill_images_pitches
+ summary: Run the cl_fill_images_pitches tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/clFillImage/test_cl_fill_images use_pitches
+ - id: graphics/cl_host_cl_fill_images_max
+ summary: Run the cl_fill_images_max tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/clFillImage/test_cl_fill_images max_images
+ - id: graphics/cl_host_samplerless_reads
+ summary: Run the samplerless_reads tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/samplerlessReads/test_samplerless_reads
+ - id: graphics/cl_host_samplerless_reads_pitches
+ summary: Run the samplerless_reads_pitches tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/samplerlessReads/test_samplerless_reads use_pitches
+ - id: graphics/cl_host_samplerless_reads_max
+ summary: Run the samplerless_reads_max tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/samplerlessReads/test_samplerless_reads max_images
+ - id: graphics/cl_host_mem_host_flags
+ summary: Run the mem_host_flags tests from OpenCL-CTS (host)
+ command: cl_host.py run-test mem_host_flags/test_mem_host_flags
+ - id: graphics/cl_host_image_streams_linear
+ summary: Run the image_streams_linear tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/kernel_read_write/test_image_streams CL_FILTER_LINEAR
+ - id: graphics/cl_host_image_streams_linear_pitches
+ summary: Run the image_streams_linear_pitches tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/kernel_read_write/test_image_streams use_pitches CL_FILTER_LINEAR
+ - id: graphics/cl_host_image_streams_linear_max
+ summary: Run the image_streams_linear_max tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/kernel_read_write/test_image_streams max_images CL_FILTER_LINEAR
+ - id: graphics/cl_host_gl
+ summary: Run the gl tests from OpenCL-CTS (host)
+ command: cl_host.py run-test gl/test_gl
+ - id: graphics/cl_host_select
+ summary: Run the select tests from OpenCL-CTS (host)
+ command: cl_host.py run-test select/test_select
+ - id: graphics/cl_host_conversions
+ summary: Run the conversions tests from OpenCL-CTS (host)
+ command: cl_host.py run-test conversions/test_conversions
+ - id: graphics/cl_host_contractions
+ summary: Run the contractions tests from OpenCL-CTS (host)
+ command: cl_host.py run-test contractions/test_contractions
+ - id: graphics/cl_host_bruteforce
+ summary: Run the bruteforce tests from OpenCL-CTS (host)
+ command: cl_host.py run-test math_brute_force/test_bruteforce
+ - id: graphics/cl_host_integer_ops
+ summary: Run the integer_ops tests from OpenCL-CTS (host)
+ command: cl_host.py run-test integer_ops/test_integer_ops
+ - id: graphics/cl_host_half
+ summary: Run the half tests from OpenCL-CTS (host)
+ command: cl_host.py run-test half/test_half
+ - id: graphics/cl_host_c11_atomics
+ summary: Run the c11_atomics tests from OpenCL-CTS (host)
+ command: cl_host.py run-test c11_atomics/test_c11_atomics
+ - id: graphics/cl_host_device_execution
+ summary: Run the device_execution tests from OpenCL-CTS (host)
+ command: cl_host.py run-test device_execution/test_device_execution
+ - id: graphics/cl_host_addr_space
+ summary: Run the addr_space tests from OpenCL-CTS (host)
+ command: cl_host.py run-test generic_address_space/test_generic_address_space
+ - id: graphics/cl_host_non_uniform_work_group
+ summary: Run the non_uniform_work_group tests from OpenCL-CTS (host)
+ command: cl_host.py run-test non_uniform_work_group/test_non_uniform_work_group
+ - id: graphics/cl_host_pipes
+ summary: Run the pipes tests from OpenCL-CTS (host)
+ command: cl_host.py run-test pipes/test_pipes
+ - id: graphics/cl_host_svm
+ summary: Run the svm tests from OpenCL-CTS (host)
+ command: cl_host.py run-test SVM/test_svm
+ - id: graphics/cl_host_workgroups
+ summary: Run the workgroups tests from OpenCL-CTS (host)
+ command: cl_host.py run-test workgroups/test_workgroups
+ - id: graphics/cl_host_device_timer
+ summary: Run the device_timer tests from OpenCL-CTS (host)
+ command: cl_host.py run-test device_timer/test_device_timer
+ - id: graphics/cl_host_spirv_new
+ summary: Run the spirv_new tests from OpenCL-CTS (host)
+ command: cl_host.py run-test spirv_new/test_spirv_new --spirv-binaries-path spirv_bin
+ - id: graphics/cl_host_spir
+ summary: Run the spir tests from OpenCL-CTS (host)
+ command: cl_host.py run-test spir/test_spir no-unzip
+ - id: graphics/cl_host_image_streams_mipmaps
+ summary: Run the image_streams_mipmaps tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/kernel_read_write/test_image_streams test_mipmaps CL_FILTER_NEAREST
+ - id: graphics/cl_host_cl_copy_images_mipmaps
+ summary: Run the cl_copy_images_mipmaps tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/clCopyImage/test_cl_copy_images test_mipmaps
+ - id: graphics/cl_host_cl_read_write_images_mipmaps
+ summary: Run the cl_read_write_images_mipmaps tests from OpenCL-CTS (host)
+ command: cl_host.py run-test images/clReadWriteImage/test_cl_read_write_images test_mipmaps
+ - id: graphics/cl_host_subgroups
+ summary: Run the subgroups tests from OpenCL-CTS (host)
+ command: cl_host.py run-test subgroups/test_subgroups
diff --git a/providers/base/units/graphics/opengl-cts.pxu b/providers/base/units/graphics/opengl-cts.pxu
deleted file mode 100644
index 2c1664a7f5..0000000000
--- a/providers/base/units/graphics/opengl-cts.pxu
+++ /dev/null
@@ -1,309 +0,0 @@
-unit: setup job
-plugin: shell
-id: setup/install_opengl_cts
-category_id: com.canonical.plainbox::graphics
-_summary: Install opengl-cts snap
-_purpose:
- This job will install the opengl-cts snap, a dependency of opengl conformance testing
-user: root
-command:
- if snap list opengl-cts &>/dev/null; then
- snap refresh --beta opengl-cts
- else
- snap install --beta opengl-cts
- fi
-estimated_duration: 1m
-
-unit: job
-plugin: shell
-id: graphics/gl_gpu_avail
-category_id: com.canonical.plainbox::graphics
-_summary: Checks for OpenGL-capable GPU
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
- DISPLAY
-estimated_duration: 1s
-command:
- if opengl-cts.glxinfo 2>&1 | grep "OpenGL renderer string" | grep -qiv "llvmpipe\|softpipe\|swrast"; then
- echo "PASS: Found an OpenGL-capable GPU"
- else
- echo "FAIL: No OpenGL-capable GPU found"
- exit 1
- fi
-
-id: graphics/gl_core_info
-depends:
- graphics/gl_gpu_avail
-setup_include:
- setup/install_opengl_cts
-category_id: com.canonical.plainbox::graphics
-flags: simple
-_summary: Run the info tests from OpenGL-CTS (core)
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
-estimated_duration: 5m
-command:
- # All options can be found in opengl-cts.list-tests
- opengl-cts.test --headless --deqp-case=KHR-GLES32.info.*
-_siblings: [
- { "id": "graphics/gl_core_shaders",
- "_summary": "Run the shaders tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.shaders.*" },
- { "id": "graphics/gl_core_geometry_shader",
- "_summary": "Run the geometry_shader tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.geometry_shader.*" },
- { "id": "graphics/gl_core_gpu_shader5",
- "_summary": "Run the gpu_shader5 tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.gpu_shader5.*" },
- { "id": "graphics/gl_core_tessellation_shader",
- "_summary": "Run the tessellation_shader tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.tessellation_shader.*" },
- { "id": "graphics/gl_core_texture_cube_map_array",
- "_summary": "Run the texture_cube_map_array tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.texture_cube_map_array.*" },
- { "id": "graphics/gl_core_texture_border_clamp",
- "_summary": "Run the texture_border_clamp tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.texture_border_clamp.*" },
- { "id": "graphics/gl_core_texture_buffer",
- "_summary": "Run the texture_buffer tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.texture_buffer.*" },
- { "id": "graphics/gl_core_draw_buffers_indexed",
- "_summary": "Run the draw_buffers_indexed tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.draw_buffers_indexed.*" },
- { "id": "graphics/gl_core_constant_expressions",
- "_summary": "Run the constant_expressions tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.constant_expressions.*" },
- { "id": "graphics/gl_core_shader_macros",
- "_summary": "Run the shader_macros tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.shader_macros.*" },
- { "id": "graphics/gl_core_separable_programs_tf",
- "_summary": "Run the separable_programs_tf tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.separable_programs_tf.*" },
- { "id": "graphics/gl_core_copy_image",
- "_summary": "Run the copy_image tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.copy_image.*" },
- { "id": "graphics/gl_core_texture2d",
- "_summary": "Run the texture2d tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.internalformat.texture2d.*" },
- { "id": "graphics/gl_core_copy_tex_image",
- "_summary": "Run the copy_tex_image tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.internalformat.copy_tex_image.*" },
- { "id": "graphics/gl_core_renderbuffer",
- "_summary": "Run the renderbuffer tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.internalformat.renderbuffer.rgb5_a1" },
- { "id": "graphics/gl_core_renderbuffer_depth_component32f",
- "_summary": "Run the renderbuffer_depth_component32f tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.internalformat.renderbuffer.depth_component32f" },
- { "id": "graphics/gl_core_renderbuffer_depth32f_stencil8",
- "_summary": "Run the renderbuffer_depth32f_stencil8 tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.internalformat.renderbuffer.depth32f_stencil8" },
- { "id": "graphics/gl_core_sampler2darrayshadow_fragment",
- "_summary": "Run the sampler2darrayshadow_fragment tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.sampler2darrayshadow_fragment" },
- { "id": "graphics/gl_core_sampler2darrayshadow_bias_fragment",
- "_summary": "Run the sampler2darrayshadow_bias_fragment tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.sampler2darrayshadow_bias_fragment" },
- { "id": "graphics/gl_core_samplercubearrayshadow_vertex",
- "_summary": "Run the samplercubearrayshadow_vertex tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.samplercubearrayshadow_vertex" },
- { "id": "graphics/gl_core_samplercubearrayshadow_fragment",
- "_summary": "Run the samplercubearrayshadow_fragment tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.samplercubearrayshadow_fragment" },
- { "id": "graphics/gl_core_samplercubearrayshadow_bias_fragment",
- "_summary": "Run the samplercubearrayshadow_bias_fragment tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.samplercubearrayshadow_bias_fragment" },
- { "id": "graphics/gl_core_textureoffset_sampler2darrayshadow_vertex",
- "_summary": "Run the textureoffset_sampler2darrayshadow_vertex tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.textureoffset.sampler2darrayshadow_vertex" },
- { "id": "graphics/gl_core_textureoffset_sampler2darrayshadow_fragment",
- "_summary": "Run the textureoffset_sampler2darrayshadow_fragment tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.textureoffset.sampler2darrayshadow_fragment" },
- { "id": "graphics/gl_core_textureoffset_sampler2darrayshadow_bias_fragment",
- "_summary": "Run the textureoffset_sampler2darrayshadow_bias_fragment tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.textureoffset.sampler2darrayshadow_bias_fragment" },
- { "id": "graphics/gl_core_texturelod_sampler2darrayshadow_vertex",
- "_summary": "Run the texturelod_sampler2darrayshadow_vertex tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.sampler2darrayshadow_vertex" },
- { "id": "graphics/gl_core_texturelod_sampler2darrayshadow_fragment",
- "_summary": "Run the texturelod_sampler2darrayshadow_fragment tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.sampler2darrayshadow_fragment" },
- { "id": "graphics/gl_core_texturelod_samplercubeshadow_vertex",
- "_summary": "Run the texturelod_samplercubeshadow_vertex tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.samplercubeshadow_vertex" },
- { "id": "graphics/gl_core_texturelod_samplercubeshadow_fragment",
- "_summary": "Run the texturelod_samplercubeshadow_fragment tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.samplercubeshadow_fragment" },
- { "id": "graphics/gl_core_texturelod_samplercubearrayshadow_fragment",
- "_summary": "Run the texturelod_samplercubearrayshadow_fragment tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.samplercubearrayshadow_fragment" },
- { "id": "graphics/gl_core_texturelodoffset_sampler2darrayshadow_vertex",
- "_summary": "Run the texturelodoffset_sampler2darrayshadow_vertex tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelodoffset.sampler2darrayshadow_vertex" },
- { "id": "graphics/gl_core_texturelodoffset_sampler2darrayshadow_fragment",
- "_summary": "Run the texturelodoffset_sampler2darrayshadow_fragment tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelodoffset.sampler2darrayshadow_fragment" },
- { "id": "graphics/gl_core_nearest_edge",
- "_summary": "Run the nearest_edge tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.nearest_edge.*" },
- { "id": "graphics/gl_core_framebuffer_completeness",
- "_summary": "Run the framebuffer_completeness tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.framebuffer_completeness.*" },
- { "id": "graphics/gl_core_texture_compatibility",
- "_summary": "Run the texture_compatibility tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.texture_compatibility.*" },
- { "id": "graphics/gl_core_compressed_format",
- "_summary": "Run the compressed_format tests from OpenGL-CTS (core)",
- "command": "opengl-cts.test --headless --deqp-case=KHR-GLES32.core.compressed_format.*" }]
-
-unit: job
-plugin: shell
-id: graphics/gl_classic_gpu_avail
-category_id: com.canonical.plainbox::graphics
-user: root
-_summary: Checks for OpenGL-capable GPU using host drivers
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
- PATH
-estimated_duration: 1s
-command: gl_host.py resource
-
-unit: job
-plugin: shell
-id: graphics/gl_classic_gl_avail
-category_id: com.canonical.plainbox::graphics
-user: root
-_summary: Checks for host OpenGL EGL loader required by opengl-cts --no-confinement
-requires: package.name == 'libegl-dev'
-estimated_duration: 1s
-command: gl_host.py validate-install
-
-id: graphics/gl_classic_info
-depends:
- graphics/gl_classic_gpu_avail
- graphics/gl_classic_gl_avail
-setup_include:
- setup/install_opengl_cts
-category_id: com.canonical.plainbox::graphics
-flags: simple
-user: root
-_summary: Run the info tests from OpenGL-CTS (classic)
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
-estimated_duration: 5m
-command:
- # All options can be found in opengl-cts.list-tests
- # gl_host.py used to wrap extra env vars, paths, and flags vs Core tests
- gl_host.py run-test --deqp-case=KHR-GLES32.info.*
-_siblings: [
- { "id": "graphics/gl_classic_shaders",
- "_summary": "Run the shaders tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.shaders.*" },
- { "id": "graphics/gl_classic_geometry_shader",
- "_summary": "Run the geometry_shader tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.geometry_shader.*" },
- { "id": "graphics/gl_classic_gpu_shader5",
- "_summary": "Run the gpu_shader5 tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.gpu_shader5.*" },
- { "id": "graphics/gl_classic_tessellation_shader",
- "_summary": "Run the tessellation_shader tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.tessellation_shader.*" },
- { "id": "graphics/gl_classic_texture_cube_map_array",
- "_summary": "Run the texture_cube_map_array tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.texture_cube_map_array.*" },
- { "id": "graphics/gl_classic_texture_border_clamp",
- "_summary": "Run the texture_border_clamp tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.texture_border_clamp.*" },
- { "id": "graphics/gl_classic_texture_buffer",
- "_summary": "Run the texture_buffer tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.texture_buffer.*" },
- { "id": "graphics/gl_classic_draw_buffers_indexed",
- "_summary": "Run the draw_buffers_indexed tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.draw_buffers_indexed.*" },
- { "id": "graphics/gl_classic_constant_expressions",
- "_summary": "Run the constant_expressions tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.constant_expressions.*" },
- { "id": "graphics/gl_classic_shader_macros",
- "_summary": "Run the shader_macros tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.shader_macros.*" },
- { "id": "graphics/gl_classic_separable_programs_tf",
- "_summary": "Run the separable_programs_tf tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.separable_programs_tf.*" },
- { "id": "graphics/gl_classic_copy_image",
- "_summary": "Run the copy_image tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.copy_image.*" },
- { "id": "graphics/gl_classic_texture2d",
- "_summary": "Run the texture2d tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.internalformat.texture2d.*" },
- { "id": "graphics/gl_classic_copy_tex_image",
- "_summary": "Run the copy_tex_image tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.internalformat.copy_tex_image.*" },
- { "id": "graphics/gl_classic_renderbuffer",
- "_summary": "Run the renderbuffer tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.internalformat.renderbuffer.rgb5_a1" },
- { "id": "graphics/gl_classic_renderbuffer_depth_component32f",
- "_summary": "Run the renderbuffer_depth_component32f tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.internalformat.renderbuffer.depth_component32f" },
- { "id": "graphics/gl_classic_renderbuffer_depth32f_stencil8",
- "_summary": "Run the renderbuffer_depth32f_stencil8 tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.internalformat.renderbuffer.depth32f_stencil8" },
- { "id": "graphics/gl_classic_sampler2darrayshadow_fragment",
- "_summary": "Run the sampler2darrayshadow_fragment tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.sampler2darrayshadow_fragment" },
- { "id": "graphics/gl_classic_sampler2darrayshadow_bias_fragment",
- "_summary": "Run the sampler2darrayshadow_bias_fragment tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.sampler2darrayshadow_bias_fragment" },
- { "id": "graphics/gl_classic_samplercubearrayshadow_vertex",
- "_summary": "Run the samplercubearrayshadow_vertex tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.samplercubearrayshadow_vertex" },
- { "id": "graphics/gl_classic_samplercubearrayshadow_fragment",
- "_summary": "Run the samplercubearrayshadow_fragment tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.samplercubearrayshadow_fragment" },
- { "id": "graphics/gl_classic_samplercubearrayshadow_bias_fragment",
- "_summary": "Run the samplercubearrayshadow_bias_fragment tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.samplercubearrayshadow_bias_fragment" },
- { "id": "graphics/gl_classic_textureoffset_sampler2darrayshadow_vertex",
- "_summary": "Run the textureoffset_sampler2darrayshadow_vertex tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.textureoffset.sampler2darrayshadow_vertex" },
- { "id": "graphics/gl_classic_textureoffset_sampler2darrayshadow_fragment",
- "_summary": "Run the textureoffset_sampler2darrayshadow_fragment tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.textureoffset.sampler2darrayshadow_fragment" },
- { "id": "graphics/gl_classic_textureoffset_sampler2darrayshadow_bias_fragment",
- "_summary": "Run the textureoffset_sampler2darrayshadow_bias_fragment tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.textureoffset.sampler2darrayshadow_bias_fragment" },
- { "id": "graphics/gl_classic_texturelod_sampler2darrayshadow_vertex",
- "_summary": "Run the texturelod_sampler2darrayshadow_vertex tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.sampler2darrayshadow_vertex" },
- { "id": "graphics/gl_classic_texturelod_sampler2darrayshadow_fragment",
- "_summary": "Run the texturelod_sampler2darrayshadow_fragment tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.sampler2darrayshadow_fragment" },
- { "id": "graphics/gl_classic_texturelod_samplercubeshadow_vertex",
- "_summary": "Run the texturelod_samplercubeshadow_vertex tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.samplercubeshadow_vertex" },
- { "id": "graphics/gl_classic_texturelod_samplercubeshadow_fragment",
- "_summary": "Run the texturelod_samplercubeshadow_fragment tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.samplercubeshadow_fragment" },
- { "id": "graphics/gl_classic_texturelod_samplercubearrayshadow_fragment",
- "_summary": "Run the texturelod_samplercubearrayshadow_fragment tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.samplercubearrayshadow_fragment" },
- { "id": "graphics/gl_classic_texturelodoffset_sampler2darrayshadow_vertex",
- "_summary": "Run the texturelodoffset_sampler2darrayshadow_vertex tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelodoffset.sampler2darrayshadow_vertex" },
- { "id": "graphics/gl_classic_texturelodoffset_sampler2darrayshadow_fragment",
- "_summary": "Run the texturelodoffset_sampler2darrayshadow_fragment tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelodoffset.sampler2darrayshadow_fragment" },
- { "id": "graphics/gl_classic_nearest_edge",
- "_summary": "Run the nearest_edge tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.nearest_edge.*" },
- { "id": "graphics/gl_classic_framebuffer_completeness",
- "_summary": "Run the framebuffer_completeness tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.framebuffer_completeness.*" },
- { "id": "graphics/gl_classic_texture_compatibility",
- "_summary": "Run the texture_compatibility tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.texture_compatibility.*" },
- { "id": "graphics/gl_classic_compressed_format",
- "_summary": "Run the compressed_format tests from OpenGL-CTS (classic)",
- "command": "gl_host.py run-test --deqp-case=KHR-GLES32.core.compressed_format.*" }]
diff --git a/providers/base/units/graphics/opengl-cts.yaml b/providers/base/units/graphics/opengl-cts.yaml
new file mode 100644
index 0000000000..8cf66787ee
--- /dev/null
+++ b/providers/base/units/graphics/opengl-cts.yaml
@@ -0,0 +1,335 @@
+unit: setup job
+plugin: shell
+id: setup/install_opengl_cts
+category_id: com.canonical.plainbox::graphics
+summary: Install opengl-cts snap
+user: root
+command: |
+ if snap list opengl-cts &>/dev/null; then
+ snap refresh --beta opengl-cts
+ else
+ snap install --beta opengl-cts
+ fi
+estimated_duration: 1m
+---
+unit: job
+plugin: shell
+id: graphics/gl_gpu_avail
+category_id: com.canonical.plainbox::graphics
+summary: Checks for OpenGL-capable GPU
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+ - DISPLAY
+estimated_duration: 1s
+command: |
+ if opengl-cts.glxinfo 2>&1 | grep "OpenGL renderer string" | grep -qiv "llvmpipe\|softpipe\|swrast"; then
+ echo "PASS: Found an OpenGL-capable GPU"
+ else
+ echo "FAIL: No OpenGL-capable GPU found"
+ exit 1
+ fi
+---
+id: graphics/gl_core_info
+depends:
+ - graphics/gl_gpu_avail
+category_id: com.canonical.plainbox::graphics
+flags:
+ - simple
+summary: Run the info tests from OpenGL-CTS (core)
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+estimated_duration: 5m
+command: |
+ # All options can be found in opengl-cts.list-tests
+ opengl-cts.test --headless --deqp-case=KHR-GLES32.info.*
+siblings:
+ - id: graphics/gl_core_shaders
+ summary: Run the shaders tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.shaders.*
+ - id: graphics/gl_core_geometry_shader
+ summary: Run the geometry_shader tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.geometry_shader.*
+ - id: graphics/gl_core_gpu_shader5
+ summary: Run the gpu_shader5 tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.gpu_shader5.*
+ - id: graphics/gl_core_tessellation_shader
+ summary: Run the tessellation_shader tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.tessellation_shader.*
+ - id: graphics/gl_core_texture_cube_map_array
+ summary: Run the texture_cube_map_array tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.texture_cube_map_array.*
+ - id: graphics/gl_core_texture_border_clamp
+ summary: Run the texture_border_clamp tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.texture_border_clamp.*
+ - id: graphics/gl_core_texture_buffer
+ summary: Run the texture_buffer tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.texture_buffer.*
+ - id: graphics/gl_core_draw_buffers_indexed
+ summary: Run the draw_buffers_indexed tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.draw_buffers_indexed.*
+ - id: graphics/gl_core_constant_expressions
+ summary: Run the constant_expressions tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.constant_expressions.*
+ - id: graphics/gl_core_shader_macros
+ summary: Run the shader_macros tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.shader_macros.*
+ - id: graphics/gl_core_separable_programs_tf
+ summary: Run the separable_programs_tf tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.separable_programs_tf.*
+ - id: graphics/gl_core_copy_image
+ summary: Run the copy_image tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.copy_image.*
+ - id: graphics/gl_core_texture2d
+ summary: Run the texture2d tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.internalformat.texture2d.*
+ - id: graphics/gl_core_copy_tex_image
+ summary: Run the copy_tex_image tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.internalformat.copy_tex_image.*
+ - id: graphics/gl_core_renderbuffer
+ summary: Run the renderbuffer tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.internalformat.renderbuffer.rgb5_a1
+ - id: graphics/gl_core_renderbuffer_depth_component32f
+ summary: Run the renderbuffer_depth_component32f tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.internalformat.renderbuffer.depth_component32f
+ - id: graphics/gl_core_renderbuffer_depth32f_stencil8
+ summary: Run the renderbuffer_depth32f_stencil8 tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.internalformat.renderbuffer.depth32f_stencil8
+ - id: graphics/gl_core_sampler2darrayshadow_fragment
+ summary: Run the sampler2darrayshadow_fragment tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.sampler2darrayshadow_fragment
+ - id: graphics/gl_core_sampler2darrayshadow_bias_fragment
+ summary: Run the sampler2darrayshadow_bias_fragment tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.sampler2darrayshadow_bias_fragment
+ - id: graphics/gl_core_samplercubearrayshadow_vertex
+ summary: Run the samplercubearrayshadow_vertex tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.samplercubearrayshadow_vertex
+ - id: graphics/gl_core_samplercubearrayshadow_fragment
+ summary: Run the samplercubearrayshadow_fragment tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.samplercubearrayshadow_fragment
+ - id: graphics/gl_core_samplercubearrayshadow_bias_fragment
+ summary: Run the samplercubearrayshadow_bias_fragment tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.samplercubearrayshadow_bias_fragment
+ - id: graphics/gl_core_textureoffset_sampler2darrayshadow_vertex
+ summary: Run the textureoffset_sampler2darrayshadow_vertex tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.textureoffset.sampler2darrayshadow_vertex
+ - id: graphics/gl_core_textureoffset_sampler2darrayshadow_fragment
+ summary: Run the textureoffset_sampler2darrayshadow_fragment tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.textureoffset.sampler2darrayshadow_fragment
+ - id: graphics/gl_core_textureoffset_sampler2darrayshadow_bias_fragment
+ summary: Run the textureoffset_sampler2darrayshadow_bias_fragment tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.textureoffset.sampler2darrayshadow_bias_fragment
+ - id: graphics/gl_core_texturelod_sampler2darrayshadow_vertex
+ summary: Run the texturelod_sampler2darrayshadow_vertex tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.sampler2darrayshadow_vertex
+ - id: graphics/gl_core_texturelod_sampler2darrayshadow_fragment
+ summary: Run the texturelod_sampler2darrayshadow_fragment tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.sampler2darrayshadow_fragment
+ - id: graphics/gl_core_texturelod_samplercubeshadow_vertex
+ summary: Run the texturelod_samplercubeshadow_vertex tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.samplercubeshadow_vertex
+ - id: graphics/gl_core_texturelod_samplercubeshadow_fragment
+ summary: Run the texturelod_samplercubeshadow_fragment tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.samplercubeshadow_fragment
+ - id: graphics/gl_core_texturelod_samplercubearrayshadow_fragment
+ summary: Run the texturelod_samplercubearrayshadow_fragment tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.samplercubearrayshadow_fragment
+ - id: graphics/gl_core_texturelodoffset_sampler2darrayshadow_vertex
+ summary: Run the texturelodoffset_sampler2darrayshadow_vertex tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelodoffset.sampler2darrayshadow_vertex
+ - id: graphics/gl_core_texturelodoffset_sampler2darrayshadow_fragment
+ summary: Run the texturelodoffset_sampler2darrayshadow_fragment tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelodoffset.sampler2darrayshadow_fragment
+ - id: graphics/gl_core_nearest_edge
+ summary: Run the nearest_edge tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.nearest_edge.*
+ - id: graphics/gl_core_framebuffer_completeness
+ summary: Run the framebuffer_completeness tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.framebuffer_completeness.*
+ - id: graphics/gl_core_texture_compatibility
+ summary: Run the texture_compatibility tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.texture_compatibility.*
+ - id: graphics/gl_core_compressed_format
+ summary: Run the compressed_format tests from OpenGL-CTS (core)
+ command: opengl-cts.test --headless --deqp-case=KHR-GLES32.core.compressed_format.*
+---
+unit: job
+plugin: shell
+id: graphics/gl_classic_gpu_avail
+category_id: com.canonical.plainbox::graphics
+user: root
+summary: Checks for OpenGL-capable GPU using host drivers
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+ - PATH
+estimated_duration: 1s
+command: gl_host.py resource
+---
+unit: job
+plugin: shell
+id: graphics/gl_classic_gl_avail
+category_id: com.canonical.plainbox::graphics
+user: root
+summary: Checks for host OpenGL EGL loader required by opengl-cts --no-confinement
+requires:
+ - package.name == 'libegl-dev'
+estimated_duration: 1s
+command: gl_host.py validate-install
+---
+id: graphics/gl_classic_info
+depends:
+ - graphics/gl_classic_gpu_avail
+ - graphics/gl_classic_gl_avail
+category_id: com.canonical.plainbox::graphics
+flags:
+ - simple
+user: root
+summary: Run the info tests from OpenGL-CTS (classic)
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+estimated_duration: 5m
+command: |
+ # All options can be found in opengl-cts.list-tests
+ # gl_host.py used to wrap extra env vars, paths, and flags vs Core tests
+ gl_host.py run-test --deqp-case=KHR-GLES32.info.*
+siblings:
+ - id: graphics/gl_classic_shaders
+ summary: Run the shaders tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.shaders.*
+ - id: graphics/gl_classic_geometry_shader
+ summary: Run the geometry_shader tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.geometry_shader.*
+ - id: graphics/gl_classic_gpu_shader5
+ summary: Run the gpu_shader5 tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.gpu_shader5.*
+ - id: graphics/gl_classic_tessellation_shader
+ summary: Run the tessellation_shader tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.tessellation_shader.*
+ - id: graphics/gl_classic_texture_cube_map_array
+ summary: Run the texture_cube_map_array tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.texture_cube_map_array.*
+ - id: graphics/gl_classic_texture_border_clamp
+ summary: Run the texture_border_clamp tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.texture_border_clamp.*
+ - id: graphics/gl_classic_texture_buffer
+ summary: Run the texture_buffer tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.texture_buffer.*
+ - id: graphics/gl_classic_draw_buffers_indexed
+ summary: Run the draw_buffers_indexed tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.draw_buffers_indexed.*
+ - id: graphics/gl_classic_constant_expressions
+ summary: Run the constant_expressions tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.constant_expressions.*
+ - id: graphics/gl_classic_shader_macros
+ summary: Run the shader_macros tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.shader_macros.*
+ - id: graphics/gl_classic_separable_programs_tf
+ summary: Run the separable_programs_tf tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.separable_programs_tf.*
+ - id: graphics/gl_classic_copy_image
+ summary: Run the copy_image tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.copy_image.*
+ - id: graphics/gl_classic_texture2d
+ summary: Run the texture2d tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.internalformat.texture2d.*
+ - id: graphics/gl_classic_copy_tex_image
+ summary: Run the copy_tex_image tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.internalformat.copy_tex_image.*
+ - id: graphics/gl_classic_renderbuffer
+ summary: Run the renderbuffer tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.internalformat.renderbuffer.rgb5_a1
+ - id: graphics/gl_classic_renderbuffer_depth_component32f
+ summary: Run the renderbuffer_depth_component32f tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.internalformat.renderbuffer.depth_component32f
+ - id: graphics/gl_classic_renderbuffer_depth32f_stencil8
+ summary: Run the renderbuffer_depth32f_stencil8 tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.internalformat.renderbuffer.depth32f_stencil8
+ - id: graphics/gl_classic_sampler2darrayshadow_fragment
+ summary: Run the sampler2darrayshadow_fragment tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.sampler2darrayshadow_fragment
+ - id: graphics/gl_classic_sampler2darrayshadow_bias_fragment
+ summary: Run the sampler2darrayshadow_bias_fragment tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.sampler2darrayshadow_bias_fragment
+ - id: graphics/gl_classic_samplercubearrayshadow_vertex
+ summary: Run the samplercubearrayshadow_vertex tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.samplercubearrayshadow_vertex
+ - id: graphics/gl_classic_samplercubearrayshadow_fragment
+ summary: Run the samplercubearrayshadow_fragment tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.samplercubearrayshadow_fragment
+ - id: graphics/gl_classic_samplercubearrayshadow_bias_fragment
+ summary: Run the samplercubearrayshadow_bias_fragment tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texture.samplercubearrayshadow_bias_fragment
+ - id: graphics/gl_classic_textureoffset_sampler2darrayshadow_vertex
+ summary: Run the textureoffset_sampler2darrayshadow_vertex tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.textureoffset.sampler2darrayshadow_vertex
+ - id: graphics/gl_classic_textureoffset_sampler2darrayshadow_fragment
+ summary: Run the textureoffset_sampler2darrayshadow_fragment tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.textureoffset.sampler2darrayshadow_fragment
+ - id: graphics/gl_classic_textureoffset_sampler2darrayshadow_bias_fragment
+ summary: Run the textureoffset_sampler2darrayshadow_bias_fragment tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.textureoffset.sampler2darrayshadow_bias_fragment
+ - id: graphics/gl_classic_texturelod_sampler2darrayshadow_vertex
+ summary: Run the texturelod_sampler2darrayshadow_vertex tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.sampler2darrayshadow_vertex
+ - id: graphics/gl_classic_texturelod_sampler2darrayshadow_fragment
+ summary: Run the texturelod_sampler2darrayshadow_fragment tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.sampler2darrayshadow_fragment
+ - id: graphics/gl_classic_texturelod_samplercubeshadow_vertex
+ summary: Run the texturelod_samplercubeshadow_vertex tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.samplercubeshadow_vertex
+ - id: graphics/gl_classic_texturelod_samplercubeshadow_fragment
+ summary: Run the texturelod_samplercubeshadow_fragment tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.samplercubeshadow_fragment
+ - id: graphics/gl_classic_texturelod_samplercubearrayshadow_fragment
+ summary: Run the texturelod_samplercubearrayshadow_fragment tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelod.samplercubearrayshadow_fragment
+ - id: graphics/gl_classic_texturelodoffset_sampler2darrayshadow_vertex
+ summary: Run the texturelodoffset_sampler2darrayshadow_vertex tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelodoffset.sampler2darrayshadow_vertex
+ - id: graphics/gl_classic_texturelodoffset_sampler2darrayshadow_fragment
+ summary: Run the texturelodoffset_sampler2darrayshadow_fragment tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test
+ --deqp-case=KHR-GLES32.core.ext_texture_shadow_lod.texturelodoffset.sampler2darrayshadow_fragment
+ - id: graphics/gl_classic_nearest_edge
+ summary: Run the nearest_edge tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.nearest_edge.*
+ - id: graphics/gl_classic_framebuffer_completeness
+ summary: Run the framebuffer_completeness tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.framebuffer_completeness.*
+ - id: graphics/gl_classic_texture_compatibility
+ summary: Run the texture_compatibility tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.texture_compatibility.*
+ - id: graphics/gl_classic_compressed_format
+ summary: Run the compressed_format tests from OpenGL-CTS (classic)
+ command: gl_host.py run-test --deqp-case=KHR-GLES32.core.compressed_format.*
diff --git a/providers/base/units/graphics/test-plan.pxu b/providers/base/units/graphics/test-plan.pxu
deleted file mode 100644
index dbcc62d4ef..0000000000
--- a/providers/base/units/graphics/test-plan.pxu
+++ /dev/null
@@ -1,526 +0,0 @@
-id: graphics-gpu-cert-full
-unit: test plan
-_name: Graphics tests (GPU)
-_description:
- Graphics tests (GPU)
-include:
-bootstrap_include:
- graphics_card
-nested_part:
- com.canonical.certification::graphics-gpu-cert-automated
- com.canonical.certification::graphics-gpu-cert-manual
-
-id: graphics-gpu-cert-automated
-unit: test plan
-_name: Graphics tests (Automated)
-_description:
- Graphics tests (Automated)
-include:
- graphics/VESA_drivers_not_in_use certification-status=blocker
- graphics/1_driver_version_.* certification-status=blocker
- graphics/1_gl_support_.* certification-status=blocker
- graphics/1_minimum_resolution_.*
- graphics/2_driver_version_.* certification-status=blocker
- graphics/2_minimum_resolution_.*
- graphics/1_auto_glxgears_.* certification-status=blocker
- graphics/2_auto_glxgears_.* certification-status=blocker
- graphics/auto_glxgears certification-status=blocker
- graphics/auto_glxgears_fullscreen certification-status=blocker
- suspend/resolution_before_suspend certification-status=blocker
- graphics/1_vkcube_.* certification-status=non-blocker
- graphics/2_vkcube_.* certification-status=non-blocker
- graphics/vulkaninfo.* certification-status=non-blocker
-bootstrap_include:
- graphics_card
-
-id: graphics-gpu-cert-26-04-automated
-unit: test plan
-_name: Graphics tests for 26.04 (Automated)
-_description:
- Graphics tests (Automated)
-include:
- graphics/VESA_drivers_not_in_use certification-status=blocker
- graphics/index_driver_version_product_slug certification-status=blocker
- graphics/gl_support_primary certification-status=blocker
- graphics/index_minimum_resolution_product_slug certification-status=blocker
- graphics/index_auto_glxgears_product_slug certification-status=blocker
- graphics/index_auto_glxgears_fullscreen_product_slug certification-status=blocker
- graphics/auto_glxgears certification-status=blocker
- graphics/auto_glxgears_fullscreen certification-status=blocker
- suspend/resolution_before_suspend certification-status=blocker
- graphics/index_vkcube_product_slug certification-status=blocker
- graphics/vulkaninfo-debug certification-status=blocker
- graphics/vulkaninfo-api-version certification-status=blocker
-bootstrap_include:
- graphics_card
-
-id: graphics-gpu-cert-manual
-unit: test plan
-_name: Graphics tests (Manual)
-_description:
- Graphics tests (Manual)
-include:
- miscellanea/chvt
- graphics/1_maximum_resolution_.* certification-status=blocker
- graphics/1_rotation_.* certification-status=blocker
- graphics/1_video_.* certification-status=blocker
- graphics/1_cycle_resolution_.* certification-status=non-blocker
- graphics/1_valid_glxgears_.* certification-status=blocker
- graphics/2_valid_glxgears_.* certification-status=blocker
- graphics/valid_glxgears certification-status=blocker
- graphics/valid_glxgears_fullscreen certification-status=blocker
-bootstrap_include:
- graphics_card
-
-id: graphics-gpu-cert-26-04-manual
-unit: test plan
-_name: Graphics tests for 26.04 (Manual)
-_description:
- Graphics tests (Manual)
-include:
- miscellanea/chvt
- graphics/maximum_resolution_primary certification-status=blocker
- graphics/rotation_primary certification-status=blocker
- graphics/video_primary certification-status=blocker
- graphics/cycle_resolution_primary certification-status=blocker
- graphics/index_valid_glxgears_product_slug certification-status=blocker
- graphics/index_valid_glxgears_fullscreen_product_slug certification-status=blocker
- graphics/valid_glxgears certification-status=blocker
- graphics/valid_glxgears_fullscreen certification-status=blocker
-bootstrap_include:
- graphics_card
-
-id: after-suspend-graphics-gpu-cert-full
-unit: test plan
-_name: After suspend tests
-_description: After suspend tests
-include:
-nested_part:
- com.canonical.certification::after-suspend-graphics-gpu-cert-automated
- com.canonical.certification::after-suspend-graphics-gpu-cert-manual
-
-id: after-suspend-graphics-gpu-cert-26-04-automated
-unit: test plan
-_name: After suspend tests for 26.04 (GPU automated)
-_description: After suspend tests (GPU automated)
-include:
- suspend/suspend-time-check certification-status=non-blocker
- suspend/suspend-single-log-attach certification-status=non-blocker
- after-suspend-graphics/VESA_drivers_not_in_use certification-status=blocker
- after-suspend-graphics/index_driver_version_product_slug certification-status=blocker
- after-suspend-graphics/gl_support_primary certification-status=blocker
- after-suspend-graphics/index_minimum_resolution_product_slug certification-status=blocker
- after-suspend-graphics/index_auto_glxgears_product_slug certification-status=blocker
- after-suspend-graphics/index_auto_glxgears_fullscreen_product_slug certification-status=blocker
- after-suspend-graphics/auto_glxgears certification-status=blocker
- after-suspend-graphics/auto_glxgears_fullscreen certification-status=blocker
- suspend/resolution_after_suspend certification-status=blocker
-
-id: after-suspend-graphics-gpu-cert-automated
-unit: test plan
-_name: After suspend tests (GPU automated)
-_description: After suspend tests (GPU automated)
-include:
- suspend/suspend-time-check certification-status=non-blocker
- suspend/suspend-single-log-attach certification-status=non-blocker
- after-suspend-graphics/VESA_drivers_not_in_use certification-status=blocker
- after-suspend-graphics/1_driver_version_.* certification-status=blocker
- after-suspend-graphics/1_gl_support_.* certification-status=blocker
- after-suspend-graphics/1_minimum_resolution_.*
- after-suspend-graphics/1_auto_glxgears_.* certification-status=blocker
- after-suspend-graphics/2_auto_glxgears_.* certification-status=blocker
- after-suspend-graphics/auto_glxgears certification-status=blocker
- after-suspend-graphics/auto_glxgears_fullscreen certification-status=blocker
- suspend/resolution_after_suspend certification-status=blocker
-
-id: after-suspend-graphics-gpu-cert-manual
-unit: test plan
-_name: After suspend tests (GPU manual)
-_description: After suspend tests (GPU manual)
-include:
- power-management/lid_close_suspend_open certification-status=blocker
- power-management/lid certification-status=blocker
- after-suspend-miscellanea/chvt
- suspend/display_after_suspend certification-status=blocker
- after-suspend-graphics/1_maximum_resolution_.* certification-status=blocker
- after-suspend-graphics/1_rotation_.* certification-status=blocker
- after-suspend-graphics/1_video_.* certification-status=blocker
- after-suspend-graphics/1_cycle_resolution_.* certification-status=non-blocker
- after-suspend-graphics/1_valid_glxgears_.* certification-status=blocker
- after-suspend-graphics/2_valid_glxgears_.* certification-status=blocker
- after-suspend-graphics/valid_glxgears certification-status=blocker
- after-suspend-graphics/valid_glxgears_fullscreen certification-status=blocker
- suspend/1_xrandr_screens_after_suspend.tar.gz_auto
-
-id: after-suspend-graphics-gpu-cert-26-04-manual
-unit: test plan
-_name: After suspend tests for 26.04 (GPU manual)
-_description: After suspend tests (GPU manual)
-include:
- power-management/lid_close_suspend_open certification-status=blocker
- power-management/lid certification-status=blocker
- after-suspend-miscellanea/chvt
- suspend/display_after_suspend certification-status=blocker
- after-suspend-graphics/maximum_resolution_primary certification-status=blocker
- after-suspend-graphics/rotation_primary certification-status=blocker
- after-suspend-graphics/video_primary certification-status=blocker
- after-suspend-graphics/cycle_resolution_primary certification-status=blocker
- after-suspend-graphics/index_valid_glxgears_product_slug certification-status=blocker
- after-suspend-graphics/index_valid_glxgears_fullscreen_product_slug certification-status=blocker
- after-suspend-graphics/valid_glxgears certification-status=blocker
- after-suspend-graphics/valid_glxgears_fullscreen certification-status=blocker
- suspend/xrandr_screens_after_suspend_primary
-
-id: graphics-integrated-gpu-cert-full
-unit: test plan
-_name: Graphics tests (integrated GPU)
-_description:
- Graphics tests (integrated GPU)
-include:
-bootstrap_include:
- graphics_card
-nested_part:
- com.canonical.certification::graphics-integrated-gpu-cert-automated
- com.canonical.certification::graphics-integrated-gpu-cert-manual
-
-id: graphics-integrated-gpu-cert-manual
-unit: test plan
-_name: Graphics tests (integrated GPU) (Manual)
-_description:
- Graphics tests (integrated GPU) (Manual)
-include:
- miscellanea/chvt
- graphics/1_maximum_resolution_.* certification-status=blocker
- graphics/1_glxgears_.* certification-status=blocker
- graphics/1_rotation_.* certification-status=blocker
- graphics/1_video_.* certification-status=blocker
- graphics/1_cycle_resolution_.* certification-status=non-blocker
-bootstrap_include:
- graphics_card
-
-id: graphics-integrated-gpu-cert-automated
-unit: test plan
-_name: Graphics tests (integrated GPU) (Automated)
-_description:
- Graphics tests (integrated GPU) (Automated)
-include:
- graphics/1_auto_switch_card_.* certification-status=blocker
- graphics/VESA_drivers_not_in_use certification-status=blocker
- graphics/1_driver_version_.* certification-status=blocker
- graphics/1_gl_support_.* certification-status=blocker
- graphics/1_minimum_resolution_.*
- suspend/1_resolution_before_suspend_.*_auto certification-status=blocker
-bootstrap_include:
- graphics_card
-
-
-id: graphics-discrete-gpu-cert-full
-unit: test plan
-_name: Graphics tests (discrete GPU)
-_description:
- Graphics tests (discrete GPU)
-include:
-bootstrap_include:
- graphics_card
-nested_part:
- com.canonical.certification::graphics-discrete-gpu-cert-automated
- com.canonical.certification::graphics-discrete-gpu-cert-manual
-
-id: graphics-discrete-gpu-cert-manual
-unit: test plan
-_name: Graphics tests (discrete GPU) (Manual)
-_description:
- Graphics tests (discrete GPU) (Manual)
-include:
- graphics/2_maximum_resolution_.* certification-status=blocker
- graphics/2_glxgears_.* certification-status=blocker
- graphics/2_rotation_.* certification-status=blocker
- graphics/2_video_.* certification-status=blocker
- graphics/2_cycle_resolution_.* certification-status=non-blocker
-bootstrap_include:
- graphics_card
-
-id: graphics-discrete-gpu-cert-automated
-unit: test plan
-_name: Graphics tests (discrete GPU) (Automated)
-_description:
- Graphics tests (discrete GPU) (Automated)
-include:
- graphics/2_auto_switch_card_.* certification-status=blocker
- graphics/2_valid_opengl_renderer_.* certification-status=blocker
- graphics/2_driver_version_.* certification-status=blocker
- graphics/2_gl_support_.* certification-status=blocker
- graphics/2_minimum_resolution_.*
- suspend/2_resolution_before_suspend_.*_auto certification-status=blocker
-bootstrap_include:
- graphics_card
-
-id: after-suspend-graphics-integrated-gpu-cert-full
-unit: test plan
-_name: After suspend tests (integrated GPU)
-_description: After suspend tests (integrated GPU)
-include:
-nested_part:
- com.canonical.certification::after-suspend-graphics-integrated-gpu-cert-automated
- com.canonical.certification::after-suspend-graphics-integrated-gpu-cert-manual
-
-id: after-suspend-graphics-integrated-gpu-cert-automated
-unit: test plan
-_name: After suspend tests (integrated GPU automated)
-_description: After suspend tests (integrated GPU automated)
-include:
- after-suspend-graphics/1_auto_switch_card_.* certification-status=blocker
- suspend/1_suspend_after_switch_to_card_.*_auto certification-status=blocker
- # The following after suspend jobs will automatically select the right suspend job
- # depending on the amount of graphic cards available on the SUT:
- # suspend/suspend_advanced_auto (one GPU)
- # or suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto (two GPUs)
- suspend/1_suspend-time-check_.*_auto certification-status=non-blocker
- suspend/1_suspend-single-log-attach_.*_auto certification-status=non-blocker
- after-suspend-graphics/VESA_drivers_not_in_use certification-status=blocker
- after-suspend-graphics/1_driver_version_.* certification-status=blocker
- after-suspend-graphics/1_gl_support_.* certification-status=blocker
- after-suspend-graphics/1_minimum_resolution_.*
- suspend/1_resolution_after_suspend_.*_auto certification-status=blocker
-
-id: after-suspend-graphics-integrated-gpu-cert-manual
-unit: test plan
-_name: After suspend tests (integrated GPU manual)
-_description: After suspend tests (integrated GPU manual)
-include:
- # The following after suspend jobs will automatically select the right suspend job
- # depending on the amount of graphic cards available on the SUT:
- # suspend/suspend_advanced_auto (one GPU)
- # or suspend/{{ index }}_suspend_after_switch_to_card_{{ product_slug }}_auto (two GPUs)
- after-suspend-miscellanea/chvt
- suspend/1_display_after_suspend_.*_graphics certification-status=blocker
- after-suspend-graphics/1_maximum_resolution_.* certification-status=blocker
- after-suspend-graphics/1_glxgears_.* certification-status=blocker
- after-suspend-graphics/1_rotation_.* certification-status=blocker
- after-suspend-graphics/1_video_.* certification-status=blocker
- after-suspend-graphics/1_cycle_resolution_.* certification-status=non-blocker
- suspend/1_xrandr_screens_after_suspend.tar.gz_auto
- power-management/lid_close_suspend_open certification-status=blocker
- power-management/lid certification-status=blocker
-
-id: after-suspend-graphics-discrete-gpu-cert-full
-unit: test plan
-_name: After suspend tests (discrete GPU)
-_description: After suspend tests (discrete GPU)
-include:
-nested_part:
- com.canonical.certification::after-suspend-graphics-discrete-gpu-cert-automated
- com.canonical.certification::after-suspend-graphics-discrete-gpu-cert-manual
-
-id: after-suspend-graphics-discrete-gpu-cert-automated
-unit: test plan
-_name: After suspend tests (discrete GPU automated)
-_description: After suspend tests (discrete GPU automated)
-include:
- suspend/2_suspend_after_switch_to_card_.*_auto certification-status=blocker
- suspend/2_suspend-time-check_.*_auto certification-status=non-blocker
- suspend/2_suspend-single-log-attach_.*_auto certification-status=non-blocker
- after-suspend-graphics/2_driver_version_.* certification-status=blocker
- after-suspend-graphics/2_gl_support_.* certification-status=blocker
- after-suspend-graphics/2_minimum_resolution_.*
- suspend/2_resolution_after_suspend_.*_auto certification-status=blocker
-
-id: after-suspend-graphics-discrete-gpu-cert-manual
-unit: test plan
-_name: After suspend tests (discrete GPU manual)
-_description: After suspend tests (discrete GPU manual)
-include:
- suspend/2_display_after_suspend_.*_graphics certification-status=blocker
- after-suspend-graphics/2_maximum_resolution_.* certification-status=blocker
- after-suspend-graphics/2_glxgears_.* certification-status=blocker
- after-suspend-graphics/2_rotation_.* certification-status=blocker
- after-suspend-graphics/2_video_.* certification-status=blocker
- after-suspend-graphics/2_cycle_resolution_.* certification-status=non-blocker
- suspend/2_xrandr_screens_after_suspend_.*.tar.gz_auto
-
-id: graphics-integrated-gpu-cert-blockers
-unit: test plan
-_name: Graphics tests (integrated GPU, certification blockers only)
-_description: Graphics tests (integrated GPU, certification blockers only)
-include:
- graphics/1_auto_switch_card_.* certification-status=blocker
- graphics/VESA_drivers_not_in_use certification-status=blocker
- graphics/1_maximum_resolution_.* certification-status=blocker
- graphics/1_glxgears_.* certification-status=blocker
- graphics/1_driver_version_.* certification-status=blocker
- graphics/1_gl_support_.* certification-status=blocker
- graphics/1_rotation_.* certification-status=blocker
- graphics/1_video_.* certification-status=blocker
- suspend/1_resolution_before_suspend_.*_auto certification-status=blocker
-bootstrap_include:
- graphics_card
-
-id: graphics-discrete-gpu-cert-blockers
-unit: test plan
-_name: Graphics tests (discrete GPU, certification blockers only)
-_description: Graphics tests (discrete GPU, certification blockers only)
-include:
- graphics/2_auto_switch_card_.* certification-status=blocker
- graphics/2_maximum_resolution_.* certification-status=blocker
- graphics/2_valid_opengl_renderer_.* certification-status=blocker
- graphics/2_glxgears_.* certification-status=blocker
- graphics/2_driver_version_.* certification-status=blocker
- graphics/2_gl_support_.* certification-status=blocker
- graphics/2_rotation_.* certification-status=blocker
- graphics/2_video_.* certification-status=blocker
-bootstrap_include:
- graphics_card
-
-id: after-suspend-graphics-integrated-gpu-cert-blockers
-unit: test plan
-_name: After suspend tests (integrated GPU, certification blockers only)
-_description: After suspend tests (integrated GPU, certification blockers only)
-include:
- after-suspend-graphics/1_auto_switch_card_.* certification-status=blocker
- suspend/1_suspend_after_switch_to_card_.*_auto certification-status=blocker
- suspend/1_gl_support_after_suspend_.*_auto certification-status=blocker
- suspend/1_driver_version_after_suspend_.*_auto certification-status=blocker
- suspend/1_resolution_after_suspend_.*_auto certification-status=blocker
- suspend/1_display_after_suspend_.*_graphics certification-status=blocker
- suspend/1_glxgears_after_suspend_.*_graphics certification-status=blocker
- suspend/1_rotation_after_suspend_.*_graphics certification-status=blocker
- suspend/1_video_after_suspend_.*_graphics certification-status=blocker
- power-management/lid_close_suspend_open certification-status=blocker
- power-management/lid certification-status=blocker
-
-id: after-suspend-graphics-discrete-gpu-cert-blockers
-unit: test plan
-_name: After suspend tests (discrete GPU, certification blockers only)
-_description: After suspend tests (discrete GPU, certification blockers only)
-include:
- suspend/2_resolution_before_suspend_.*_auto certification-status=blocker
- suspend/2_suspend_after_switch_to_card_.*_graphics certification-status=blocker
- suspend/2_gl_support_after_suspend_.*_auto certification-status=blocker
- suspend/2_driver_version_after_suspend_.*_auto certification-status=blocker
- suspend/2_resolution_after_suspend_.*_auto certification-status=blocker
- suspend/2_display_after_suspend_.*_graphics certification-status=blocker
- suspend/2_glxgears_after_suspend_.*_graphics certification-status=blocker
- suspend/2_rotation_after_suspend_.*_graphics certification-status=blocker
- suspend/2_video_after_suspend_.*_graphics certification-status=blocker
-
-id: webgl-conformance-test
-unit: test plan
-_name: WebGL conformance test
-_description: WebGL conformance test
-include:
- graphics/webgl-conformance-test-.*
-bootstrap_include:
- browser_resource
-
-id: after-suspend-webgl-conformance-test
-unit: test plan
-_name: WebGL conformance test (After suspend)
-_description: WebGL conformance test
-include:
- after-suspend-graphics/webgl-conformance-test-.*
-bootstrap_include:
- browser_resource
-
-id: graphic-base-26-04-manual
-unit: test plan
-_name: Graphics for 26.04 (Manual)
-_description: Manual tests for graphics
-include:
- keys/video-out
- after-suspend-keys/video-out
-nested_part:
- submission-cert-full
- graphics-gpu-cert-26-04-manual
- monitor-gpu-cert-26-04-manual
- after-suspend-graphics-gpu-cert-26-04-manual
- after-suspend-monitor-gpu-cert-26-04-manual
- info-attachment-cert-full
-
-id: graphic-base-26-04-automated
-unit: test plan
-_name: Graphic for 26.04 (Automated)
-_description: Automated tests for graphic
-include:
-nested_part:
- graphics-gpu-cert-26-04-automated
- after-suspend-graphics-gpu-cert-26-04-automated
-
-id: opencl-core-test-plan
-unit: test plan
-_name: Graphics test plan for verifying OpenCL (core/snap)
-include:
- setup/install_opencl_cts
- graphics/cl_core_.*
-bootstrap_include:
- graphics_card
- executable
-
-id: opencl-host-test-plan
-unit: test plan
-_name: Graphics test plan for verifying OpenCL (host)
-include:
- setup/install_opencl_cts
- graphics/cl_host_.*
-bootstrap_include:
- graphics_card
- executable
-
-id: vulkan-core-test-plan
-unit: test plan
-_name: Graphics test plan for verifying Vulkan CTS (core/snap)
-include:
- setup/install_vulkan_cts
- graphics/vk_core_.*
-bootstrap_include:
- graphics_card
- executable
-
-id: vulkan-classic-test-plan
-unit: test plan
-_name: Graphics test plan for verifying Vulkan CTS (classic)
-include:
- setup/install_vulkan_cts
- graphics/vk_classic_.*
-bootstrap_include:
- graphics_card
- executable
-
-id: opengl-core-test-plan
-unit: test plan
-_name: Graphics test plan for verifying OpenGL CTS (core/snap)
-include:
- setup/install_opengl_cts
- graphics/gl_core_.*
-bootstrap_include:
- graphics_card
- executable
-
-id: opengl-classic-test-plan
-unit: test plan
-_name: Graphics test plan for verifying OpenGL CTS (classic)
-include:
- setup/install_opengl_cts
- graphics/gl_classic_.*
-bootstrap_include:
- graphics_card
- executable
-
-id: crucible-core-test-plan
-unit: test plan
-_name: Graphics test plan for crucible (core/snap)
-include:
- setup/install_crucible
- graphics/crucible_core_.*
-bootstrap_include:
- graphics_card
- executable
-
-id: crucible-classic-test-plan
-unit: test plan
-_name: Graphics test plan for crucible (classic)
-include:
- setup/install_crucible
- graphics/crucible_classic_.*
-bootstrap_include:
- graphics_card
- executable
diff --git a/providers/base/units/graphics/test-plan.yaml b/providers/base/units/graphics/test-plan.yaml
new file mode 100644
index 0000000000..9bb6609091
--- /dev/null
+++ b/providers/base/units/graphics/test-plan.yaml
@@ -0,0 +1,695 @@
+id: graphics-gpu-cert-full
+unit: test plan
+name: Graphics tests (GPU)
+description: Graphics tests (GPU)
+include: []
+bootstrap_include:
+ - graphics_card
+nested_part:
+ - com.canonical.certification::graphics-gpu-cert-automated
+ - com.canonical.certification::graphics-gpu-cert-manual
+---
+id: graphics-gpu-cert-automated
+unit: test plan
+name: Graphics tests (Automated)
+description: Graphics tests (Automated)
+include:
+ - graphics/VESA_drivers_not_in_use:
+ certification-status: blocker
+ - graphics/1_driver_version_.*:
+ certification-status: blocker
+ - graphics/1_gl_support_.*:
+ certification-status: blocker
+ - graphics/1_minimum_resolution_.*
+ - graphics/2_driver_version_.*:
+ certification-status: blocker
+ - graphics/2_minimum_resolution_.*
+ - graphics/1_auto_glxgears_.*:
+ certification-status: blocker
+ - graphics/2_auto_glxgears_.*:
+ certification-status: blocker
+ - graphics/auto_glxgears:
+ certification-status: blocker
+ - graphics/auto_glxgears_fullscreen:
+ certification-status: blocker
+ - suspend/resolution_before_suspend:
+ certification-status: blocker
+ - graphics/1_vkcube_.*:
+ certification-status: non-blocker
+ - graphics/2_vkcube_.*:
+ certification-status: non-blocker
+ - graphics/vulkaninfo.*:
+ certification-status: non-blocker
+bootstrap_include:
+ - graphics_card
+---
+id: graphics-gpu-cert-26-04-automated
+unit: test plan
+name: Graphics tests for 26.04 (Automated)
+description: Graphics tests (Automated)
+include:
+ - graphics/VESA_drivers_not_in_use:
+ certification-status: blocker
+ - graphics/index_driver_version_product_slug:
+ certification-status: blocker
+ - graphics/gl_support_primary:
+ certification-status: blocker
+ - graphics/index_minimum_resolution_product_slug:
+ certification-status: blocker
+ - graphics/index_auto_glxgears_product_slug:
+ certification-status: blocker
+ - graphics/index_auto_glxgears_fullscreen_product_slug:
+ certification-status: blocker
+ - graphics/auto_glxgears:
+ certification-status: blocker
+ - graphics/auto_glxgears_fullscreen:
+ certification-status: blocker
+ - suspend/resolution_before_suspend:
+ certification-status: blocker
+ - graphics/index_vkcube_product_slug:
+ certification-status: blocker
+ - graphics/vulkaninfo-debug:
+ certification-status: blocker
+ - graphics/vulkaninfo-api-version:
+ certification-status: blocker
+bootstrap_include:
+ - graphics_card
+---
+id: graphics-gpu-cert-manual
+unit: test plan
+name: Graphics tests (Manual)
+description: Graphics tests (Manual)
+include:
+ - miscellanea/chvt
+ - graphics/1_maximum_resolution_.*:
+ certification-status: blocker
+ - graphics/1_rotation_.*:
+ certification-status: blocker
+ - graphics/1_video_.*:
+ certification-status: blocker
+ - graphics/1_cycle_resolution_.*:
+ certification-status: non-blocker
+ - graphics/1_valid_glxgears_.*:
+ certification-status: blocker
+ - graphics/2_valid_glxgears_.*:
+ certification-status: blocker
+ - graphics/valid_glxgears:
+ certification-status: blocker
+ - graphics/valid_glxgears_fullscreen:
+ certification-status: blocker
+bootstrap_include:
+ - graphics_card
+---
+id: graphics-gpu-cert-26-04-manual
+unit: test plan
+name: Graphics tests for 26.04 (Manual)
+description: Graphics tests (Manual)
+include:
+ - miscellanea/chvt
+ - graphics/maximum_resolution_primary:
+ certification-status: blocker
+ - graphics/rotation_primary:
+ certification-status: blocker
+ - graphics/video_primary:
+ certification-status: blocker
+ - graphics/cycle_resolution_primary:
+ certification-status: blocker
+ - graphics/index_valid_glxgears_product_slug:
+ certification-status: blocker
+ - graphics/index_valid_glxgears_fullscreen_product_slug:
+ certification-status: blocker
+ - graphics/valid_glxgears:
+ certification-status: blocker
+ - graphics/valid_glxgears_fullscreen:
+ certification-status: blocker
+bootstrap_include:
+ - graphics_card
+---
+id: after-suspend-graphics-gpu-cert-full
+unit: test plan
+name: After suspend tests
+description: After suspend tests
+include: []
+nested_part:
+ - com.canonical.certification::after-suspend-graphics-gpu-cert-automated
+ - com.canonical.certification::after-suspend-graphics-gpu-cert-manual
+---
+id: after-suspend-graphics-gpu-cert-26-04-automated
+unit: test plan
+name: After suspend tests for 26.04 (GPU automated)
+description: After suspend tests (GPU automated)
+include:
+ - suspend/suspend-time-check:
+ certification-status: non-blocker
+ - suspend/suspend-single-log-attach:
+ certification-status: non-blocker
+ - after-suspend-graphics/VESA_drivers_not_in_use:
+ certification-status: blocker
+ - after-suspend-graphics/index_driver_version_product_slug:
+ certification-status: blocker
+ - after-suspend-graphics/gl_support_primary:
+ certification-status: blocker
+ - after-suspend-graphics/index_minimum_resolution_product_slug:
+ certification-status: blocker
+ - after-suspend-graphics/index_auto_glxgears_product_slug:
+ certification-status: blocker
+ - after-suspend-graphics/index_auto_glxgears_fullscreen_product_slug:
+ certification-status: blocker
+ - after-suspend-graphics/auto_glxgears:
+ certification-status: blocker
+ - after-suspend-graphics/auto_glxgears_fullscreen:
+ certification-status: blocker
+ - suspend/resolution_after_suspend:
+ certification-status: blocker
+---
+id: after-suspend-graphics-gpu-cert-automated
+unit: test plan
+name: After suspend tests (GPU automated)
+description: After suspend tests (GPU automated)
+include:
+ - suspend/suspend-time-check:
+ certification-status: non-blocker
+ - suspend/suspend-single-log-attach:
+ certification-status: non-blocker
+ - after-suspend-graphics/VESA_drivers_not_in_use:
+ certification-status: blocker
+ - after-suspend-graphics/1_driver_version_.*:
+ certification-status: blocker
+ - after-suspend-graphics/1_gl_support_.*:
+ certification-status: blocker
+ - after-suspend-graphics/1_minimum_resolution_.*
+ - after-suspend-graphics/1_auto_glxgears_.*:
+ certification-status: blocker
+ - after-suspend-graphics/2_auto_glxgears_.*:
+ certification-status: blocker
+ - after-suspend-graphics/auto_glxgears:
+ certification-status: blocker
+ - after-suspend-graphics/auto_glxgears_fullscreen:
+ certification-status: blocker
+ - suspend/resolution_after_suspend:
+ certification-status: blocker
+---
+id: after-suspend-graphics-gpu-cert-manual
+unit: test plan
+name: After suspend tests (GPU manual)
+description: After suspend tests (GPU manual)
+include:
+ - power-management/lid_close_suspend_open:
+ certification-status: blocker
+ - power-management/lid:
+ certification-status: blocker
+ - after-suspend-miscellanea/chvt
+ - suspend/display_after_suspend:
+ certification-status: blocker
+ - after-suspend-graphics/1_maximum_resolution_.*:
+ certification-status: blocker
+ - after-suspend-graphics/1_rotation_.*:
+ certification-status: blocker
+ - after-suspend-graphics/1_video_.*:
+ certification-status: blocker
+ - after-suspend-graphics/1_cycle_resolution_.*:
+ certification-status: non-blocker
+ - after-suspend-graphics/1_valid_glxgears_.*:
+ certification-status: blocker
+ - after-suspend-graphics/2_valid_glxgears_.*:
+ certification-status: blocker
+ - after-suspend-graphics/valid_glxgears:
+ certification-status: blocker
+ - after-suspend-graphics/valid_glxgears_fullscreen:
+ certification-status: blocker
+ - suspend/1_xrandr_screens_after_suspend.tar.gz_auto
+---
+id: after-suspend-graphics-gpu-cert-26-04-manual
+unit: test plan
+name: After suspend tests for 26.04 (GPU manual)
+description: After suspend tests (GPU manual)
+include:
+ - power-management/lid_close_suspend_open:
+ certification-status: blocker
+ - power-management/lid:
+ certification-status: blocker
+ - after-suspend-miscellanea/chvt
+ - suspend/display_after_suspend:
+ certification-status: blocker
+ - after-suspend-graphics/maximum_resolution_primary:
+ certification-status: blocker
+ - after-suspend-graphics/rotation_primary:
+ certification-status: blocker
+ - after-suspend-graphics/video_primary:
+ certification-status: blocker
+ - after-suspend-graphics/cycle_resolution_primary:
+ certification-status: blocker
+ - after-suspend-graphics/index_valid_glxgears_product_slug:
+ certification-status: blocker
+ - after-suspend-graphics/index_valid_glxgears_fullscreen_product_slug:
+ certification-status: blocker
+ - after-suspend-graphics/valid_glxgears:
+ certification-status: blocker
+ - after-suspend-graphics/valid_glxgears_fullscreen:
+ certification-status: blocker
+ - suspend/xrandr_screens_after_suspend_primary
+---
+id: graphics-integrated-gpu-cert-full
+unit: test plan
+name: Graphics tests (integrated GPU)
+description: Graphics tests (integrated GPU)
+include: []
+bootstrap_include:
+ - graphics_card
+nested_part:
+ - com.canonical.certification::graphics-integrated-gpu-cert-automated
+ - com.canonical.certification::graphics-integrated-gpu-cert-manual
+---
+id: graphics-integrated-gpu-cert-manual
+unit: test plan
+name: Graphics tests (integrated GPU) (Manual)
+description: Graphics tests (integrated GPU) (Manual)
+include:
+ - miscellanea/chvt
+ - graphics/1_maximum_resolution_.*:
+ certification-status: blocker
+ - graphics/1_glxgears_.*:
+ certification-status: blocker
+ - graphics/1_rotation_.*:
+ certification-status: blocker
+ - graphics/1_video_.*:
+ certification-status: blocker
+ - graphics/1_cycle_resolution_.*:
+ certification-status: non-blocker
+bootstrap_include:
+ - graphics_card
+---
+id: graphics-integrated-gpu-cert-automated
+unit: test plan
+name: Graphics tests (integrated GPU) (Automated)
+description: Graphics tests (integrated GPU) (Automated)
+include:
+ - graphics/1_auto_switch_card_.*:
+ certification-status: blocker
+ - graphics/VESA_drivers_not_in_use:
+ certification-status: blocker
+ - graphics/1_driver_version_.*:
+ certification-status: blocker
+ - graphics/1_gl_support_.*:
+ certification-status: blocker
+ - graphics/1_minimum_resolution_.*
+ - suspend/1_resolution_before_suspend_.*_auto:
+ certification-status: blocker
+bootstrap_include:
+ - graphics_card
+---
+id: graphics-discrete-gpu-cert-full
+unit: test plan
+name: Graphics tests (discrete GPU)
+description: Graphics tests (discrete GPU)
+include: []
+bootstrap_include:
+ - graphics_card
+nested_part:
+ - com.canonical.certification::graphics-discrete-gpu-cert-automated
+ - com.canonical.certification::graphics-discrete-gpu-cert-manual
+---
+id: graphics-discrete-gpu-cert-manual
+unit: test plan
+name: Graphics tests (discrete GPU) (Manual)
+description: Graphics tests (discrete GPU) (Manual)
+include:
+ - graphics/2_maximum_resolution_.*:
+ certification-status: blocker
+ - graphics/2_glxgears_.*:
+ certification-status: blocker
+ - graphics/2_rotation_.*:
+ certification-status: blocker
+ - graphics/2_video_.*:
+ certification-status: blocker
+ - graphics/2_cycle_resolution_.*:
+ certification-status: non-blocker
+bootstrap_include:
+ - graphics_card
+---
+id: graphics-discrete-gpu-cert-automated
+unit: test plan
+name: Graphics tests (discrete GPU) (Automated)
+description: Graphics tests (discrete GPU) (Automated)
+include:
+ - graphics/2_auto_switch_card_.*:
+ certification-status: blocker
+ - graphics/2_valid_opengl_renderer_.*:
+ certification-status: blocker
+ - graphics/2_driver_version_.*:
+ certification-status: blocker
+ - graphics/2_gl_support_.*:
+ certification-status: blocker
+ - graphics/2_minimum_resolution_.*
+ - suspend/2_resolution_before_suspend_.*_auto:
+ certification-status: blocker
+bootstrap_include:
+ - graphics_card
+---
+id: after-suspend-graphics-integrated-gpu-cert-full
+unit: test plan
+name: After suspend tests (integrated GPU)
+description: After suspend tests (integrated GPU)
+include: []
+nested_part:
+ - com.canonical.certification::after-suspend-graphics-integrated-gpu-cert-automated
+ - com.canonical.certification::after-suspend-graphics-integrated-gpu-cert-manual
+---
+id: after-suspend-graphics-integrated-gpu-cert-automated
+unit: test plan
+name: After suspend tests (integrated GPU automated)
+description: After suspend tests (integrated GPU automated)
+include:
+ - after-suspend-graphics/1_auto_switch_card_.*:
+ certification-status: blocker
+ - suspend/1_suspend_after_switch_to_card_.*_auto:
+ certification-status: blocker
+ - suspend/1_suspend-time-check_.*_auto:
+ certification-status: non-blocker
+ - suspend/1_suspend-single-log-attach_.*_auto:
+ certification-status: non-blocker
+ - after-suspend-graphics/VESA_drivers_not_in_use:
+ certification-status: blocker
+ - after-suspend-graphics/1_driver_version_.*:
+ certification-status: blocker
+ - after-suspend-graphics/1_gl_support_.*:
+ certification-status: blocker
+ - after-suspend-graphics/1_minimum_resolution_.*
+ - suspend/1_resolution_after_suspend_.*_auto:
+ certification-status: blocker
+---
+id: after-suspend-graphics-integrated-gpu-cert-manual
+unit: test plan
+name: After suspend tests (integrated GPU manual)
+description: After suspend tests (integrated GPU manual)
+include:
+# or suspend/{{index}}_suspend_after_switch_to_card_{{product_slug}}_auto (two GPUs)
+ - after-suspend-miscellanea/chvt
+ - suspend/1_display_after_suspend_.*_graphics:
+ certification-status: blocker
+ - after-suspend-graphics/1_maximum_resolution_.*:
+ certification-status: blocker
+ - after-suspend-graphics/1_glxgears_.*:
+ certification-status: blocker
+ - after-suspend-graphics/1_rotation_.*:
+ certification-status: blocker
+ - after-suspend-graphics/1_video_.*:
+ certification-status: blocker
+ - after-suspend-graphics/1_cycle_resolution_.*:
+ certification-status: non-blocker
+ - suspend/1_xrandr_screens_after_suspend.tar.gz_auto
+ - power-management/lid_close_suspend_open:
+ certification-status: blocker
+ - power-management/lid:
+ certification-status: blocker
+---
+id: after-suspend-graphics-discrete-gpu-cert-full
+unit: test plan
+name: After suspend tests (discrete GPU)
+description: After suspend tests (discrete GPU)
+include: []
+nested_part:
+ - com.canonical.certification::after-suspend-graphics-discrete-gpu-cert-automated
+ - com.canonical.certification::after-suspend-graphics-discrete-gpu-cert-manual
+---
+id: after-suspend-graphics-discrete-gpu-cert-automated
+unit: test plan
+name: After suspend tests (discrete GPU automated)
+description: After suspend tests (discrete GPU automated)
+include:
+ - suspend/2_suspend_after_switch_to_card_.*_auto:
+ certification-status: blocker
+ - suspend/2_suspend-time-check_.*_auto:
+ certification-status: non-blocker
+ - suspend/2_suspend-single-log-attach_.*_auto:
+ certification-status: non-blocker
+ - after-suspend-graphics/2_driver_version_.*:
+ certification-status: blocker
+ - after-suspend-graphics/2_gl_support_.*:
+ certification-status: blocker
+ - after-suspend-graphics/2_minimum_resolution_.*
+ - suspend/2_resolution_after_suspend_.*_auto:
+ certification-status: blocker
+---
+id: after-suspend-graphics-discrete-gpu-cert-manual
+unit: test plan
+name: After suspend tests (discrete GPU manual)
+description: After suspend tests (discrete GPU manual)
+include:
+ - suspend/2_display_after_suspend_.*_graphics:
+ certification-status: blocker
+ - after-suspend-graphics/2_maximum_resolution_.*:
+ certification-status: blocker
+ - after-suspend-graphics/2_glxgears_.*:
+ certification-status: blocker
+ - after-suspend-graphics/2_rotation_.*:
+ certification-status: blocker
+ - after-suspend-graphics/2_video_.*:
+ certification-status: blocker
+ - after-suspend-graphics/2_cycle_resolution_.*:
+ certification-status: non-blocker
+ - suspend/2_xrandr_screens_after_suspend_.*.tar.gz_auto
+---
+id: graphics-integrated-gpu-cert-blockers
+unit: test plan
+name: Graphics tests (integrated GPU, certification blockers only)
+description: Graphics tests (integrated GPU, certification blockers only)
+include:
+ - graphics/1_auto_switch_card_.*:
+ certification-status: blocker
+ - graphics/VESA_drivers_not_in_use:
+ certification-status: blocker
+ - graphics/1_maximum_resolution_.*:
+ certification-status: blocker
+ - graphics/1_glxgears_.*:
+ certification-status: blocker
+ - graphics/1_driver_version_.*:
+ certification-status: blocker
+ - graphics/1_gl_support_.*:
+ certification-status: blocker
+ - graphics/1_rotation_.*:
+ certification-status: blocker
+ - graphics/1_video_.*:
+ certification-status: blocker
+ - suspend/1_resolution_before_suspend_.*_auto:
+ certification-status: blocker
+bootstrap_include:
+ - graphics_card
+---
+id: graphics-discrete-gpu-cert-blockers
+unit: test plan
+name: Graphics tests (discrete GPU, certification blockers only)
+description: Graphics tests (discrete GPU, certification blockers only)
+include:
+ - graphics/2_auto_switch_card_.*:
+ certification-status: blocker
+ - graphics/2_maximum_resolution_.*:
+ certification-status: blocker
+ - graphics/2_valid_opengl_renderer_.*:
+ certification-status: blocker
+ - graphics/2_glxgears_.*:
+ certification-status: blocker
+ - graphics/2_driver_version_.*:
+ certification-status: blocker
+ - graphics/2_gl_support_.*:
+ certification-status: blocker
+ - graphics/2_rotation_.*:
+ certification-status: blocker
+ - graphics/2_video_.*:
+ certification-status: blocker
+bootstrap_include:
+ - graphics_card
+---
+id: after-suspend-graphics-integrated-gpu-cert-blockers
+unit: test plan
+name: After suspend tests (integrated GPU, certification blockers only)
+description: After suspend tests (integrated GPU, certification blockers only)
+include:
+ - after-suspend-graphics/1_auto_switch_card_.*:
+ certification-status: blocker
+ - suspend/1_suspend_after_switch_to_card_.*_auto:
+ certification-status: blocker
+ - suspend/1_gl_support_after_suspend_.*_auto:
+ certification-status: blocker
+ - suspend/1_driver_version_after_suspend_.*_auto:
+ certification-status: blocker
+ - suspend/1_resolution_after_suspend_.*_auto:
+ certification-status: blocker
+ - suspend/1_display_after_suspend_.*_graphics:
+ certification-status: blocker
+ - suspend/1_glxgears_after_suspend_.*_graphics:
+ certification-status: blocker
+ - suspend/1_rotation_after_suspend_.*_graphics:
+ certification-status: blocker
+ - suspend/1_video_after_suspend_.*_graphics:
+ certification-status: blocker
+ - power-management/lid_close_suspend_open:
+ certification-status: blocker
+ - power-management/lid:
+ certification-status: blocker
+---
+id: after-suspend-graphics-discrete-gpu-cert-blockers
+unit: test plan
+name: After suspend tests (discrete GPU, certification blockers only)
+description: After suspend tests (discrete GPU, certification blockers only)
+include:
+ - suspend/2_resolution_before_suspend_.*_auto:
+ certification-status: blocker
+ - suspend/2_suspend_after_switch_to_card_.*_graphics:
+ certification-status: blocker
+ - suspend/2_gl_support_after_suspend_.*_auto:
+ certification-status: blocker
+ - suspend/2_driver_version_after_suspend_.*_auto:
+ certification-status: blocker
+ - suspend/2_resolution_after_suspend_.*_auto:
+ certification-status: blocker
+ - suspend/2_display_after_suspend_.*_graphics:
+ certification-status: blocker
+ - suspend/2_glxgears_after_suspend_.*_graphics:
+ certification-status: blocker
+ - suspend/2_rotation_after_suspend_.*_graphics:
+ certification-status: blocker
+ - suspend/2_video_after_suspend_.*_graphics:
+ certification-status: blocker
+---
+id: webgl-conformance-test
+unit: test plan
+name: WebGL conformance test
+description: WebGL conformance test
+include:
+ - graphics/webgl-conformance-test-.*
+bootstrap_include:
+ - browser_resource
+---
+id: after-suspend-webgl-conformance-test
+unit: test plan
+name: WebGL conformance test (After suspend)
+description: WebGL conformance test
+include:
+ - after-suspend-graphics/webgl-conformance-test-.*
+bootstrap_include:
+ - browser_resource
+---
+id: graphic-base-26-04-manual
+unit: test plan
+name: Graphics for 26.04 (Manual)
+description: Manual tests for graphics
+include:
+ - keys/video-out
+ - after-suspend-keys/video-out
+nested_part:
+ - submission-cert-full
+ - graphics-gpu-cert-26-04-manual
+ - monitor-gpu-cert-26-04-manual
+ - after-suspend-graphics-gpu-cert-26-04-manual
+ - after-suspend-monitor-gpu-cert-26-04-manual
+ - info-attachment-cert-full
+---
+id: graphic-base-26-04-automated
+unit: test plan
+name: Graphic for 26.04 (Automated)
+description: Automated tests for graphic
+include: []
+nested_part:
+ - graphics-gpu-cert-26-04-automated
+ - after-suspend-graphics-gpu-cert-26-04-automated
+---
+id: opencl-core-test-plan
+unit: test plan
+name: Graphics test plan for verifying OpenCL (core/snap)
+include:
+ - setup/install_opencl_cts
+ - graphics/cl_core_.*
+bootstrap_include:
+ - graphics_card
+ - executable
+---
+id: opencl-host-test-plan
+unit: test plan
+name: Graphics test plan for verifying OpenCL (host)
+include:
+ - setup/install_opencl_cts
+ - graphics/cl_host_.*
+bootstrap_include:
+ - graphics_card
+ - executable
+---
+id: vulkan-core-test-plan
+unit: test plan
+name: Graphics test plan for verifying Vulkan CTS (core/snap)
+include:
+ - setup/install_vulkan_cts
+ - graphics/vk_core_.*
+bootstrap_include:
+ - graphics_card
+ - executable
+---
+id: vulkan-classic-test-plan
+unit: test plan
+name: Graphics test plan for verifying Vulkan CTS (classic)
+include:
+ - setup/install_vulkan_cts
+ - graphics/vk_classic_.*
+bootstrap_include:
+ - graphics_card
+ - executable
+---
+id: opengl-core-test-plan
+unit: test plan
+name: Graphics test plan for verifying OpenGL CTS (core/snap)
+include:
+ - setup/install_opengl_cts
+ - graphics/gl_core_.*
+bootstrap_include:
+ - graphics_card
+ - executable
+---
+id: opengl-classic-test-plan
+unit: test plan
+name: Graphics test plan for verifying OpenGL CTS (classic)
+include:
+ - setup/install_opengl_cts
+ - graphics/gl_classic_.*
+bootstrap_include:
+ - graphics_card
+ - executable
+---
+id: crucible-core-test-plan
+unit: test plan
+name: Graphics test plan for crucible (core/snap)
+include:
+ - setup/install_crucible
+ - graphics/crucible_core_.*
+bootstrap_include:
+ - graphics_card
+ - executable
+---
+id: crucible-classic-test-plan
+unit: test plan
+name: Graphics test plan for crucible (classic)
+include:
+ - setup/install_crucible
+ - graphics/crucible_classic_.*
+bootstrap_include:
+ - graphics_card
+ - executable
+---
+id: level-zero-core-test-plan
+unit: test plan
+name: Graphics test plan for verifying Level Zero (core/snap)
+include:
+ - setup/install_level_zero_tests
+ - graphics/lz_core_.*
+bootstrap_include:
+ - graphics_card
+ - executable
+---
+id: level-zero-classic-test-plan
+unit: test plan
+name: Graphics test plan for verifying Level Zero (classic)
+include:
+ - setup/install_level_zero_tests
+ - graphics/lz_classic_.*
+bootstrap_include:
+ - graphics_card
+ - executable
diff --git a/providers/base/units/graphics/vulkan-cts.pxu b/providers/base/units/graphics/vulkan-cts.pxu
deleted file mode 100644
index 2d7c043402..0000000000
--- a/providers/base/units/graphics/vulkan-cts.pxu
+++ /dev/null
@@ -1,680 +0,0 @@
-unit: setup job
-plugin: shell
-id: setup/install_vulkan_cts
-category_id: com.canonical.plainbox::graphics
-_summary: Install vulkan-cts snap
-_purpose:
- This job will install the vulkan-cts snap, a dependency of vulkan conformance testing
-user: root
-command:
- if snap list vulkan-cts &>/dev/null; then
- snap refresh --beta vulkan-cts
- else
- snap install --beta vulkan-cts
- fi
-estimated_duration: 1m
-
-plugin: resource
-id: graphics/vk_gpu_avail
-category_id: com.canonical.plainbox::graphics
-user: root
-_summary: Checks for Vulkan-capable GPU
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
-estimated_duration: 1s
-command:
- # Unset DISPLAY so vulkaninfo skips surface/window-system checks and runs
- # in headless mode
- if env -u DISPLAY vulkan-cts.vulkaninfo --summary 2>&1 | grep "PHYSICAL_DEVICE_TYPE_.*_GPU"; then
- echo "PASS: Found a Vulkan-capable GPU"
- else
- echo "FAIL: No Vulkan-capable GPU found"
- exit 1
- fi
-
-id: graphics/vk_core_api
-depends:
- graphics/vk_gpu_avail
-setup_include:
- setup/install_vulkan_cts
-category_id: com.canonical.plainbox::graphics
-flags: simple
-user: root
-_summary: Run the api tests from Vulkan-CTS (core)
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
-estimated_duration: 30m
-command:
- # mustpass/main/vk-default/api.txt is contained in the vulkan-cts snap
- # All options can be found in vulkan-cts.list-tests
- vulkan-cts.test --caselist=mustpass/main/vk-default/api.txt
-_siblings: [
- { "id": "graphics/vk_core_binding_model",
- "_summary": "Run the binding-model tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/binding-model.txt" },
- { "id": "graphics/vk_core_clipping",
- "_summary": "Run the clipping tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/clipping.txt" },
- { "id": "graphics/vk_core_compute",
- "_summary": "Run the compute tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/compute.txt" },
- { "id": "graphics/vk_core_conditional_rendering",
- "_summary": "Run the conditional-rendering tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/conditional-rendering.txt" },
- { "id": "graphics/vk_core_cooperative_vector",
- "_summary": "Run the cooperative-vector tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/cooperative-vector.txt" },
- { "id": "graphics/vk_core_depth",
- "_summary": "Run the depth tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/depth.txt" },
- { "id": "graphics/vk_core_descriptor_indexing",
- "_summary": "Run the descriptor-indexing tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/descriptor-indexing.txt" },
- { "id": "graphics/vk_core_device_group",
- "_summary": "Run the device-group tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/device-group.txt" },
- { "id": "graphics/vk_core_dgc",
- "_summary": "Run the dgc tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/dgc.txt" },
- { "id": "graphics/vk_core_draw",
- "_summary": "Run the draw tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/draw.txt" },
- { "id": "graphics/vk_core_drm_format_modifiers",
- "_summary": "Run the drm-format-modifiers tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/drm-format-modifiers.txt" },
- { "id": "graphics/vk_core_dynamic_state",
- "_summary": "Run the dynamic-state tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/dynamic-state.txt" },
- { "id": "graphics/vk_core_fragment_operations",
- "_summary": "Run the fragment-operations tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/fragment-operations.txt" },
- { "id": "graphics/vk_core_fragment_shader_interlock",
- "_summary": "Run the fragment-shader-interlock tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/fragment-shader-interlock.txt" },
- { "id": "graphics/vk_core_fragment_shading_barycentric",
- "_summary": "Run the fragment-shading-barycentric tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/fragment-shading-barycentric.txt" },
- { "id": "graphics/vk_core_fragment_shading_rate",
- "_summary": "Run the fragment-shading-rate tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/fragment-shading-rate.txt" },
- { "id": "graphics/vk_core_geometry",
- "_summary": "Run the geometry tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/geometry.txt" },
- { "id": "graphics/vk_core_glsl",
- "_summary": "Run the glsl tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/glsl.txt" },
- { "id": "graphics/vk_core_graphicsfuzz",
- "_summary": "Run the graphicsfuzz tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/graphicsfuzz.txt" },
- { "id": "graphics/vk_core_image_2d_array_compatible",
- "_summary": "Run the image/2d-array-compatible tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/2d-array-compatible.txt" },
- { "id": "graphics/vk_core_image_astc_decode_mode",
- "_summary": "Run the image/astc-decode-mode tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/astc-decode-mode.txt" },
- { "id": "graphics/vk_core_image_astc_sample",
- "_summary": "Run the image/astc-sample tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/astc-sample.txt" },
- { "id": "graphics/vk_core_image_atomic_operations",
- "_summary": "Run the image/atomic-operations tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/atomic-operations.txt" },
- { "id": "graphics/vk_core_image_concurrent_copy",
- "_summary": "Run the image/concurrent-copy tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/concurrent-copy.txt" },
- { "id": "graphics/vk_core_image_depth_stencil_descriptor",
- "_summary": "Run the image/depth-stencil-descriptor tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/depth-stencil-descriptor.txt" },
- { "id": "graphics/vk_core_image_depth_stencil_separate_access",
- "_summary": "Run the image/depth-stencil-separate-access tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/depth-stencil-separate-access.txt" },
- { "id": "graphics/vk_core_image_device_scope_access",
- "_summary": "Run the image/device-scope-access tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/device-scope-access.txt" },
- { "id": "graphics/vk_core_image_extend_operands_spirv1p4",
- "_summary": "Run the image/extend-operands-spirv1p4 tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/extend-operands-spirv1p4.txt" },
- { "id": "graphics/vk_core_image_extended_usage_bit_compatibility",
- "_summary": "Run the image/extended-usage-bit-compatibility tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/extended-usage-bit-compatibility.txt" },
- { "id": "graphics/vk_core_image_extended_usage_bit",
- "_summary": "Run the image/extended-usage-bit tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/extended-usage-bit.txt" },
- { "id": "graphics/vk_core_image_format_reinterpret",
- "_summary": "Run the image/format-reinterpret tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/format-reinterpret.txt" },
- { "id": "graphics/vk_core_image_general_layout",
- "_summary": "Run the image/general-layout tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/general-layout.txt" },
- { "id": "graphics/vk_core_image_host_image_copy",
- "_summary": "Run the image/host-image-copy tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/host-image-copy.txt" },
- { "id": "graphics/vk_core_image_image_size",
- "_summary": "Run the image/image-size tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/image-size.txt" },
- { "id": "graphics/vk_core_image_load_store_lod",
- "_summary": "Run the image/load-store-lod tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/load-store-lod.txt" },
- { "id": "graphics/vk_core_image_load_store_multisample",
- "_summary": "Run the image/load-store-multisample tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/load-store-multisample.txt" },
- { "id": "graphics/vk_core_image_load_store",
- "_summary": "Run the image/load-store tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/load-store.txt" },
- { "id": "graphics/vk_core_image_misaligned_cube",
- "_summary": "Run the image/misaligned-cube tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/misaligned-cube.txt" },
- { "id": "graphics/vk_core_image_mismatched_formats",
- "_summary": "Run the image/mismatched-formats tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/mismatched-formats.txt" },
- { "id": "graphics/vk_core_image_mismatched_write_op",
- "_summary": "Run the image/mismatched-write-op tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/mismatched-write-op.txt" },
- { "id": "graphics/vk_core_image_mutable",
- "_summary": "Run the image/mutable tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/mutable.txt" },
- { "id": "graphics/vk_core_image_non_uniform_offset_sample",
- "_summary": "Run the image/non-uniform-offset-sample tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/non-uniform-offset-sample.txt" },
- { "id": "graphics/vk_core_image_nontemporal_operand",
- "_summary": "Run the image/nontemporal-operand tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/nontemporal-operand.txt" },
- { "id": "graphics/vk_core_image_qualifiers",
- "_summary": "Run the image/qualifiers tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/qualifiers.txt" },
- { "id": "graphics/vk_core_image_queue_transfer",
- "_summary": "Run the image/queue-transfer tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/queue-transfer.txt" },
- { "id": "graphics/vk_core_image_sample_cubemap",
- "_summary": "Run the image/sample-cubemap tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/sample-cubemap.txt" },
- { "id": "graphics/vk_core_image_sample_texture",
- "_summary": "Run the image/sample-texture tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/sample-texture.txt" },
- { "id": "graphics/vk_core_image_store",
- "_summary": "Run the image/store tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/store.txt" },
- { "id": "graphics/vk_core_image_subresource_layout",
- "_summary": "Run the image/subresource-layout tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/subresource-layout.txt" },
- { "id": "graphics/vk_core_image_swapchain_mutable",
- "_summary": "Run the image/swapchain-mutable tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/swapchain-mutable.txt" },
- { "id": "graphics/vk_core_image_texel_view_compatible",
- "_summary": "Run the image/texel-view-compatible tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image/texel-view-compatible.txt" },
- { "id": "graphics/vk_core_image_processing",
- "_summary": "Run the image-processing tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/image-processing.txt" },
- { "id": "graphics/vk_core_imageless_framebuffer",
- "_summary": "Run the imageless-framebuffer tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/imageless-framebuffer.txt" },
- { "id": "graphics/vk_core_info",
- "_summary": "Run the info tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/info.txt" },
- { "id": "graphics/vk_core_memory_model",
- "_summary": "Run the memory-model tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/memory-model.txt" },
- { "id": "graphics/vk_core_memory",
- "_summary": "Run the memory tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/memory.txt" },
- { "id": "graphics/vk_core_mesh_shader",
- "_summary": "Run the mesh-shader tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/mesh-shader.txt" },
- { "id": "graphics/vk_core_multiview",
- "_summary": "Run the multiview tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/multiview.txt" },
- { "id": "graphics/vk_core_pipeline_fast_linked_library",
- "_summary": "Run the pipeline/fast-linked-library tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/fast-linked-library.txt" },
- { "id": "graphics/vk_core_pipeline_monolithic",
- "_summary": "Run the pipeline/monolithic tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/monolithic.txt" },
- { "id": "graphics/vk_core_pipeline_no_queues",
- "_summary": "Run the pipeline/no-queues tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/no-queues.txt" },
- { "id": "graphics/vk_core_pipeline_library",
- "_summary": "Run the pipeline/pipeline-library tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/pipeline-library.txt" },
- { "id": "graphics/vk_core_pipeline_shader_object_linked_binary",
- "_summary": "Run the pipeline/shader-object-linked-binary tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/shader-object-linked-binary.txt" },
- { "id": "graphics/vk_core_pipeline_shader_object_linked_spirv",
- "_summary": "Run the pipeline/shader-object-linked-spirv tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/shader-object-linked-spirv.txt" },
- { "id": "graphics/vk_core_pipeline_shader_object_unlinked_binary",
- "_summary": "Run the pipeline/shader-object-unlinked-binary tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/shader-object-unlinked-binary.txt" },
- { "id": "graphics/vk_core_pipeline_shader_object_unlinked_spirv",
- "_summary": "Run the pipeline/shader-object-unlinked-spirv tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/shader-object-unlinked-spirv.txt" },
- { "id": "graphics/vk_core_protected_memory",
- "_summary": "Run the protected-memory tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/protected-memory.txt" },
- { "id": "graphics/vk_core_query_pool",
- "_summary": "Run the query-pool tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/query-pool.txt" },
- { "id": "graphics/vk_core_rasterization",
- "_summary": "Run the rasterization tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/rasterization.txt" },
- { "id": "graphics/vk_core_ray_query",
- "_summary": "Run the ray-query tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/ray-query.txt" },
- { "id": "graphics/vk_core_ray_tracing_pipeline",
- "_summary": "Run the ray-tracing-pipeline tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/ray-tracing-pipeline.txt" },
- { "id": "graphics/vk_core_reconvergence",
- "_summary": "Run the reconvergence tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/reconvergence.txt" },
- { "id": "graphics/vk_core_renderpass",
- "_summary": "Run the renderpass tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/renderpass.txt" },
- { "id": "graphics/vk_core_renderpasses",
- "_summary": "Run the renderpasses tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/renderpasses.txt" },
- { "id": "graphics/vk_core_robustness",
- "_summary": "Run the robustness tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/robustness.txt" },
- { "id": "graphics/vk_core_shader_object_api",
- "_summary": "Run the shader-object/api tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/api.txt" },
- { "id": "graphics/vk_core_shader_object_binary",
- "_summary": "Run the shader-object/binary tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/binary.txt" },
- { "id": "graphics/vk_core_shader_object_binding",
- "_summary": "Run the shader-object/binding tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/binding.txt" },
- { "id": "graphics/vk_core_shader_object_create",
- "_summary": "Run the shader-object/create tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/create.txt" },
- { "id": "graphics/vk_core_shader_object_link",
- "_summary": "Run the shader-object/link tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/link.txt" },
- { "id": "graphics/vk_core_shader_object_misc",
- "_summary": "Run the shader-object/misc tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/misc.txt" },
- { "id": "graphics/vk_core_shader_object_pipeline_interaction",
- "_summary": "Run the shader-object/pipeline-interaction tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/pipeline-interaction.txt" },
- { "id": "graphics/vk_core_shader_object_rendering",
- "_summary": "Run the shader-object/rendering tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/rendering.txt" },
- { "id": "graphics/vk_core_shader_object_tessellation",
- "_summary": "Run the shader-object/tessellation tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/tessellation.txt" },
- { "id": "graphics/vk_core_sparse_resources",
- "_summary": "Run the sparse-resources tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/sparse-resources.txt" },
- { "id": "graphics/vk_core_spirv_assembly",
- "_summary": "Run the spirv-assembly tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/spirv-assembly.txt" },
- { "id": "graphics/vk_core_ssbo",
- "_summary": "Run the ssbo tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/ssbo.txt" },
- { "id": "graphics/vk_core_subgroups",
- "_summary": "Run the subgroups tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/subgroups.txt" },
- { "id": "graphics/vk_core_synchronization",
- "_summary": "Run the synchronization tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/synchronization.txt" },
- { "id": "graphics/vk_core_synchronization2",
- "_summary": "Run the synchronization2 tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/synchronization2.txt" },
- { "id": "graphics/vk_core_tessellation",
- "_summary": "Run the tessellation tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/tessellation.txt" },
- { "id": "graphics/vk_core_texture",
- "_summary": "Run the texture tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/texture.txt" },
- { "id": "graphics/vk_core_transform_feedback",
- "_summary": "Run the transform-feedback tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/transform-feedback.txt" },
- { "id": "graphics/vk_core_ubo",
- "_summary": "Run the ubo tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/ubo.txt" },
- { "id": "graphics/vk_core_video",
- "_summary": "Run the video tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/video.txt" },
- { "id": "graphics/vk_core_wsi",
- "_summary": "Run the wsi tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/wsi.txt" },
- { "id": "graphics/vk_core_ycbcr",
- "_summary": "Run the ycbcr tests from Vulkan-CTS (core)",
- "command": "vulkan-cts.test --caselist=mustpass/main/vk-default/ycbcr.txt" }]
-
-unit: job
-plugin: shell
-id: graphics/vk_classic_gpu_avail
-category_id: com.canonical.plainbox::graphics
-user: root
-requires:
- executable.name == 'vulkaninfo'
-_summary: Checks for Vulkan-capable GPU using host drivers
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
- PATH
-estimated_duration: 1s
-command: vk_host.py resource
-
-unit: job
-plugin: shell
-id: graphics/vk_classic_vk_avail
-category_id: com.canonical.plainbox::graphics
-user: root
-_summary: Checks for host Vulkan ICD loader required by vulkan-cts --no-confinement
-estimated_duration: 1s
-command: vk_host.py validate-install
-
-id: graphics/vk_classic_api
-depends:
- graphics/vk_classic_gpu_avail
- graphics/vk_classic_vk_avail
-setup_include:
- setup/install_vulkan_cts
-category_id: com.canonical.plainbox::graphics
-flags: simple
-user: root
-_summary: Run the api tests from Vulkan-CTS (classic)
-environ:
- XDG_SESSION_TYPE
- XDG_RUNTIME_DIR
-estimated_duration: 30m
-command:
- # mustpass/main/vk-default/api.txt is contained in the vulkan-cts snap
- # All options can be found in vulkan-cts.list-tests
- # vk_host.py used to wrap extra env vars, paths, and flags vs Core tests
- vk_host.py run-test --caselist=mustpass/main/vk-default/api.txt
-_siblings: [
- { "id": "graphics/vk_classic_binding_model",
- "_summary": "Run the binding-model tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/binding-model.txt" },
- { "id": "graphics/vk_classic_clipping",
- "_summary": "Run the clipping tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/clipping.txt" },
- { "id": "graphics/vk_classic_compute",
- "_summary": "Run the compute tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/compute.txt" },
- { "id": "graphics/vk_classic_conditional_rendering",
- "_summary": "Run the conditional-rendering tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/conditional-rendering.txt" },
- { "id": "graphics/vk_classic_cooperative_vector",
- "_summary": "Run the cooperative-vector tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/cooperative-vector.txt" },
- { "id": "graphics/vk_classic_depth",
- "_summary": "Run the depth tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/depth.txt" },
- { "id": "graphics/vk_classic_descriptor_indexing",
- "_summary": "Run the descriptor-indexing tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/descriptor-indexing.txt" },
- { "id": "graphics/vk_classic_device_group",
- "_summary": "Run the device-group tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/device-group.txt" },
- { "id": "graphics/vk_classic_dgc",
- "_summary": "Run the dgc tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/dgc.txt" },
- { "id": "graphics/vk_classic_draw",
- "_summary": "Run the draw tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/draw.txt" },
- { "id": "graphics/vk_classic_drm_format_modifiers",
- "_summary": "Run the drm-format-modifiers tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/drm-format-modifiers.txt" },
- { "id": "graphics/vk_classic_dynamic_state",
- "_summary": "Run the dynamic-state tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/dynamic-state.txt" },
- { "id": "graphics/vk_classic_fragment_operations",
- "_summary": "Run the fragment-operations tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/fragment-operations.txt" },
- { "id": "graphics/vk_classic_fragment_shader_interlock",
- "_summary": "Run the fragment-shader-interlock tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/fragment-shader-interlock.txt" },
- { "id": "graphics/vk_classic_fragment_shading_barycentric",
- "_summary": "Run the fragment-shading-barycentric tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/fragment-shading-barycentric.txt" },
- { "id": "graphics/vk_classic_fragment_shading_rate",
- "_summary": "Run the fragment-shading-rate tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/fragment-shading-rate.txt" },
- { "id": "graphics/vk_classic_geometry",
- "_summary": "Run the geometry tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/geometry.txt" },
- { "id": "graphics/vk_classic_glsl",
- "_summary": "Run the glsl tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/glsl.txt" },
- { "id": "graphics/vk_classic_graphicsfuzz",
- "_summary": "Run the graphicsfuzz tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/graphicsfuzz.txt" },
- { "id": "graphics/vk_classic_image_2d_array_compatible",
- "_summary": "Run the image/2d-array-compatible tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/2d-array-compatible.txt" },
- { "id": "graphics/vk_classic_image_astc_decode_mode",
- "_summary": "Run the image/astc-decode-mode tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/astc-decode-mode.txt" },
- { "id": "graphics/vk_classic_image_astc_sample",
- "_summary": "Run the image/astc-sample tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/astc-sample.txt" },
- { "id": "graphics/vk_classic_image_atomic_operations",
- "_summary": "Run the image/atomic-operations tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/atomic-operations.txt" },
- { "id": "graphics/vk_classic_image_concurrent_copy",
- "_summary": "Run the image/concurrent-copy tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/concurrent-copy.txt" },
- { "id": "graphics/vk_classic_image_depth_stencil_descriptor",
- "_summary": "Run the image/depth-stencil-descriptor tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/depth-stencil-descriptor.txt" },
- { "id": "graphics/vk_classic_image_depth_stencil_separate_access",
- "_summary": "Run the image/depth-stencil-separate-access tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/depth-stencil-separate-access.txt" },
- { "id": "graphics/vk_classic_image_device_scope_access",
- "_summary": "Run the image/device-scope-access tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/device-scope-access.txt" },
- { "id": "graphics/vk_classic_image_extend_operands_spirv1p4",
- "_summary": "Run the image/extend-operands-spirv1p4 tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/extend-operands-spirv1p4.txt" },
- { "id": "graphics/vk_classic_image_extended_usage_bit_compatibility",
- "_summary": "Run the image/extended-usage-bit-compatibility tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/extended-usage-bit-compatibility.txt" },
- { "id": "graphics/vk_classic_image_extended_usage_bit",
- "_summary": "Run the image/extended-usage-bit tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/extended-usage-bit.txt" },
- { "id": "graphics/vk_classic_image_format_reinterpret",
- "_summary": "Run the image/format-reinterpret tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/format-reinterpret.txt" },
- { "id": "graphics/vk_classic_image_general_layout",
- "_summary": "Run the image/general-layout tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/general-layout.txt" },
- { "id": "graphics/vk_classic_image_host_image_copy",
- "_summary": "Run the image/host-image-copy tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/host-image-copy.txt" },
- { "id": "graphics/vk_classic_image_image_size",
- "_summary": "Run the image/image-size tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/image-size.txt" },
- { "id": "graphics/vk_classic_image_load_store_lod",
- "_summary": "Run the image/load-store-lod tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/load-store-lod.txt" },
- { "id": "graphics/vk_classic_image_load_store_multisample",
- "_summary": "Run the image/load-store-multisample tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/load-store-multisample.txt" },
- { "id": "graphics/vk_classic_image_load_store",
- "_summary": "Run the image/load-store tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/load-store.txt" },
- { "id": "graphics/vk_classic_image_misaligned_cube",
- "_summary": "Run the image/misaligned-cube tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/misaligned-cube.txt" },
- { "id": "graphics/vk_classic_image_mismatched_formats",
- "_summary": "Run the image/mismatched-formats tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/mismatched-formats.txt" },
- { "id": "graphics/vk_classic_image_mismatched_write_op",
- "_summary": "Run the image/mismatched-write-op tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/mismatched-write-op.txt" },
- { "id": "graphics/vk_classic_image_mutable",
- "_summary": "Run the image/mutable tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/mutable.txt" },
- { "id": "graphics/vk_classic_image_non_uniform_offset_sample",
- "_summary": "Run the image/non-uniform-offset-sample tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/non-uniform-offset-sample.txt" },
- { "id": "graphics/vk_classic_image_nontemporal_operand",
- "_summary": "Run the image/nontemporal-operand tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/nontemporal-operand.txt" },
- { "id": "graphics/vk_classic_image_qualifiers",
- "_summary": "Run the image/qualifiers tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/qualifiers.txt" },
- { "id": "graphics/vk_classic_image_queue_transfer",
- "_summary": "Run the image/queue-transfer tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/queue-transfer.txt" },
- { "id": "graphics/vk_classic_image_sample_cubemap",
- "_summary": "Run the image/sample-cubemap tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/sample-cubemap.txt" },
- { "id": "graphics/vk_classic_image_sample_texture",
- "_summary": "Run the image/sample-texture tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/sample-texture.txt" },
- { "id": "graphics/vk_classic_image_store",
- "_summary": "Run the image/store tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/store.txt" },
- { "id": "graphics/vk_classic_image_subresource_layout",
- "_summary": "Run the image/subresource-layout tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/subresource-layout.txt" },
- { "id": "graphics/vk_classic_image_swapchain_mutable",
- "_summary": "Run the image/swapchain-mutable tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/swapchain-mutable.txt" },
- { "id": "graphics/vk_classic_image_texel_view_compatible",
- "_summary": "Run the image/texel-view-compatible tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image/texel-view-compatible.txt" },
- { "id": "graphics/vk_classic_image_processing",
- "_summary": "Run the image-processing tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/image-processing.txt" },
- { "id": "graphics/vk_classic_imageless_framebuffer",
- "_summary": "Run the imageless-framebuffer tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/imageless-framebuffer.txt" },
- { "id": "graphics/vk_classic_info",
- "_summary": "Run the info tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/info.txt" },
- { "id": "graphics/vk_classic_memory_model",
- "_summary": "Run the memory-model tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/memory-model.txt" },
- { "id": "graphics/vk_classic_memory",
- "_summary": "Run the memory tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/memory.txt" },
- { "id": "graphics/vk_classic_mesh_shader",
- "_summary": "Run the mesh-shader tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/mesh-shader.txt" },
- { "id": "graphics/vk_classic_multiview",
- "_summary": "Run the multiview tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/multiview.txt" },
- { "id": "graphics/vk_classic_pipeline_fast_linked_library",
- "_summary": "Run the pipeline/fast-linked-library tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/fast-linked-library.txt" },
- { "id": "graphics/vk_classic_pipeline_monolithic",
- "_summary": "Run the pipeline/monolithic tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/monolithic.txt" },
- { "id": "graphics/vk_classic_pipeline_no_queues",
- "_summary": "Run the pipeline/no-queues tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/no-queues.txt" },
- { "id": "graphics/vk_classic_pipeline_library",
- "_summary": "Run the pipeline/pipeline-library tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/pipeline-library.txt" },
- { "id": "graphics/vk_classic_pipeline_shader_object_linked_binary",
- "_summary": "Run the pipeline/shader-object-linked-binary tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/shader-object-linked-binary.txt" },
- { "id": "graphics/vk_classic_pipeline_shader_object_linked_spirv",
- "_summary": "Run the pipeline/shader-object-linked-spirv tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/shader-object-linked-spirv.txt" },
- { "id": "graphics/vk_classic_pipeline_shader_object_unlinked_binary",
- "_summary": "Run the pipeline/shader-object-unlinked-binary tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/shader-object-unlinked-binary.txt" },
- { "id": "graphics/vk_classic_pipeline_shader_object_unlinked_spirv",
- "_summary": "Run the pipeline/shader-object-unlinked-spirv tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/shader-object-unlinked-spirv.txt" },
- { "id": "graphics/vk_classic_protected_memory",
- "_summary": "Run the protected-memory tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/protected-memory.txt" },
- { "id": "graphics/vk_classic_query_pool",
- "_summary": "Run the query-pool tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/query-pool.txt" },
- { "id": "graphics/vk_classic_rasterization",
- "_summary": "Run the rasterization tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/rasterization.txt" },
- { "id": "graphics/vk_classic_ray_query",
- "_summary": "Run the ray-query tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/ray-query.txt" },
- { "id": "graphics/vk_classic_ray_tracing_pipeline",
- "_summary": "Run the ray-tracing-pipeline tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/ray-tracing-pipeline.txt" },
- { "id": "graphics/vk_classic_reconvergence",
- "_summary": "Run the reconvergence tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/reconvergence.txt" },
- { "id": "graphics/vk_classic_renderpass",
- "_summary": "Run the renderpass tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/renderpass.txt" },
- { "id": "graphics/vk_classic_renderpasses",
- "_summary": "Run the renderpasses tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/renderpasses.txt" },
- { "id": "graphics/vk_classic_robustness",
- "_summary": "Run the robustness tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/robustness.txt" },
- { "id": "graphics/vk_classic_shader_object_api",
- "_summary": "Run the shader-object/api tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/api.txt" },
- { "id": "graphics/vk_classic_shader_object_binary",
- "_summary": "Run the shader-object/binary tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/binary.txt" },
- { "id": "graphics/vk_classic_shader_object_binding",
- "_summary": "Run the shader-object/binding tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/binding.txt" },
- { "id": "graphics/vk_classic_shader_object_create",
- "_summary": "Run the shader-object/create tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/create.txt" },
- { "id": "graphics/vk_classic_shader_object_link",
- "_summary": "Run the shader-object/link tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/link.txt" },
- { "id": "graphics/vk_classic_shader_object_misc",
- "_summary": "Run the shader-object/misc tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/misc.txt" },
- { "id": "graphics/vk_classic_shader_object_pipeline_interaction",
- "_summary": "Run the shader-object/pipeline-interaction tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/pipeline-interaction.txt" },
- { "id": "graphics/vk_classic_shader_object_rendering",
- "_summary": "Run the shader-object/rendering tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/rendering.txt" },
- { "id": "graphics/vk_classic_shader_object_tessellation",
- "_summary": "Run the shader-object/tessellation tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/tessellation.txt" },
- { "id": "graphics/vk_classic_sparse_resources",
- "_summary": "Run the sparse-resources tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/sparse-resources.txt" },
- { "id": "graphics/vk_classic_spirv_assembly",
- "_summary": "Run the spirv-assembly tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/spirv-assembly.txt" },
- { "id": "graphics/vk_classic_ssbo",
- "_summary": "Run the ssbo tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/ssbo.txt" },
- { "id": "graphics/vk_classic_subgroups",
- "_summary": "Run the subgroups tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/subgroups.txt" },
- { "id": "graphics/vk_classic_synchronization",
- "_summary": "Run the synchronization tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/synchronization.txt" },
- { "id": "graphics/vk_classic_synchronization2",
- "_summary": "Run the synchronization2 tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/synchronization2.txt" },
- { "id": "graphics/vk_classic_tessellation",
- "_summary": "Run the tessellation tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/tessellation.txt" },
- { "id": "graphics/vk_classic_texture",
- "_summary": "Run the texture tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/texture.txt" },
- { "id": "graphics/vk_classic_transform_feedback",
- "_summary": "Run the transform-feedback tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/transform-feedback.txt" },
- { "id": "graphics/vk_classic_ubo",
- "_summary": "Run the ubo tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/ubo.txt" },
- { "id": "graphics/vk_classic_video",
- "_summary": "Run the video tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/video.txt" },
- { "id": "graphics/vk_classic_wsi",
- "_summary": "Run the wsi tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/wsi.txt" },
- { "id": "graphics/vk_classic_ycbcr",
- "_summary": "Run the ycbcr tests from Vulkan-CTS (classic)",
- "command": "vk_host.py run-test --caselist=mustpass/main/vk-default/ycbcr.txt" }]
diff --git a/providers/base/units/graphics/vulkan-cts.yaml b/providers/base/units/graphics/vulkan-cts.yaml
new file mode 100644
index 0000000000..54c6f46ab1
--- /dev/null
+++ b/providers/base/units/graphics/vulkan-cts.yaml
@@ -0,0 +1,676 @@
+unit: setup job
+plugin: shell
+id: setup/install_vulkan_cts
+category_id: com.canonical.plainbox::graphics
+summary: Install vulkan-cts snap
+user: root
+command: |
+ if snap list vulkan-cts &>/dev/null; then
+ snap refresh --beta vulkan-cts
+ else
+ snap install --beta vulkan-cts
+ fi
+estimated_duration: 1m
+---
+plugin: resource
+id: graphics/vk_gpu_avail
+category_id: com.canonical.plainbox::graphics
+user: root
+summary: Checks for Vulkan-capable GPU
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+estimated_duration: 1s
+command: |
+ # Unset DISPLAY so vulkaninfo skips surface/window-system checks and runs
+ # in headless mode
+ if env -u DISPLAY vulkan-cts.vulkaninfo --summary 2>&1 | grep "PHYSICAL_DEVICE_TYPE_.*_GPU"; then
+ echo "PASS: Found a Vulkan-capable GPU"
+ else
+ echo "FAIL: No Vulkan-capable GPU found"
+ exit 1
+ fi
+---
+id: graphics/vk_core_api
+depends:
+ - graphics/vk_gpu_avail
+category_id: com.canonical.plainbox::graphics
+flags:
+ - simple
+user: root
+summary: Run the api tests from Vulkan-CTS (core)
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+estimated_duration: 30m
+command: |
+ # mustpass/main/vk-default/api.txt is contained in the vulkan-cts snap
+ # All options can be found in vulkan-cts.list-tests
+ vulkan-cts.test --caselist=mustpass/main/vk-default/api.txt
+siblings:
+ - id: graphics/vk_core_binding_model
+ summary: Run the binding-model tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/binding-model.txt
+ - id: graphics/vk_core_clipping
+ summary: Run the clipping tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/clipping.txt
+ - id: graphics/vk_core_compute
+ summary: Run the compute tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/compute.txt
+ - id: graphics/vk_core_conditional_rendering
+ summary: Run the conditional-rendering tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/conditional-rendering.txt
+ - id: graphics/vk_core_cooperative_vector
+ summary: Run the cooperative-vector tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/cooperative-vector.txt
+ - id: graphics/vk_core_depth
+ summary: Run the depth tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/depth.txt
+ - id: graphics/vk_core_descriptor_indexing
+ summary: Run the descriptor-indexing tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/descriptor-indexing.txt
+ - id: graphics/vk_core_device_group
+ summary: Run the device-group tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/device-group.txt
+ - id: graphics/vk_core_dgc
+ summary: Run the dgc tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/dgc.txt
+ - id: graphics/vk_core_draw
+ summary: Run the draw tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/draw.txt
+ - id: graphics/vk_core_drm_format_modifiers
+ summary: Run the drm-format-modifiers tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/drm-format-modifiers.txt
+ - id: graphics/vk_core_dynamic_state
+ summary: Run the dynamic-state tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/dynamic-state.txt
+ - id: graphics/vk_core_fragment_operations
+ summary: Run the fragment-operations tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/fragment-operations.txt
+ - id: graphics/vk_core_fragment_shader_interlock
+ summary: Run the fragment-shader-interlock tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/fragment-shader-interlock.txt
+ - id: graphics/vk_core_fragment_shading_barycentric
+ summary: Run the fragment-shading-barycentric tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/fragment-shading-barycentric.txt
+ - id: graphics/vk_core_fragment_shading_rate
+ summary: Run the fragment-shading-rate tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/fragment-shading-rate.txt
+ - id: graphics/vk_core_geometry
+ summary: Run the geometry tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/geometry.txt
+ - id: graphics/vk_core_glsl
+ summary: Run the glsl tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/glsl.txt
+ - id: graphics/vk_core_graphicsfuzz
+ summary: Run the graphicsfuzz tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/graphicsfuzz.txt
+ - id: graphics/vk_core_image_2d_array_compatible
+ summary: Run the image/2d-array-compatible tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/2d-array-compatible.txt
+ - id: graphics/vk_core_image_astc_decode_mode
+ summary: Run the image/astc-decode-mode tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/astc-decode-mode.txt
+ - id: graphics/vk_core_image_astc_sample
+ summary: Run the image/astc-sample tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/astc-sample.txt
+ - id: graphics/vk_core_image_atomic_operations
+ summary: Run the image/atomic-operations tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/atomic-operations.txt
+ - id: graphics/vk_core_image_concurrent_copy
+ summary: Run the image/concurrent-copy tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/concurrent-copy.txt
+ - id: graphics/vk_core_image_depth_stencil_descriptor
+ summary: Run the image/depth-stencil-descriptor tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/depth-stencil-descriptor.txt
+ - id: graphics/vk_core_image_depth_stencil_separate_access
+ summary: Run the image/depth-stencil-separate-access tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/depth-stencil-separate-access.txt
+ - id: graphics/vk_core_image_device_scope_access
+ summary: Run the image/device-scope-access tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/device-scope-access.txt
+ - id: graphics/vk_core_image_extend_operands_spirv1p4
+ summary: Run the image/extend-operands-spirv1p4 tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/extend-operands-spirv1p4.txt
+ - id: graphics/vk_core_image_extended_usage_bit_compatibility
+ summary: Run the image/extended-usage-bit-compatibility tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/extended-usage-bit-compatibility.txt
+ - id: graphics/vk_core_image_extended_usage_bit
+ summary: Run the image/extended-usage-bit tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/extended-usage-bit.txt
+ - id: graphics/vk_core_image_format_reinterpret
+ summary: Run the image/format-reinterpret tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/format-reinterpret.txt
+ - id: graphics/vk_core_image_general_layout
+ summary: Run the image/general-layout tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/general-layout.txt
+ - id: graphics/vk_core_image_host_image_copy
+ summary: Run the image/host-image-copy tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/host-image-copy.txt
+ - id: graphics/vk_core_image_image_size
+ summary: Run the image/image-size tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/image-size.txt
+ - id: graphics/vk_core_image_load_store_lod
+ summary: Run the image/load-store-lod tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/load-store-lod.txt
+ - id: graphics/vk_core_image_load_store_multisample
+ summary: Run the image/load-store-multisample tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/load-store-multisample.txt
+ - id: graphics/vk_core_image_load_store
+ summary: Run the image/load-store tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/load-store.txt
+ - id: graphics/vk_core_image_misaligned_cube
+ summary: Run the image/misaligned-cube tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/misaligned-cube.txt
+ - id: graphics/vk_core_image_mismatched_formats
+ summary: Run the image/mismatched-formats tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/mismatched-formats.txt
+ - id: graphics/vk_core_image_mismatched_write_op
+ summary: Run the image/mismatched-write-op tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/mismatched-write-op.txt
+ - id: graphics/vk_core_image_mutable
+ summary: Run the image/mutable tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/mutable.txt
+ - id: graphics/vk_core_image_non_uniform_offset_sample
+ summary: Run the image/non-uniform-offset-sample tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/non-uniform-offset-sample.txt
+ - id: graphics/vk_core_image_nontemporal_operand
+ summary: Run the image/nontemporal-operand tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/nontemporal-operand.txt
+ - id: graphics/vk_core_image_qualifiers
+ summary: Run the image/qualifiers tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/qualifiers.txt
+ - id: graphics/vk_core_image_queue_transfer
+ summary: Run the image/queue-transfer tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/queue-transfer.txt
+ - id: graphics/vk_core_image_sample_cubemap
+ summary: Run the image/sample-cubemap tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/sample-cubemap.txt
+ - id: graphics/vk_core_image_sample_texture
+ summary: Run the image/sample-texture tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/sample-texture.txt
+ - id: graphics/vk_core_image_store
+ summary: Run the image/store tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/store.txt
+ - id: graphics/vk_core_image_subresource_layout
+ summary: Run the image/subresource-layout tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/subresource-layout.txt
+ - id: graphics/vk_core_image_swapchain_mutable
+ summary: Run the image/swapchain-mutable tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/swapchain-mutable.txt
+ - id: graphics/vk_core_image_texel_view_compatible
+ summary: Run the image/texel-view-compatible tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image/texel-view-compatible.txt
+ - id: graphics/vk_core_image_processing
+ summary: Run the image-processing tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/image-processing.txt
+ - id: graphics/vk_core_imageless_framebuffer
+ summary: Run the imageless-framebuffer tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/imageless-framebuffer.txt
+ - id: graphics/vk_core_info
+ summary: Run the info tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/info.txt
+ - id: graphics/vk_core_memory_model
+ summary: Run the memory-model tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/memory-model.txt
+ - id: graphics/vk_core_memory
+ summary: Run the memory tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/memory.txt
+ - id: graphics/vk_core_mesh_shader
+ summary: Run the mesh-shader tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/mesh-shader.txt
+ - id: graphics/vk_core_multiview
+ summary: Run the multiview tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/multiview.txt
+ - id: graphics/vk_core_pipeline_fast_linked_library
+ summary: Run the pipeline/fast-linked-library tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/fast-linked-library.txt
+ - id: graphics/vk_core_pipeline_monolithic
+ summary: Run the pipeline/monolithic tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/monolithic.txt
+ - id: graphics/vk_core_pipeline_no_queues
+ summary: Run the pipeline/no-queues tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/no-queues.txt
+ - id: graphics/vk_core_pipeline_library
+ summary: Run the pipeline/pipeline-library tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/pipeline-library.txt
+ - id: graphics/vk_core_pipeline_shader_object_linked_binary
+ summary: Run the pipeline/shader-object-linked-binary tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/shader-object-linked-binary.txt
+ - id: graphics/vk_core_pipeline_shader_object_linked_spirv
+ summary: Run the pipeline/shader-object-linked-spirv tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/shader-object-linked-spirv.txt
+ - id: graphics/vk_core_pipeline_shader_object_unlinked_binary
+ summary: Run the pipeline/shader-object-unlinked-binary tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/shader-object-unlinked-binary.txt
+ - id: graphics/vk_core_pipeline_shader_object_unlinked_spirv
+ summary: Run the pipeline/shader-object-unlinked-spirv tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/pipeline/shader-object-unlinked-spirv.txt
+ - id: graphics/vk_core_protected_memory
+ summary: Run the protected-memory tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/protected-memory.txt
+ - id: graphics/vk_core_query_pool
+ summary: Run the query-pool tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/query-pool.txt
+ - id: graphics/vk_core_rasterization
+ summary: Run the rasterization tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/rasterization.txt
+ - id: graphics/vk_core_ray_query
+ summary: Run the ray-query tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/ray-query.txt
+ - id: graphics/vk_core_ray_tracing_pipeline
+ summary: Run the ray-tracing-pipeline tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/ray-tracing-pipeline.txt
+ - id: graphics/vk_core_reconvergence
+ summary: Run the reconvergence tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/reconvergence.txt
+ - id: graphics/vk_core_renderpass
+ summary: Run the renderpass tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/renderpass.txt
+ - id: graphics/vk_core_renderpasses
+ summary: Run the renderpasses tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/renderpasses.txt
+ - id: graphics/vk_core_robustness
+ summary: Run the robustness tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/robustness.txt
+ - id: graphics/vk_core_shader_object_api
+ summary: Run the shader-object/api tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/api.txt
+ - id: graphics/vk_core_shader_object_binary
+ summary: Run the shader-object/binary tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/binary.txt
+ - id: graphics/vk_core_shader_object_binding
+ summary: Run the shader-object/binding tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/binding.txt
+ - id: graphics/vk_core_shader_object_create
+ summary: Run the shader-object/create tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/create.txt
+ - id: graphics/vk_core_shader_object_link
+ summary: Run the shader-object/link tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/link.txt
+ - id: graphics/vk_core_shader_object_misc
+ summary: Run the shader-object/misc tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/misc.txt
+ - id: graphics/vk_core_shader_object_pipeline_interaction
+ summary: Run the shader-object/pipeline-interaction tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/pipeline-interaction.txt
+ - id: graphics/vk_core_shader_object_rendering
+ summary: Run the shader-object/rendering tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/rendering.txt
+ - id: graphics/vk_core_shader_object_tessellation
+ summary: Run the shader-object/tessellation tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/shader-object/tessellation.txt
+ - id: graphics/vk_core_sparse_resources
+ summary: Run the sparse-resources tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/sparse-resources.txt
+ - id: graphics/vk_core_spirv_assembly
+ summary: Run the spirv-assembly tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/spirv-assembly.txt
+ - id: graphics/vk_core_ssbo
+ summary: Run the ssbo tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/ssbo.txt
+ - id: graphics/vk_core_subgroups
+ summary: Run the subgroups tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/subgroups.txt
+ - id: graphics/vk_core_synchronization
+ summary: Run the synchronization tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/synchronization.txt
+ - id: graphics/vk_core_synchronization2
+ summary: Run the synchronization2 tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/synchronization2.txt
+ - id: graphics/vk_core_tessellation
+ summary: Run the tessellation tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/tessellation.txt
+ - id: graphics/vk_core_texture
+ summary: Run the texture tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/texture.txt
+ - id: graphics/vk_core_transform_feedback
+ summary: Run the transform-feedback tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/transform-feedback.txt
+ - id: graphics/vk_core_ubo
+ summary: Run the ubo tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/ubo.txt
+ - id: graphics/vk_core_video
+ summary: Run the video tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/video.txt
+ - id: graphics/vk_core_wsi
+ summary: Run the wsi tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/wsi.txt
+ - id: graphics/vk_core_ycbcr
+ summary: Run the ycbcr tests from Vulkan-CTS (core)
+ command: vulkan-cts.test --caselist=mustpass/main/vk-default/ycbcr.txt
+---
+unit: job
+plugin: shell
+id: graphics/vk_classic_gpu_avail
+category_id: com.canonical.plainbox::graphics
+user: root
+requires:
+ - executable.name == 'vulkaninfo'
+summary: Checks for Vulkan-capable GPU using host drivers
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+ - PATH
+estimated_duration: 1s
+command: vk_host.py resource
+---
+unit: job
+plugin: shell
+id: graphics/vk_classic_vk_avail
+category_id: com.canonical.plainbox::graphics
+user: root
+summary: Checks for host Vulkan ICD loader required by vulkan-cts --no-confinement
+estimated_duration: 1s
+command: vk_host.py validate-install
+---
+id: graphics/vk_classic_api
+depends:
+ - graphics/vk_classic_gpu_avail
+ - graphics/vk_classic_vk_avail
+category_id: com.canonical.plainbox::graphics
+flags:
+ - simple
+user: root
+summary: Run the api tests from Vulkan-CTS (classic)
+environ:
+ - XDG_SESSION_TYPE
+ - XDG_RUNTIME_DIR
+estimated_duration: 30m
+command: |
+ # mustpass/main/vk-default/api.txt is contained in the vulkan-cts snap
+ # All options can be found in vulkan-cts.list-tests
+ # vk_host.py used to wrap extra env vars, paths, and flags vs Core tests
+ vk_host.py run-test --caselist=mustpass/main/vk-default/api.txt
+siblings:
+ - id: graphics/vk_classic_binding_model
+ summary: Run the binding-model tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/binding-model.txt
+ - id: graphics/vk_classic_clipping
+ summary: Run the clipping tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/clipping.txt
+ - id: graphics/vk_classic_compute
+ summary: Run the compute tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/compute.txt
+ - id: graphics/vk_classic_conditional_rendering
+ summary: Run the conditional-rendering tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/conditional-rendering.txt
+ - id: graphics/vk_classic_cooperative_vector
+ summary: Run the cooperative-vector tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/cooperative-vector.txt
+ - id: graphics/vk_classic_depth
+ summary: Run the depth tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/depth.txt
+ - id: graphics/vk_classic_descriptor_indexing
+ summary: Run the descriptor-indexing tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/descriptor-indexing.txt
+ - id: graphics/vk_classic_device_group
+ summary: Run the device-group tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/device-group.txt
+ - id: graphics/vk_classic_dgc
+ summary: Run the dgc tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/dgc.txt
+ - id: graphics/vk_classic_draw
+ summary: Run the draw tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/draw.txt
+ - id: graphics/vk_classic_drm_format_modifiers
+ summary: Run the drm-format-modifiers tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/drm-format-modifiers.txt
+ - id: graphics/vk_classic_dynamic_state
+ summary: Run the dynamic-state tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/dynamic-state.txt
+ - id: graphics/vk_classic_fragment_operations
+ summary: Run the fragment-operations tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/fragment-operations.txt
+ - id: graphics/vk_classic_fragment_shader_interlock
+ summary: Run the fragment-shader-interlock tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/fragment-shader-interlock.txt
+ - id: graphics/vk_classic_fragment_shading_barycentric
+ summary: Run the fragment-shading-barycentric tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/fragment-shading-barycentric.txt
+ - id: graphics/vk_classic_fragment_shading_rate
+ summary: Run the fragment-shading-rate tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/fragment-shading-rate.txt
+ - id: graphics/vk_classic_geometry
+ summary: Run the geometry tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/geometry.txt
+ - id: graphics/vk_classic_glsl
+ summary: Run the glsl tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/glsl.txt
+ - id: graphics/vk_classic_graphicsfuzz
+ summary: Run the graphicsfuzz tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/graphicsfuzz.txt
+ - id: graphics/vk_classic_image_2d_array_compatible
+ summary: Run the image/2d-array-compatible tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/2d-array-compatible.txt
+ - id: graphics/vk_classic_image_astc_decode_mode
+ summary: Run the image/astc-decode-mode tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/astc-decode-mode.txt
+ - id: graphics/vk_classic_image_astc_sample
+ summary: Run the image/astc-sample tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/astc-sample.txt
+ - id: graphics/vk_classic_image_atomic_operations
+ summary: Run the image/atomic-operations tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/atomic-operations.txt
+ - id: graphics/vk_classic_image_concurrent_copy
+ summary: Run the image/concurrent-copy tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/concurrent-copy.txt
+ - id: graphics/vk_classic_image_depth_stencil_descriptor
+ summary: Run the image/depth-stencil-descriptor tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/depth-stencil-descriptor.txt
+ - id: graphics/vk_classic_image_depth_stencil_separate_access
+ summary: Run the image/depth-stencil-separate-access tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/depth-stencil-separate-access.txt
+ - id: graphics/vk_classic_image_device_scope_access
+ summary: Run the image/device-scope-access tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/device-scope-access.txt
+ - id: graphics/vk_classic_image_extend_operands_spirv1p4
+ summary: Run the image/extend-operands-spirv1p4 tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/extend-operands-spirv1p4.txt
+ - id: graphics/vk_classic_image_extended_usage_bit_compatibility
+ summary: Run the image/extended-usage-bit-compatibility tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/extended-usage-bit-compatibility.txt
+ - id: graphics/vk_classic_image_extended_usage_bit
+ summary: Run the image/extended-usage-bit tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/extended-usage-bit.txt
+ - id: graphics/vk_classic_image_format_reinterpret
+ summary: Run the image/format-reinterpret tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/format-reinterpret.txt
+ - id: graphics/vk_classic_image_general_layout
+ summary: Run the image/general-layout tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/general-layout.txt
+ - id: graphics/vk_classic_image_host_image_copy
+ summary: Run the image/host-image-copy tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/host-image-copy.txt
+ - id: graphics/vk_classic_image_image_size
+ summary: Run the image/image-size tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/image-size.txt
+ - id: graphics/vk_classic_image_load_store_lod
+ summary: Run the image/load-store-lod tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/load-store-lod.txt
+ - id: graphics/vk_classic_image_load_store_multisample
+ summary: Run the image/load-store-multisample tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/load-store-multisample.txt
+ - id: graphics/vk_classic_image_load_store
+ summary: Run the image/load-store tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/load-store.txt
+ - id: graphics/vk_classic_image_misaligned_cube
+ summary: Run the image/misaligned-cube tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/misaligned-cube.txt
+ - id: graphics/vk_classic_image_mismatched_formats
+ summary: Run the image/mismatched-formats tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/mismatched-formats.txt
+ - id: graphics/vk_classic_image_mismatched_write_op
+ summary: Run the image/mismatched-write-op tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/mismatched-write-op.txt
+ - id: graphics/vk_classic_image_mutable
+ summary: Run the image/mutable tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/mutable.txt
+ - id: graphics/vk_classic_image_non_uniform_offset_sample
+ summary: Run the image/non-uniform-offset-sample tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/non-uniform-offset-sample.txt
+ - id: graphics/vk_classic_image_nontemporal_operand
+ summary: Run the image/nontemporal-operand tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/nontemporal-operand.txt
+ - id: graphics/vk_classic_image_qualifiers
+ summary: Run the image/qualifiers tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/qualifiers.txt
+ - id: graphics/vk_classic_image_queue_transfer
+ summary: Run the image/queue-transfer tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/queue-transfer.txt
+ - id: graphics/vk_classic_image_sample_cubemap
+ summary: Run the image/sample-cubemap tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/sample-cubemap.txt
+ - id: graphics/vk_classic_image_sample_texture
+ summary: Run the image/sample-texture tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/sample-texture.txt
+ - id: graphics/vk_classic_image_store
+ summary: Run the image/store tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/store.txt
+ - id: graphics/vk_classic_image_subresource_layout
+ summary: Run the image/subresource-layout tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/subresource-layout.txt
+ - id: graphics/vk_classic_image_swapchain_mutable
+ summary: Run the image/swapchain-mutable tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/swapchain-mutable.txt
+ - id: graphics/vk_classic_image_texel_view_compatible
+ summary: Run the image/texel-view-compatible tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image/texel-view-compatible.txt
+ - id: graphics/vk_classic_image_processing
+ summary: Run the image-processing tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/image-processing.txt
+ - id: graphics/vk_classic_imageless_framebuffer
+ summary: Run the imageless-framebuffer tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/imageless-framebuffer.txt
+ - id: graphics/vk_classic_info
+ summary: Run the info tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/info.txt
+ - id: graphics/vk_classic_memory_model
+ summary: Run the memory-model tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/memory-model.txt
+ - id: graphics/vk_classic_memory
+ summary: Run the memory tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/memory.txt
+ - id: graphics/vk_classic_mesh_shader
+ summary: Run the mesh-shader tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/mesh-shader.txt
+ - id: graphics/vk_classic_multiview
+ summary: Run the multiview tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/multiview.txt
+ - id: graphics/vk_classic_pipeline_fast_linked_library
+ summary: Run the pipeline/fast-linked-library tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/fast-linked-library.txt
+ - id: graphics/vk_classic_pipeline_monolithic
+ summary: Run the pipeline/monolithic tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/monolithic.txt
+ - id: graphics/vk_classic_pipeline_no_queues
+ summary: Run the pipeline/no-queues tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/no-queues.txt
+ - id: graphics/vk_classic_pipeline_library
+ summary: Run the pipeline/pipeline-library tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/pipeline-library.txt
+ - id: graphics/vk_classic_pipeline_shader_object_linked_binary
+ summary: Run the pipeline/shader-object-linked-binary tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/shader-object-linked-binary.txt
+ - id: graphics/vk_classic_pipeline_shader_object_linked_spirv
+ summary: Run the pipeline/shader-object-linked-spirv tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/shader-object-linked-spirv.txt
+ - id: graphics/vk_classic_pipeline_shader_object_unlinked_binary
+ summary: Run the pipeline/shader-object-unlinked-binary tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/shader-object-unlinked-binary.txt
+ - id: graphics/vk_classic_pipeline_shader_object_unlinked_spirv
+ summary: Run the pipeline/shader-object-unlinked-spirv tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/pipeline/shader-object-unlinked-spirv.txt
+ - id: graphics/vk_classic_protected_memory
+ summary: Run the protected-memory tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/protected-memory.txt
+ - id: graphics/vk_classic_query_pool
+ summary: Run the query-pool tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/query-pool.txt
+ - id: graphics/vk_classic_rasterization
+ summary: Run the rasterization tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/rasterization.txt
+ - id: graphics/vk_classic_ray_query
+ summary: Run the ray-query tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/ray-query.txt
+ - id: graphics/vk_classic_ray_tracing_pipeline
+ summary: Run the ray-tracing-pipeline tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/ray-tracing-pipeline.txt
+ - id: graphics/vk_classic_reconvergence
+ summary: Run the reconvergence tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/reconvergence.txt
+ - id: graphics/vk_classic_renderpass
+ summary: Run the renderpass tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/renderpass.txt
+ - id: graphics/vk_classic_renderpasses
+ summary: Run the renderpasses tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/renderpasses.txt
+ - id: graphics/vk_classic_robustness
+ summary: Run the robustness tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/robustness.txt
+ - id: graphics/vk_classic_shader_object_api
+ summary: Run the shader-object/api tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/api.txt
+ - id: graphics/vk_classic_shader_object_binary
+ summary: Run the shader-object/binary tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/binary.txt
+ - id: graphics/vk_classic_shader_object_binding
+ summary: Run the shader-object/binding tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/binding.txt
+ - id: graphics/vk_classic_shader_object_create
+ summary: Run the shader-object/create tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/create.txt
+ - id: graphics/vk_classic_shader_object_link
+ summary: Run the shader-object/link tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/link.txt
+ - id: graphics/vk_classic_shader_object_misc
+ summary: Run the shader-object/misc tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/misc.txt
+ - id: graphics/vk_classic_shader_object_pipeline_interaction
+ summary: Run the shader-object/pipeline-interaction tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/pipeline-interaction.txt
+ - id: graphics/vk_classic_shader_object_rendering
+ summary: Run the shader-object/rendering tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/rendering.txt
+ - id: graphics/vk_classic_shader_object_tessellation
+ summary: Run the shader-object/tessellation tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/shader-object/tessellation.txt
+ - id: graphics/vk_classic_sparse_resources
+ summary: Run the sparse-resources tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/sparse-resources.txt
+ - id: graphics/vk_classic_spirv_assembly
+ summary: Run the spirv-assembly tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/spirv-assembly.txt
+ - id: graphics/vk_classic_ssbo
+ summary: Run the ssbo tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/ssbo.txt
+ - id: graphics/vk_classic_subgroups
+ summary: Run the subgroups tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/subgroups.txt
+ - id: graphics/vk_classic_synchronization
+ summary: Run the synchronization tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/synchronization.txt
+ - id: graphics/vk_classic_synchronization2
+ summary: Run the synchronization2 tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/synchronization2.txt
+ - id: graphics/vk_classic_tessellation
+ summary: Run the tessellation tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/tessellation.txt
+ - id: graphics/vk_classic_texture
+ summary: Run the texture tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/texture.txt
+ - id: graphics/vk_classic_transform_feedback
+ summary: Run the transform-feedback tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/transform-feedback.txt
+ - id: graphics/vk_classic_ubo
+ summary: Run the ubo tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/ubo.txt
+ - id: graphics/vk_classic_video
+ summary: Run the video tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/video.txt
+ - id: graphics/vk_classic_wsi
+ summary: Run the wsi tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/wsi.txt
+ - id: graphics/vk_classic_ycbcr
+ summary: Run the ycbcr tests from Vulkan-CTS (classic)
+ command: vk_host.py run-test --caselist=mustpass/main/vk-default/ycbcr.txt