summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-12-19LibSyntax: Add `common_language_extension()` functionKarol Kosek
The main motivation for this is to prefill an extension for user when saving a new file.
2022-12-19LibSyntax: Remove default switch case in `language_to_string()`Karol Kosek
This way we can get a compiler error about unhandled new language cases, instead of a possible crash when running a program. Also added a missing case to make it build now.
2022-12-19LibSyntax+TextEditor: Move Highlighter::language_string() out of classKarol Kosek
2022-12-19Snake: Ignore default keydown eventsBaitinq
Before this patch, all key down events except arrow keys or WASD were not propagated, so keyboard shortcuts in the application didn't work. This patch fixes this :))
2022-12-19Snake: Add snake color chooser game menu actionBaitinq
This patch makes use of a new "set_snake_base_color()" function to change the snake's base color to the picked value.
2022-12-19Snake: Don't hardcode the snake painting logicBaitinq
This patch adds a m_snake_base_color variable which dictates the color of the head of the snake and from which the rest of the snake color's are derived from by darkening the base color.
2022-12-19Snake: Add pause/continue game menu actionBaitinq
This patch adds an action in the Snake's game menu that allows for easy pausing/unpausing of the game state. In order to do this, the commit adds new pause()/start() functions in the SnakeGame class ;)
2022-12-19Browser+WebContent: Fixup some DOM inspector weirdnessMacDue
This fixes a few things I noticed whilst working on the inspector for Ladybird. 1. The computed and resolved values were being passed swapped around from the inspect_dom_node() IPC call. I.e. computed values were passed as resolved values and vice versa. This was then fixed by swapping them again in the InspectorWidget (two errors canceled out). 2. Resolved values were called "specified values" seemingly only in the inspect_dom_node() IPC calls. This was a little confusing so I've renamed them to back to "resolved values" for consistency. 3. The inspector took and stored the DOM JSON strings unnecessarily, all the models immediately parse the JSON and don't need the strings to hang around.
2022-12-19Browser: Close inspectors and JS console when tab closesMacDue
Keeping these around can lead to use-after-frees and crashes.
2022-12-19Meta: Include StylePropertiesModel.cpp in lagom LibWebViewMacDue
2022-12-19LibWeb: Fix crash when serializing nodes for DOM inspectorMacDue
Noticed this trying to inspect GitHub, you'd get a segfault due to the parent node being null here.
2022-12-19AK: Use __has_builtin() in Checked.hAndreas Kling
Instead of avoiding overflow-checking builtins with AK_COMPILER_CLANG, we can use the preprocessor's __has_builtin() mechanism to check if they are available.
2022-12-19Documentation: Adjust default TARGET to x86_64 in the documentation0xxFF
2022-12-19FileManager: Clear the selection after deleting filesimplicitfield
2022-12-19LibWeb: Fully Implement `get_an_elements_noopener`Keir Davis
This removes two fix me in HTMLHyperlinkElementUtils
2022-12-19LibCore: Convert explicit timezone to local in `DateTime::parse`Jelle Raaijmakers
When we encounter an explicit timezone, we shift the time to UTC. Because we rely on `mktime`, we need to shift it to the local time before proceeding. If no explicit timezone is provided, local timezone is assumed. This fixes the "timezone-offset extension" LibJS test running on machines with a non-UTC timezone offset. Co-authored-by: Timothy Flynn <trflynn89@pm.me>
2022-12-19LibGfx: Split VERIFY statements in various Bitmap class methodsLiav A
This could aid debugging in many cases, and it doesn't break any functionality, so let's ensure it's easier to understand in which way a provided value is out of range.
2022-12-19Kernel/Graphics: Propagate errors properly around in the VirtIO driverLiav A
This happens to be a sad truth for the VirtIOGPU driver - it lacked any error propagation measures and generally relied on clunky assumptions that most operations with the GPU device are infallible, although in reality much of them could fail, so we do need to handle errors. To fix this, synchronous GPU commands no longer rely on the wait queue mechanism anymore, so instead we introduce a timeout-based mechanism, similar to how other Kernel drivers use a polling based mechanism with the assumption that hardware could get stuck in an error state and we could abort gracefully. Then, we change most of the VirtIOGraphicsAdapter methods to propagate errors properly to the original callers, to ensure that if a synchronous GPU command failed, either the Kernel or userspace could do something meaningful about this situation.
2022-12-19Kernel/Graphics: Disable double buffering for the VirtIO driverLiav A
The performance that we achieve from this technique is visually worse compared to turning off this feature, so let's not use this until we figure out why it happens.
2022-12-19Kernel: Properly propagate errors in VirtIOGPU 3D device initializationLiav A
2022-12-18Meta: Find mke2fs on macOS even if HOMEBREW_PREFIX is not setNico Weber
...as long as `brew` is on the path and `brew --prefix e2fsprogs` tells us where it is. This is for people who don't have `"$(brew shellenv)"` in their .zshrc.
2022-12-18Meta: Disable gdbstub when running under HVF on macOSNico Weber
Without this, `serenity.sh run` fails with gdbstub: current accelerator doesn't support guest debugging on an intel mac.
2022-12-18LibWeb: Don't const_cast layout_box() when calling const functionsMatt Purnell
layout_box() already has a non-const overload, so we don't need to const_cast them anymore. This gets rid of 2 FIXMEs. :^)
2022-12-17LibGL: Pass generated GPU IR to GPU side compiler when linking programStephan Unverwerth
2022-12-17LibSoftGPU: Delegate shader creation to new class ShaderCompilerStephan Unverwerth
2022-12-17LibGLSL: Fill LinkedShaders with dummy IR codeStephan Unverwerth
2022-12-17LibGPU: Add inputs and outputs to GPU shader IRStephan Unverwerth
2022-12-17LibSoftGPU: Implement shader processor for SoftGPU ISAStephan Unverwerth
This adds a shader processor that executes our ISA when a fragment shader is currently bound to the device.
2022-12-17LibSoftGPU: Define a simple shader instruction setStephan Unverwerth
This adds a simple instruction set with basic operations and adds an instruction list to the shader class.
2022-12-17LibSoftGPU: Make output in PixelQuad genericStephan Unverwerth
Same as with inputs, we define outputs as a generic array of floats. This can later be expanded to accomodate multiple render targets or vertex attributes in the case of a vertex shader.
2022-12-17LibSoftGPU: Make input in PixelQuad genericStephan Unverwerth
Previously we would store vertex color and texture coordinates in separate fields in PixelQuad. To make them accessible from shaders we need to store them as a completely generic array of floats.
2022-12-17LibSoftGPU: Allow binding a fragment shaderStephan Unverwerth
2022-12-17LibGL+LibSoftGPU: Add GPU side shader infrastructureStephan Unverwerth
This adds a shader class to LibSoftGPU and makes use of it when linking GLSL program in LibGL. Also adds actual rendering code to the shader tests.
2022-12-17LibGL: Use LibGLSL to compile shadersStephan Unverwerth
2022-12-17LibGLSL: Add LibGLSLStephan Unverwerth
This adds a new library, LibGLSL for parsing and compiling GLSL programs to LibGPU IR. Currently the compiler consists only of stubs.
2022-12-17LibGPU: Add basic shader IRStephan Unverwerth
This adds a header to LibGPU with a basic IR for vertex and fragment shaders.
2022-12-17LibGL: Implement glGetProgramivStephan Unverwerth
2022-12-17LibGL: Implement glGetShaderivStephan Unverwerth
2022-12-17LibGL: Implement glUseProgramStephan Unverwerth
2022-12-17Tests: Add tests for LibGL shader subsystemStephan Unverwerth
2022-12-17LibGL: Make shader compilation and program linking always succeedStephan Unverwerth
This will help with testing until the actual compilation infrastructure is in place.
2022-12-17LibGL: Implement glLinkProgramStephan Unverwerth
2022-12-17LibGL: Implement glAttachShaderStephan Unverwerth
2022-12-17LibGL: Implement glCompileShaderStephan Unverwerth
2022-12-17LibGL: Implement glShaderSourceStephan Unverwerth
2022-12-17LibGL: Implement glCreateProgram and glDeleteProgramStephan Unverwerth
2022-12-17LibGL: Implement glCreateShader and glDeleteShaderStephan Unverwerth
2022-12-17LibGL: Add Shader and Program class stubsStephan Unverwerth
2022-12-17LibGL: Remove Texture note leftovers from the NameAllocator classStephan Unverwerth
The NameAllocator class is not only about Textures, so let's change a comment being related to it.
2022-12-17LibGL: Add stubs for shader and program related functionsStephan Unverwerth