Commit graph

31142 commits

Author SHA1 Message Date
Jelle Raaijmakers 07bf37be75 LibGL: Implement glScaled 2021-12-12 21:51:08 +01:00
Jelle Raaijmakers 9dbc8d7e3c LibGL: Add stubs for glMaterialf and glMaterialfv 2021-12-12 21:51:08 +01:00
Jelle Raaijmakers 4eb6295a57 LibGL: Implement glRasterPos2i 2021-12-12 21:51:08 +01:00
Jelle Raaijmakers 78d0674228 LibGL: Implement glNormal3f and glNormal3fv 2021-12-12 21:51:08 +01:00
Jelle Raaijmakers ea6bcda79c LibGL: Implement glStencil* functions
This implements the context state for stencil testing functions and
operations. No rasterization is implemented.
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers 729349ce78 LibGL: Implement GL_STENCIL_TEST
Only the state is implemented; not the rasterization phase.
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers 11fea6b597 LibGL: Implement glListBase 2021-12-12 21:51:08 +01:00
Jelle Raaijmakers 1056bac49a LibGL: Implement glCallLists 2021-12-12 21:51:08 +01:00
Jelle Raaijmakers 651ea89094 LibGL: Implement glTexCoord2fv 2021-12-12 21:51:08 +01:00
Jelle Raaijmakers 315973e73c LibGL: Implement glColor3ub 2021-12-12 21:51:08 +01:00
Jelle Raaijmakers d38c4ac8b5 LibGL: Add stubs for glLightf and glLightfv 2021-12-12 21:51:08 +01:00
Jelle Raaijmakers 7ac8cd057e LibGL: Implement glMultMatrixf 2021-12-12 21:51:08 +01:00
Jelle Raaijmakers 40724a426f LibGL: Implement glGetDoublev 2021-12-12 21:51:08 +01:00
Jelle Raaijmakers 6d4a5a40a0 LibGL: Define GL_ES_VERSION_2_0
GLES 2.0 is a subset of OpenGL, so we allow applications to compile
against LibGL as if it fully supports GLES 2.0.

Additionally, we set the definitions to an integer value of `1` so
applications that check for availability like this...

    int main() { return GL_ES_VERSION_2_0; }

...can actually compile. At least ScummVM uses this, and Mesa defines
their constants in the same way:

44b9e11ddb/include/GL/gl.h (L105)
2021-12-12 21:51:08 +01:00
Jean-Baptiste Boric 23257cac52 Kernel: Remove sys$select() syscall
Now that the userland has a compatiblity wrapper for select(), the
kernel doesn't need to implement this syscall natively. The poll()
interface been around since 1987, any code still using select()
should be slapped silly.

Note: the SerenityOS source tree mostly uses select() and not poll()
despite SerenityOS having support for poll() since early 2019...
2021-12-12 21:48:50 +01:00
Jean-Baptiste Boric dc83fd5ee8 strace: Remove formatting support for SC_select 2021-12-12 21:48:50 +01:00
Jean-Baptiste Boric e486d23c3f strace: Add formatting support for SC_poll 2021-12-12 21:48:50 +01:00
Jean-Baptiste Boric 809855be57 strace: Sort syscalls formatters in alphabetic order 2021-12-12 21:48:50 +01:00
Jean-Baptiste Boric ee34340c6a UserspaceEmulator: Remove support for SC_select syscall 2021-12-12 21:48:50 +01:00
Jean-Baptiste Boric 012d8d7f74 UserspaceEmulator: Add support for SC_poll syscall 2021-12-12 21:48:50 +01:00
Jean-Baptiste Boric 493c958b9e UserspaceEmulator: Sort syscalls in alphabetic order 2021-12-12 21:48:50 +01:00
Jean-Baptiste Boric b840c8f68e LibC: Rewrite pselect() as a wrapper for ppoll() 2021-12-12 21:48:50 +01:00
Jean-Baptiste Boric 2177c2a30b Kernel: Split off sys$poll() into Syscalls/poll.cpp 2021-12-12 21:48:50 +01:00
Linus Groh f8387dea26 LibWeb: Implement TextEncoder.prototype.encoding 2021-12-12 20:58:36 +01:00
Linus Groh f37d00c07b LibWeb: Implement TextEncoder.prototype.encode() 2021-12-12 20:58:36 +01:00
Linus Groh 35d3a1e77b LibWeb: Add the TextEncoder interface
This is from the Encoding Standard (https://encoding.spec.whatwg.org),
and therefore gets its own namespace and subdirectory within LibWeb :^)
2021-12-12 20:58:36 +01:00
Jonta 0306cf2030 Docs: Fixed grammar "diagnose what is the problem" 2021-12-12 11:36:23 -08:00
Martin Blicha c4c8f59284 AK: Fix preprocessor OS check
Instead of checking __linux__ macro directly, the code should check if
this macro is defined. This is already done correctly a couple of lines
above.

I ran into this when trying to build libjs-test262 on MacOS where I got
the following error message
   error: "__linux__" is not defined, evaluates to 0 [-Werror=undef]
