blob: 57b11349706220766d5216000d8edf3fb1710582 [file] [log] [blame]
alokp@chromium.org8b851c62012-06-15 16:25:11 +00001//
2// Copyright (c) 2012 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
Geoff Lang0a73dd82014-11-19 16:18:08 -05007#ifndef COMPILER_TRANSLATOR_PRAGMA_H_
8#define COMPILER_TRANSLATOR_PRAGMA_H_
alokp@chromium.org8b851c62012-06-15 16:25:11 +00009
Zhenyao Mo94ac7b72014-10-15 18:22:08 -070010struct TPragma
11{
12 struct STDGL
13 {
14 STDGL() : invariantAll(false) { }
15
16 bool invariantAll;
17 };
18
19
alokp@chromium.org8b851c62012-06-15 16:25:11 +000020 // By default optimization is turned on and debug is turned off.
Olli Etuaho853dc1a2014-11-06 17:25:48 +020021 // Precision emulation is turned on by default, but has no effect unless
22 // the extension is enabled.
23 TPragma() : optimize(true), debug(false), debugShaderPrecision(true) { }
24 TPragma(bool o, bool d) : optimize(o), debug(d), debugShaderPrecision(true) { }
alokp@chromium.org8b851c62012-06-15 16:25:11 +000025
26 bool optimize;
27 bool debug;
Olli Etuaho853dc1a2014-11-06 17:25:48 +020028 bool debugShaderPrecision;
Zhenyao Mo94ac7b72014-10-15 18:22:08 -070029 STDGL stdgl;
alokp@chromium.org8b851c62012-06-15 16:25:11 +000030};
31
Geoff Lang0a73dd82014-11-19 16:18:08 -050032#endif // COMPILER_TRANSLATOR_PRAGMA_H_