Store the shader bytecode in ShaderExecutable to pass it to CreateInputLayout.

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@1535 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp
index e73f7c7..f5f1098 100644
--- a/src/libGLESv2/ProgramBinary.cpp
+++ b/src/libGLESv2/ProgramBinary.cpp
@@ -1733,14 +1733,10 @@
     stream.write(mDxFrontCCWLocation);
     stream.write(mDxPointsOrLinesLocation);
 
-    UINT pixelShaderSize;
-    bool result = mPixelExecutable->getPixelFunction(NULL, &pixelShaderSize);
-    ASSERT(result);
+    UINT pixelShaderSize = mPixelExecutable->getLength();
     stream.write(pixelShaderSize);
 
-    UINT vertexShaderSize;
-    result = mVertexExecutable->getVertexFunction(NULL, &vertexShaderSize);
-    ASSERT(result);
+    UINT vertexShaderSize = mVertexExecutable->getLength();
     stream.write(vertexShaderSize);
 
     GUID identifier = mRenderer->getAdapterIdentifier();
@@ -1769,12 +1765,10 @@
         memcpy(ptr, &identifier, sizeof(GUID));
         ptr += sizeof(GUID);
 
-        result = mPixelExecutable->getPixelFunction(ptr, &pixelShaderSize);
-        ASSERT(result);
+        memcpy(ptr, mPixelExecutable->getFunction(), pixelShaderSize);
         ptr += pixelShaderSize;
 
-        result = mVertexExecutable->getVertexFunction(ptr, &vertexShaderSize);
-        ASSERT(result);
+        memcpy(ptr, mVertexExecutable->getFunction(), vertexShaderSize);
         ptr += vertexShaderSize;
 
         ASSERT(ptr - totalLength == binary);