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 " - font: for Text widgets, one of 'large', 'medium' and 'small'", 24 " - length: for Text widgets, maximum number of characters for this widget", 25 " - bar_width: for Graph widgets, size of each graph bar.", 26 " - height: for Graph widgets, the height of the graph.", 27 " - text: for Graph widgets, data for the attached Text widget. This is a map with the same", 28 " Text keys as above except type, which is implicitly Text." 29 ], 30 "widgets": [ 31 { 32 "name": "FPS", 33 "comment": "Frames per second (Count/Second).", 34 "type": "PerSecond", 35 "color": [127, 191, 255, 255], 36 "coords": [10, 10], 37 "font": "medium", 38 "length": 12 39 }, 40 { 41 "name": "VulkanLastValidationMessage", 42 "comment": "Last validation error (Text).", 43 "type": "Text", 44 "color": [255, 0, 0, 255], 45 "coords": [10, -10], 46 "font": "small", 47 "length": 150 48 }, 49 { 50 "name": "VulkanValidationMessageCount", 51 "comment": "Number of validation errors and warnings (Count).", 52 "type": "Count", 53 "color": [255, 0, 0, 255], 54 "coords": [10, "VulkanLastValidationMessage.top.adjacent"], 55 "font": "small", 56 "length": 25 57 }, 58 { 59 "name": "VulkanRenderPassCount", 60 "comment": "Number of RenderPasses in a frame (Count).", 61 "type": "RunningGraph(60)", 62 "color": [75, 200, 0, 200], 63 "coords": [10, 100], 64 "bar_width": 5, 65 "height": 100, 66 "description": { 67 "color": [75, 200, 0, 255], 68 "coords": ["VulkanRenderPassCount.left.align", "VulkanRenderPassCount.top.adjacent"], 69 "font": "small", 70 "length": 40 71 } 72 }, 73 { 74 "name": "VulkanRenderPassBufferCount", 75 "comment": "Number of buffers used in RenderPasses (Count).", 76 "type": "RunningHistogram(100)", 77 "color": [255, 200, 75, 200], 78 "coords": [-50, 100], 79 "bar_width": 6, 80 "height": 100, 81 "description": { 82 "color": [255, 200, 75, 255], 83 "coords": ["VulkanRenderPassBufferCount.left.align", 84 "VulkanRenderPassBufferCount.top.adjacent"], 85 "font": "small", 86 "length": 40 87 } 88 }, 89 { 90 "name": "VulkanSecondaryCommandBufferPoolWaste", 91 "comment": "Secondary Command Buffer pool memory waste (Bytes).", 92 "type": "RunningHistogram(50)", 93 "color": [255, 200, 75, 200], 94 "coords": [-50, 100], 95 "bar_width": 6, 96 "height": 100, 97 "description": { 98 "color": [255, 200, 75, 255], 99 "coords": ["VulkanSecondaryCommandBufferPoolWaste.left.align", 100 "VulkanSecondaryCommandBufferPoolWaste.top.adjacent"], 101 "font": "small", 102 "length": 40 103 } 104 }, 105 { 106 "name": "VulkanWriteDescriptorSetCount", 107 "comment": "Number of Descriptor Set writes in a frame (Count).", 108 "type": "RunningGraph(60)", 109 "color": [75, 200, 0, 200], 110 "coords": [10, 220], 111 "bar_width": 5, 112 "height": 100, 113 "description": { 114 "color": [75, 200, 0, 255], 115 "coords": ["VulkanWriteDescriptorSetCount.left.align", "VulkanWriteDescriptorSetCount.top.adjacent"], 116 "font": "small", 117 "length": 40 118 } 119 }, 120 { 121 "name": "VulkanDescriptorSetAllocations", 122 "comment": "Descriptor Set Allocations.", 123 "type": "RunningGraph(60)", 124 "color": [255, 0, 75, 200], 125 "coords": [-50, 250], 126 "bar_width": 6, 127 "height": 100, 128 "description": { 129 "color": [255, 0, 75, 255], 130 "coords": ["VulkanDescriptorSetAllocations.left.align", 131 "VulkanDescriptorSetAllocations.top.adjacent"], 132 "font": "small", 133 "length": 40 134 } 135 }, 136 { 137 "name": "VulkanShaderBufferDSHitRate", 138 "comment": "Shader Buffer Descriptor Set Cache Hit Rate.", 139 "type": "RunningGraph(60)", 140 "color": [255, 0, 75, 200], 141 "coords": [-50, 360], 142 "bar_width": 6, 143 "height": 100, 144 "description": { 145 "color": [255, 0, 75, 255], 146 "coords": ["VulkanShaderBufferDSHitRate.left.align", 147 "VulkanShaderBufferDSHitRate.top.adjacent"], 148 "font": "small", 149 "length": 40 150 } 151 }, 152 { 153 "name": "VulkanDynamicBufferAllocations", 154 "comment": "Buffer Allocations Made By vk::DynamicBuffer.", 155 "type": "RunningGraph(120)", 156 "color": [0, 200, 75, 200], 157 "coords": [-50, -50], 158 "bar_width": 5, 159 "height": 100, 160 "description": { 161 "color": [0, 200, 75, 255], 162 "coords": ["VulkanDynamicBufferAllocations.right.align", 163 "VulkanDynamicBufferAllocations.top.adjacent"], 164 "font": "small", 165 "length": 40 166 } 167 } 168 ] 169} 170