1033dae6747674067bda64da17789b8cafd3506eeJamie Madill//
2033dae6747674067bda64da17789b8cafd3506eeJamie Madill// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
3033dae6747674067bda64da17789b8cafd3506eeJamie Madill// Use of this source code is governed by a BSD-style license that can be
4033dae6747674067bda64da17789b8cafd3506eeJamie Madill// found in the LICENSE file.
5033dae6747674067bda64da17789b8cafd3506eeJamie Madill//
6033dae6747674067bda64da17789b8cafd3506eeJamie Madill// UtilsHLSL.h:
7033dae6747674067bda64da17789b8cafd3506eeJamie Madill//   Utility methods for GLSL to HLSL translation.
8033dae6747674067bda64da17789b8cafd3506eeJamie Madill//
9033dae6747674067bda64da17789b8cafd3506eeJamie Madill
10033dae6747674067bda64da17789b8cafd3506eeJamie Madill#ifndef TRANSLATOR_UTILSHLSL_H_
11033dae6747674067bda64da17789b8cafd3506eeJamie Madill#define TRANSLATOR_UTILSHLSL_H_
12033dae6747674067bda64da17789b8cafd3506eeJamie Madill
13033dae6747674067bda64da17789b8cafd3506eeJamie Madill#include <vector>
14033dae6747674067bda64da17789b8cafd3506eeJamie Madill#include "compiler/translator/Types.h"
15033dae6747674067bda64da17789b8cafd3506eeJamie Madill
16f51639a4d10c6b31a813a8154ed2c489cc7e55f3Jamie Madill#include "angle_gl.h"
17033dae6747674067bda64da17789b8cafd3506eeJamie Madill
18033dae6747674067bda64da17789b8cafd3506eeJamie Madillnamespace sh
19033dae6747674067bda64da17789b8cafd3506eeJamie Madill{
20033dae6747674067bda64da17789b8cafd3506eeJamie Madill
21033dae6747674067bda64da17789b8cafd3506eeJamie MadillTString TextureString(const TType &type);
22033dae6747674067bda64da17789b8cafd3506eeJamie MadillTString SamplerString(const TType &type);
23033dae6747674067bda64da17789b8cafd3506eeJamie Madill// Prepends an underscore to avoid naming clashes
24033dae6747674067bda64da17789b8cafd3506eeJamie MadillTString Decorate(const TString &string);
25033dae6747674067bda64da17789b8cafd3506eeJamie MadillTString DecorateUniform(const TString &string, const TType &type);
26033dae6747674067bda64da17789b8cafd3506eeJamie MadillTString DecorateField(const TString &string, const TStructure &structure);
27033dae6747674067bda64da17789b8cafd3506eeJamie MadillTString DecoratePrivate(const TString &privateText);
28033dae6747674067bda64da17789b8cafd3506eeJamie MadillTString TypeString(const TType &type);
29033dae6747674067bda64da17789b8cafd3506eeJamie MadillTString StructNameString(const TStructure &structure);
30033dae6747674067bda64da17789b8cafd3506eeJamie MadillTString QualifiedStructNameString(const TStructure &structure, bool useHLSLRowMajorPacking,
31033dae6747674067bda64da17789b8cafd3506eeJamie Madill                                  bool useStd140Packing);
32033dae6747674067bda64da17789b8cafd3506eeJamie MadillTString InterpolationString(TQualifier qualifier);
33033dae6747674067bda64da17789b8cafd3506eeJamie MadillTString QualifierString(TQualifier qualifier);
34033dae6747674067bda64da17789b8cafd3506eeJamie Madill
35033dae6747674067bda64da17789b8cafd3506eeJamie Madill}
36033dae6747674067bda64da17789b8cafd3506eeJamie Madill
37033dae6747674067bda64da17789b8cafd3506eeJamie Madill#endif // TRANSLATOR_UTILSHLSL_H_
38