diff --git a/src/graphics/host_gpu/renderer/pipeline/pipelineCache.cpp b/src/graphics/host_gpu/renderer/pipeline/pipelineCache.cpp index 980dfefa2..9ea6a8080 100644 --- a/src/graphics/host_gpu/renderer/pipeline/pipelineCache.cpp +++ b/src/graphics/host_gpu/renderer/pipeline/pipelineCache.cpp @@ -19,6 +19,7 @@ #include "loader/systemContent.h" #include +#include #include #include #include @@ -365,7 +366,16 @@ struct PipelineCache::ProgramCache { input_info.stage = {.program = &permutation.program, .resources = std::move(resources)}; permutation.program.bindings.AdvancePushData(push_data_cursor); - std::printf("Num compiled %" PRIu64 " shaders\n", next_shader_id); + std::array(ShaderType::Mesh) + 1> counts {}; + for (const auto& [key, source]: programs) { + counts[static_cast(key.stage)] += source.permutations.size(); + } + // Guest geometry shaders are compiled through the host mesh stage. + std::printf("Shaders: VS %zu | PS %zu | CS %zu | GS %zu\n", + counts[static_cast(ShaderType::Vertex)], + counts[static_cast(ShaderType::Pixel)], + counts[static_cast(ShaderType::Compute)], + counts[static_cast(ShaderType::Mesh)]); return permutation.handle; }