• Show log

    Commit

  • Hash : b3cbfd55
    Author : Kenneth Russell
    Date : 2021-07-07T12:31:57

    Fix multiple end2end crashes in direct-to-MSL compiler.
    
    This set of changes:
    
     - Adds a single place (CompilerMtl::useDirectToMSLCompiler) where the
       direct-to-MSL compiler can be enabled, still at compile time rather
       than run time. It is still disabled by default.
     - Initializes MTLWaitableCompileEventImpl::mShader, without which all
       shader compiles crash.
     - Fixes a mismatch of the ANGLERasterizerDisabled variable name in
       the generated MSL.
     - Removes the transform feedback bindings as an argument to the
       vertex shader's main0(). Transform feedback support needs to be
       reimplemented in this compiler backend.
     - Added an option to the DriverUniform class to emit as either an
       interface block or a struct. The direct-to-MSL backend assumes it
       is a struct.
     - Disable variable reference validation when referencing either
       sample mask or rasterizer discard functionality in the shader.
     - Disable struct usage validation when inserting references to
       ANGLE_TextureEnv. This occurs during pipeline rewriting and it's
       infeasible to disable it at that point, so disable it during
       pipeline rewriting - which means it's disabled for all shaders.
     - For angle_end2end_tests, disable the file API hooking which
       disables the Metal shader cache. This speeds up the tests
       significantly - by roughly a factor of 5.
    
    With these changes, several hundred angle_end2end_tests run without
    any assertion failures, though still with many test failures. The next
    crash is in:
     GLSLTest.NamelessScopedStructs/ES2_Metal
    and will likely require a larger bug fix, or more changes to be
    upstreamed from WebKit's repository.
    
    Bug: angleproject:5505
    Change-Id: Ia1ea9a13867f00035d4aeccf907fd032255588e3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010486
    Commit-Queue: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@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 thodg_l
    Tags