Edit

kc3-lang/angle/src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.h

Branch :

  • Show log

    Commit

  • Author : Shahbaz Youssefi
    Date : 2021-09-01 00:42:58
    Hash : 9d0e2851
    Message : Fix SeparateDeclarations vs struct specifiers Bug: chromium:1237696 Change-Id: I3b00f3797800e814ca83226a8e4f25b2a43cc641 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3133824 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>

  • src/compiler/translator/TranslatorMetalDirect/ReduceInterfaceBlocks.h
  • //
    // Copyright 2020 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.
    //
    
    #ifndef COMPILER_TRANSLATOR_TRANSLATORMETALDIRECT_REDUCEINTERFACEBLOCKS_H_
    #define COMPILER_TRANSLATOR_TRANSLATORMETALDIRECT_REDUCEINTERFACEBLOCKS_H_
    
    #include "common/angleutils.h"
    #include "compiler/translator/Compiler.h"
    
    namespace sh
    {
    class TSymbolTable;
    
    // This rewrites interface block declarations only.
    //
    // Access of interface blocks is not rewritten (e.g. TOperator::EOpIndexDirectInterfaceBlock). //
    // XXX: ^ Still true?
    //
    // Example:
    //  uniform Foo { int x; };
    // Becomes:
    //  uniform int x;
    //
    // Example:
    //  uniform Foo { int x; } foo;
    // Becomes:
    //  struct Foo { int x; }; uniform Foo x;
    //
    
    ANGLE_NO_DISCARD bool ReduceInterfaceBlocks(TCompiler &compiler,
                                                TIntermBlock &root,
                                                IdGen &idGen,
                                                TSymbolTable *symbolTable);
    
    }  // namespace sh
    
    #endif  // COMPILER_TRANSLATOR_TRANSLATORMETALDIRECT_REDUCEINTERFACEBLOCKS_H_