Cogs.Core
Statistics.h
1#pragma once
2
3namespace Cogs
4{
5
7 {
8 uint64_t vertices = 0; // Total count of vertices submitted.
9 uint64_t indices = 0; // Count of indexed vertices submitted.
10 uint32_t drawCallHistogram[32] = {}; // Histgram of draw call vertex sumbission size, first bucket is [0-2^1), second is [2^1-2^2) and so on.
11 };
12
14 {
15 size_t bufferMemoryConsumption = 0; // Estimate of GPU memory consumption of textures.
16 size_t textureMemoryConsumption = 0; // Estimate of GPU memory consumption of buffers.
17 uint32_t bufferCount = 0;
18 uint32_t vertexArrayObjectCount = 0;
19 uint32_t inputLayoutCount = 0;
20 uint32_t textureCount = 0;
21 uint32_t effectCount = 0;
22 uint32_t rendertargetsCount = 0;
23 uint32_t framebufferCount = 0;
24 uint32_t samplerStateCount = 0;
25 uint32_t blendStateCount = 0;
26 uint32_t rasterizerStateCount = 0;
27 uint32_t depthStencilStateCount = 0;
28
29 size_t memoryConsumption() const { return bufferMemoryConsumption + textureMemoryConsumption; }
30 };
31
33 {
34 size_t bufferUploadSize = 0;
35 size_t textureUploadSize = 0;
36
37 uint32_t bufferUploads = 0;
38 uint32_t textureUploads = 0;
39 };
40}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23