Pass InterfaceBlockLinker to ProgramImpl::link.
This change is in preparation for moving the linking logic to the
Implementation.
Introduces a ProgramLinkedResources class that is passed into the Impl
and holds linking-related info such as the UBOs, Varyings, etc.
BUG=angleproject:2208
Change-Id: I2ef0824b54bfb462c79d003bffe34e9cfad60d8a
Reviewed-on: https://chromium-review.googlesource.com/746204
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/ProgramImpl.h b/src/libANGLE/renderer/ProgramImpl.h
index f8b2c26..7c5fce7 100644
--- a/src/libANGLE/renderer/ProgramImpl.h
+++ b/src/libANGLE/renderer/ProgramImpl.h
@@ -20,7 +20,7 @@
namespace gl
{
class Context;
-class VaryingPacking;
+struct ProgramLinkedResources;
}
namespace sh
@@ -30,7 +30,6 @@
namespace rx
{
-
class ProgramImpl : angle::NonCopyable
{
public:
@@ -46,8 +45,8 @@
virtual void setSeparable(bool separable) = 0;
virtual gl::LinkResult link(const gl::Context *context,
- const gl::VaryingPacking &packing,
- gl::InfoLog &infoLog) = 0;
+ const gl::ProgramLinkedResources &resources,
+ gl::InfoLog &infoLog) = 0;
virtual GLboolean validate(const gl::Caps &caps, gl::InfoLog *infoLog) = 0;
virtual void setUniform1fv(GLint location, GLsizei count, const GLfloat *v) = 0;