1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 12:58:12 +00:00

LibGL+LibWeb: Remove WebGL-specific API from GLContext

The OpenGL API has ways to retrieve these values, so let's make sure to
implement them. :^)
This commit is contained in:
Jelle Raaijmakers 2022-12-25 00:45:33 +01:00 committed by Andreas Kling
parent bc1293925a
commit ae82b14e59
5 changed files with 72 additions and 9 deletions

View file

@ -61,3 +61,51 @@ TEST_CASE(0003_gl_bind_buffer_names_must_be_allocated)
glBindBuffer(GL_ARRAY_BUFFER, 123);
EXPECT_EQ(glGetError(), static_cast<GLenum>(GL_INVALID_VALUE));
}
TEST_CASE(0004_gl_color_clear_value)
{
auto context = create_testing_context();
Array<GLdouble, 4> clear_color;
glGetDoublev(GL_COLOR_CLEAR_VALUE, clear_color.data());
EXPECT_EQ(clear_color[0], 0.);
EXPECT_EQ(clear_color[1], 0.);
EXPECT_EQ(clear_color[2], 0.);
EXPECT_EQ(clear_color[3], 0.);
glClearColor(.1f, .2f, .3f, .4f);
glGetDoublev(GL_COLOR_CLEAR_VALUE, clear_color.data());
EXPECT_APPROXIMATE(clear_color[0], .1);
EXPECT_APPROXIMATE(clear_color[1], .2);
EXPECT_APPROXIMATE(clear_color[2], .3);
EXPECT_APPROXIMATE(clear_color[3], .4);
}
TEST_CASE(0005_gl_depth_clear_value)
{
auto context = create_testing_context();
GLdouble clear_depth;
glGetDoublev(GL_DEPTH_CLEAR_VALUE, &clear_depth);
EXPECT_EQ(clear_depth, 1.);
glClearDepth(.1f);
glGetDoublev(GL_DEPTH_CLEAR_VALUE, &clear_depth);
EXPECT_APPROXIMATE(clear_depth, .1);
}
TEST_CASE(0006_gl_stencil_clear_value)
{
auto context = create_testing_context();
GLint clear_stencil;
glGetIntegerv(GL_STENCIL_CLEAR_VALUE, &clear_stencil);
EXPECT_EQ(clear_stencil, 0);
glClearStencil(255);
glGetIntegerv(GL_STENCIL_CLEAR_VALUE, &clear_stencil);
EXPECT_EQ(clear_stencil, 255);
}