LibWeb/WebGL: Implement the EXT_texture_filter_anisotropic extension

This commit is contained in:
Luke Wilde 2025-10-18 19:01:10 +01:00 committed by Jelle Raaijmakers
parent d08915a0cd
commit b15f4424f9
Notes: github-actions[bot] 2025-10-20 13:34:39 +00:00
13 changed files with 166 additions and 2 deletions

View file

@ -16,7 +16,7 @@
namespace Web::WebGL {
class WebGLRenderingContext : public Bindings::PlatformObject
class WebGLRenderingContext final : public Bindings::PlatformObject
, public WebGLRenderingContextImpl {
WEB_PLATFORM_OBJECT(WebGLRenderingContext, Bindings::PlatformObject);
GC_DECLARE_ALLOCATOR(WebGLRenderingContext);
@ -50,6 +50,8 @@ public:
WebIDL::Long drawing_buffer_width() const;
WebIDL::Long drawing_buffer_height() const;
virtual bool ext_texture_filter_anisotropic_extension_enabled() const override;
private:
virtual void initialize(JS::Realm&) override;
@ -83,6 +85,7 @@ private:
// "Multiple calls to getExtension with the same extension string, taking into account case-insensitive comparison, must return the same object as long as the extension is enabled."
GC::Ptr<Extensions::ANGLEInstancedArrays> m_angle_instanced_arrays_extension;
GC::Ptr<Extensions::EXTBlendMinMax> m_ext_blend_min_max_extension;
GC::Ptr<Extensions::EXTTextureFilterAnisotropic> m_ext_texture_filter_anisotropic;
GC::Ptr<Extensions::OESVertexArrayObject> m_oes_vertex_array_object_extension;
GC::Ptr<Extensions::WebGLCompressedTextureS3tc> m_webgl_compressed_texture_s3tc_extension;
GC::Ptr<Extensions::WebGLCompressedTextureS3tcSrgb> m_webgl_compressed_texture_s3tc_srgb_extension;