Commit 4836acc5 by Olli Etuaho Committed by Commit Bot

Rename and reorganize MultiviewRenderTestBase

MultiviewRenderTestBase is renamed to MultiviewFramebufferTestBase since the functionality it has is mostly to set up a framebuffer. This cleans up the test class without including functional changes to ease diagnosis of issues with resource init/teardown. BUG=angleproject:2765 TEST=angle_end2end_tests Change-Id: I0debd6a7a53a2e6bff7100d07b29313d66a79cb5 Reviewed-on: https://chromium-review.googlesource.com/1181052Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
parent d20e80b8
...@@ -65,19 +65,19 @@ std::ostream &operator<<(std::ostream &os, const MultiviewRenderTestParams &para ...@@ -65,19 +65,19 @@ std::ostream &operator<<(std::ostream &os, const MultiviewRenderTestParams &para
return os; return os;
} }
class MultiviewRenderTestBase : public MultiviewTestBase class MultiviewFramebufferTestBase : public MultiviewTestBase
{ {
protected: protected:
MultiviewRenderTestBase(const PlatformParameters &params, GLenum multiviewLayout) MultiviewFramebufferTestBase(const PlatformParameters &params, GLenum multiviewLayout)
: MultiviewTestBase(params), : MultiviewTestBase(params),
mMultiviewLayout(multiviewLayout),
mViewWidth(0), mViewWidth(0),
mViewHeight(0), mViewHeight(0),
mNumViews(0) mNumViews(0),
mMultiviewLayout(multiviewLayout)
{ {
} }
void RenderTestSetUp() { MultiviewTestBase::MultiviewTestBaseSetUp(); } void FramebufferTestSetUp() { MultiviewTestBase::MultiviewTestBaseSetUp(); }
void createFBO(int viewWidth, int height, int numViews, int numLayers, int baseViewIndex) void updateFBOs(int viewWidth, int height, int numViews, int numLayers, int baseViewIndex)
{ {
ASSERT(numViews + baseViewIndex <= numLayers); ASSERT(numViews + baseViewIndex <= numLayers);
...@@ -204,11 +204,13 @@ class MultiviewRenderTestBase : public MultiviewTestBase ...@@ -204,11 +204,13 @@ class MultiviewRenderTestBase : public MultiviewTestBase
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
} }
void createFBO(int viewWidth, int height, int numViews) void updateFBOs(int viewWidth, int height, int numViews)
{ {
createFBO(viewWidth, height, numViews, numViews, 0); updateFBOs(viewWidth, height, numViews, numViews, 0);
} }
void bindMemberDrawFramebuffer() { glBindFramebuffer(GL_DRAW_FRAMEBUFFER, mDrawFramebuffer); }
GLColor GetViewColor(int x, int y, int view) GLColor GetViewColor(int x, int y, int view)
{ {
switch (mMultiviewLayout) switch (mMultiviewLayout)
...@@ -227,20 +229,22 @@ class MultiviewRenderTestBase : public MultiviewTestBase ...@@ -227,20 +229,22 @@ class MultiviewRenderTestBase : public MultiviewTestBase
GLTexture mColorTexture; GLTexture mColorTexture;
GLTexture mDepthTexture; GLTexture mDepthTexture;
GLFramebuffer mDrawFramebuffer;
std::vector<GLFramebuffer> mReadFramebuffer;
GLenum mMultiviewLayout;
int mViewWidth; int mViewWidth;
int mViewHeight; int mViewHeight;
int mNumViews; int mNumViews;
private:
GLFramebuffer mDrawFramebuffer;
std::vector<GLFramebuffer> mReadFramebuffer;
GLenum mMultiviewLayout;
}; };
class MultiviewRenderTest : public MultiviewRenderTestBase, class MultiviewRenderTest : public MultiviewFramebufferTestBase,
public ::testing::TestWithParam<MultiviewRenderTestParams> public ::testing::TestWithParam<MultiviewRenderTestParams>
{ {
protected: protected:
MultiviewRenderTest() : MultiviewRenderTestBase(GetParam(), GetParam().mMultiviewLayout) {} MultiviewRenderTest() : MultiviewFramebufferTestBase(GetParam(), GetParam().mMultiviewLayout) {}
void SetUp() override { MultiviewRenderTestBase::RenderTestSetUp(); } void SetUp() override { MultiviewFramebufferTestBase::FramebufferTestSetUp(); }
void overrideWorkaroundsD3D(WorkaroundsD3D *workarounds) override void overrideWorkaroundsD3D(WorkaroundsD3D *workarounds) override
{ {
...@@ -288,7 +292,7 @@ class MultiviewRenderDualViewTest : public MultiviewRenderTest ...@@ -288,7 +292,7 @@ class MultiviewRenderDualViewTest : public MultiviewRenderTest
return; return;
} }
createFBO(2, 1, 2); updateFBOs(2, 1, 2);
mProgram = CompileProgram(kDualViewVSSource, kDualViewFSSource); mProgram = CompileProgram(kDualViewVSSource, kDualViewFSSource);
ASSERT_NE(mProgram, 0u); ASSERT_NE(mProgram, 0u);
glUseProgram(mProgram); glUseProgram(mProgram);
...@@ -412,30 +416,30 @@ class MultiviewRenderPrimitiveTest : public MultiviewRenderTest ...@@ -412,30 +416,30 @@ class MultiviewRenderPrimitiveTest : public MultiviewRenderTest
GLBuffer mVBO; GLBuffer mVBO;
}; };
class MultiviewSideBySideRenderTest : public MultiviewRenderTestBase, class MultiviewSideBySideRenderTest : public MultiviewFramebufferTestBase,
public ::testing::TestWithParam<MultiviewImplementationParams> public ::testing::TestWithParam<MultiviewImplementationParams>
{ {
protected: protected:
MultiviewSideBySideRenderTest() MultiviewSideBySideRenderTest()
: MultiviewRenderTestBase(GetParam(), GL_FRAMEBUFFER_MULTIVIEW_SIDE_BY_SIDE_ANGLE) : MultiviewFramebufferTestBase(GetParam(), GL_FRAMEBUFFER_MULTIVIEW_SIDE_BY_SIDE_ANGLE)
{ {
} }
void SetUp() override { MultiviewRenderTestBase::RenderTestSetUp(); } void SetUp() override { MultiviewFramebufferTestBase::FramebufferTestSetUp(); }
void overrideWorkaroundsD3D(WorkaroundsD3D *workarounds) override void overrideWorkaroundsD3D(WorkaroundsD3D *workarounds) override
{ {
workarounds->selectViewInGeometryShader = GetParam().mForceUseGeometryShaderOnD3D; workarounds->selectViewInGeometryShader = GetParam().mForceUseGeometryShaderOnD3D;
} }
}; };
class MultiviewLayeredRenderTest : public MultiviewRenderTestBase, class MultiviewLayeredRenderTest : public MultiviewFramebufferTestBase,
public ::testing::TestWithParam<MultiviewImplementationParams> public ::testing::TestWithParam<MultiviewImplementationParams>
{ {
protected: protected:
MultiviewLayeredRenderTest() MultiviewLayeredRenderTest()
: MultiviewRenderTestBase(GetParam(), GL_FRAMEBUFFER_MULTIVIEW_LAYERED_ANGLE) : MultiviewFramebufferTestBase(GetParam(), GL_FRAMEBUFFER_MULTIVIEW_LAYERED_ANGLE)
{ {
} }
void SetUp() override { MultiviewRenderTestBase::RenderTestSetUp(); } void SetUp() override { MultiviewFramebufferTestBase::FramebufferTestSetUp(); }
void overrideWorkaroundsD3D(WorkaroundsD3D *workarounds) override void overrideWorkaroundsD3D(WorkaroundsD3D *workarounds) override
{ {
workarounds->selectViewInGeometryShader = GetParam().mForceUseGeometryShaderOnD3D; workarounds->selectViewInGeometryShader = GetParam().mForceUseGeometryShaderOnD3D;
...@@ -859,7 +863,7 @@ TEST_P(MultiviewRenderTest, DrawArraysFourViews) ...@@ -859,7 +863,7 @@ TEST_P(MultiviewRenderTest, DrawArraysFourViews)
" col = vec4(0,1,0,1);\n" " col = vec4(0,1,0,1);\n"
"}\n"; "}\n";
createFBO(4, 1, 4); updateFBOs(4, 1, 4);
ANGLE_GL_PROGRAM(program, vsSource, fsSource); ANGLE_GL_PROGRAM(program, vsSource, fsSource);
drawQuad(program, "vPosition", 0.0f, 1.0f, true); drawQuad(program, "vPosition", 0.0f, 1.0f, true);
...@@ -920,7 +924,7 @@ TEST_P(MultiviewRenderTest, DrawArraysInstanced) ...@@ -920,7 +924,7 @@ TEST_P(MultiviewRenderTest, DrawArraysInstanced)
const int kViewWidth = 2; const int kViewWidth = 2;
const int kViewHeight = 2; const int kViewHeight = 2;
const int kNumViews = 2; const int kNumViews = 2;
createFBO(kViewWidth, kViewHeight, kNumViews); updateFBOs(kViewWidth, kViewHeight, kNumViews);
ANGLE_GL_PROGRAM(program, vsSource, fsSource); ANGLE_GL_PROGRAM(program, vsSource, fsSource);
drawQuadInstanced(program, "vPosition", 0.0f, 1.0f, true, 2u); drawQuadInstanced(program, "vPosition", 0.0f, 1.0f, true, 2u);
...@@ -984,7 +988,7 @@ TEST_P(MultiviewRenderTest, AttribDivisor) ...@@ -984,7 +988,7 @@ TEST_P(MultiviewRenderTest, AttribDivisor)
const int kViewWidth = 4; const int kViewWidth = 4;
const int kViewHeight = 4; const int kViewHeight = 4;
const int kNumViews = 2; const int kNumViews = 2;
createFBO(kViewWidth, kViewHeight, kNumViews); updateFBOs(kViewWidth, kViewHeight, kNumViews);
ANGLE_GL_PROGRAM(program, vsSource, fsSource); ANGLE_GL_PROGRAM(program, vsSource, fsSource);
GLBuffer xOffsetVBO; GLBuffer xOffsetVBO;
...@@ -1033,7 +1037,7 @@ TEST_P(MultiviewRenderTest, DivisorOrderOfOperation) ...@@ -1033,7 +1037,7 @@ TEST_P(MultiviewRenderTest, DivisorOrderOfOperation)
return; return;
} }
createFBO(1, 1, 2); updateFBOs(1, 1, 2);
// Create multiview program. // Create multiview program.
const std::string &vs = const std::string &vs =
...@@ -1126,7 +1130,7 @@ TEST_P(MultiviewRenderTest, DivisorOrderOfOperation) ...@@ -1126,7 +1130,7 @@ TEST_P(MultiviewRenderTest, DivisorOrderOfOperation)
ASSERT_GL_NO_ERROR(); ASSERT_GL_NO_ERROR();
// Check that vertexAttribDivisor uses the number of views to update the divisor. // Check that vertexAttribDivisor uses the number of views to update the divisor.
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, mDrawFramebuffer); bindMemberDrawFramebuffer();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glUseProgram(program); glUseProgram(program);
glVertexAttribDivisor(1, 1); glVertexAttribDivisor(1, 1);
...@@ -1146,7 +1150,7 @@ TEST_P(MultiviewRenderTest, DivisorOrderOfOperation) ...@@ -1146,7 +1150,7 @@ TEST_P(MultiviewRenderTest, DivisorOrderOfOperation)
ASSERT_GL_NO_ERROR(); ASSERT_GL_NO_ERROR();
// Check that useProgram uses the number of views to update the divisor. // Check that useProgram uses the number of views to update the divisor.
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, mDrawFramebuffer); bindMemberDrawFramebuffer();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glUseProgram(program); glUseProgram(program);
glDrawArraysInstanced(GL_TRIANGLES, 0, 6, 1); glDrawArraysInstanced(GL_TRIANGLES, 0, 6, 1);
...@@ -1166,7 +1170,7 @@ TEST_P(MultiviewRenderTest, DivisorOrderOfOperation) ...@@ -1166,7 +1170,7 @@ TEST_P(MultiviewRenderTest, DivisorOrderOfOperation)
{ {
// Call useProgram with vao[1] being active to guarantee that useProgram will adjust the // Call useProgram with vao[1] being active to guarantee that useProgram will adjust the
// divisor for vao[1] only. // divisor for vao[1] only.
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, mDrawFramebuffer); bindMemberDrawFramebuffer();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBindVertexArray(vao[1]); glBindVertexArray(vao[1]);
glUseProgram(program); glUseProgram(program);
...@@ -1211,7 +1215,7 @@ TEST_P(MultiviewOcclusionQueryTest, OcclusionQueryNothingVisible) ...@@ -1211,7 +1215,7 @@ TEST_P(MultiviewOcclusionQueryTest, OcclusionQueryNothingVisible)
" col = vec4(1,0,0,0);\n" " col = vec4(1,0,0,0);\n"
"}\n"; "}\n";
ANGLE_GL_PROGRAM(program, vsSource, fsSource); ANGLE_GL_PROGRAM(program, vsSource, fsSource);
createFBO(1, 1, 2); updateFBOs(1, 1, 2);
GLuint result = drawAndRetrieveOcclusionQueryResult(program); GLuint result = drawAndRetrieveOcclusionQueryResult(program);
ASSERT_GL_NO_ERROR(); ASSERT_GL_NO_ERROR();
...@@ -1246,7 +1250,7 @@ TEST_P(MultiviewOcclusionQueryTest, OcclusionQueryOnlyLeftVisible) ...@@ -1246,7 +1250,7 @@ TEST_P(MultiviewOcclusionQueryTest, OcclusionQueryOnlyLeftVisible)
" col = vec4(1,0,0,0);\n" " col = vec4(1,0,0,0);\n"
"}\n"; "}\n";
ANGLE_GL_PROGRAM(program, vsSource, fsSource); ANGLE_GL_PROGRAM(program, vsSource, fsSource);
createFBO(1, 1, 2); updateFBOs(1, 1, 2);
GLuint result = drawAndRetrieveOcclusionQueryResult(program); GLuint result = drawAndRetrieveOcclusionQueryResult(program);
ASSERT_GL_NO_ERROR(); ASSERT_GL_NO_ERROR();
...@@ -1281,7 +1285,7 @@ TEST_P(MultiviewOcclusionQueryTest, OcclusionQueryOnlyRightVisible) ...@@ -1281,7 +1285,7 @@ TEST_P(MultiviewOcclusionQueryTest, OcclusionQueryOnlyRightVisible)
" col = vec4(1,0,0,0);\n" " col = vec4(1,0,0,0);\n"
"}\n"; "}\n";
ANGLE_GL_PROGRAM(program, vsSource, fsSource); ANGLE_GL_PROGRAM(program, vsSource, fsSource);
createFBO(1, 1, 2); updateFBOs(1, 1, 2);
GLuint result = drawAndRetrieveOcclusionQueryResult(program); GLuint result = drawAndRetrieveOcclusionQueryResult(program);
ASSERT_GL_NO_ERROR(); ASSERT_GL_NO_ERROR();
...@@ -1429,7 +1433,7 @@ TEST_P(MultiviewRenderPrimitiveTest, Points) ...@@ -1429,7 +1433,7 @@ TEST_P(MultiviewRenderPrimitiveTest, Points)
const int kViewWidth = 4; const int kViewWidth = 4;
const int kViewHeight = 2; const int kViewHeight = 2;
const int kNumViews = 2; const int kNumViews = 2;
createFBO(kViewWidth, kViewHeight, kNumViews); updateFBOs(kViewWidth, kViewHeight, kNumViews);
std::vector<Vector2I> windowCoordinates = {Vector2I(0, 0), Vector2I(3, 1)}; std::vector<Vector2I> windowCoordinates = {Vector2I(0, 0), Vector2I(3, 1)};
std::vector<Vector2> vertexDataInClipSpace = std::vector<Vector2> vertexDataInClipSpace =
...@@ -1464,7 +1468,7 @@ TEST_P(MultiviewRenderPrimitiveTest, Lines) ...@@ -1464,7 +1468,7 @@ TEST_P(MultiviewRenderPrimitiveTest, Lines)
const int kViewWidth = 4; const int kViewWidth = 4;
const int kViewHeight = 2; const int kViewHeight = 2;
const int kNumViews = 2; const int kNumViews = 2;
createFBO(kViewWidth, kViewHeight, kNumViews); updateFBOs(kViewWidth, kViewHeight, kNumViews);
std::vector<Vector2I> windowCoordinates = {Vector2I(0, 0), Vector2I(4, 0)}; std::vector<Vector2I> windowCoordinates = {Vector2I(0, 0), Vector2I(4, 0)};
std::vector<Vector2> vertexDataInClipSpace = std::vector<Vector2> vertexDataInClipSpace =
...@@ -1501,7 +1505,7 @@ TEST_P(MultiviewRenderPrimitiveTest, LineStrip) ...@@ -1501,7 +1505,7 @@ TEST_P(MultiviewRenderPrimitiveTest, LineStrip)
const int kViewWidth = 4; const int kViewWidth = 4;
const int kViewHeight = 2; const int kViewHeight = 2;
const int kNumViews = 2; const int kNumViews = 2;
createFBO(kViewWidth, kViewHeight, kNumViews); updateFBOs(kViewWidth, kViewHeight, kNumViews);
std::vector<Vector2I> windowCoordinates = {Vector2I(0, 0), Vector2I(3, 0), Vector2I(3, 2)}; std::vector<Vector2I> windowCoordinates = {Vector2I(0, 0), Vector2I(3, 0), Vector2I(3, 2)};
std::vector<Vector2> vertexDataInClipSpace = std::vector<Vector2> vertexDataInClipSpace =
...@@ -1538,7 +1542,7 @@ TEST_P(MultiviewRenderPrimitiveTest, LineLoop) ...@@ -1538,7 +1542,7 @@ TEST_P(MultiviewRenderPrimitiveTest, LineLoop)
const int kViewWidth = 4; const int kViewWidth = 4;
const int kViewHeight = 4; const int kViewHeight = 4;
const int kNumViews = 2; const int kNumViews = 2;
createFBO(kViewWidth, kViewHeight, kNumViews); updateFBOs(kViewWidth, kViewHeight, kNumViews);
std::vector<Vector2I> windowCoordinates = {Vector2I(0, 0), Vector2I(3, 0), Vector2I(3, 3), std::vector<Vector2I> windowCoordinates = {Vector2I(0, 0), Vector2I(3, 0), Vector2I(3, 3),
Vector2I(0, 3)}; Vector2I(0, 3)};
...@@ -1576,7 +1580,7 @@ TEST_P(MultiviewRenderPrimitiveTest, TriangleStrip) ...@@ -1576,7 +1580,7 @@ TEST_P(MultiviewRenderPrimitiveTest, TriangleStrip)
const int kViewWidth = 2; const int kViewWidth = 2;
const int kViewHeight = 2; const int kViewHeight = 2;
const int kNumViews = 2; const int kNumViews = 2;
createFBO(kViewWidth, kViewHeight, kNumViews); updateFBOs(kViewWidth, kViewHeight, kNumViews);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
...@@ -1607,7 +1611,7 @@ TEST_P(MultiviewRenderPrimitiveTest, TriangleFan) ...@@ -1607,7 +1611,7 @@ TEST_P(MultiviewRenderPrimitiveTest, TriangleFan)
const int kViewWidth = 2; const int kViewWidth = 2;
const int kViewHeight = 2; const int kViewHeight = 2;
const int kNumViews = 2; const int kNumViews = 2;
createFBO(kViewWidth, kViewHeight, kNumViews); updateFBOs(kViewWidth, kViewHeight, kNumViews);
glDrawArrays(GL_TRIANGLE_FAN, 0, 4); glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
...@@ -1630,7 +1634,7 @@ TEST_P(MultiviewSideBySideRenderTest, NoLeakingFragments) ...@@ -1630,7 +1634,7 @@ TEST_P(MultiviewSideBySideRenderTest, NoLeakingFragments)
return; return;
} }
createFBO(2, 1, 2); updateFBOs(2, 1, 2);
GLint viewportOffsets[4] = {1, 0, 3, 0}; GLint viewportOffsets[4] = {1, 0, 3, 0};
glFramebufferTextureMultiviewSideBySideANGLE(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, glFramebufferTextureMultiviewSideBySideANGLE(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
...@@ -1780,7 +1784,7 @@ TEST_P(MultiviewRenderTest, ProgramRelinkUpdatesAttribDivisor) ...@@ -1780,7 +1784,7 @@ TEST_P(MultiviewRenderTest, ProgramRelinkUpdatesAttribDivisor)
} }
{ {
createFBO(kViewWidth, kViewHeight, kNumViews); updateFBOs(kViewWidth, kViewHeight, kNumViews);
drawQuadInstanced(program, "vPosition", 0.0f, 1.0f, true, 4u); drawQuadInstanced(program, "vPosition", 0.0f, 1.0f, true, 4u);
ASSERT_GL_NO_ERROR(); ASSERT_GL_NO_ERROR();
...@@ -1794,7 +1798,7 @@ TEST_P(MultiviewRenderTest, ProgramRelinkUpdatesAttribDivisor) ...@@ -1794,7 +1798,7 @@ TEST_P(MultiviewRenderTest, ProgramRelinkUpdatesAttribDivisor)
{ {
const int kNewNumViews = 3; const int kNewNumViews = 3;
vsSource = generateVertexShaderSource(kNewNumViews); vsSource = generateVertexShaderSource(kNewNumViews);
createFBO(kViewWidth, kViewHeight, kNewNumViews); updateFBOs(kViewWidth, kViewHeight, kNewNumViews);
GLuint vs = CompileShader(GL_VERTEX_SHADER, vsSource); GLuint vs = CompileShader(GL_VERTEX_SHADER, vsSource);
ASSERT_NE(0u, vs); ASSERT_NE(0u, vs);
...@@ -1867,7 +1871,7 @@ TEST_P(MultiviewRenderTest, DivisorUpdatedOnProgramChange) ...@@ -1867,7 +1871,7 @@ TEST_P(MultiviewRenderTest, DivisorUpdatedOnProgramChange)
// Create a program and fbo with N views and draw N instances of a point horizontally. // Create a program and fbo with N views and draw N instances of a point horizontally.
for (int numViews = 2; numViews <= 4; ++numViews) for (int numViews = 2; numViews <= 4; ++numViews)
{ {
createFBO(4, 1, numViews); updateFBOs(4, 1, numViews);
ASSERT_GL_NO_ERROR(); ASSERT_GL_NO_ERROR();
GLuint program = CreateSimplePassthroughProgram(numViews); GLuint program = CreateSimplePassthroughProgram(numViews);
...@@ -1929,7 +1933,7 @@ TEST_P(MultiviewRenderTest, SelectColorBasedOnViewIDOVR) ...@@ -1929,7 +1933,7 @@ TEST_P(MultiviewRenderTest, SelectColorBasedOnViewIDOVR)
" }\n" " }\n"
"}\n"; "}\n";
createFBO(1, 1, 3); updateFBOs(1, 1, 3);
ANGLE_GL_PROGRAM(program, vsSource, fsSource); ANGLE_GL_PROGRAM(program, vsSource, fsSource);
drawQuad(program, "vPosition", 0.0f, 1.0f, true); drawQuad(program, "vPosition", 0.0f, 1.0f, true);
...@@ -1969,7 +1973,7 @@ TEST_P(MultiviewLayeredRenderTest, RenderToSubrageOfLayers) ...@@ -1969,7 +1973,7 @@ TEST_P(MultiviewLayeredRenderTest, RenderToSubrageOfLayers)
" col = vec4(0,1,0,1);\n" " col = vec4(0,1,0,1);\n"
"}\n"; "}\n";
createFBO(1, 1, 2, 4, 1); updateFBOs(1, 1, 2, 4, 1);
ANGLE_GL_PROGRAM(program, vsSource, fsSource); ANGLE_GL_PROGRAM(program, vsSource, fsSource);
drawQuad(program, "vPosition", 0.0f, 1.0f, true); drawQuad(program, "vPosition", 0.0f, 1.0f, true);
...@@ -2024,7 +2028,7 @@ TEST_P(MultiviewRenderTest, FlatInterpolation) ...@@ -2024,7 +2028,7 @@ TEST_P(MultiviewRenderTest, FlatInterpolation)
" }\n" " }\n"
"}\n"; "}\n";
createFBO(1, 1, 2); updateFBOs(1, 1, 2);
ANGLE_GL_PROGRAM(program, vsSource, fsSource); ANGLE_GL_PROGRAM(program, vsSource, fsSource);
drawQuad(program, "vPosition", 0.0f, 1.0f, true); drawQuad(program, "vPosition", 0.0f, 1.0f, true);
...@@ -2070,7 +2074,7 @@ TEST_P(MultiviewRenderTest, FlatInterpolation2) ...@@ -2070,7 +2074,7 @@ TEST_P(MultiviewRenderTest, FlatInterpolation2)
" }\n" " }\n"
"}\n"; "}\n";
createFBO(1, 1, 2); updateFBOs(1, 1, 2);
ANGLE_GL_PROGRAM(program, vsSource, fsSource); ANGLE_GL_PROGRAM(program, vsSource, fsSource);
drawQuad(program, "vPosition", 0.0f, 1.0f, true); drawQuad(program, "vPosition", 0.0f, 1.0f, true);
...@@ -2089,7 +2093,7 @@ TEST_P(MultiviewSideBySideRenderTest, ViewportOffsetsAppliedBugCoverage) ...@@ -2089,7 +2093,7 @@ TEST_P(MultiviewSideBySideRenderTest, ViewportOffsetsAppliedBugCoverage)
return; return;
} }
createFBO(1, 1, 2); updateFBOs(1, 1, 2);
// Create multiview program. // Create multiview program.
const std::string &vs = const std::string &vs =
...@@ -2125,7 +2129,7 @@ TEST_P(MultiviewSideBySideRenderTest, ViewportOffsetsAppliedBugCoverage) ...@@ -2125,7 +2129,7 @@ TEST_P(MultiviewSideBySideRenderTest, ViewportOffsetsAppliedBugCoverage)
ASSERT_GL_NO_ERROR(); ASSERT_GL_NO_ERROR();
// Draw and check that both views are rendered to. // Draw and check that both views are rendered to.
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, mDrawFramebuffer); bindMemberDrawFramebuffer();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
drawQuad(program, "vPosition", 0.0f, 1.0f, true); drawQuad(program, "vPosition", 0.0f, 1.0f, true);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment