Revert "Revert "Clean up interface to ProgramImpl::link.""
Should be fixed now with the fix the prior CL.
BUG=angleproject:1123
This reverts commit 63069dfc20bc34fe6962dee694953893ee6fc663.
Change-Id: Ie1826673820e3a24f9bb3e4ff5c723ac47570041
Reviewed-on: https://chromium-review.googlesource.com/297050
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/d3d/ProgramD3D.cpp b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
index 6d1d46e..38b4f5f 100644
--- a/src/libANGLE/renderer/d3d/ProgramD3D.cpp
+++ b/src/libANGLE/renderer/d3d/ProgramD3D.cpp
@@ -1124,24 +1124,24 @@
return LinkResult(linkSuccess, gl::Error(GL_NO_ERROR));
}
-LinkResult ProgramD3D::link(const gl::Data &data,
- gl::InfoLog &infoLog,
- gl::Shader *fragmentShader,
- gl::Shader *vertexShader)
+LinkResult ProgramD3D::link(const gl::Data &data, gl::InfoLog &infoLog)
{
- ShaderD3D *vertexShaderD3D = GetImplAs<ShaderD3D>(vertexShader);
- ShaderD3D *fragmentShaderD3D = GetImplAs<ShaderD3D>(fragmentShader);
+ const gl::Shader *vertexShader = mData.getAttachedVertexShader();
+ const gl::Shader *fragmentShader = mData.getAttachedFragmentShader();
- mSamplersPS.resize(data.caps->maxTextureImageUnits);
+ const ShaderD3D *vertexShaderD3D = GetImplAs<ShaderD3D>(vertexShader);
+ const ShaderD3D *fragmentShaderD3D = GetImplAs<ShaderD3D>(fragmentShader);
+
mSamplersVS.resize(data.caps->maxVertexTextureImageUnits);
-
- mPixelHLSL = fragmentShaderD3D->getTranslatedSource();
- fragmentShaderD3D->generateWorkarounds(&mPixelWorkarounds);
+ mSamplersPS.resize(data.caps->maxTextureImageUnits);
mVertexHLSL = vertexShaderD3D->getTranslatedSource();
vertexShaderD3D->generateWorkarounds(&mVertexWorkarounds);
mShaderVersion = vertexShaderD3D->getShaderVersion();
+ mPixelHLSL = fragmentShaderD3D->getTranslatedSource();
+ fragmentShaderD3D->generateWorkarounds(&mPixelWorkarounds);
+
if (mRenderer->getRendererLimitations().noFrontFacingSupport)
{
if (fragmentShaderD3D->usesFrontFacing())