[igt-dev] [PATCH i-g-t v4 0/6] V3D Job Submission Tests

Maíra Canal mcanal at igalia.com
Mon Jan 30 17:57:52 UTC 2023


Currently, the V3D tests don't cover the job submission feature of the driver.
Therefore, create tests for DRM_IOCTL_V3D_SUBMIT_CL, an ioctl for submitting
commands to the 3D engine. In order to develop the tests, it was necessary to
bring some Mesa structures to IGT. Those structures have the definitions needed
for the creation of an acceptable packet that can be sent to the GPU.

So, patches 1-3 add the Mesa structures needed for the tests and also create a
struct to manage a CL job, the struct v3d_cl_job. Patch 4 introduces a helper
function to submit a minimal job to the GPU, which will be useful for the tests.
The minimal job will use the Mesa structures to produce a minimal valid packet.
Finally, patches 5-6 include new tests in the V3D test suite for
DRM_IOCTL_V3D_WAIT_BO and DRM_IOCTL_V3D_SUBMIT_CL. The tests for the Wait BO
IOCTL depend on the submission of a job, so they are included in this series.

v1 -> v2: 

- s/flags different than zero/invalid flags (Melissa Wen).
- s/simple/single (Melissa Wen).
- Add tests for valid flags that depends on the drivers caps (Melissa Wen).
- Add "valid-multisync-submission" test (Melissa Wen).
- s/multisync out-sync/multiple out-syncs (Melissa Wen).

v2 -> v3:

- Use SPDX license (Kamil Konieczny).

v3 -> v4:

- Fix Checkpatch warnings/errors in all files, except in the generated header
  from Mesa in order to keep the file equal to its Mesa counterpart (Kamil
  Konieczny).

Best Regards,
- Maíra Canal

Maíra Canal (6):
  lib/v3d: Add V3D packet helpers
  lib/v3d: Add V3D packet description
  lib/v3d: Introduce the struct v3d_cl_job
  lib/v3d: Add a helper to create a noop job
  tests/v3d_wait_bo: Create test for V3D's Wait BO IOCTL
  tests/v3d_submit_cl: Create test for V3D's Submit CL IOCTL

 lib/bitpack_helpers.h        |   60 +
 lib/igt_v3d.c                |  183 ++
 lib/igt_v3d.h                |   18 +
 lib/v3d/v3d_cl.h             |  139 +
 lib/v3d/v3d_packet.h         | 5164 ++++++++++++++++++++++++++++++++++
 lib/v3d/v3d_packet_helpers.h |  104 +
 tests/v3d/meson.build        |    2 +
 tests/v3d/v3d_submit_cl.c    |  380 +++
 tests/v3d/v3d_wait_bo.c      |  127 +
 tests/v3d_ci/v3d.testlist    |   28 +
 10 files changed, 6205 insertions(+)
 create mode 100644 lib/bitpack_helpers.h
 create mode 100644 lib/v3d/v3d_cl.h
 create mode 100644 lib/v3d/v3d_packet.h
 create mode 100644 lib/v3d/v3d_packet_helpers.h
 create mode 100644 tests/v3d/v3d_submit_cl.c
 create mode 100644 tests/v3d/v3d_wait_bo.c

-- 
2.39.1



More information about the igt-dev mailing list