blob: 6ef91f49d792bb33493cc73888f52bb0e29b3d40 [file] [log] [blame]
alokp@chromium.org76b82082010-03-24 17:59:39 +00001//
shannon.woods@transgaming.comb73964e2013-01-25 21:49:14 +00002// Copyright (c) 2002-2013 The ANGLE Project Authors. All rights reserved.
alokp@chromium.org76b82082010-03-24 17:59:39 +00003// Use of this source code is governed by a BSD-style license that can be
4// found in the LICENSE file.
5//
6
daniel@transgaming.combbf56f72010-04-20 18:52:13 +00007#include "compiler/TranslatorHLSL.h"
8
alokp@chromium.org646ea1e2012-06-15 17:36:31 +00009#include "compiler/InitializeParseContext.h"
daniel@transgaming.combbf56f72010-04-20 18:52:13 +000010#include "compiler/OutputHLSL.h"
alokp@chromium.org76b82082010-03-24 17:59:39 +000011
shannon.woods@transgaming.comb73964e2013-01-25 21:49:14 +000012TranslatorHLSL::TranslatorHLSL(ShShaderType type, ShShaderSpec spec, ShShaderOutput output)
13 : TCompiler(type, spec), mOutputType(output)
daniel@transgaming.come78c0c92010-03-28 19:36:06 +000014{
alokp@chromium.org76b82082010-03-24 17:59:39 +000015}
16
alokp@chromium.org07620a52010-09-23 17:53:56 +000017void TranslatorHLSL::translate(TIntermNode *root)
daniel@transgaming.come78c0c92010-03-28 19:36:06 +000018{
alokp@chromium.org76b82082010-03-24 17:59:39 +000019 TParseContext& parseContext = *GetGlobalParseContext();
shannon.woods%transgaming.com@gtempaccount.com18b4c4b2013-04-13 03:31:40 +000020 sh::OutputHLSL outputHLSL(parseContext, getResources(), mOutputType);
daniel@transgaming.come78c0c92010-03-28 19:36:06 +000021
daniel@transgaming.com950f9932010-04-13 03:26:14 +000022 outputHLSL.output();
daniel@transgaming.com043da132012-12-20 21:12:22 +000023 mActiveUniforms = outputHLSL.getUniforms();
shannonwoods@chromium.org3f68bf02013-05-30 00:12:43 +000024 mActiveInterfaceBlocks = outputHLSL.getInterfaceBlocks();
Jamie Madill46131a32013-06-20 11:55:50 -040025 mActiveOutputVariables = outputHLSL.getOutputVariables();
alokp@chromium.org76b82082010-03-24 17:59:39 +000026}