ladybird/Libraries/LibWeb/WebGL
Luke Wilde ab3eb9adab LibWeb/WebGL: Replace manual pointer math with Span
This deduplicates a lot of sensitive pointer math by using Span, which
performs this math for us with more safety checks and with type
information.

This also allows us to use the correctly typed Span for typed arrays,
which automatically fixes srcOffset to now offset by the number of
elements instead of bytes. This goes for srcLengthOverride too.

Fixes the Rive animations on Shopify's homepage not appearing.
Fixes some Unity applications such as ArcViewer having missing
graphics.
2025-10-20 16:26:12 +02:00
..
Extensions LibWeb/WebGL: Implement the EXT_texture_filter_anisotropic extension 2025-10-20 15:33:33 +02:00
EventNames.cpp LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
EventNames.h LibWeb: Remove the initialize_strings methods 2025-01-12 00:35:58 +01:00
OpenGLContext.cpp LibWeb/WebGL: Avoid freeing GL objects belonging to other contexts 2025-08-30 15:49:11 +02:00
OpenGLContext.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
Types.h LibWeb/WebGL: Add support for ANGLEInstancedArrays extension 2024-12-20 15:31:58 +01:00
Types.idl LibWeb/WebGL: Define Float32List exactly like in the spec 2025-09-30 16:47:16 +02:00
WebGL2RenderingContext.cpp LibWeb/WebGL: Implement the EXT_texture_filter_anisotropic extension 2025-10-20 15:33:33 +02:00
WebGL2RenderingContext.h LibWeb/WebGL: Implement the EXT_texture_filter_anisotropic extension 2025-10-20 15:33:33 +02:00
WebGL2RenderingContext.idl LibWeb: Add stubbed-out WebGL2RenderingContext 2024-12-06 15:35:36 +01:00
WebGL2RenderingContextBase.idl LibWeb/WebGL: Define Uint32List exactly like in the spec 2025-09-30 18:35:32 +02:00
WebGL2RenderingContextImpl.cpp LibWeb/WebGL: Replace manual pointer math with Span 2025-10-20 16:26:12 +02:00
WebGL2RenderingContextImpl.h LibWeb/WebGL: Use TexImageSource alias in method signatures 2025-10-02 18:41:02 +02:00
WebGL2RenderingContextOverloads.idl LibWeb/WebGL: Implement compressedTex(Sub)Image2D 2025-02-09 01:00:51 +01:00
WebGLActiveInfo.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLActiveInfo.h LibWeb/WebGL: Implement getActiveAttrib() and getActiveUniform() 2024-12-03 23:35:45 +01:00
WebGLActiveInfo.idl LibWeb/WebGL: Implement getActiveAttrib() and getActiveUniform() 2024-12-03 23:35:45 +01:00
WebGLBuffer.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLBuffer.h LibWeb: Save WebGL context pointer in WebGLObject 2024-12-19 13:38:43 +01:00
WebGLBuffer.idl LibWeb: Add WebGLBuffer 2024-11-13 11:41:54 +01:00
WebGLContextAttributes.cpp LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
WebGLContextAttributes.h LibWeb/WebGL: Implement getContextAttributes() 2024-12-05 09:57:10 +01:00
WebGLContextEvent.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLContextEvent.h LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
WebGLContextEvent.idl
WebGLFramebuffer.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLFramebuffer.h LibWeb: Save WebGL context pointer in WebGLObject 2024-12-19 13:38:43 +01:00
WebGLFramebuffer.idl LibWeb: Add WebGLFramebuffer 2024-11-13 11:41:54 +01:00
WebGLObject.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLObject.h LibWeb: Enable EXPLICIT_SYMBOL_EXPORT 2025-08-23 16:04:36 -06:00
WebGLObject.idl LibWeb: Add WebGLObject interface 2024-11-13 11:41:54 +01:00
WebGLProgram.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLProgram.h LibWeb/WebGL: Return vertex shader from Program::attached_vertex_shader 2025-05-26 17:16:42 +03:00
WebGLProgram.idl LibWeb: Add WebGLProgram 2024-11-13 11:41:54 +01:00
WebGLQuery.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLQuery.h LibWeb: Save WebGL context pointer in WebGLObject 2024-12-19 13:38:43 +01:00
WebGLQuery.idl LibWeb/WebGL: Add stub class for WebGLQuery 2024-12-06 15:35:36 +01:00
WebGLRenderbuffer.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLRenderbuffer.h LibWeb: Save WebGL context pointer in WebGLObject 2024-12-19 13:38:43 +01:00
WebGLRenderbuffer.idl LibWeb: Add WebGLRenderbuffer 2024-11-13 11:41:54 +01:00
WebGLRenderingContext.cpp LibWeb/WebGL: Implement the EXT_texture_filter_anisotropic extension 2025-10-20 15:33:33 +02:00
WebGLRenderingContext.h LibWeb/WebGL: Implement the EXT_texture_filter_anisotropic extension 2025-10-20 15:33:33 +02:00
WebGLRenderingContext.idl LibWeb: Add stubbed-out WebGL2RenderingContext 2024-12-06 15:35:36 +01:00
WebGLRenderingContextBase.cpp LibWeb/WebGL: Deduplicate read_and_pixel_convert_texture_image_source() 2025-10-02 18:41:02 +02:00
WebGLRenderingContextBase.h LibWeb/WebGL: Replace manual pointer math with Span 2025-10-20 16:26:12 +02:00
WebGLRenderingContextBase.idl LibWeb: Fix typos - act II 2025-04-09 15:05:20 +01:00
WebGLRenderingContextImpl.cpp LibWeb/WebGL: Replace manual pointer math with Span 2025-10-20 16:26:12 +02:00
WebGLRenderingContextImpl.h LibWeb/WebGL: Use TexImageSource alias in method signatures 2025-10-02 18:41:02 +02:00
WebGLRenderingContextOverloads.idl LibWeb/WebGL: Define Int32List exactly like in the spec 2025-09-30 17:57:46 +02:00
WebGLSampler.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLSampler.h LibWeb: Save WebGL context pointer in WebGLObject 2024-12-19 13:38:43 +01:00
WebGLSampler.idl LibWeb/WebGL: Add stub class for WebGLSampler 2024-12-06 15:35:36 +01:00
WebGLShader.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLShader.h LibWeb/WebGL: Track the shaders attached to a program 2025-01-21 21:36:05 +01:00
WebGLShader.idl LibWeb: Add WebGLShader 2024-11-13 11:41:54 +01:00
WebGLShaderPrecisionFormat.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLShaderPrecisionFormat.h LibWeb/WebGL: Implement getShaderPrecisionFormat 2024-12-05 21:27:32 +01:00
WebGLShaderPrecisionFormat.idl LibWeb/WebGL: Implement getShaderPrecisionFormat 2024-12-05 21:27:32 +01:00
WebGLSync.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLSync.h LibWeb: Save WebGL context pointer in WebGLObject 2024-12-19 13:38:43 +01:00
WebGLSync.idl LibWeb/WebGL: Add stub class for WebGLSync 2024-12-06 15:35:36 +01:00
WebGLTexture.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLTexture.h LibWeb: Save WebGL context pointer in WebGLObject 2024-12-19 13:38:43 +01:00
WebGLTexture.idl LibWeb: Add WebGLTexture 2024-11-13 11:41:54 +01:00
WebGLTransformFeedback.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLTransformFeedback.h LibWeb: Save WebGL context pointer in WebGLObject 2024-12-19 13:38:43 +01:00
WebGLTransformFeedback.idl LibWeb/WebGL: Add stub class for WebGLTransformFeedback 2024-12-06 15:35:36 +01:00
WebGLUniformLocation.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLUniformLocation.h LibWeb/WebGL: Set prototypes of the WebGL objects 2024-12-05 21:27:32 +01:00
WebGLUniformLocation.idl LibWeb: Add WebGLUniformLocation 2024-11-13 11:41:54 +01:00
WebGLVertexArrayObject.cpp LibWeb: Only set prototype once for object with IDL interface 2025-04-20 18:43:11 +02:00
WebGLVertexArrayObject.h LibWeb: Save WebGL context pointer in WebGLObject 2024-12-19 13:38:43 +01:00
WebGLVertexArrayObject.idl LibWeb/WebGL: Add stub class for WebGLVertexArrayObject 2024-12-06 15:35:36 +01:00