chromium/third_party/angle/src/compiler/translator/tree_ops/spirv/EmulateFragColorData.cpp

//
// Copyright 2021 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.
//
// EmulateFragColorData: Emulate gl_FragColor and gl_FragData.
//

#include "compiler/translator/tree_ops/spirv/EmulateFragColorData.h"

#include "compiler/translator/Compiler.h"
#include "compiler/translator/ImmutableStringBuilder.h"
#include "compiler/translator/SymbolTable.h"
#include "compiler/translator/tree_util/IntermNode_util.h"
#include "compiler/translator/tree_util/IntermTraverse.h"
#include "compiler/translator/tree_util/ReplaceVariable.h"

namespace sh
{
namespace
{
// Traverser that:
//
// 1. Declares outputs corresponding to gl_FragColor and gl_FragData (and their corresponding
//    Secondary versions for framebuffer fetch).
// 2. Replaces built-in references with these variables.
class EmulateFragColorDataTraverser : public TIntermTraverser
{};

bool EmulateFragColorDataImpl(TCompiler *compiler,
                              TIntermBlock *root,
                              TSymbolTable *symbolTable,
                              bool hasGLSecondaryFragData)
{}
}  // anonymous namespace

bool EmulateFragColorData(TCompiler *compiler,
                          TIntermBlock *root,
                          TSymbolTable *symbolTable,
                          bool hasGLSecondaryFragData)
{}
}  // namespace sh