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