diff options
Diffstat (limited to 'gfx/angle/src/tests/gl_tests/SRGBFramebufferTest.cpp')
-rw-r--r-- | gfx/angle/src/tests/gl_tests/SRGBFramebufferTest.cpp | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/gfx/angle/src/tests/gl_tests/SRGBFramebufferTest.cpp b/gfx/angle/src/tests/gl_tests/SRGBFramebufferTest.cpp deleted file mode 100644 index 47ff2f3e0..000000000 --- a/gfx/angle/src/tests/gl_tests/SRGBFramebufferTest.cpp +++ /dev/null @@ -1,141 +0,0 @@ -// -// Copyright 2016 The ANGLE Project Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. -// - -// SRGBFramebufferTest.cpp: Tests of sRGB framebuffer functionality. - -#include "test_utils/ANGLETest.h" -#include "test_utils/gl_raii.h" - -namespace angle -{ - -class SRGBFramebufferTest : public ANGLETest -{ - protected: - SRGBFramebufferTest() - { - setWindowWidth(128); - setWindowHeight(128); - setConfigRedBits(8); - setConfigGreenBits(8); - setConfigBlueBits(8); - setConfigAlphaBits(8); - } - - void SetUp() override - { - ANGLETest::SetUp(); - - const std::string vs = - "precision highp float;\n" - "attribute vec4 position;\n" - "void main()\n" - "{\n" - " gl_Position = vec4(position.xy, 0.0, 1.0);\n" - "}\n"; - - const std::string fs = - "precision highp float;\n" - "uniform vec4 color;\n" - "void main()\n" - "{\n" - " gl_FragColor = color;\n" - "}\n"; - - mProgram = CompileProgram(vs, fs); - ASSERT_NE(0u, mProgram); - - mColorLocation = glGetUniformLocation(mProgram, "color"); - ASSERT_NE(-1, mColorLocation); - } - - void TearDown() override - { - glDeleteProgram(mProgram); - - ANGLETest::TearDown(); - } - - GLuint mProgram = 0; - GLint mColorLocation = -1; -}; - -// Test basic validation of GL_EXT_sRGB_write_control -TEST_P(SRGBFramebufferTest, Validation) -{ - GLenum expectedError = - extensionEnabled("GL_EXT_sRGB_write_control") ? GL_NO_ERROR : GL_INVALID_ENUM; - - GLboolean value = GL_FALSE; - glEnable(GL_FRAMEBUFFER_SRGB_EXT); - EXPECT_GL_ERROR(expectedError); - - glGetBooleanv(GL_FRAMEBUFFER_SRGB_EXT, &value); - EXPECT_GL_ERROR(expectedError); - if (expectedError == GL_NO_ERROR) - { - EXPECT_EQ(GL_TRUE, value); - } - - glDisable(GL_FRAMEBUFFER_SRGB_EXT); - EXPECT_GL_ERROR(expectedError); - - glGetBooleanv(GL_FRAMEBUFFER_SRGB_EXT, &value); - EXPECT_GL_ERROR(expectedError); - if (expectedError == GL_NO_ERROR) - { - EXPECT_EQ(GL_FALSE, value); - } -} - -// Test basic functionality of GL_EXT_sRGB_write_control -TEST_P(SRGBFramebufferTest, BasicUsage) -{ - if (!extensionEnabled("GL_EXT_sRGB_write_control") || - (!extensionEnabled("GL_EXT_sRGB") && getClientMajorVersion() < 3)) - { - std::cout - << "Test skipped because GL_EXT_sRGB_write_control and GL_EXT_sRGB are not available." - << std::endl; - return; - } - - GLColor linearColor(64, 127, 191, 255); - GLColor srgbColor(13, 54, 133, 255); - - GLTexture texture; - glBindTexture(GL_TEXTURE_2D, texture.get()); - glTexImage2D(GL_TEXTURE_2D, 0, GL_SRGB_ALPHA_EXT, 1, 1, 0, GL_SRGB_ALPHA_EXT, GL_UNSIGNED_BYTE, - nullptr); - - GLFramebuffer framebuffer; - glBindFramebuffer(GL_FRAMEBUFFER, framebuffer.get()); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture.get(), 0); - - glUseProgram(mProgram); - glUniform4fv(mColorLocation, 1, srgbColor.toNormalizedVector().data()); - - glEnable(GL_FRAMEBUFFER_SRGB_EXT); - drawQuad(mProgram, "position", 0.5f); - EXPECT_PIXEL_COLOR_NEAR(0, 0, linearColor, 1.0); - - glDisable(GL_FRAMEBUFFER_SRGB_EXT); - drawQuad(mProgram, "position", 0.5f); - EXPECT_PIXEL_COLOR_NEAR(0, 0, srgbColor, 1.0); -} - -// Use this to select which configurations (e.g. which renderer, which GLES major version) these -// tests should be run against. -ANGLE_INSTANTIATE_TEST(SRGBFramebufferTest, - ES2_D3D9(), - ES2_D3D11(), - ES3_D3D11(), - ES2_OPENGL(), - ES3_OPENGL(), - ES2_OPENGLES(), - ES3_OPENGLES()); - -} // namespace angle |