summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libGLESv2/renderer/ShaderExecutable.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2/renderer/ShaderExecutable.h')
-rw-r--r--src/3rdparty/angle/src/libGLESv2/renderer/ShaderExecutable.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/renderer/ShaderExecutable.h b/src/3rdparty/angle/src/libGLESv2/renderer/ShaderExecutable.h
new file mode 100644
index 0000000000..128d123fbe
--- /dev/null
+++ b/src/3rdparty/angle/src/libGLESv2/renderer/ShaderExecutable.h
@@ -0,0 +1,51 @@
+//
+// 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_