Expose OpenGL command plans in pano_cli

This commit is contained in:
2026-06-02 20:52:53 +02:00
parent 9a4c595f64
commit b4c2117992
6 changed files with 38 additions and 4 deletions

View File

@@ -11,6 +11,9 @@
#include "paint/stroke.h"
#include "paint/stroke_script.h"
#include "renderer_api/recording_renderer.h"
#ifdef PP_PANO_CLI_ENABLE_OPENGL_PLAN
#include "renderer_gl/command_plan.h"
#endif
#include "ui_core/layout_xml.h"
#include <algorithm>
@@ -2672,6 +2675,9 @@ int record_render(int argc, char** argv)
};
const auto commands = device.commands();
const auto features = device.features();
#ifdef PP_PANO_CLI_ENABLE_OPENGL_PLAN
const auto open_gl_plan = pp::renderer::gl::plan_recorded_render_commands(commands);
#endif
for (const auto& command : commands) {
if (command.kind == pp::renderer::RecordedRenderCommandKind::begin_render_pass) {
++render_passes;
@@ -2773,6 +2779,19 @@ int record_render(int argc, char** argv)
<< ",\"clearReusedRenderPass\":" << json_bool(clear_reused_render_pass)
<< ",\"labeledCommandDescriptors\":" << labeled_command_descriptors
<< ",\"commands\":" << commands.size()
#ifdef PP_PANO_CLI_ENABLE_OPENGL_PLAN
<< ",\"openGlPlan\":{\"available\":true"
<< ",\"supported\":" << json_bool(open_gl_plan.supported)
<< ",\"commands\":" << open_gl_plan.commands.size()
<< ",\"renderPasses\":" << open_gl_plan.render_pass_count
<< ",\"drawCommands\":" << open_gl_plan.draw_command_count
<< ",\"passthroughCommands\":" << open_gl_plan.passthrough_command_count
<< ",\"traceCommands\":" << open_gl_plan.trace_command_count
<< ",\"unsupportedCommands\":" << open_gl_plan.unsupported_command_count
<< ",\"renderPassOrderErrors\":" << open_gl_plan.render_pass_order_error_count
<< ",\"endedInRenderPass\":" << json_bool(open_gl_plan.ended_in_render_pass)
<< "}"
#endif
<< ",\"renderPasses\":" << render_passes
<< ",\"depthClears\":" << depth_clears
<< ",\"stencilClears\":" << stencil_clears