blob: 637ccc5e37be38022ed6e96905ecab50432976b4 [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"
alokp@chromium.org76b82082010-03-24 17:59:39 +00008
9//
10// This function must be provided to create the actual
11// compile object used by higher level code. It returns
12// a subclass of TCompiler.
13//
zmo@google.com5601ea02011-06-10 18:23:25 +000014TCompiler* ConstructCompiler(
15 ShShaderType type, ShShaderSpec spec, ShShaderOutput output)
alokp@chromium.org76b82082010-03-24 17:59:39 +000016{
shannon.woods@transgaming.comb73964e2013-01-25 21:49:14 +000017 switch (output)
18 {
19 case SH_HLSL9_OUTPUT:
20 case SH_HLSL11_OUTPUT:
21 return new TranslatorHLSL(type, spec, output);
zmo@google.com5601ea02011-06-10 18:23:25 +000022 default:
23 return NULL;
24 }
alokp@chromium.org76b82082010-03-24 17:59:39 +000025}
26
27//
28// Delete the compiler made by ConstructCompiler
29//
30void DeleteCompiler(TCompiler* compiler)
31{
32 delete compiler;
33}