summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-01-09LibSoftGPU: Use bitwise and instead of modulus operator for POT texturesStephan Unverwerth
Where possible the sampler will wrap texture coordinates using a bitwise and instead of a modulus. This speeds up the calculation quite a bit.
2022-01-09LibSoftGPU: Vectorize texture sampling and shadingStephan Unverwerth
2022-01-09AK: Add SIMDMath.h with vectorized version of math functionsStephan Unverwerth
2022-01-09LibSoftGPU: Add PixelQuad struct that holds data for each rendered quadStephan Unverwerth
2022-01-09LibGfx: Allow Vector{2,3,4} operators to accept different argument typesStephan Unverwerth
This is needed to e.g. multiply a Vector4<f32x4> by a float.
2022-01-09LibSoftGPU: Add SIMD.h with SoftGPU specific SIMD functionsStephan Unverwerth
Adds functions to expand Vector{2,3,4} to their SIMD equivalent.
2022-01-09AK: Add SIMDExtras.h with SIMD related functionsStephan Unverwerth
Adds a header to AK with helper functions for writing vectorized code. Co-authored-by: Hendiadyoin <leon2002.la@gmail.com>
2022-01-09Base: Add uniq(1) manpageanarchyrucks
2022-01-09Userland: Port wasm to LibMainFederico Guerinoni
2022-01-09Userland: Port tac to LibMainFederico Guerinoni
2022-01-09PixelPaint: Move out common logic from Filters into base classMustafa Quraish
Now, each new filter only has to describe how to actually change the bitmaps, and the common logic of pulling out the bitmap from the layer, and marking the action as done, etc is all handled in the `Filter` base class. This also makes it possible to apply filters to external bitmaps, which are not embedded in a `Layer` (which we can use to preview filters in the future!)
2022-01-09Shell: Add a "noop" builtin aliased to ":"Ali Mohammad Pur
POSIX comes up with such silly names sometimes... This builtin does nothing. at all.
2022-01-09Shell: Refresh PATH cache after 'unset PATH'Ali Mohammad Pur
Note that `execvp` has a default value for PATH (both on Serenity and on Linux) and so this does not 'fix' #11608.
2022-01-09Shell: Don't reset 'last_return_code' before running commandsAli Mohammad Pur
Some variables depend on its value to function correctly. Fixes the following issue: $ false; echo $? 1 $ false $ echo $? 128
2022-01-09Meta: Make "Meta/serenity.sh run aarch64" work on macOSserenityosrocks
2022-01-09Kernel: Harden Socket::pseudo_path(..) implementations against OOMBrian Gianforcaro
Use the try variants of AK::StringBuilder append APIs to harden these functions against OOM.
2022-01-09Shell: Make interrupts kill the whole chain and not just the current jobAli Mohammad Pur
This makes interrupting `sleep 10; echo hi` not print `hi` anymore, which is the expected behaviour anyway. Also fixes the problem with fast-running loops "eating" interrupts and not quitting.
2022-01-09beep: Port to LibMain :^)Junior Rantila
2022-01-09LibCore: Add beep wrapperJunior Rantila
2022-01-09LibPthread: Validate the clock argument in pthread_condattr_setclockBrian Gianforcaro
2022-01-09LibPthread: Implement pthread_condattr_getclockBrian Gianforcaro
I noticed this was missing while adding spec comments a bit ago. It's small and easy enough to implement, might as well make us more POSIX compliant.
2022-01-08Ports: Add interactive mode to .port_include.shNoah Rosamilia
Running `./package.sh interactive` in a port directory will spawn a new shell with the serenity build environment set up. This makes porting software much easier as build commands can be run interactively instead of having to modify package.sh just to test things.
2022-01-08Base: Add classic terminal fontelectrikmilk
MS-DOS inspired font for the terminal.
2022-01-09Base: Remove "Roman" font from Base/home/anon/Andreas Kling
It's in Base/res/fonts/ now. :^)
2022-01-09Base: Move Roman to /res/fontselectrikmilk
Roman font was placed in the home folder by mistake
2022-01-09Everywhere: Add `serenity_dev_{makedev,major,minor}`Michel Hermier
Add them in `<Kernel/API/Device.h>` and use these to provides `{makedev,major,minor}` in `<sys/sysmacros.h>`. It aims to be more in line with other Unix implementations and avoid code duplication in user land.
2022-01-09HackStudio: Propagate errors using try_set_main_widgetcreator1creeper1
The documentation tooltip and parameters hint tooltip initialization functions are now fallible and now call try_set_main_widget instead of set_main_widget. They are only called by Editor's new custom try_create function.
2022-01-09HackStudio: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09Inspector: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09PixelPaint: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09Piano: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09Welcome: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09Mail: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09PDFViewer: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09Calculator: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09VideoPlayer: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09KeyboardMapper: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09SystemMonitor: Propagate errors using try_set_main_widgetcreator1creeper1
build_process_window now uses try_set_main_widget and might return an error. process_properties_action handles a possible error by simply not updating the process window if an error occured while building it.
2022-01-093DFileViewer: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09FontEditor: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09TextEditor: Propagate errors using try_set_main_widget in maincreator1creeper1
2022-01-09LibGUI+WindowServer: Flash menubar menu when using a keyboard shortcutbugreport0
Briefly flash the menubar menu containing the keyboard shortcut action to give the user immediate visual feedback on their interaction with the system.
2022-01-09Shell: Port to LibMainLucas CHOLLET
2022-01-09LibCore: Add a wrapper for setsid()Lucas CHOLLET
2022-01-09FileManager: Do not allow rename files that cannot be modifiedLeonardo Nicolas
Pressing the F2 key on files that the user doesn't have permission was opening the file name for editing. This patch fixes the issue disabling the file name editing when the user doesn't have permission to do it. To reproduce the issue: 1) Open the File Manager 2) Click on the /etc directory 3) Select any file 4) Press the F2 key 5) Update the file name
2022-01-09Kernel: Use DMA helper everywherePankaj Raghav
Port UCHI, AC97, SB16, BMIDEChannel and AHCIPort to use the helper to allocate DMA buffers.
2022-01-09Kernel: Overload DMA helper without Physical Page output parameterPankaj Raghav
Not all drivers need the PhysicalPage output parameter while creating a DMA buffer. This overload will avoid creating a temporary variable for the caller
2022-01-09Kernel: Set Cacheable parameter to NO explicitly in DMA helpersPankaj Raghav
The cacheable parameter to allocate_kernel_region should be explicitly set to No as this region is used to do physical memory transfers. Even though most architectures ignore this even if it is set, it is better to make this explicit.
2022-01-09PixelPaint: Only clear `LayerListWidget` if there are no editors leftMustafa Quraish
Previously, we would clear it if there was still an editor open. This was not obvious because it was only visible when an inactive tab was closed, since closing an active tab would trigger an editor change which would re-fill the layers widget.
2022-01-09PixelPaint: Move `request_close_editor()` logic inside `ImageEditor`Mustafa Quraish
This allows us to request any specific editor to close itself. Earlier, this could only be done for the currently active editor, so trying to close inactive tabs would not work properly.