tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

RewriteSampleMaskVariable.h (1432B)


      1 //
      2 // Copyright 2020 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 // RewriteSampleMaskVariable.cpp: Find any references to gl_SampleMask and gl_SampleMaskIn, and
      7 // rewrite it with ANGLESampleMask or ANGLESampleMaskIn.
      8 //
      9 
     10 #ifndef COMPILER_TRANSLATOR_TREEUTIL_REWRITESAMPLEMASKVARIABLE_H_
     11 #define COMPILER_TRANSLATOR_TREEUTIL_REWRITESAMPLEMASKVARIABLE_H_
     12 
     13 #include "common/angleutils.h"
     14 
     15 namespace sh
     16 {
     17 
     18 class TCompiler;
     19 class TIntermBlock;
     20 class TSymbolTable;
     21 class TIntermTyped;
     22 
     23 // Rewrite every gl_SampleMask or gl_SampleMaskIn to "ANGLESampleMask" or "ANGLESampleMaskIn", then
     24 // at the end of shader re-assign the values of this global variable to gl_SampleMask and
     25 // gl_SampleMaskIn. This to solve the problem which the non constant index is used for the unsized
     26 // array problem.
     27 [[nodiscard]] bool RewriteSampleMask(TCompiler *compiler,
     28                                     TIntermBlock *root,
     29                                     TSymbolTable *symbolTable,
     30                                     const TIntermTyped *numSamplesUniform);
     31 
     32 [[nodiscard]] bool RewriteSampleMaskIn(TCompiler *compiler,
     33                                       TIntermBlock *root,
     34                                       TSymbolTable *symbolTable);
     35 
     36 }  // namespace sh
     37 
     38 #endif  // COMPILER_TRANSLATOR_TREEUTIL_REWRITESAMPLEMASKVARIABLE_H_