[dxvk] Add stat counter for pipeline libraries

This commit is contained in:
Philip Rebohle 2022-07-08 11:33:45 +02:00
parent 4535fdc336
commit 3552983084
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
5 changed files with 10 additions and 2 deletions

View File

@ -157,6 +157,7 @@ namespace dxvk {
DxvkStatCounters result;
result.setCtr(DxvkStatCounter::PipeCountGraphics, pipe.numGraphicsPipelines);
result.setCtr(DxvkStatCounter::PipeCountLibrary, pipe.numGraphicsLibraries);
result.setCtr(DxvkStatCounter::PipeCountCompute, pipe.numComputePipelines);
result.setCtr(DxvkStatCounter::PipeCompilerBusy, m_objects.pipelineManager().isCompilingShaders());
result.setCtr(DxvkStatCounter::GpuIdleTicks, m_submissionQueue.gpuIdleTicks());

View File

@ -294,8 +294,9 @@ namespace dxvk {
DxvkPipelineCount DxvkPipelineManager::getPipelineCount() const {
DxvkPipelineCount result;
result.numComputePipelines = m_stats.numComputePipelines.load();
result.numGraphicsPipelines = m_stats.numGraphicsPipelines.load();
result.numGraphicsLibraries = m_stats.numGraphicsLibraries.load();
result.numComputePipelines = m_stats.numComputePipelines.load();
return result;
}

View File

@ -21,6 +21,7 @@ namespace dxvk {
*/
struct DxvkPipelineCount {
uint32_t numGraphicsPipelines;
uint32_t numGraphicsLibraries;
uint32_t numComputePipelines;
};
@ -29,6 +30,7 @@ namespace dxvk {
*/
struct DxvkPipelineStats {
std::atomic<uint32_t> numGraphicsPipelines = { 0u };
std::atomic<uint32_t> numGraphicsLibraries = { 0u };
std::atomic<uint32_t> numComputePipelines = { 0u };
};

View File

@ -478,9 +478,12 @@ namespace dxvk {
default:
// Should be unreachable
pipeline = VK_NULL_HANDLE;
return VK_NULL_HANDLE;
}
if (args == DxvkShaderPipelineLibraryCompileArgs())
m_stats->numGraphicsLibraries += 1;
return pipeline;
}

View File

@ -16,6 +16,7 @@ namespace dxvk {
CmdRenderPassCount, ///< Number of render passes
CmdBarrierCount, ///< Number of pipeline barriers
PipeCountGraphics, ///< Number of graphics pipelines
PipeCountLibrary, ///< Number of graphics shader libraries
PipeCountCompute, ///< Number of compute pipelines
PipeCompilerBusy, ///< Boolean indicating compiler activity
QueueSubmitCount, ///< Number of command buffer submissions