gfx/angle/src/libGLESv2/renderer/ShaderExecutable9.cpp

branch
TOR_BUG_3246
changeset 7
129ffea94266
equal deleted inserted replaced
-1:000000000000 0:38973a35730f
1 #include "precompiled.h"
2 //
3 // Copyright (c) 2012-2013 The ANGLE Project Authors. All rights reserved.
4 // Use of this source code is governed by a BSD-style license that can be
5 // found in the LICENSE file.
6 //
7
8 // ShaderExecutable9.cpp: Implements a D3D9-specific class to contain shader
9 // executable implementation details.
10
11 #include "libGLESv2/renderer/ShaderExecutable9.h"
12
13 #include "common/debug.h"
14
15 namespace rx
16 {
17
18 ShaderExecutable9::ShaderExecutable9(const void *function, size_t length, IDirect3DPixelShader9 *executable)
19 : ShaderExecutable(function, length)
20 {
21 mPixelExecutable = executable;
22 mVertexExecutable = NULL;
23 }
24
25 ShaderExecutable9::ShaderExecutable9(const void *function, size_t length, IDirect3DVertexShader9 *executable)
26 : ShaderExecutable(function, length)
27 {
28 mVertexExecutable = executable;
29 mPixelExecutable = NULL;
30 }
31
32 ShaderExecutable9::~ShaderExecutable9()
33 {
34 if (mVertexExecutable)
35 {
36 mVertexExecutable->Release();
37 }
38 if (mPixelExecutable)
39 {
40 mPixelExecutable->Release();
41 }
42 }
43
44 ShaderExecutable9 *ShaderExecutable9::makeShaderExecutable9(ShaderExecutable *executable)
45 {
46 ASSERT(HAS_DYNAMIC_TYPE(ShaderExecutable9*, executable));
47 return static_cast<ShaderExecutable9*>(executable);
48 }
49
50 IDirect3DVertexShader9 *ShaderExecutable9::getVertexShader() const
51 {
52 return mVertexExecutable;
53 }
54
55 IDirect3DPixelShader9 *ShaderExecutable9::getPixelShader() const
56 {
57 return mPixelExecutable;
58 }
59
60 }

mercurial