Luke Wilde
28a73dc392
LibWeb/WebGL: Implement deleteRenderbuffer
2025-01-08 17:55:17 +03:00
Luke Wilde
e26b524721
LibWeb/WebGL2: Implement invalidateFramebuffer
2025-01-08 17:55:17 +03:00
Luke Wilde
63b792c205
LibWeb/WebGL2: Implement bufferSubData with offset and length
2025-01-08 17:55:17 +03:00
Luke Wilde
18ea91715b
LibWeb/WebGL2: Implement bufferData with offset and length
2025-01-08 17:55:17 +03:00
Aliaksandr Kalenik
30d915c361
LibGfx+LibWeb: Specify bottom left origin for WebGL's PaintingSurface
...
By doing that we eliminate the need for the vertical flip flag.
As a side effect it fixes the bug when doing:
`canvasContext2d.drawImage(canvasWithWebGLContext, 0, 0);`
produced a flipped image because we didn't account for different origin
while serializing PaintingSurface into Gfx::Bitmap.
Visual progress on https://ciechanow.ski/curves-and-surfaces/
2024-12-20 20:47:45 +01:00
Aliaksandr Kalenik
c9105955f6
LibWeb/WebGL: Add support for ANGLEInstancedArrays extension
...
This is only WebGL 1.0 extension. It's enabled in ANGLE by default.
Progress on https://ciechanow.ski/curves-and-surfaces/ that relies on
this extension.
2024-12-20 15:31:58 +01:00
Aliaksandr Kalenik
07635d4554
LibWeb/WebGL: Set INVALID_OPERATION if object does not belong to context
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
160c15444b
LibWeb/WebGL2: Implement blitFramebuffer
2024-12-14 09:06:28 +01:00
Luke Wilde
4a4263d869
LibWeb/WebGL2: Implement readBuffer
2024-12-14 09:06:28 +01:00
Luke Wilde
db89b478ff
LibWeb/WebGL2: Implement renderbufferStorageMultisample
2024-12-14 09:06:28 +01:00
Luke Wilde
8b07af9801
LibWeb/WebGL2: Implement bindBufferBase
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
5cde82ac80
LibWeb/WebGL2: Implement texStorage3D
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
0207487199
LibWeb/WebGL2: Implement deleteSync
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
bc9ae79a47
LibWeb/WebGL2: Implement texSubImage2D with ArrayBufferView
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
71521a7004
LibWeb/WebGL2: Implement WebGL 1 version of bufferSubData
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
Aliaksandr Kalenik
73479d3f94
LibWeb/WebGL: Implement drawBuffers()
2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
145bb0f849
LibWeb/WebGL: Implement getSupportedExtensions()
2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
af4f0c5a81
LibWeb/WebGL: Implement texImage3D()
2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
ba19328b98
LibWeb/WebGL: Implement vertexAttrib{1,2,3,4}fv
2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
4e8ec1e793
LibWeb/WebGL: Implement readPixels()
2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
c199be061a
LibWeb/WebGL: Implement drawingBufferWidth and drawingBufferHeight
2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
86c230cd8e
LibWeb/WebGL: Implement vertex array calls for WebGL2
2024-12-07 00:05:36 +01:00
Aliaksandr Kalenik
eec4b71351
LibWeb/WebGL: Remove FIXME from supported calls in WebGL2
...
These calls were inherited from WebGL 1 and our implementation generator
already supports them.
2024-12-07 00:05:36 +01:00
Andrew Kaster
56d45282ea
LibWeb/WebGL: Don't crash on unknown getParameter on the context
...
And allow the implementation to set the error code.
2024-12-06 15:35:36 +01:00
Andrew Kaster
af536e1192
LibWeb: Add stubbed-out WebGL2RenderingContext
2024-12-06 15:35:36 +01:00
Andrew Kaster
9c24bb3cee
LibWeb/WebGL: Alphabetize imports for WebGLRenderingContextBase IDL
2024-12-06 15:35:36 +01:00
Andrew Kaster
7abc79ece7
LibWeb/WebGL: Add stub class for WebGLVertexArrayObject
...
This is a WebGL 2.0 class
2024-12-06 15:35:36 +01:00
Andrew Kaster
39018d233f
LibWeb/WebGL: Add stub class for WebGLTransformFeedback
...
This is a WebGL 2.0 class
2024-12-06 15:35:36 +01:00
Andrew Kaster
bb3226ee57
LibWeb/WebGL: Add stub class for WebGLSync
...
This is a WebGL 2.0 class
2024-12-06 15:35:36 +01:00
Andrew Kaster
2b5e54e995
LibWeb/WebGL: Add stub class for WebGLSampler
...
This is a WebGL 2.0 class
2024-12-06 15:35:36 +01:00
Andrew Kaster
69e4adbd98
LibWeb/WebGL: Add stub class for WebGLQuery
...
This is a WebGL 2.0 class
2024-12-06 15:35:36 +01:00
Andrew Kaster
d8ccd6b87c
LibWeb/WebGL: Don't crash when there's no skia backend context
2024-12-06 15:35:36 +01:00
Andrew Kaster
f2ac4f3f2e
LibWeb: Add GL types for WebGL 2.0
2024-12-06 15:35:36 +01:00
Luke Wilde
5392aabded
LibWeb/WebGL: Implement texSubImage2D with ArrayBufferView
2024-12-05 21:27:32 +01:00
Luke Wilde
7a6b6627e9
LibWeb/WebGL: Implement bufferSubData
2024-12-05 21:27:32 +01:00
Luke Wilde
bf2b8c5f2b
LibWeb/WebGL: Implement getShaderPrecisionFormat
2024-12-05 21:27:32 +01:00
Luke Wilde
a14cd5dab8
LibWeb/WebGL: Set prototypes of the WebGL objects
2024-12-05 21:27:32 +01:00