blob: 371a03d1707d19e34a1ab2dc129f49422069b15b [file] [log] [blame]
Olli Etuaho09b04a22016-12-15 13:30:26 +00001//
2// Copyright (c) 2002-2016 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// ValidateMultiviewWebGL.h:
7// Validate the AST according to rules in the WEBGL_multiview extension spec. Only covers those
8// rules not already covered in ParseContext.
9//
10
11#ifndef COMPILER_TRANSLATOR_VALIDATEMULTIVIEWWEBGL_H_
12#define COMPILER_TRANSLATOR_VALIDATEMULTIVIEWWEBGL_H_
13
14#include "GLSLANG/ShaderVars.h"
15
16namespace sh
17{
18class TDiagnostics;
19class TIntermBlock;
Olli Etuaho01d0ad02017-01-22 14:51:23 -080020class TSymbolTable;
Olli Etuaho09b04a22016-12-15 13:30:26 +000021
22// Check for errors and output error messages with diagnostics.
23// Returns true if there are no errors.
24bool ValidateMultiviewWebGL(TIntermBlock *root,
25 sh::GLenum shaderType,
Olli Etuaho01d0ad02017-01-22 14:51:23 -080026 const TSymbolTable &symbolTable,
27 int shaderVersion,
Olli Etuaho09b04a22016-12-15 13:30:26 +000028 bool multiview2,
29 TDiagnostics *diagnostics);
30
31} // namespace sh
32
33#endif // COMPILER_TRANSLATOR_VALIDATEMULTIVIEWWEBGL_H_