Get rid of ShaderExecutable9 usage in ProgramBinary
Trac #22155
Signed-off-by: Geoff Lang
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1510 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/ProgramBinary.cpp b/src/libGLESv2/ProgramBinary.cpp
index 04c8e39..fe3b58c 100644
--- a/src/libGLESv2/ProgramBinary.cpp
+++ b/src/libGLESv2/ProgramBinary.cpp
@@ -1643,26 +1643,23 @@
const char *vertexShaderFunction = ptr;
ptr += vertexShaderSize;
- rx::ShaderExecutable *executable;
- executable = mRenderer->loadExecutable(reinterpret_cast<const DWORD*>(pixelShaderFunction),
- pixelShaderSize, GL_FRAGMENT_SHADER, NULL);
- if (!executable)
+ mPixelExecutable = mRenderer->loadExecutable(reinterpret_cast<const DWORD*>(pixelShaderFunction),
+ pixelShaderSize, GL_FRAGMENT_SHADER, NULL);
+ if (!mPixelExecutable)
{
infoLog.append("Could not create pixel shader.");
return false;
}
- mPixelExecutable = rx::ShaderExecutable9::makeShaderExecutable9(executable);
- executable = mRenderer->loadExecutable(reinterpret_cast<const DWORD*>(vertexShaderFunction),
- vertexShaderSize, GL_VERTEX_SHADER, NULL);
- if (!executable)
+ mVertexExecutable = mRenderer->loadExecutable(reinterpret_cast<const DWORD*>(vertexShaderFunction),
+ vertexShaderSize, GL_VERTEX_SHADER, NULL);
+ if (!mVertexExecutable)
{
infoLog.append("Could not create vertex shader.");
delete mPixelExecutable;
mPixelExecutable = NULL;
return false;
}
- mVertexExecutable = rx::ShaderExecutable9::makeShaderExecutable9(executable);
return true;
}
@@ -1822,14 +1819,12 @@
bool success = true;
D3DConstantTable *constantTableVS = NULL;
D3DConstantTable *constantTablePS = NULL;
- rx::ShaderExecutable *vertexExecutable = mRenderer->compileToExecutable(infoLog, vertexHLSL.c_str(), GL_VERTEX_SHADER);
- rx::ShaderExecutable *pixelExecutable = mRenderer->compileToExecutable(infoLog, pixelHLSL.c_str(), GL_FRAGMENT_SHADER);
+ mVertexExecutable = mRenderer->compileToExecutable(infoLog, vertexHLSL.c_str(), GL_VERTEX_SHADER);
+ mPixelExecutable = mRenderer->compileToExecutable(infoLog, pixelHLSL.c_str(), GL_FRAGMENT_SHADER);
- if (vertexExecutable && pixelExecutable)
+ if (mVertexExecutable && mPixelExecutable)
{
- mVertexExecutable = rx::ShaderExecutable9::makeShaderExecutable9(vertexExecutable);
- mPixelExecutable = rx::ShaderExecutable9::makeShaderExecutable9(pixelExecutable);
-
+ // D3D9_REPLACE
constantTableVS = mVertexExecutable->getConstantTable();
constantTablePS = mPixelExecutable->getConstantTable();
}
@@ -1838,10 +1833,10 @@
infoLog.append("Failed to create D3D shaders.");
success = false;
- delete vertexExecutable;
- vertexExecutable = NULL;
- delete pixelExecutable;
- pixelExecutable = NULL;
+ delete mVertexExecutable;
+ mVertexExecutable = NULL;
+ delete mPixelExecutable;
+ mPixelExecutable = NULL;
}
if (!linkAttributes(infoLog, attributeBindings, fragmentShader, vertexShader))