Commit graph

87 commits

Author SHA1 Message Date
Luke Wilde
3fca836e15 LibWeb/WebGL2: Implement clearBuffer{fv,iv,uiv,fi} 2024-12-27 16:22:08 +00:00
Luke Wilde
b4ab08c958 LibWeb/WebGL2: Implement deleteSampler 2024-12-27 16:22:08 +00:00
Luke Wilde
11223cbedf LibWeb/WebGL2: Implement samplerParameter{i,f} 2024-12-27 16:22:08 +00:00
Luke Wilde
ac18f8d227 LibWeb/WebGL2: Implement MAX_VARYING_COMPONENTS parameter 2024-12-27 16:22:08 +00:00
Luke Wilde
94af1ee603 LibWeb/WebGL2: Implement MAX_FRAGMENT_UNIFORM_BLOCKS parameter 2024-12-27 16:22:08 +00:00
Luke Wilde
379059ad57 LibWeb/WebGL2: Implement MAX_ELEMENT_INDEX parameter 2024-12-27 16:22:08 +00:00
Luke Wilde
50a4876209 LibWeb/WebGL2: Implement COPY_WRITE_BUFFER_BINDING parameter 2024-12-27 16:22:08 +00:00
Luke Wilde
bb0e8587b7 LibWeb/WebGL2: Implement COPY_READ_BUFFER_BINDING parameter 2024-12-27 16:22:08 +00:00
Luke Wilde
bf9924bd03 LibWeb/WebGL2: Implement TEXTURE_BINDING_2D_ARRAY parameter 2024-12-27 16:22:08 +00:00
Luke Wilde
4801309865 LibWeb/WebGL2: Implement UNIFORM_BUFFER_BINDING parameter 2024-12-27 16:22:08 +00:00
Luke Wilde
6c3aa97152 LibWeb/WebGL: Factor in subarrays for typed arrays for generic methods 2024-12-27 16:22:08 +00:00
Luke Wilde
8d1e719e73 LibWeb/WebGL2: Implement drawElementsInstanced 2024-12-27 16:22:08 +00:00
Luke Wilde
fa40a1e686 LibWeb/WebGL: Implement tex(Sub)Image2D with TexImageSource 2024-12-27 16:22:08 +00:00
Luke Wilde
93da2f6b4e LibWeb/WebGL: Preserve original bound objects to return in getParameter
Required by https://qwasm2.m-h.org.uk, which adds a custom `name`
attribute to objects it generates. It then gets some of these objects
out with getParameter, and expects the `name` attribute to be there.
2024-12-27 16:22:08 +00:00
Luke Wilde
496e4238b1 LibWeb/WebGL2: Implement getActiveUniformBlockParameter 2024-12-27 16:22:08 +00:00
Luke Wilde
8d574267f0 LibWeb/WebGL2: Implement getActiveUniformBlockName 2024-12-27 16:22:08 +00:00
Luke Wilde
932e8c6db1 LibWeb/WebGL: Implement deleteRenderbuffer 2024-12-27 16:22:08 +00:00
Luke Wilde
3d40caf9ae LibWeb/WebGL: Mark clear as a draw operation instead of clearColor 2024-12-27 16:22:08 +00:00
Luke Wilde
a1d672e683 LibWeb/WebGL2: Implement invalidateFramebuffer 2024-12-27 16:22:08 +00:00
Luke Wilde
03efca3274 LibWeb/WebGL2: Correctly handle offsets in uniform(Matrix) functions 2024-12-27 16:22:08 +00:00
Luke Wilde
f3da3c412d LibWeb/WebGL2: Implement bufferSubData with offset and length 2024-12-27 16:22:08 +00:00
Luke Wilde
57397a5f2d LibWeb/WebGL2: Implement bufferData with offset and length 2024-12-27 16:22:08 +00:00
Aliaksandr Kalenik
07635d4554 LibWeb/WebGL: Set INVALID_OPERATION if object does not belong to context
Some checks are pending
CI / path-changes (push) Waiting to run
CI / Lagom (false, FUZZ, ubuntu-24.04, Linux, Clang) (push) Blocked by required conditions
CI / Lagom (false, NO_FUZZ, macos-15, macOS, Clang) (push) Blocked by required conditions
CI / Lagom (false, NO_FUZZ, ubuntu-24.04, Linux, GNU) (push) Blocked by required conditions
CI / Lagom (true, NO_FUZZ, ubuntu-24.04, Linux, Clang) (push) Blocked by required conditions
Package the js repl as a binary artifact / build-and-package (macos-14, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run
2024-12-19 13:38:43 +01:00
Aliaksandr Kalenik
fbae24f7a9 LibWeb/WebGL: Don't treat WebGLUniformLocation as WebGLObject
...in code generator. `is_webgl_object_type()` is only supposed to
return true for objects inheriting from WebGLObject.
2024-12-19 13:38:43 +01:00
Aliaksandr Kalenik
cf730870c5 LibWeb: Save WebGL context pointer in WebGLObject
This way we could be sure that context object won't be deallocated
before any of the objects that belong to it.

Having a context pointer is also going to be used in upcoming changes
to generate an INVALID_OPERATION error if an object does not belong to
the context it's being used in.
2024-12-19 13:38:43 +01:00
Luke Wilde
ced5eea610 LibWeb/WebGL2: Implement MAX_COMBINED_UNIFORM_BLOCKS parameter 2024-12-14 09:06:28 +01:00
Luke Wilde
5d383fdd11 LibWeb/WebGL2: Implement MAX_FRAGMENT_INPUT_COMPONENTS parameter 2024-12-14 09:06:28 +01:00
Luke Wilde
f1d194a97a LibWeb/WebGL2: Implement MAX_VERTEX_UNIFORM_BLOCKS parameter 2024-12-14 09:06:28 +01:00
Luke Wilde
a19fb0a759 LibWeb/WebGL2: Implement MAX_DRAW_BUFFERS parameter 2024-12-14 09:06:28 +01:00
Luke Wilde
1fc8353da0 LibWeb/WebGL2: Implement UNIFORM_BUFFER_OFFSET_ALIGNMENT parameter 2024-12-14 09:06:28 +01:00
Luke Wilde
2adacbc8bb LibWeb/WebGL2: Implement MAX_UNIFORM_BUFFER_BINDINGS parameter 2024-12-14 09:06:28 +01:00
Luke Wilde
0e5e0d922f LibWeb/WebGL2: Implement MAX_UNIFORM_BLOCK_SIZE parameter 2024-12-14 09:06:28 +01:00
Luke Wilde
791c258754 LibWeb/WebGL2: Implement MAX_VERTEX_UNIFORM_COMPONENTS parameter 2024-12-14 09:06:28 +01:00
Luke Wilde
b6388abb9b LibWeb/WebGL2: Implement MAX_COLOR_ATTACHMENTS parameter 2024-12-14 09:06:28 +01:00
Luke Wilde
99a501bd09 LibWeb/WebGL2: Implement MAX_ARRAY_TEXTURE_LAYERS parameter 2024-12-14 09:06:28 +01:00
Luke Wilde
6e42f401f9 LibWeb/WebGL2: Implement texImage3D with ArrayBufferView and offset 2024-12-14 09:06:28 +01:00
Luke Wilde
50b4d65540 LibWeb/WebGL2: Implement texImage2D with ArrayBufferView and offset 2024-12-14 09:06:28 +01:00
Luke Wilde
766f4d2ec4 LibWeb/WebGL2: Implement texSubImage2D with ArrayBufferView and offset 2024-12-14 09:06:28 +01:00
Luke Wilde
e6ebec853b LibWeb/WebGL2: Implement texSubImage3D with ArrayBufferView and offset 2024-12-14 09:06:28 +01:00
Luke Wilde
f266705bc6 LibWeb/WebGL2: Implement MAX_3D_TEXTURE_SIZE parameter 2024-12-14 09:06:28 +01:00
Luke Wilde
dad30672d9 LibWeb/WebGL: Return GL_INVALID_ENUM for unknown buffer parameter names 2024-12-14 09:06:28 +01:00
Luke Wilde
776328e2e7 LibWeb/WebGL2: Implement getInternalformatParameter 2024-12-14 09:06:28 +01:00
Luke Wilde
ee500df7ec LibWeb/WebGL2: Implement MAX_SAMPLES parameter 2024-12-14 09:06:28 +01:00
Luke Wilde
ff8a9549f1 LibWeb/WebGL2: Implement clientWaitSync 2024-12-14 09:06:28 +01:00
Luke Wilde
135ceb387e LibWeb/WebGL2: Implement fenceSync 2024-12-14 09:06:28 +01:00
Luke Wilde
f4f3e446a2 LibWeb/WebGL2: Implement bindSampler 2024-12-14 09:06:28 +01:00
Luke Wilde
8a9d1de1cf LibWeb/WebGL2: Implement createSampler 2024-12-14 09:06:28 +01:00
Luke Wilde
bd1cc239df LibWeb/WebGL2: Implement uniformMatrix{2,3,4}fv 2024-12-14 09:06:28 +01:00
Aliaksandr Kalenik
897883f947 LibWeb/WebGL: Implement texStorage2D() 2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
cfff38a176 LibWeb/WebGL: Implement uniform{1,2,3,4}{i,f}v calls for WebGL2 2024-12-13 09:19:10 +01:00