[PATCH] amdgpu/tests: Fix uvd encoder test failure
vitaly.prosyak at amd.com
vitaly.prosyak at amd.com
Wed Feb 28 23:49:29 UTC 2024
From: Vitaly Prosyak <vitaly.prosyak at amd.com>
Combine the following sub-tests: creation, encoding
session initialization, and destroy as a single sub-test. After
the following change (1aa0ed3e02945fbbfe54183b60d0add06b1669d9
Revert runner: Normalize test list entries that don't list subtests),
and since we are using a custom job list list (job_list_from_test_list),
and as a result every sub-test is launched as a separate program
(i.e. 'execute_next_entry' is done 4 times), and even the launch is
sequential after 'monitor_output', we had a failure due to resource
sharing(amdgpu_bo_list_create) issues plus it is not expected behavior
for the test. Before the indicated change all the sub-tests were launched
as a single program.
Cc: Christian Koenig <christian.koenig at amd.com>
Cc: Alex Deucher <alexander.deucher at amd.com>
Cc: Michael Strawbridge <michael.strawbridge at amd.com>
Cc: Kamil Konieczny <kamil.konieczny at linux.intel.com>
Cc: Petri Latvala <adrinael at adrinael.net>
Signed-off-by: Michael Strawbridge <michael.strawbridge at amd.com>
Signed-off-by: Vitaly Prosyak <vitaly.prosyak at amd.com>
---
tests/amdgpu/amd_uvd_enc.c | 28 +++++++++++++---------------
1 file changed, 13 insertions(+), 15 deletions(-)
diff --git a/tests/amdgpu/amd_uvd_enc.c b/tests/amdgpu/amd_uvd_enc.c
index e3e85522f..430a636f4 100644
--- a/tests/amdgpu/amd_uvd_enc.c
+++ b/tests/amdgpu/amd_uvd_enc.c
@@ -292,6 +292,15 @@ amdgpu_uvd_enc_destroy(amdgpu_device_handle device_handle,
free_resource(&context->enc.session);
}
+static void
+amdgpu_uvd_enc_test(amdgpu_device_handle device, struct uvd_enc_context *context)
+{
+ amdgpu_uvd_enc_create(device, context);
+ amdgpu_uvd_enc_session_init(device, context);
+ amdgpu_uvd_enc_encode(device, context);
+ amdgpu_uvd_enc_destroy(device, context);
+}
+
igt_main
{
amdgpu_device_handle device;
@@ -307,27 +316,16 @@ igt_main
igt_require(err == 0);
igt_info("Initialized amdgpu, driver version %d.%d\n",
major, minor);
+ memset(&context, 0, sizeof(context));
err = mmd_context_init(device, &context.uvd);
igt_require(err == 0);
igt_skip_on(!is_uvd_enc_enable(device));
}
- igt_describe("Test whether uvd enc is created");
- igt_subtest("uvd_enc_create")
- amdgpu_uvd_enc_create(device, &context);
-
- igt_describe("Test whether uvd enc session init");
- igt_subtest("amdgpu_uvd_enc_session_init")
- amdgpu_uvd_enc_session_init(device, &context);
-
- igt_describe("Test whether uvd enc encode");
- igt_subtest("amdgpu_uvd_enc_encode")
- amdgpu_uvd_enc_encode(device, &context);
-
- igt_describe("Test whether uvd enc is destroyed");
- igt_subtest("uvd_enc_destroy")
- amdgpu_uvd_enc_destroy(device, &context);
+ igt_describe("Test uvd session, encode, destroy");
+ igt_subtest("uvd_encoder")
+ amdgpu_uvd_enc_test(device, &context);
igt_fixture {
mmd_context_clean(device, &context.uvd);
--
2.25.1
More information about the igt-dev
mailing list