Edit

kc3-lang/angle/src/libANGLE/overlay_widgets.json

Branch :

  • Show log

    Commit

  • Author : Charlie Lao
    Date : 2022-12-15 09:43:00
    Hash : 376d309c
    Message : Vulkan: Remove unnecessary usesBuffer() check There are places that we call setQueueSerial after usesBuffer() check. This was useful when we had the ResourceList where it is more expensive to set serial. But now setQueueSerial is cheap (actually is cheaper than usesBuffer check), so there is no need to do this check any more. This CL removes the check to further reduce the CPU overhead. Because of this, mUsedBufferCount will not be accurate, so this CL also removes the tracking of mUsedBufferCount (was only for informational purpose anyway). This CL also removes commandBufferQueueSerial.valid() check in Resource::usedByCommandBuffer() and turns it into assertion. Some places in contextVk will ensure we only call it on started renderpass so that other places that calls usedByCommandBuffer will not need to eat the if check. Bug: b/262047600 Change-Id: I6b8004b6aa5b567fa94c0eb56801054f818838b1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4112145 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

  • src/libANGLE/overlay_widgets.json
  • {
        "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.",
            "           Optionally, Widget2.desc.<edge>.<mode> can be used to align with a graph's",
            "           implicit text widget",
            " - 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",
            " - description: 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": "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
                }
            },
            {
                "name": "VulkanPipelineCacheLookups",
                "comment": "Number of times the Vulkan backend has looked up the pipeline cache",
                "type": "RunningGraph(60)",
                "color": [0, 255, 0, 100],
                "coords": [-50, -50],
                "bar_width": 5,
                "height": 100,
                "description": {
                    "color": [0, 200, 75, 255],
                    "coords": ["VulkanPipelineCacheLookups.left.align",
                               "VulkanPipelineCacheLookups.top.adjacent"],
                    "font": "small",
                    "length": 45
                }
            },
            {
                "name": "VulkanPipelineCacheMisses",
                "comment": "Number of times the Vulkan backend has missed the pipeline cache",
                "type": "RunningGraph(60)",
                "color": [255, 0, 0, 200],
                "coords": ["VulkanPipelineCacheLookups.left.align",
                           "VulkanPipelineCacheLookups.top.align"],
                "bar_width": 5,
                "height": 100,
                "match_to": "VulkanPipelineCacheLookups",
                "description": {
                    "color": [200, 0, 75, 255],
                    "coords": ["VulkanPipelineCacheLookups.desc.left.align",
                               "VulkanPipelineCacheLookups.desc.top.adjacent"],
                    "font": "small",
                    "length": 45
                }
            },
            {
                "name": "VulkanTotalPipelineCacheMissTimeMs",
                "comment": "Total time spent creating pipelines that missed the cache.",
                "type": "Count",
                "color": [255, 0, 0, 255],
                "coords": ["VulkanPipelineCacheMisses.left.align",
                           "VulkanPipelineCacheMisses.bottom.adjacent"],
                "font": "small",
                "length": 45
            },
            {
                "name": "VulkanTotalPipelineCacheHitTimeMs",
                "comment": "Total time spent creating pipelines that hit the cache.",
                "type": "Count",
                "color": [0, 255, 0, 255],
                "coords": ["VulkanTotalPipelineCacheMissTimeMs.left.align",
                           "VulkanTotalPipelineCacheMissTimeMs.bottom.adjacent"],
                "font": "small",
                "length": 45
            }
        ]
    }