Make ProgramImpl::compileProgramExecutables D3D-only.
Finally we can isolate this method into the D3D-only code, and
remove the interface from ProgramImpl.
BUG=angleproject:1123
Change-Id: I253b15d44d4cf8bbb5dbeaa78bbcc431a5267bf7
Reviewed-on: https://chromium-review.googlesource.com/293765
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/Program.cpp b/src/libANGLE/Program.cpp
index f470818..77ddc06 100644
--- a/src/libANGLE/Program.cpp
+++ b/src/libANGLE/Program.cpp
@@ -311,22 +311,11 @@
return Error(GL_NO_ERROR);
}
- int registers;
- rx::LinkResult result =
- mProgram->link(data, mInfoLog, mData.mAttachedFragmentShader, mData.mAttachedVertexShader,
- ®isters, &mOutputVariables);
- if (result.error.isError() || !result.linkSuccess)
- {
- return result.error;
- }
+ rx::LinkResult result = mProgram->link(data, mInfoLog, mData.mAttachedFragmentShader,
+ mData.mAttachedVertexShader, &mOutputVariables);
- // TODO: The concept of "executables" is D3D only, and as such this belongs in ProgramD3D. It must be called,
- // however, last in this function, so it can't simply be moved to ProgramD3D::link without further shuffling.
- result = mProgram->compileProgramExecutables(mInfoLog, registers);
if (result.error.isError() || !result.linkSuccess)
{
- mInfoLog << "Failed to create D3D shaders.";
- unlink(false);
return result.error;
}