Jelle Raaijmakers
a06b69c5b5
LibGL: Implement the GL_DITHER
parameter
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
b89524c981
LibGL: Implement the GL_LIGHTING
parameter
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
b1ac181537
LibGL: Centralize all context parameters
...
The `glGet*` family of functions requires that all parameters of
different types are transparently converted into each other. For
example, you can request a boolean parameter as a float or a list of
double values as an integer. It might be considered bad practice to
request parameters through the wrongly-typed function, but to be spec-
compliant we need to implement this.
Introduce a new `::get_context_parameter()` to obtain a parameter
value, which is then converted to the right type by the respective
`::gl_get_*()` functions.
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
2af9b625e8
LibGL: Implement GL_*_BITS
and GL_DOUBLEBUFFER
parameters
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
033f224966
LibGL: Add GL_SHADING_LANGUAGE_VERSION
to glGetString
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
6643775999
LibGL: Add stub for glCopyTexImage2D
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
401472c9a4
LibGL: Implement glDrawPixels
and add stub for glBitmap
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
c2960e68a8
LibGL: Implement glLightModelf
and glLightModelfv
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
0453cad46c
LibGL: Add stubs for glPushAttrib
and glPopAttrib
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
fbed7a5ba8
LibGL: Implement glLineWidth
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
22f8294a57
LibGL: Implement glLoadMatrixd
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
506abf2a61
LibGL: Implement glIsList
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
17c109f5d7
LibGL: Implement glTranslated
2021-12-12 21:51:08 +01:00
Jelle Raaijmakers
9c9fa33495
LibGL: Implement glClearStencil
2021-12-12 21:51:08 +01:00
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
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
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
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
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
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
Kenneth Myhra
62ddd7613c
config: Port to LibMain :^)
2021-12-11 15:10:42 -08:00