Update checks for floating point renderability.
* Expose GL_CHROMIUM_color_buffer_float_rgb and
GL_CHROMIUM_color_buffer_float_rgba
* Fix many texture formats that were incorrectly checking the wrong
extension for support or renderability.
* Make all floating point texture extensions dynamically enableable.
BUG=angleproject:1958
BUG=angleproject:1715
Change-Id: Iefccc8b5ae5edd97623affa9de05b1d9af5c9598
Reviewed-on: https://chromium-review.googlesource.com/468450
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
diff --git a/src/tests/gl_tests/TextureTest.cpp b/src/tests/gl_tests/TextureTest.cpp
index 3fa6a14..148d68f 100644
--- a/src/tests/gl_tests/TextureTest.cpp
+++ b/src/tests/gl_tests/TextureTest.cpp
@@ -208,6 +208,43 @@
std::cout << "Test skipped due to missing GL_EXT_texture_rg." << std::endl;
return;
}
+
+ if (destImageChannels == 3 && !extensionEnabled("GL_CHROMIUM_color_buffer_float_rgb"))
+ {
+ std::cout << "Test skipped due to missing GL_CHROMIUM_color_buffer_float_rgb."
+ << std::endl;
+ return;
+ }
+
+ if (destImageChannels == 4 && !extensionEnabled("GL_CHROMIUM_color_buffer_float_rgba"))
+ {
+ std::cout << "Test skipped due to missing GL_CHROMIUM_color_buffer_float_rgb."
+ << std::endl;
+ return;
+ }
+
+ if (destImageChannels <= 2)
+ {
+ std::cout << "Test skipped because no extensions grant renderability to 1 and 2 "
+ "channel floating point textures."
+ << std::endl;
+ return;
+ }
+ }
+ else
+ {
+ if (!extensionEnabled("GL_color_buffer_float"))
+ {
+ std::cout << "Test skipped due to missing GL_color_buffer_float." << std::endl;
+ return;
+ }
+
+ if (destImageChannels == 3 && !extensionEnabled("GL_CHROMIUM_color_buffer_float_rgb"))
+ {
+ std::cout << "Test skipped due to missing GL_CHROMIUM_color_buffer_float_rgb."
+ << std::endl;
+ return;
+ }
}
GLfloat sourceImageData[4][16] =