// // Copyright (c) 2012 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // // ShaderExecutable.h: Defines a renderer-agnostic class to contain shader // executable implementation details. #ifndef LIBGLESV2_RENDERER_SHADEREXECUTABLE_H_ #define LIBGLESV2_RENDERER_SHADEREXECUTABLE_H_ #include "common/angleutils.h" namespace rx { class ShaderExecutable { public: ShaderExecutable(const void *function, size_t length) : mLength(length) { mFunction = new char[length]; memcpy(mFunction, function, length); } virtual ~ShaderExecutable() { delete[] mFunction; } void *getFunction() const { return mFunction; } size_t getLength() const { return mLength; } private: DISALLOW_COPY_AND_ASSIGN(ShaderExecutable); void *mFunction; const size_t mLength; }; } #endif // LIBGLESV2_RENDERER_SHADEREXECUTABLE9_H_