| { |
| "description": [ |
| "Copyright 2019 The ANGLE Project Authors. All rights reserved.", |
| "Use of this source code is governed by a BSD-style license that can be", |
| "found in the LICENSE file.", |
| "", |
| "overlay_widgets.json: Layout of Overlay widgets.", |
| "", |
| "Data for every overlay widget 'Widget' is a map with the following keys:", |
| "", |
| " - type: one of WidgetType types (with constructor params), such as 'PerSecond' or", |
| " 'RunningGraph(64)'", |
| " - color: in [R,G,B,A] format where every value is in [0,255]", |
| " - coords: in [X,Y] which is the distance from the edges of the window, with negative", |
| " values representing distance from the right/bottom edge. If a value is given", |
| " in the form of 'Widget2.<edge>.<mode>', the calculated value for <edge> in", |
| " Widget2 is used. <edge> is one of:", |
| " - 'left', 'right': valid for x", |
| " - 'top', 'bottom': valid for y", |
| " <mode> is one of:", |
| " - 'align': the requested value is used", |
| " - 'adjacent': the value is calculated such that two widgets become adjacent", |
| " - font: for Text widgets, one of 'large' or 'small'", |
| " - length: for Text widgets, maximum number of characters for this widget", |
| " - bar_width: for Graph widgets, size of each graph bar.", |
| " - height: for Graph widgets, the height of the graph.", |
| " - match_to: a reference to another widget", |
| " - text: for Graph widgets, data for the attached Text widget. This is a map with the same", |
| " Text keys as above except type, which is implicitly Text." |
| ], |
| "widgets": [ |
| { |
| "name": "FPS", |
| "comment": "Frames per second (Count/Second).", |
| "type": "PerSecond", |
| "color": [127, 191, 255, 255], |
| "coords": [10, 10], |
| "font": "large", |
| "length": 12 |
| }, |
| { |
| "name": "VulkanLastValidationMessage", |
| "comment": "Last validation error (Text).", |
| "type": "Text", |
| "color": [255, 0, 0, 255], |
| "coords": [10, -10], |
| "font": "small", |
| "length": 150 |
| }, |
| { |
| "name": "VulkanValidationMessageCount", |
| "comment": "Number of validation errors and warnings (Count).", |
| "type": "Count", |
| "color": [255, 0, 0, 255], |
| "coords": [10, "VulkanLastValidationMessage.top.adjacent"], |
| "font": "small", |
| "length": 25 |
| }, |
| { |
| "name": "VulkanRenderPassCount", |
| "comment": "Number of RenderPasses in a frame (Count).", |
| "type": "RunningGraph(60)", |
| "color": [75, 200, 0, 200], |
| "coords": [10, 100], |
| "bar_width": 5, |
| "height": 100, |
| "description": { |
| "color": [75, 200, 0, 255], |
| "coords": ["VulkanRenderPassCount.left.align", "VulkanRenderPassCount.top.adjacent"], |
| "font": "small", |
| "length": 40 |
| } |
| }, |
| { |
| "name": "VulkanRenderPassBufferCount", |
| "comment": "Number of buffers used in RenderPasses (Count).", |
| "type": "RunningHistogram(100)", |
| "color": [255, 200, 75, 200], |
| "coords": [-50, 100], |
| "bar_width": 6, |
| "height": 100, |
| "description": { |
| "color": [255, 200, 75, 255], |
| "coords": ["VulkanRenderPassBufferCount.left.align", |
| "VulkanRenderPassBufferCount.top.adjacent"], |
| "font": "small", |
| "length": 40 |
| } |
| }, |
| { |
| "name": "VulkanSecondaryCommandBufferPoolWaste", |
| "comment": "Secondary Command Buffer pool memory waste (Bytes).", |
| "type": "RunningHistogram(50)", |
| "color": [255, 200, 75, 200], |
| "coords": [-50, 100], |
| "bar_width": 6, |
| "height": 100, |
| "description": { |
| "color": [255, 200, 75, 255], |
| "coords": ["VulkanSecondaryCommandBufferPoolWaste.left.align", |
| "VulkanSecondaryCommandBufferPoolWaste.top.adjacent"], |
| "font": "small", |
| "length": 40 |
| } |
| }, |
| { |
| "name": "VulkanWriteDescriptorSetCount", |
| "comment": "Number of Descriptor Set writes in a frame (Count).", |
| "type": "RunningGraph(60)", |
| "color": [75, 200, 0, 200], |
| "coords": [10, 220], |
| "bar_width": 5, |
| "height": 100, |
| "description": { |
| "color": [75, 200, 0, 255], |
| "coords": ["VulkanWriteDescriptorSetCount.left.align", "VulkanWriteDescriptorSetCount.top.adjacent"], |
| "font": "small", |
| "length": 40 |
| } |
| }, |
| { |
| "name": "VulkanDescriptorSetAllocations", |
| "comment": "Descriptor Set Allocations.", |
| "type": "RunningGraph(60)", |
| "color": [255, 0, 75, 200], |
| "coords": [0, 250], |
| "bar_width": 6, |
| "height": 100, |
| "description": { |
| "color": [255, 0, 75, 255], |
| "coords": ["VulkanDescriptorSetAllocations.left.align", |
| "VulkanDescriptorSetAllocations.top.adjacent"], |
| "font": "small", |
| "length": 40 |
| } |
| }, |
| { |
| "name": "VulkanShaderResourceDSHitRate", |
| "comment": "Shader Resource Descriptor Set Cache Hit Rate.", |
| "type": "RunningGraph(60)", |
| "color": [255, 0, 75, 200], |
| "coords": [-50, 360], |
| "bar_width": 6, |
| "height": 100, |
| "description": { |
| "color": [255, 0, 75, 255], |
| "coords": ["VulkanShaderResourceDSHitRate.left.align", |
| "VulkanShaderResourceDSHitRate.top.adjacent"], |
| "font": "small", |
| "length": 40 |
| } |
| }, |
| { |
| "name": "VulkanDynamicBufferAllocations", |
| "comment": "Buffer Allocations Made By vk::DynamicBuffer.", |
| "type": "RunningGraph(120)", |
| "color": [0, 200, 75, 200], |
| "coords": [-50, -50], |
| "bar_width": 5, |
| "height": 100, |
| "description": { |
| "color": [0, 200, 75, 255], |
| "coords": ["VulkanDynamicBufferAllocations.right.align", |
| "VulkanDynamicBufferAllocations.top.adjacent"], |
| "font": "small", |
| "length": 40 |
| } |
| }, |
| { |
| "name": "VulkanDescriptorCacheSize", |
| "comment": "Total size of all descriptor set caches", |
| "type": "RunningGraph(60)", |
| "color": [0, 200, 185, 200], |
| "coords": [0, 450], |
| "bar_width": 5, |
| "height": 100, |
| "description": { |
| "color": [0, 200, 75, 255], |
| "coords": ["VulkanDescriptorCacheSize.left.align", |
| "VulkanDescriptorCacheSize.top.adjacent"], |
| "font": "small", |
| "length": 90 |
| } |
| }, |
| { |
| "name": "VulkanTextureDescriptorCacheSize", |
| "comment": "Number of cached Texture descriptor sets", |
| "type": "RunningGraph(60)", |
| "color": [0, 200, 75, 200], |
| "coords": [0, 450], |
| "bar_width": 5, |
| "height": 100, |
| "description": { |
| "color": [0, 200, 75, 255], |
| "coords": ["VulkanTextureDescriptorCacheSize.left.align", |
| "VulkanTextureDescriptorCacheSize.top.adjacent"], |
| "font": "small", |
| "length": 90 |
| } |
| }, |
| { |
| "name": "VulkanUniformDescriptorCacheSize", |
| "comment": "Number of cached default uniform descriptor sets", |
| "type": "RunningGraph(60)", |
| "color": [0, 200, 255, 200], |
| "coords": [0, 450], |
| "bar_width": 5, |
| "height": 100, |
| "description": { |
| "color": [0, 200, 75, 255], |
| "coords": ["VulkanUniformDescriptorCacheSize.left.align", |
| "VulkanUniformDescriptorCacheSize.top.adjacent"], |
| "font": "small", |
| "length": 90 |
| } |
| }, |
| { |
| "name": "VulkanDescriptorCacheKeySize", |
| "comment": "Total size of all keys in the descriptor set caches", |
| "type": "Count", |
| "color": [255, 255, 255, 255], |
| "coords": [10, 100], |
| "font": "small", |
| "length": 30 |
| }, |
| { |
| "name": "VulkanAttemptedSubmissions", |
| "comment": "Number of times the Vulkan backend attempted to submit commands", |
| "type": "RunningGraph(60)", |
| "color": [255, 0, 0, 100], |
| "coords": [-50, 50], |
| "bar_width": 5, |
| "height": 100, |
| "description": { |
| "color": [200, 0, 75, 255], |
| "coords": ["VulkanAttemptedSubmissions.left.align", |
| "VulkanAttemptedSubmissions.top.adjacent"], |
| "font": "small", |
| "length": 45 |
| } |
| }, |
| { |
| "name": "VulkanActualSubmissions", |
| "comment": "Number of times the Vulkan backend actually submitted commands", |
| "type": "RunningGraph(60)", |
| "color": [0, 255, 0, 200], |
| "coords": ["VulkanAttemptedSubmissions.left.align", |
| "VulkanAttemptedSubmissions.top.align"], |
| "bar_width": 5, |
| "height": 100, |
| "match_to": "VulkanAttemptedSubmissions", |
| "description": { |
| "color": [0, 200, 75, 255], |
| "coords": ["VulkanActualSubmissions.left.align", |
| "VulkanActualSubmissions.bottom.adjacent"], |
| "font": "small", |
| "length": 45 |
| } |
| } |
| ] |
| } |