Age | Commit message (Collapse) | Author |
|
The main motivation for this is to prefill an extension for user when
saving a new file.
|
|
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.
|
|
|
|
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 :))
|
|
This patch makes use of a new "set_snake_base_color()" function to
change the snake's base color to the picked value.
|
|
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.
|
|
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 ;)
|
|
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.
|
|
Keeping these around can lead to use-after-frees and crashes.
|
|
|
|
Noticed this trying to inspect GitHub, you'd get a segfault due to the
parent node being null here.
|
|
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.
|
|
|
|
|
|
This removes two fix me in HTMLHyperlinkElementUtils
|
|
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>
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
...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.
|
|
Without this, `serenity.sh run` fails with
gdbstub: current accelerator doesn't support guest debugging
on an intel mac.
|
|
layout_box() already has a non-const overload, so we don't need to
const_cast them anymore. This gets rid of 2 FIXMEs. :^)
|
|
|
|
|
|
|
|
|
|
This adds a shader processor that executes our ISA when a fragment
shader is currently bound to the device.
|
|
This adds a simple instruction set with basic operations and adds an
instruction list to the shader class.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
This adds a new library, LibGLSL for parsing and compiling GLSL programs
to LibGPU IR. Currently the compiler consists only of stubs.
|
|
This adds a header to LibGPU with a basic IR for vertex and fragment
shaders.
|
|
|
|
|
|
|
|
|
|
This will help with testing until the actual compilation infrastructure
is in place.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The NameAllocator class is not only about Textures, so let's change a
comment being related to it.
|
|
|