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// ValidateOutputs validates fragment shader outputs. It checks for conflicting locations,
7// out-of-range locations, that locations are specified when using multiple outputs, and YUV output
8// validity.
9//
10
11#ifndef COMPILER_TRANSLATOR_VALIDATEOUTPUTS_H_
12#define COMPILER_TRANSLATOR_VALIDATEOUTPUTS_H_
13
14#include "compiler/translator/ExtensionBehavior.h"
15
16namespace sh
17{
18
19class TIntermBlock;
20class TDiagnostics;
21
22// Returns true if the shader has no conflicting or otherwise erroneous fragment outputs.
23bool ValidateOutputs(TIntermBlock *root,
24 const TExtensionBehavior &extBehavior,
25 int maxDrawBuffers,
26 TDiagnostics *diagnostics);
27
28} // namespace sh
29
30#endif // COMPILER_TRANSLATOR_VALIDATEOUTPUTS_H_
31