• Show log

    Commit

  • Hash : a026d053
    Author : Yuxin Hu
    Date : 2021-12-22T01:08:33

    Add support for subgroupSize of 16 in Debug Overlay Module
    
    The subgroupSize on some Android devices is 16, which is not
    supported by current OverlayCull and OverlayDraw compute
    shaders. This change adds support for subgroupSize of 16.
    
    This change also removes the subgroupBallot and subgroupArithmetic
    paths in OverlayCull compute shader.
    These two paths were added by Shabi as an experiment,
    and he suggested to remove them for easier code maintenance purposes.
    
    Bug: angleproject:6806
    Change-Id: I5ce68cb18fbf3472c987d811c89f065cb8581858
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3352865
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Yuxin Hu <yuxinhu@google.com>
    

  • Properties

  • Git HTTP https://git.kmx.io/kc3-lang/angle.git
    Git SSH git@git.kmx.io:kc3-lang/angle.git
    Public access ? public
    Description

    A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.

    Homepage

    Github

    Users
    thodg_m kc3_lang_org thodg_w www_kmx_io thodg_l thodg
    Tags

  • README.md

  • Shader Variations

    To build multiple variations of a shader, add a file named X.json corresponding to shader file X. A variation is generated by building the shader with different definitions (a la glslang_validator’s -DName=1). These definitions come from flags and enumerations defined in the json file. Without a .json file, the shader is generated as is (1 variation).

    There are multiple possible fields in the json file:

    • “Description”: This contains the license and other comments, which will be ignored.
    • “Flags”: this is a list of flags. Each flag FLAG defines a shader variation with or without the define FLAG=1.
    • other: any other field is a similar list to flags, except that each entry in this enumeration is a variation. Similar to “flags”, every entry ENTRY results in an ENTRY=1 define.

    Flags are shorthand for 2-entry enumerations. Given n flags, there are 2^n variations where every flag is either present or not. For enumerations, only one entry is active in any variation. Thus, an enumeration with n entries generates n variations.

    Example

    Here is an example json file:

    {

    "Description": [
        "Copyright 2018 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.",
        "",
        "RayTrace.comp.json: Build parameters for RayTrace.comp."
    ],
    "Flags": [
        "NanFilter",
        "WorkaroundIntelBug"
    ],
    "RayTraceQuality": [
        "IsRTLowRes",
        "IsRTHighRes",
        "IsRTAwesome"
    ],
    "ImageType": [
        "IsR",
        "IsRG",
        "IsRGB",
        "IsRGBA"
    ]

    }

    This will generate 2^2 3 4 shaders.