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);