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