mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-25 01:19:45 +00:00
|
Some checks are pending
CI / macOS, arm64, Sanitizer, Clang (push) Waiting to run
CI / Linux, x86_64, Fuzzers, Clang (push) Waiting to run
CI / Linux, x86_64, Sanitizer, GNU (push) Waiting to run
CI / Linux, x86_64, Sanitizer, Clang (push) Waiting to run
Package the js repl as a binary artifact / Linux, arm64 (push) Waiting to run
Package the js repl as a binary artifact / macOS, arm64 (push) Waiting to run
Package the js repl as a binary artifact / Linux, x86_64 (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
This enabled WebGL on Linux. It uses ANGLE's OpenGL backend running atop EGL_PLATFORM_SURFACELESS_MESA. Eventually we should probably switch to the Vulkan backend but that doesn't seem to be enabled in the vcpkg angle package. Anyway, switching later should be trivial. The painting surface is allocated through Vulkan and then imported into EGL as a dma-buf. The DRM format modifier mechanism, along with Vulkan initializing the image with VK_IMAGE_LAYOUT_GENERAL, should ensure surface compatibility across the two APIs. For now, we will synchronize rendering and presentation using glFinish, although this is admittedly suboptimal. Really we should grab an EGLSync, export that to an fd, import it into Skia and have it wait for it before reading from the image. That can be implemented in a future change, though. |
||
|---|---|---|
| .. | ||
| Extensions | ||
| EventNames.cpp | ||
| EventNames.h | ||
| OpenGLContext.cpp | ||
| OpenGLContext.h | ||
| Types.h | ||
| Types.idl | ||
| WebGL2RenderingContext.cpp | ||
| WebGL2RenderingContext.h | ||
| WebGL2RenderingContext.idl | ||
| WebGL2RenderingContextBase.idl | ||
| WebGL2RenderingContextImpl.cpp | ||
| WebGL2RenderingContextImpl.h | ||
| WebGL2RenderingContextOverloads.idl | ||
| WebGLActiveInfo.cpp | ||
| WebGLActiveInfo.h | ||
| WebGLActiveInfo.idl | ||
| WebGLBuffer.cpp | ||
| WebGLBuffer.h | ||
| WebGLBuffer.idl | ||
| WebGLContextAttributes.cpp | ||
| WebGLContextAttributes.h | ||
| WebGLContextEvent.cpp | ||
| WebGLContextEvent.h | ||
| WebGLContextEvent.idl | ||
| WebGLFramebuffer.cpp | ||
| WebGLFramebuffer.h | ||
| WebGLFramebuffer.idl | ||
| WebGLObject.cpp | ||
| WebGLObject.h | ||
| WebGLObject.idl | ||
| WebGLProgram.cpp | ||
| WebGLProgram.h | ||
| WebGLProgram.idl | ||
| WebGLQuery.cpp | ||
| WebGLQuery.h | ||
| WebGLQuery.idl | ||
| WebGLRenderbuffer.cpp | ||
| WebGLRenderbuffer.h | ||
| WebGLRenderbuffer.idl | ||
| WebGLRenderingContext.cpp | ||
| WebGLRenderingContext.h | ||
| WebGLRenderingContext.idl | ||
| WebGLRenderingContextBase.h | ||
| WebGLRenderingContextBase.idl | ||
| WebGLRenderingContextImpl.cpp | ||
| WebGLRenderingContextImpl.h | ||
| WebGLRenderingContextOverloads.idl | ||
| WebGLSampler.cpp | ||
| WebGLSampler.h | ||
| WebGLSampler.idl | ||
| WebGLShader.cpp | ||
| WebGLShader.h | ||
| WebGLShader.idl | ||
| WebGLShaderPrecisionFormat.cpp | ||
| WebGLShaderPrecisionFormat.h | ||
| WebGLShaderPrecisionFormat.idl | ||
| WebGLSync.cpp | ||
| WebGLSync.h | ||
| WebGLSync.idl | ||
| WebGLTexture.cpp | ||
| WebGLTexture.h | ||
| WebGLTexture.idl | ||
| WebGLTransformFeedback.cpp | ||
| WebGLTransformFeedback.h | ||
| WebGLTransformFeedback.idl | ||
| WebGLUniformLocation.cpp | ||
| WebGLUniformLocation.h | ||
| WebGLUniformLocation.idl | ||
| WebGLVertexArrayObject.cpp | ||
| WebGLVertexArrayObject.h | ||
| WebGLVertexArrayObject.idl | ||