chromium/third_party/angle/src/compiler/translator/tree_util/DriverUniform.cpp

//
// 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.
//
// DriverUniform.cpp: Add code to support driver uniforms
//

#include "compiler/translator/tree_util/DriverUniform.h"

#include "compiler/translator/Compiler.h"
#include "compiler/translator/IntermNode.h"
#include "compiler/translator/StaticType.h"
#include "compiler/translator/SymbolTable.h"
#include "compiler/translator/tree_util/FindMain.h"
#include "compiler/translator/tree_util/IntermNode_util.h"
#include "compiler/translator/tree_util/IntermTraverse.h"
#include "compiler/translator/util.h"

namespace sh
{

namespace
{
constexpr ImmutableString kEmulatedDepthRangeParams =;
constexpr ImmutableString kDriverUniformsBlockName  =;
constexpr ImmutableString kDriverUniformsVarName    =;

constexpr const char kAcbBufferOffsets[] =;
constexpr const char kDepthRange[]       =;
constexpr const char kRenderArea[]       =;
constexpr const char kFlipXY[]           =;
constexpr const char kDither[]           =;
constexpr const char kMisc[]             =;

// Extended uniforms
constexpr const char kXfbBufferOffsets[]       =;
constexpr const char kXfbVerticesPerInstance[] =;
constexpr const char kUnused[]                 =;
constexpr const char kUnused2[]                =;
}  // anonymous namespace

// Class DriverUniform
bool DriverUniform::addComputeDriverUniformsToShader(TIntermBlock *root, TSymbolTable *symbolTable)
{}

TFieldList *DriverUniform::createUniformFields(TSymbolTable *symbolTable)
{}

const TType *DriverUniform::createEmulatedDepthRangeType(TSymbolTable *symbolTable)
{}

// The Add*DriverUniformsToShader operation adds an internal uniform block to a shader. The driver
// block is used to implement Vulkan-specific features and workarounds. Returns the driver uniforms
// variable.
//
// There are Graphics and Compute variations as they require different uniforms.
bool DriverUniform::addGraphicsDriverUniformsToShader(TIntermBlock *root, TSymbolTable *symbolTable)
{}

TIntermTyped *DriverUniform::createDriverUniformRef(const char *fieldName) const
{}

TIntermTyped *DriverUniform::getAcbBufferOffsets() const
{}

TIntermTyped *DriverUniform::getDepthRange() const
{}

TIntermTyped *DriverUniform::getViewportZScale() const
{}

TIntermTyped *DriverUniform::getHalfRenderArea() const
{}

TIntermTyped *DriverUniform::getFlipXY(TSymbolTable *symbolTable, DriverUniformFlip stage) const
{}

TIntermTyped *DriverUniform::getNegFlipXY(TSymbolTable *symbolTable, DriverUniformFlip stage) const
{}

TIntermTyped *DriverUniform::getDither() const
{}

TIntermTyped *DriverUniform::getSwapXY() const
{}

TIntermTyped *DriverUniform::getAdvancedBlendEquation() const
{}

TIntermTyped *DriverUniform::getNumSamples() const
{}

TIntermTyped *DriverUniform::getClipDistancesEnabled() const
{}

TIntermTyped *DriverUniform::getTransformDepth() const
{}

TIntermTyped *DriverUniform::getAlphaToCoverage() const
{}

//
// Class DriverUniformExtended
//
TFieldList *DriverUniformExtended::createUniformFields(TSymbolTable *symbolTable)
{}

TIntermTyped *DriverUniformExtended::getXfbBufferOffsets() const
{}

TIntermTyped *DriverUniformExtended::getXfbVerticesPerInstance() const
{}

TIntermTyped *MakeSwapXMultiplier(TIntermTyped *swapped)
{}

TIntermTyped *MakeSwapYMultiplier(TIntermTyped *swapped)
{}
}  // namespace sh