diff --git a/server/site_tests/tast/control.graphics-video-platformdecoding-vp8-nightly b/server/site_tests/tast/control.graphics-video-platformdecoding-vp8-nightly
new file mode 100644
index 0000000..99503b4
--- /dev/null
+++ b/server/site_tests/tast/control.graphics-video-platformdecoding-vp8-nightly
@@ -0,0 +1,37 @@
+# Copyright 2021 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = 'Chromium OS team'
+NAME = 'tast.graphics-video-platformdecoding-vp8-nightly'
+TIME = 'MEDIUM'
+TEST_TYPE = 'Server'
+ATTRIBUTES = 'suite:graphics_per-day'
+MAX_RESULT_SIZE_KB = 1024 * 1024
+PY_VERSION = 3
+
+# tast.py uses binaries installed from autotest_server_package.tar.bz2.
+REQUIRE_SSP = True
+
+DOC = '''
+Run the Tast graphics-video platformdecoding vp8 test suite.
+
+Tast is an integration-testing framework analagous to the test-running portion
+of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for
+more information.
+
+This test runs Tast-based graphics-video tests against a remote DUT.
+
+See http://go/tast-failures for information about investigating failures.
+'''
+
+def run(machine):
+    host=hosts.create_host(machine)
+    host.reboot()
+    job.run_test('tast',
+                 host=host,
+                 test_exprs=['("group:graphics" && graphics_nightly && graphics_video && !graphics_av_analysis && graphics_video_platformdecoding && graphics_video_vp8)'],
+                 ignore_test_failures=True, max_run_sec=21600,
+                 command_args=args)
+
+parallel_simple(run, machines)
diff --git a/server/site_tests/tast/control.graphics-video-platformdecoding-vp8-perbuild b/server/site_tests/tast/control.graphics-video-platformdecoding-vp8-perbuild
new file mode 100644
index 0000000..788a93f
--- /dev/null
+++ b/server/site_tests/tast/control.graphics-video-platformdecoding-vp8-perbuild
@@ -0,0 +1,37 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = 'Chromium OS team'
+NAME = 'tast.graphics-video-platformdecoding-vp8-perbuild'
+TIME = 'MEDIUM'
+TEST_TYPE = 'Server'
+ATTRIBUTES = 'suite:graphics_per-build'
+MAX_RESULT_SIZE_KB = 1024 * 1024
+PY_VERSION = 3
+
+# tast.py uses binaries installed from autotest_server_package.tar.bz2.
+REQUIRE_SSP = True
+
+DOC = '''
+Run the Tast graphics-video platformdecoding-vp8 test suite.
+
+Tast is an integration-testing framework analagous to the test-running portion
+of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for
+more information.
+
+This test runs Tast-based graphics-video tests against a remote DUT.
+
+See http://go/tast-failures for information about investigating failures.
+'''
+
+def run(machine):
+    host=hosts.create_host(machine)
+    host.reboot()
+    job.run_test('tast',
+                 host=host,
+                 test_exprs=['("group:graphics" && graphics_perbuild && graphics_video && !graphics_av_analysis && graphics_video_platformdecoding && graphics_video_vp8)'],
+                 ignore_test_failures=True, max_run_sec=21600,
+                 command_args=args)
+
+parallel_simple(run, machines)
diff --git a/server/site_tests/tast/control.graphics-video-platformdecoding-vp8-weekly b/server/site_tests/tast/control.graphics-video-platformdecoding-vp8-weekly
new file mode 100644
index 0000000..187a19f
--- /dev/null
+++ b/server/site_tests/tast/control.graphics-video-platformdecoding-vp8-weekly
@@ -0,0 +1,37 @@
+# Copyright 2019 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+AUTHOR = 'Chromium OS team'
+NAME = 'tast.graphics-video-platformdecoding-vp8-weekly'
+TIME = 'LONG'
+TEST_TYPE = 'Server'
+ATTRIBUTES = 'suite:graphics_per-week'
+MAX_RESULT_SIZE_KB = 1024 * 1024
+PY_VERSION = 3
+
+# tast.py uses binaries installed from autotest_server_package.tar.bz2.
+REQUIRE_SSP = True
+
+DOC = '''
+Run the Tast graphics-video platformdecoding-vp8 test suite.
+
+Tast is an integration-testing framework analagous to the test-running portion
+of Autotest. See https://chromium.googlesource.com/chromiumos/platform/tast/ for
+more information.
+
+This test runs Tast-based graphics-video tests against a remote DUT.
+
+See http://go/tast-failures for information about investigating failures.
+'''
+
+def run(machine):
+    host=hosts.create_host(machine)
+    host.reboot()
+    job.run_test('tast',
+                 host=host,
+                 test_exprs=['("group:graphics" && graphics_weekly && graphics_video && !graphics_av_analysis && graphics_video_platformdecoding && graphics_video_vp8)'],
+                 ignore_test_failures=True, max_run_sec=21600,
+                 command_args=args)
+
+parallel_simple(run, machines)
