1cb93a386Sopenharmony_ci
2cb93a386Sopenharmony_ci---
3cb93a386Sopenharmony_cititle: "Chromium Command Buffer"
4cb93a386Sopenharmony_cilinkTitle: "Chromium Command Buffer"
5cb93a386Sopenharmony_ci
6cb93a386Sopenharmony_ci---
7cb93a386Sopenharmony_ci
8cb93a386Sopenharmony_ci
9cb93a386Sopenharmony_ciIt is possible to run Skia's correctness tool, dm, and benchmarking tool,
10cb93a386Sopenharmony_cinanobench, on top of the GL ES interface provided by Chromium's command
11cb93a386Sopenharmony_cibuffer.
12cb93a386Sopenharmony_ci
13cb93a386Sopenharmony_ciThe Skia tools are always built with this support. They dynamically load
14cb93a386Sopenharmony_cithe command buffer as a shared library and thus no GYP/GN flags are
15cb93a386Sopenharmony_cirequired.
16cb93a386Sopenharmony_ci
17cb93a386Sopenharmony_ciThe command buffer standalone shared library is built in a Chromium checkout
18cb93a386Sopenharmony_ciby building the `command_buffer_gles2` target. The command buffer should be
19cb93a386Sopenharmony_cibuilt with the `is_component_build` in GN set to false. This will produce a .so,
20cb93a386Sopenharmony_ci.dylib, or .dll depending on the target OS. This should be copied alongside
21cb93a386Sopenharmony_cithe dm or nanobench executable built from a Skia repository.
22cb93a386Sopenharmony_ci
23cb93a386Sopenharmony_ciBoth tools have a `commandbuffer` config which can be used with the `--config`
24cb93a386Sopenharmony_cioption to the tool and will run the tests or benchmarks using the command buffer
25cb93a386Sopenharmony_cilibrary. Unit tests in dm always run on all appropriate and available backends
26cb93a386Sopenharmony_ciregardless of the `--config` flag.
27cb93a386Sopenharmony_ci
28cb93a386Sopenharmony_ci
29