Introduce a gl::BufferState class.
This state can share vital pieces of information with the impl.
The most elementary state is the buffer size, which then the
impl doesn't need to replicate.
BUG=angleproject:1579
Change-Id: I341393c64a6e49de65c1d53b1bad2fa143209862
Reviewed-on: https://chromium-review.googlesource.com/406644
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/TransformFeedback_unittest.cpp b/src/libANGLE/TransformFeedback_unittest.cpp
index 07a0959..aa464d1 100644
--- a/src/libANGLE/TransformFeedback_unittest.cpp
+++ b/src/libANGLE/TransformFeedback_unittest.cpp
@@ -101,9 +101,16 @@
TEST_F(TransformFeedbackTest, BufferBinding)
{
rx::MockBufferImpl *bufferImpl = new rx::MockBufferImpl;
- gl::Buffer *buffer = new gl::Buffer(bufferImpl, 1);
EXPECT_CALL(*bufferImpl, destructor()).Times(1).RetiresOnSaturation();
+ rx::MockGLFactory mockGLFactory;
+ EXPECT_CALL(mockGLFactory, createBuffer(_))
+ .Times(1)
+ .WillOnce(Return(bufferImpl))
+ .RetiresOnSaturation();
+
+ gl::Buffer *buffer = new gl::Buffer(&mockGLFactory, 1);
+
static const size_t bindIndex = 0;
EXPECT_EQ(mFeedback->getIndexedBufferCount(), mCaps.maxTransformFeedbackSeparateAttributes);