2021-12-12 11:10:34 -08:00
Ali Mohammad Pur 5f1a34bba3 Spreadsheet: Avoid using Value.to_string_without_side_effects()
We should use .to_string() and handle the possible exceptions.
This makes the displayed cell contents so much more informative than
'[object Object]' :^)
2021-12-12 14:49:49 +03:30
Ali Mohammad Pur 235eb0b1ad Spreadsheet: Replace hacky JS VM configuration with a more correct one
Now we give each sheet its own interpreter and realm, and only make them
share the VM.
This is to prepare for the next commit, which will be refactoring a
bunch of things to propagate exceptions via ThrowCompletionOr<T>.
2021-12-12 14:49:49 +03:30
Ali Mohammad Pur 82dde46a30 Spreadsheet: Replace the help button's text with something we can render 2021-12-12 14:49:49 +03:30
Ali Mohammad Pur 91444de2cf Spreadsheet: Reimplement ranges as lazy objects instead of arrays
Doing so makes it possible to talk about theoretically infinite ranges
like "all of column A".
2021-12-12 14:49:49 +03:30
Ali Mohammad Pur 892e585e9a Spreadsheet: Don't recreate the global environment on every evaluation
The worksheet's realm does not change, and is not shared, so we can
safely leave the global environment be.
This fixes lexical scoping in the spreadsheet's runtime file.
2021-12-12 14:49:49 +03:30
Sahan Fernando 398f1ca842 Ports: Don't return errno value as pointer in openssh port 2021-12-12 13:16:55 +02:00
Sahan Fernando 49ed168ced Userland: Use File::lines() range-based for loop where appropriate 2021-12-12 14:06:38 +03:30
Sahan Fernando 2c43eaa50c LibCore: Add support for range-based for loops on LineIterators 2021-12-12 14:06:38 +03:30
Sahan Fernando 6d948c1a92 LibCore: Fix bug in IODevice::LineIterator causing skipped lines 2021-12-12 14:06:38 +03:30
Idan Horowitz 8d3faecd9b Tests: Add tests for sigwait/sigwaitinfo/sigtimedwait 2021-12-12 08:34:19 +02:00
Idan Horowitz 656b1dd6be LibC: Implement sigwait()
This is done internally by just calling the more modern sigtimedwait
syscall and then massaging the results to fit sigwait's interface.
2021-12-12 08:34:19 +02:00
Idan Horowitz 640844c965 LibC: Implement sigwaitinfo()
This is implemented as a simple wrapper around sigtimedwait()
2021-12-12 08:34:19 +02:00
Idan Horowitz 762e047ec9 Kernel+LibC: Implement sigtimedwait()
This includes a new Thread::Blocker called SignalBlocker which blocks
until a signal of a matching type is pending. The current Blocker
implementation in the Kernel is very complicated, but cleaning it up is
a different yak for a different day.
2021-12-12 08:34:19 +02:00
Idan Horowitz 13d98999b7 Kernel: Flip incorrect bitwise set/clear of signal mask 2021-12-12 08:34:19 +02:00
Idan Horowitz 1397a5ab02 Kernel: Unblock threads only on unmasked signals
Signals that were explicitly masked should not unblock threads.
2021-12-12 08:34:19 +02:00
Idan Horowitz 81a76a30a1 Kernel: Preserve pending signals across execve(2)s
As required by posix. Also rename Thread::clear_signals to
Thread::reset_signals_for_exec since it doesn't actually clear any
pending signals, but rather does execve related signal book-keeping.
2021-12-12 08:34:19 +02:00
Idan Horowitz 31fa3f8b1b Kernel: Remove alternative signal stack settings on execve(2)
A successful call to execve(2) removes any existing alternate signal
stack.
2021-12-12 08:34:19 +02:00
Idan Horowitz 0ca1231d8f Kernel: Inherit alternative signal stack on fork(2)
A child process created via fork(2) inherits a copy of its parent's
alternate signal stack settings.
2021-12-12 08:34:19 +02:00
Idan Horowitz 92a6c91f4e Kernel: Preserve signal mask across fork(2) and execve(2)
A child created via fork(2) inherits a copy of its parent's signal
mask; the signal mask is preserved across execve(2).
2021-12-12 08:34:19 +02:00
Luke Wilde 0301180f88 Base: Add Braille Patterns to Katica Regular 10
2800-28FF
https://unicode.org/charts/PDF/U2800.pdf
2021-12-11 21:04:43 -08:00
Linus Groh db610d0cd6 Ports: Restore Python's setup.py patch
It appears that the patch still applied partially, which led to me
believing our changes were fully upstreamed. Only the _uuid module
specific changes didn't apply and are no longer needed, so simply
restore the other ones that I removed.
2021-12-12 00:23:04 +00:00
Lady Gegga 808b15b094 Base: Add some Dingbats, Symbols and Pictographs to Katica Regular 10
1F380, 1F332, 1F385, 1F384, 1F9E7, 1F381, 1F56F, 1F36A, 26EA, 1F514
1F9E6, 1F3B6, 1F3B5, 1F31F, 2744, 2603, 26C4, 26C7
2021-12-11 15:52:32 -08:00