1d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com// 2358e88d786a5c48b45a28454861b7018ec39c95fshannon.woods@transgaming.com// Copyright (c) 2012-2013 The ANGLE Project Authors. All rights reserved. 3d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com// Use of this source code is governed by a BSD-style license that can be 4d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com// found in the LICENSE file. 5d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com// 6d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com 7d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com// ShaderExecutable9.h: Defines a D3D9-specific class to contain shader 8d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com// executable implementation details. 9d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com 10d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com#ifndef LIBGLESV2_RENDERER_SHADEREXECUTABLE9_H_ 11d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com#define LIBGLESV2_RENDERER_SHADEREXECUTABLE9_H_ 12d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com 13d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com#include "libGLESv2/renderer/ShaderExecutable.h" 14d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com 15d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.comnamespace rx 16d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com{ 17d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com 18d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.comclass ShaderExecutable9 : public ShaderExecutable 19d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com{ 20d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com public: 212275f9159895aefa0b9ae7deff08bc40b6f6ede8daniel@transgaming.com ShaderExecutable9(const void *function, size_t length, IDirect3DPixelShader9 *executable); 222275f9159895aefa0b9ae7deff08bc40b6f6ede8daniel@transgaming.com ShaderExecutable9(const void *function, size_t length, IDirect3DVertexShader9 *executable); 23d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com virtual ~ShaderExecutable9(); 24d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com 25d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com static ShaderExecutable9 *makeShaderExecutable9(ShaderExecutable *executable); 26d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com 27358e88d786a5c48b45a28454861b7018ec39c95fshannon.woods@transgaming.com IDirect3DPixelShader9 *getPixelShader() const; 28358e88d786a5c48b45a28454861b7018ec39c95fshannon.woods@transgaming.com IDirect3DVertexShader9 *getVertexShader() const; 29d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com 30d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com private: 31d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com DISALLOW_COPY_AND_ASSIGN(ShaderExecutable9); 32d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com 33d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com IDirect3DPixelShader9 *mPixelExecutable; 34d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com IDirect3DVertexShader9 *mVertexExecutable; 35d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com}; 36d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com 37d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com} 38d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com 39d5d1019770f0de5dc1d8b356fa1df48019204378daniel@transgaming.com#endif // LIBGLESV2_RENDERER_SHADEREXECUTABLE9_H_