diff --git a/Userland/Libraries/LibAccelGfx/Context.cpp b/Userland/Libraries/LibAccelGfx/Context.cpp index f8e56db81e..dee8e8ef6a 100644 --- a/Userland/Libraries/LibAccelGfx/Context.cpp +++ b/Userland/Libraries/LibAccelGfx/Context.cpp @@ -49,6 +49,12 @@ OwnPtr Context::create() EGLint minor; eglInitialize(egl_display, &major, &minor); + EGLBoolean ok = eglBindAPI(EGL_OPENGL_API); + if (ok == EGL_FALSE) { + dbgln("eglBindAPI failed"); + VERIFY_NOT_REACHED(); + } + static EGLint const config_attributes[] = { EGL_SURFACE_TYPE, EGL_PBUFFER_BIT, EGL_BLUE_SIZE, 8, @@ -64,10 +70,15 @@ OwnPtr Context::create() eglChooseConfig(egl_display, config_attributes, &egl_config, 1, &num_configs); static EGLint const context_attributes[] = { - EGL_CONTEXT_CLIENT_VERSION, 2, + EGL_CONTEXT_MAJOR_VERSION, 3, + EGL_CONTEXT_MINOR_VERSION, 3, EGL_NONE }; EGLContext egl_context = eglCreateContext(egl_display, egl_config, EGL_NO_CONTEXT, context_attributes); + if (egl_context == EGL_FALSE) { + dbgln("eglCreateContext failed"); + VERIFY_NOT_REACHED(); + } EGLBoolean result = eglMakeCurrent(egl_display, EGL_NO_SURFACE, EGL_NO_SURFACE, egl_context); if (result == EGL_FALSE) { diff --git a/Userland/Libraries/LibAccelGfx/Painter.cpp b/Userland/Libraries/LibAccelGfx/Painter.cpp index 14caacb974..647551d6e6 100644 --- a/Userland/Libraries/LibAccelGfx/Painter.cpp +++ b/Userland/Libraries/LibAccelGfx/Painter.cpp @@ -43,23 +43,26 @@ Gfx::FloatRect Painter::to_clip_space(Gfx::FloatRect const& screen_rect) const } char const* vertex_shader_source = R"( -attribute vec2 aVertexPosition; +#version 330 core +in vec2 aVertexPosition; void main() { gl_Position = vec4(aVertexPosition, 0.0, 1.0); } )"; char const* solid_color_fragment_shader_source = R"( -precision mediump float; +#version 330 core uniform vec4 uColor; +out vec4 fragColor; void main() { - gl_FragColor = uColor; + fragColor = uColor; } )"; char const* blit_vertex_shader_source = R"( -attribute vec4 aVertexPosition; -varying vec2 vTextureCoord; +#version 330 core +in vec4 aVertexPosition; +out vec2 vTextureCoord; void main() { gl_Position = vec4(aVertexPosition.xy, 0.0, 1.0); vTextureCoord = aVertexPosition.zw; @@ -67,12 +70,13 @@ void main() { )"; char const* blit_fragment_shader_source = R"( -precision mediump float; +#version 330 core uniform vec4 uColor; -varying vec2 vTextureCoord; +in vec2 vTextureCoord; uniform sampler2D uSampler; +out vec4 fragColor; void main() { - gl_FragColor = texture2D(uSampler, vTextureCoord) * uColor; + fragColor = texture2D(uSampler, vTextureCoord) * uColor; } )";