• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2    "description": [
3        "Copyright 2019 The ANGLE Project Authors. All rights reserved.",
4        "Use of this source code is governed by a BSD-style license that can be",
5        "found in the LICENSE file.",
6        "",
7        "overlay_widgets.json: Layout of Overlay widgets.",
8        "",
9        "Data for every overlay widget 'Widget' is a map with the following keys:",
10        "",
11        " - type: one of WidgetType types (with constructor params), such as 'PerSecond' or",
12        "         'RunningGraph(64)'",
13        " - color: in [R,G,B,A] format where every value is in [0,255]",
14        " - coords: in [X,Y] which is the distance from the edges of the window, with negative",
15        "           values representing distance from the right/bottom edge.  If a value is given",
16        "           in the form of 'Widget2.<edge>.<mode>', the calculated value for <edge> in",
17        "           Widget2 is used.  <edge> is one of:",
18        "            - 'left', 'right': valid for x",
19        "            - 'top', 'bottom': valid for y",
20        "           <mode> is one of:",
21        "            - 'align': the requested value is used",
22        "            - 'adjacent': the value is calculated such that two widgets become adjacent.",
23        "           Optionally, Widget2.desc.<edge>.<mode> can be used to align with a graph's",
24        "           implicit text widget",
25        " - font: for Text widgets, one of 'large' or 'small'",
26        " - length: for Text widgets, maximum number of characters for this widget",
27        " - bar_width: for Graph widgets, size of each graph bar.",
28        " - height: for Graph widgets, the height of the graph.",
29        " - match_to: a reference to another widget",
30        " - description: for Graph widgets, data for the attached Text widget.  This is a map with",
31        "         the same Text keys as above except type, which is implicitly Text."
32    ],
33    "widgets": [
34        {
35            "name": "FPS",
36            "comment": "Frames per second (Count/Second).",
37            "type": "PerSecond",
38            "color": [127, 191, 255, 255],
39            "coords": [10, 10],
40            "font": "large",
41            "length": 12
42        },
43        {
44            "name": "VulkanLastValidationMessage",
45            "comment": "Last validation error (Text).",
46            "type": "Text",
47            "color": [255, 0, 0, 255],
48            "coords": [10, -10],
49            "font": "small",
50            "length": 150
51        },
52        {
53            "name": "VulkanValidationMessageCount",
54            "comment": "Number of validation errors and warnings (Count).",
55            "type": "Count",
56            "color": [255, 0, 0, 255],
57            "coords": [10, "VulkanLastValidationMessage.top.adjacent"],
58            "font": "small",
59            "length": 25
60        },
61        {
62            "name": "VulkanRenderPassCount",
63            "comment": "Number of RenderPasses in a frame (Count).",
64            "type": "RunningGraph(60)",
65            "color": [75, 200, 0, 200],
66            "coords": [10, 100],
67            "bar_width": 5,
68            "height": 100,
69            "description": {
70                "color": [75, 200, 0, 255],
71                "coords": ["VulkanRenderPassCount.left.align", "VulkanRenderPassCount.top.adjacent"],
72                "font": "small",
73                "length": 40
74            }
75        },
76        {
77            "name": "VulkanSecondaryCommandBufferPoolWaste",
78            "comment": "Secondary Command Buffer pool memory waste (Bytes).",
79            "type": "RunningHistogram(50)",
80            "color": [255, 200, 75, 200],
81            "coords": [-50, 100],
82            "bar_width": 6,
83            "height": 100,
84            "description": {
85                "color": [255, 200, 75, 255],
86                "coords": ["VulkanSecondaryCommandBufferPoolWaste.left.align",
87                           "VulkanSecondaryCommandBufferPoolWaste.top.adjacent"],
88                "font": "small",
89                "length": 40
90            }
91        },
92        {
93            "name": "VulkanWriteDescriptorSetCount",
94            "comment": "Number of Descriptor Set writes in a frame (Count).",
95            "type": "RunningGraph(60)",
96            "color": [75, 200, 0, 200],
97            "coords": [10, 220],
98            "bar_width": 5,
99            "height": 100,
100            "description": {
101                "color": [75, 200, 0, 255],
102                "coords": ["VulkanWriteDescriptorSetCount.left.align", "VulkanWriteDescriptorSetCount.top.adjacent"],
103                "font": "small",
104                "length": 40
105            }
106        },
107        {
108            "name": "VulkanDescriptorSetAllocations",
109            "comment": "Descriptor Set Allocations.",
110            "type": "RunningGraph(60)",
111            "color": [255, 0, 75, 200],
112            "coords": [0, 250],
113            "bar_width": 6,
114            "height": 100,
115            "description": {
116                "color": [255, 0, 75, 255],
117                "coords": ["VulkanDescriptorSetAllocations.left.align",
118                           "VulkanDescriptorSetAllocations.top.adjacent"],
119                "font": "small",
120                "length": 40
121            }
122        },
123        {
124            "name": "VulkanShaderResourceDSHitRate",
125            "comment": "Shader Resource Descriptor Set Cache Hit Rate.",
126            "type": "RunningGraph(60)",
127            "color": [255, 0, 75, 200],
128            "coords": [-50, 360],
129            "bar_width": 6,
130            "height": 100,
131            "description": {
132                "color": [255, 0, 75, 255],
133                "coords": ["VulkanShaderResourceDSHitRate.left.align",
134                           "VulkanShaderResourceDSHitRate.top.adjacent"],
135                "font": "small",
136                "length": 40
137            }
138        },
139        {
140            "name": "VulkanDynamicBufferAllocations",
141            "comment": "Buffer Allocations Made By vk::DynamicBuffer.",
142            "type": "RunningGraph(120)",
143            "color": [0, 200, 75, 200],
144            "coords": [-50, -50],
145            "bar_width": 5,
146            "height": 100,
147            "description": {
148                "color": [0, 200, 75, 255],
149                "coords": ["VulkanDynamicBufferAllocations.right.align",
150                           "VulkanDynamicBufferAllocations.top.adjacent"],
151                "font": "small",
152                "length": 40
153            }
154        },
155        {
156            "name": "VulkanDescriptorCacheSize",
157            "comment": "Total size of all descriptor set caches",
158            "type": "RunningGraph(60)",
159            "color": [0, 200, 185, 200],
160            "coords": [0, 450],
161            "bar_width": 5,
162            "height": 100,
163            "description": {
164                "color": [0, 200, 75, 255],
165                "coords": ["VulkanDescriptorCacheSize.left.align",
166                           "VulkanDescriptorCacheSize.top.adjacent"],
167                "font": "small",
168                "length": 90
169            }
170        },
171        {
172            "name": "VulkanTextureDescriptorCacheSize",
173            "comment": "Number of cached Texture descriptor sets",
174            "type": "RunningGraph(60)",
175            "color": [0, 200, 75, 200],
176            "coords": [0, 450],
177            "bar_width": 5,
178            "height": 100,
179            "description": {
180                "color": [0, 200, 75, 255],
181                "coords": ["VulkanTextureDescriptorCacheSize.left.align",
182                           "VulkanTextureDescriptorCacheSize.top.adjacent"],
183                "font": "small",
184                "length": 90
185            }
186        },
187        {
188            "name": "VulkanUniformDescriptorCacheSize",
189            "comment": "Number of cached default uniform descriptor sets",
190            "type": "RunningGraph(60)",
191            "color": [0, 200, 255, 200],
192            "coords": [0, 450],
193            "bar_width": 5,
194            "height": 100,
195            "description": {
196                "color": [0, 200, 75, 255],
197                "coords": ["VulkanUniformDescriptorCacheSize.left.align",
198                           "VulkanUniformDescriptorCacheSize.top.adjacent"],
199                "font": "small",
200                "length": 90
201            }
202        },
203        {
204            "name": "VulkanDescriptorCacheKeySize",
205            "comment": "Total size of all keys in the descriptor set caches",
206            "type": "Count",
207            "color": [255, 255, 255, 255],
208            "coords": [10, 100],
209            "font": "small",
210            "length": 30
211        },
212        {
213            "name": "VulkanAttemptedSubmissions",
214            "comment": "Number of times the Vulkan backend attempted to submit commands",
215            "type": "RunningGraph(60)",
216            "color": [255, 0, 0, 100],
217            "coords": [-50, 50],
218            "bar_width": 5,
219            "height": 100,
220            "description": {
221                "color": [200, 0, 75, 255],
222                "coords": ["VulkanAttemptedSubmissions.left.align",
223                           "VulkanAttemptedSubmissions.top.adjacent"],
224                "font": "small",
225                "length": 45
226            }
227        },
228        {
229            "name": "VulkanActualSubmissions",
230            "comment": "Number of times the Vulkan backend actually submitted commands",
231            "type": "RunningGraph(60)",
232            "color": [0, 255, 0, 200],
233            "coords": ["VulkanAttemptedSubmissions.left.align",
234                       "VulkanAttemptedSubmissions.top.align"],
235            "bar_width": 5,
236            "height": 100,
237            "match_to": "VulkanAttemptedSubmissions",
238            "description": {
239                "color": [0, 200, 75, 255],
240                "coords": ["VulkanActualSubmissions.left.align",
241                           "VulkanActualSubmissions.bottom.adjacent"],
242                "font": "small",
243                "length": 45
244            }
245        },
246        {
247            "name": "VulkanPipelineCacheLookups",
248            "comment": "Number of times the Vulkan backend has looked up the pipeline cache",
249            "type": "RunningGraph(60)",
250            "color": [0, 255, 0, 100],
251            "coords": [-50, -50],
252            "bar_width": 5,
253            "height": 100,
254            "description": {
255                "color": [0, 200, 75, 255],
256                "coords": ["VulkanPipelineCacheLookups.left.align",
257                           "VulkanPipelineCacheLookups.top.adjacent"],
258                "font": "small",
259                "length": 45
260            }
261        },
262        {
263            "name": "VulkanPipelineCacheMisses",
264            "comment": "Number of times the Vulkan backend has missed the pipeline cache",
265            "type": "RunningGraph(60)",
266            "color": [255, 0, 0, 200],
267            "coords": ["VulkanPipelineCacheLookups.left.align",
268                       "VulkanPipelineCacheLookups.top.align"],
269            "bar_width": 5,
270            "height": 100,
271            "match_to": "VulkanPipelineCacheLookups",
272            "description": {
273                "color": [200, 0, 75, 255],
274                "coords": ["VulkanPipelineCacheLookups.desc.left.align",
275                           "VulkanPipelineCacheLookups.desc.top.adjacent"],
276                "font": "small",
277                "length": 45
278            }
279        },
280        {
281            "name": "VulkanTotalPipelineCacheMissTimeMs",
282            "comment": "Total time spent creating pipelines that missed the cache.",
283            "type": "Count",
284            "color": [255, 0, 0, 255],
285            "coords": ["VulkanPipelineCacheMisses.left.align",
286                       "VulkanPipelineCacheMisses.bottom.adjacent"],
287            "font": "small",
288            "length": 45
289        },
290        {
291            "name": "VulkanTotalPipelineCacheHitTimeMs",
292            "comment": "Total time spent creating pipelines that hit the cache.",
293            "type": "Count",
294            "color": [0, 255, 0, 255],
295            "coords": ["VulkanTotalPipelineCacheMissTimeMs.left.align",
296                       "VulkanTotalPipelineCacheMissTimeMs.bottom.adjacent"],
297            "font": "small",
298            "length": 45
299        }
300    ]
301}
302