1 // 2 // Copyright 2012 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.h: Defines a D3D9-specific class to contain shader 8 // executable implementation details. 9 10 #ifndef LIBANGLE_RENDERER_D3D_D3D9_SHADEREXECUTABLE9_H_ 11 #define LIBANGLE_RENDERER_D3D_D3D9_SHADEREXECUTABLE9_H_ 12 13 #include "libANGLE/renderer/d3d/ShaderExecutableD3D.h" 14 15 namespace rx 16 { 17 18 class ShaderExecutable9 : public ShaderExecutableD3D 19 { 20 public: 21 ShaderExecutable9(const void *function, size_t length, IDirect3DPixelShader9 *executable); 22 ShaderExecutable9(const void *function, size_t length, IDirect3DVertexShader9 *executable); 23 ~ShaderExecutable9() override; 24 25 IDirect3DPixelShader9 *getPixelShader() const; 26 IDirect3DVertexShader9 *getVertexShader() const; 27 28 private: 29 IDirect3DPixelShader9 *mPixelExecutable; 30 IDirect3DVertexShader9 *mVertexExecutable; 31 }; 32 33 } // namespace rx 34 35 #endif // LIBANGLE_RENDERER_D3D_D3D9_SHADEREXECUTABLE9_H_ 36