LCOV - code coverage report
Current view: top level - gfx/angle/src/compiler/translator - FlagStd140Structs.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 5 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 4 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //
       2             : // Copyright (c) 2013 The ANGLE Project Authors. All rights reserved.
       3             : // Use of this source code is governed by a BSD-style license that can be
       4             : // found in the LICENSE file.
       5             : //
       6             : 
       7             : #ifndef COMPILER_TRANSLATOR_FLAGSTD140STRUCTS_H_
       8             : #define COMPILER_TRANSLATOR_FLAGSTD140STRUCTS_H_
       9             : 
      10             : #include "compiler/translator/IntermNode.h"
      11             : 
      12             : namespace sh
      13             : {
      14             : 
      15             : // This class finds references to nested structs of std140 blocks that access
      16             : // the nested struct "by value", where the padding added in the translator
      17             : // conflicts with the "natural" unpadded type.
      18           0 : class FlagStd140Structs : public TIntermTraverser
      19             : {
      20             :   public:
      21             : 
      22           0 :     FlagStd140Structs()
      23           0 :         : TIntermTraverser(true, false, false)
      24             :     {
      25           0 :     }
      26             : 
      27           0 :     const std::vector<TIntermTyped *> getFlaggedNodes() const { return mFlaggedNodes; }
      28             : 
      29             :   protected:
      30             :     bool visitBinary(Visit visit, TIntermBinary *binaryNode) override;
      31             :     void visitSymbol(TIntermSymbol *symbol) override;
      32             : 
      33             :   private:
      34             :     bool isInStd140InterfaceBlock(TIntermTyped *node) const;
      35             : 
      36             :     std::vector<TIntermTyped *> mFlaggedNodes;
      37             : };
      38             : 
      39             : std::vector<TIntermTyped *> FlagStd140ValueStructs(TIntermNode *node);
      40             : 
      41             : }
      42             : 
      43             : #endif // COMPILER_TRANSLATOR_FLAGSTD140STRUCTS_H_

Generated by: LCOV version 1.13