Add ShaderExecutable11 files.

TRAC #22191
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1530 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/renderer/ShaderExecutable11.cpp b/src/libGLESv2/renderer/ShaderExecutable11.cpp
new file mode 100644
index 0000000..e1feebc
--- /dev/null
+++ b/src/libGLESv2/renderer/ShaderExecutable11.cpp
@@ -0,0 +1,76 @@
+//
+// 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.
+//
+
+// ShaderExecutable11.cpp: Implements a D3D11-specific class to contain shader
+// executable implementation details.
+
+#include "libGLESv2/renderer/ShaderExecutable11.h"
+
+#include "common/debug.h"
+
+namespace rx
+{
+
+ShaderExecutable11::ShaderExecutable11(ID3D11PixelShader *executable)
+{
+    mPixelExecutable = executable;
+    mVertexExecutable = NULL;
+}
+
+ShaderExecutable11::ShaderExecutable11(ID3D11VertexShader *executable)
+{
+    mVertexExecutable = executable;
+    mPixelExecutable = NULL;
+}
+
+ShaderExecutable11::~ShaderExecutable11()
+{
+    if (mVertexExecutable)
+    {
+        mVertexExecutable->Release();
+    }
+    if (mPixelExecutable)
+    {
+        mPixelExecutable->Release();
+    }
+}
+
+ShaderExecutable11 *ShaderExecutable11::makeShaderExecutable11(ShaderExecutable *executable)
+{
+    ASSERT(dynamic_cast<ShaderExecutable11*>(executable) != NULL);
+    return static_cast<ShaderExecutable11*>(executable);
+}
+
+bool ShaderExecutable11::getVertexFunction(void *pData, UINT *pSizeOfData)
+{
+    // TODO
+    UNIMPLEMENTED();
+    return false;
+}
+
+bool ShaderExecutable11::getPixelFunction(void *pData, UINT *pSizeOfData)
+{
+    // TODO
+    UNIMPLEMENTED();
+    return false;
+}
+
+ID3D11VertexShader *ShaderExecutable11::getVertexShader()
+{
+    return mVertexExecutable;
+}
+
+ID3D11PixelShader *ShaderExecutable11::getPixelShader()
+{
+    return mPixelExecutable;
+}
+
+gl::D3DConstantTable *ShaderExecutable11::getConstantTable()
+{
+    return NULL;
+}
+
+}
\ No newline at end of file