Commit 4b464dd4 by Gert Wollny Committed by Angle LUCI CQ

tests: Skip WebGL/EnableProgramBinaryExtension with no formats

If the extensions is exposed, but the backend doesn't support binary formats, then the part of the tests loading and storing a binary shader are skipped. With that also Capture/Replay of the test is fixed. Bug: angleproject:6112 Change-Id: Iaa25860a9be69207e4dbd6213cf77e75fd87a766 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993090 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: 's avatarCody Northrop <cnorthrop@google.com> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent b3e920e2
...@@ -53,7 +53,6 @@ VertexAttributeTest.* ...@@ -53,7 +53,6 @@ VertexAttributeTest.*
ViewportTest.* ViewportTest.*
VulkanExternalImageTest.* VulkanExternalImageTest.*
WebGLCompatibilityTest.EnableProgramBinaryExtension/*
WebGLCompatibilityTest.MultiContextNoRenderingFeedbackLoops/* WebGLCompatibilityTest.MultiContextNoRenderingFeedbackLoops/*
WebGLFramebufferTest.* WebGLFramebufferTest.*
......
...@@ -1147,8 +1147,9 @@ TEST_P(WebGLCompatibilityTest, EnableProgramBinaryExtension) ...@@ -1147,8 +1147,9 @@ TEST_P(WebGLCompatibilityTest, EnableProgramBinaryExtension)
// This extensions become core in in ES3/WebGL2. // This extensions become core in in ES3/WebGL2.
ANGLE_SKIP_TEST_IF(getClientMajorVersion() >= 3); ANGLE_SKIP_TEST_IF(getClientMajorVersion() >= 3);
GLint result = 0; GLint result = 0;
glGetIntegerv(GL_NUM_PROGRAM_BINARY_FORMATS, &result); GLint numBinaryFormats = 0;
glGetIntegerv(GL_NUM_PROGRAM_BINARY_FORMATS, &numBinaryFormats);
EXPECT_GL_ERROR(GL_INVALID_ENUM); EXPECT_GL_ERROR(GL_INVALID_ENUM);
glGetIntegerv(GL_PROGRAM_BINARY_FORMATS, &result); glGetIntegerv(GL_PROGRAM_BINARY_FORMATS, &result);
...@@ -1182,7 +1183,10 @@ void main() ...@@ -1182,7 +1183,10 @@ void main()
glRequestExtensionANGLE("GL_OES_get_program_binary"); glRequestExtensionANGLE("GL_OES_get_program_binary");
EXPECT_GL_NO_ERROR(); EXPECT_GL_NO_ERROR();
glGetIntegerv(GL_NUM_PROGRAM_BINARY_FORMATS, &result); glGetIntegerv(GL_NUM_PROGRAM_BINARY_FORMATS, &numBinaryFormats);
// No use to test further if no binary formats are supported
ANGLE_SKIP_TEST_IF(numBinaryFormats < 1);
glGetIntegerv(GL_PROGRAM_BINARY_FORMATS, &result); glGetIntegerv(GL_PROGRAM_BINARY_FORMATS, &result);
EXPECT_GL_NO_ERROR(); EXPECT_GL_NO_ERROR();
......
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