1 //
2 // Copyright (c) 2012-2013 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6
7 // ShaderExecutable9.cpp: Implements a D3D9-specific class to contain shader
8 // executable implementation details.
9
10 #include "libANGLE/renderer/d3d/d3d9/ShaderExecutable9.h"
11
12 #include "common/debug.h"
13
14 namespace rx
15 {
16
ShaderExecutable9(const void * function,size_t length,IDirect3DPixelShader9 * executable)17 ShaderExecutable9::ShaderExecutable9(const void *function, size_t length, IDirect3DPixelShader9 *executable)
18 : ShaderExecutableD3D(function, length)
19 {
20 mPixelExecutable = executable;
21 mVertexExecutable = nullptr;
22 }
23
ShaderExecutable9(const void * function,size_t length,IDirect3DVertexShader9 * executable)24 ShaderExecutable9::ShaderExecutable9(const void *function, size_t length, IDirect3DVertexShader9 *executable)
25 : ShaderExecutableD3D(function, length)
26 {
27 mVertexExecutable = executable;
28 mPixelExecutable = nullptr;
29 }
30
~ShaderExecutable9()31 ShaderExecutable9::~ShaderExecutable9()
32 {
33 SafeRelease(mVertexExecutable);
34 SafeRelease(mPixelExecutable);
35 }
36
getVertexShader() const37 IDirect3DVertexShader9 *ShaderExecutable9::getVertexShader() const
38 {
39 return mVertexExecutable;
40 }
41
getPixelShader() const42 IDirect3DPixelShader9 *ShaderExecutable9::getPixelShader() const
43 {
44 return mPixelExecutable;
45 }
46
47 }
48