attachmentsHaveSameDimensions should not compare depths.
From: https://bugzilla.mozilla.org/show_bug.cgi?id=1372083
BUG=angleproject:2210
TEST=angle_end2end_tests
Change-Id: I00539fb7e0bc9a21f90f5c87d7082c2a6b1ed907
Reviewed-on: https://chromium-review.googlesource.com/747814
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
diff --git a/src/tests/gl_tests/FramebufferTest.cpp b/src/tests/gl_tests/FramebufferTest.cpp
index de739f2..adb29e3 100644
--- a/src/tests/gl_tests/FramebufferTest.cpp
+++ b/src/tests/gl_tests/FramebufferTest.cpp
@@ -517,6 +517,25 @@
EXPECT_GE(samples, 2);
}
+// Check that we only compare width and height of attachments, not depth.
+TEST_P(FramebufferTest_ES3, AttachmentWith3DLayers)
+{
+ GLTexture texA;
+ glBindTexture(GL_TEXTURE_2D, texA);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr);
+
+ GLTexture texB;
+ glBindTexture(GL_TEXTURE_3D, texB);
+ glTexImage3D(GL_TEXTURE_3D, 0, GL_RGBA8, 4, 4, 2, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr);
+
+ GLFramebuffer framebuffer;
+ glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
+ glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texA, 0);
+ glFramebufferTextureLayer(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT1, texB, 0, 0);
+ ASSERT_GLENUM_EQ(GL_FRAMEBUFFER_COMPLETE, glCheckFramebufferStatus(GL_FRAMEBUFFER));
+ EXPECT_GL_NO_ERROR();
+}
+
ANGLE_INSTANTIATE_TEST(FramebufferTest_ES3, ES3_D3D11(), ES3_OPENGL(), ES3_OPENGLES());
class FramebufferTest_ES31 : public ANGLETest
@@ -675,7 +694,7 @@
"in layout(location = 0) highp vec2 a_position;\n\n"
"void main()\n"
"{\n"
- " gl_Position = vec4(a_position, 0.0, 1.0);\n"
+ " gl_Position = vec4(a_position, 0.0, 1.0);\n"
"}\n";
const std::string &fragShader =
"#version 310 es\n"
@@ -683,8 +702,8 @@
"out layout(location = 0) mediump vec4 f_color;\n\n"
"void main()\n"
"{\n"
- " if (ivec2(gl_FragCoord.xy) != u_expectedSize) discard;\n"
- " f_color = vec4(1.0, 0.5, 0.25, 1.0);\n"
+ " if (ivec2(gl_FragCoord.xy) != u_expectedSize) discard;\n"
+ " f_color = vec4(1.0, 0.5, 0.25, 1.0);\n"
"}\n";
GLuint program = CompileProgram(vertexShader, fragShader);