Skip to content

Commit

Permalink
WebGL extensions have unneeded virtual functions
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=260140
rdar://113848773

Reviewed by Dan Glastonbury.

Devirtualize WebGLExtension subclasses. There is no common polymorphic
behavior between the extensions.
Replace virtual table pointer with the stored ExtensionName enum.

* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp:
(WebCore::convertToJSValue):
* Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp:
(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
(WebCore::ANGLEInstancedArrays::getName const): Deleted.
* Source/WebCore/html/canvas/ANGLEInstancedArrays.h:
* Source/WebCore/html/canvas/EXTBlendMinMax.cpp:
(WebCore::EXTBlendMinMax::EXTBlendMinMax):
(WebCore::EXTBlendMinMax::getName const): Deleted.
* Source/WebCore/html/canvas/EXTBlendMinMax.h:
* Source/WebCore/html/canvas/EXTClipControl.cpp:
(WebCore::EXTClipControl::EXTClipControl):
(WebCore::EXTClipControl::getName const): Deleted.
* Source/WebCore/html/canvas/EXTClipControl.h:
* Source/WebCore/html/canvas/EXTColorBufferFloat.cpp:
(WebCore::EXTColorBufferFloat::EXTColorBufferFloat):
(WebCore::EXTColorBufferFloat::getName const): Deleted.
* Source/WebCore/html/canvas/EXTColorBufferFloat.h:
* Source/WebCore/html/canvas/EXTColorBufferHalfFloat.cpp:
(WebCore::EXTColorBufferHalfFloat::EXTColorBufferHalfFloat):
(WebCore::EXTColorBufferHalfFloat::getName const): Deleted.
* Source/WebCore/html/canvas/EXTColorBufferHalfFloat.h:
* Source/WebCore/html/canvas/EXTConservativeDepth.cpp:
(WebCore::EXTConservativeDepth::EXTConservativeDepth):
(WebCore::EXTConservativeDepth::getName const): Deleted.
* Source/WebCore/html/canvas/EXTConservativeDepth.h:
* Source/WebCore/html/canvas/EXTDepthClamp.cpp:
(WebCore::EXTDepthClamp::EXTDepthClamp):
(WebCore::EXTDepthClamp::getName const): Deleted.
* Source/WebCore/html/canvas/EXTDepthClamp.h:
* Source/WebCore/html/canvas/EXTDisjointTimerQuery.cpp:
(WebCore::EXTDisjointTimerQuery::EXTDisjointTimerQuery):
(WebCore::EXTDisjointTimerQuery::getName const): Deleted.
* Source/WebCore/html/canvas/EXTDisjointTimerQuery.h:
* Source/WebCore/html/canvas/EXTDisjointTimerQueryWebGL2.cpp:
(WebCore::EXTDisjointTimerQueryWebGL2::EXTDisjointTimerQueryWebGL2):
(WebCore::EXTDisjointTimerQueryWebGL2::getName const): Deleted.
* Source/WebCore/html/canvas/EXTDisjointTimerQueryWebGL2.h:
* Source/WebCore/html/canvas/EXTFloatBlend.cpp:
(WebCore::EXTFloatBlend::EXTFloatBlend):
(WebCore::EXTFloatBlend::getName const): Deleted.
* Source/WebCore/html/canvas/EXTFloatBlend.h:
* Source/WebCore/html/canvas/EXTFragDepth.cpp:
(WebCore::EXTFragDepth::EXTFragDepth):
(WebCore::EXTFragDepth::getName const): Deleted.
* Source/WebCore/html/canvas/EXTFragDepth.h:
* Source/WebCore/html/canvas/EXTPolygonOffsetClamp.cpp:
(WebCore::EXTPolygonOffsetClamp::EXTPolygonOffsetClamp):
(WebCore::EXTPolygonOffsetClamp::getName const): Deleted.
* Source/WebCore/html/canvas/EXTPolygonOffsetClamp.h:
* Source/WebCore/html/canvas/EXTRenderSnorm.cpp:
(WebCore::EXTRenderSnorm::EXTRenderSnorm):
(WebCore::EXTRenderSnorm::getName const): Deleted.
* Source/WebCore/html/canvas/EXTRenderSnorm.h:
* Source/WebCore/html/canvas/EXTShaderTextureLOD.cpp:
(WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):
(WebCore::EXTShaderTextureLOD::getName const): Deleted.
* Source/WebCore/html/canvas/EXTShaderTextureLOD.h:
* Source/WebCore/html/canvas/EXTTextureCompressionBPTC.cpp:
(WebCore::EXTTextureCompressionBPTC::EXTTextureCompressionBPTC):
(WebCore::EXTTextureCompressionBPTC::getName const): Deleted.
* Source/WebCore/html/canvas/EXTTextureCompressionBPTC.h:
* Source/WebCore/html/canvas/EXTTextureCompressionRGTC.cpp:
(WebCore::EXTTextureCompressionRGTC::EXTTextureCompressionRGTC):
(WebCore::EXTTextureCompressionRGTC::getName const): Deleted.
* Source/WebCore/html/canvas/EXTTextureCompressionRGTC.h:
* Source/WebCore/html/canvas/EXTTextureFilterAnisotropic.cpp:
(WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):
(WebCore::EXTTextureFilterAnisotropic::getName const): Deleted.
* Source/WebCore/html/canvas/EXTTextureFilterAnisotropic.h:
* Source/WebCore/html/canvas/EXTTextureMirrorClampToEdge.cpp:
(WebCore::EXTTextureMirrorClampToEdge::EXTTextureMirrorClampToEdge):
(WebCore::EXTTextureMirrorClampToEdge::getName const): Deleted.
* Source/WebCore/html/canvas/EXTTextureMirrorClampToEdge.h:
* Source/WebCore/html/canvas/EXTTextureNorm16.cpp:
(WebCore::EXTTextureNorm16::EXTTextureNorm16):
(WebCore::EXTTextureNorm16::getName const): Deleted.
* Source/WebCore/html/canvas/EXTTextureNorm16.h:
* Source/WebCore/html/canvas/EXTsRGB.cpp:
(WebCore::EXTsRGB::EXTsRGB):
(WebCore::EXTsRGB::getName const): Deleted.
* Source/WebCore/html/canvas/EXTsRGB.h:
* Source/WebCore/html/canvas/KHRParallelShaderCompile.cpp:
(WebCore::KHRParallelShaderCompile::KHRParallelShaderCompile):
(WebCore::KHRParallelShaderCompile::getName const): Deleted.
* Source/WebCore/html/canvas/KHRParallelShaderCompile.h:
* Source/WebCore/html/canvas/NVShaderNoperspectiveInterpolation.cpp:
(WebCore::NVShaderNoperspectiveInterpolation::NVShaderNoperspectiveInterpolation):
(WebCore::NVShaderNoperspectiveInterpolation::getName const): Deleted.
* Source/WebCore/html/canvas/NVShaderNoperspectiveInterpolation.h:
* Source/WebCore/html/canvas/OESDrawBuffersIndexed.cpp:
(WebCore::OESDrawBuffersIndexed::OESDrawBuffersIndexed):
(WebCore::OESDrawBuffersIndexed::getName const): Deleted.
* Source/WebCore/html/canvas/OESDrawBuffersIndexed.h:
* Source/WebCore/html/canvas/OESElementIndexUint.cpp:
(WebCore::OESElementIndexUint::OESElementIndexUint):
(WebCore::OESElementIndexUint::getName const): Deleted.
* Source/WebCore/html/canvas/OESElementIndexUint.h:
* Source/WebCore/html/canvas/OESFBORenderMipmap.cpp:
(WebCore::OESFBORenderMipmap::OESFBORenderMipmap):
(WebCore::OESFBORenderMipmap::getName const): Deleted.
* Source/WebCore/html/canvas/OESFBORenderMipmap.h:
* Source/WebCore/html/canvas/OESSampleVariables.cpp:
(WebCore::OESSampleVariables::OESSampleVariables):
(WebCore::OESSampleVariables::getName const): Deleted.
* Source/WebCore/html/canvas/OESSampleVariables.h:
* Source/WebCore/html/canvas/OESShaderMultisampleInterpolation.cpp:
(WebCore::OESShaderMultisampleInterpolation::OESShaderMultisampleInterpolation):
(WebCore::OESShaderMultisampleInterpolation::getName const): Deleted.
* Source/WebCore/html/canvas/OESShaderMultisampleInterpolation.h:
* Source/WebCore/html/canvas/OESStandardDerivatives.cpp:
(WebCore::OESStandardDerivatives::OESStandardDerivatives):
(WebCore::OESStandardDerivatives::getName const): Deleted.
* Source/WebCore/html/canvas/OESStandardDerivatives.h:
* Source/WebCore/html/canvas/OESTextureFloat.cpp:
(WebCore::OESTextureFloat::OESTextureFloat):
(WebCore::OESTextureFloat::getName const): Deleted.
* Source/WebCore/html/canvas/OESTextureFloat.h:
* Source/WebCore/html/canvas/OESTextureFloatLinear.cpp:
(WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
(WebCore::OESTextureFloatLinear::getName const): Deleted.
* Source/WebCore/html/canvas/OESTextureFloatLinear.h:
* Source/WebCore/html/canvas/OESTextureHalfFloat.cpp:
(WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
(WebCore::OESTextureHalfFloat::getName const): Deleted.
* Source/WebCore/html/canvas/OESTextureHalfFloat.h:
* Source/WebCore/html/canvas/OESTextureHalfFloatLinear.cpp:
(WebCore::OESTextureHalfFloatLinear::OESTextureHalfFloatLinear):
(WebCore::OESTextureHalfFloatLinear::getName const): Deleted.
* Source/WebCore/html/canvas/OESTextureHalfFloatLinear.h:
* Source/WebCore/html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::OESVertexArrayObject):
(WebCore::OESVertexArrayObject::getName const): Deleted.
* Source/WebCore/html/canvas/OESVertexArrayObject.h:
* Source/WebCore/html/canvas/WebGLClipCullDistance.cpp:
(WebCore::WebGLClipCullDistance::WebGLClipCullDistance):
(WebCore::WebGLClipCullDistance::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLClipCullDistance.h:
* Source/WebCore/html/canvas/WebGLColorBufferFloat.cpp:
(WebCore::WebGLColorBufferFloat::WebGLColorBufferFloat):
(WebCore::WebGLColorBufferFloat::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLColorBufferFloat.h:
* Source/WebCore/html/canvas/WebGLCompressedTextureASTC.cpp:
(WebCore::WebGLCompressedTextureASTC::WebGLCompressedTextureASTC):
(WebCore::WebGLCompressedTextureASTC::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLCompressedTextureASTC.h:
* Source/WebCore/html/canvas/WebGLCompressedTextureETC.cpp:
(WebCore::WebGLCompressedTextureETC::WebGLCompressedTextureETC):
(WebCore::WebGLCompressedTextureETC::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLCompressedTextureETC.h:
* Source/WebCore/html/canvas/WebGLCompressedTextureETC1.cpp:
(WebCore::WebGLCompressedTextureETC1::WebGLCompressedTextureETC1):
(WebCore::WebGLCompressedTextureETC1::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLCompressedTextureETC1.h:
* Source/WebCore/html/canvas/WebGLCompressedTexturePVRTC.cpp:
(WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
(WebCore::WebGLCompressedTexturePVRTC::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLCompressedTexturePVRTC.h:
* Source/WebCore/html/canvas/WebGLCompressedTextureS3TC.cpp:
(WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
(WebCore::WebGLCompressedTextureS3TC::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLCompressedTextureS3TC.h:
* Source/WebCore/html/canvas/WebGLCompressedTextureS3TCsRGB.cpp:
(WebCore::WebGLCompressedTextureS3TCsRGB::WebGLCompressedTextureS3TCsRGB):
(WebCore::WebGLCompressedTextureS3TCsRGB::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLCompressedTextureS3TCsRGB.h:
* Source/WebCore/html/canvas/WebGLDebugRendererInfo.cpp:
(WebCore::WebGLDebugRendererInfo::WebGLDebugRendererInfo):
(WebCore::WebGLDebugRendererInfo::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLDebugRendererInfo.h:
* Source/WebCore/html/canvas/WebGLDebugShaders.cpp:
(WebCore::WebGLDebugShaders::WebGLDebugShaders):
(WebCore::WebGLDebugShaders::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLDebugShaders.h:
* Source/WebCore/html/canvas/WebGLDepthTexture.cpp:
(WebCore::WebGLDepthTexture::WebGLDepthTexture):
(WebCore::WebGLDepthTexture::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLDepthTexture.h:
* Source/WebCore/html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLDrawBuffers.h:
* Source/WebCore/html/canvas/WebGLDrawInstancedBaseVertexBaseInstance.cpp:
(WebCore::WebGLDrawInstancedBaseVertexBaseInstance::WebGLDrawInstancedBaseVertexBaseInstance):
(WebCore::WebGLDrawInstancedBaseVertexBaseInstance::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLDrawInstancedBaseVertexBaseInstance.h:
* Source/WebCore/html/canvas/WebGLExtension.cpp: Removed.
* Source/WebCore/html/canvas/WebGLExtension.h:
(WebCore::WebGLExtension::context):
(WebCore::WebGLExtension::loseParentContext):
(WebCore::WebGLExtension::isLostContext const):
(WebCore::WebGLExtension::name const):
(WebCore::WebGLExtension::WebGLExtension):
(WebCore::WebGLExtensionScopedContext::WebGLExtensionScopedContext):
(WebCore::WebGLExtension::isLostContext): Deleted.
* Source/WebCore/html/canvas/WebGLLoseContext.cpp:
(WebCore::WebGLLoseContext::WebGLLoseContext):
(WebCore::WebGLLoseContext::getName const): Deleted.
(WebCore::WebGLLoseContext::loseParentContext): Deleted.
* Source/WebCore/html/canvas/WebGLLoseContext.h:
* Source/WebCore/html/canvas/WebGLMultiDraw.cpp:
(WebCore::WebGLMultiDraw::WebGLMultiDraw):
(WebCore::WebGLMultiDraw::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLMultiDraw.h:
* Source/WebCore/html/canvas/WebGLMultiDrawInstancedBaseVertexBaseInstance.cpp:
(WebCore::WebGLMultiDrawInstancedBaseVertexBaseInstance::WebGLMultiDrawInstancedBaseVertexBaseInstance):
(WebCore::WebGLMultiDrawInstancedBaseVertexBaseInstance::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLMultiDrawInstancedBaseVertexBaseInstance.h:
* Source/WebCore/html/canvas/WebGLPolygonMode.cpp:
(WebCore::WebGLPolygonMode::WebGLPolygonMode):
(WebCore::WebGLPolygonMode::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLPolygonMode.h:
* Source/WebCore/html/canvas/WebGLProvokingVertex.cpp:
(WebCore::WebGLProvokingVertex::WebGLProvokingVertex):
(WebCore::WebGLProvokingVertex::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLProvokingVertex.h:
* Source/WebCore/html/canvas/WebGLRenderSharedExponent.cpp:
(WebCore::WebGLRenderSharedExponent::WebGLRenderSharedExponent):
(WebCore::WebGLRenderSharedExponent::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLRenderSharedExponent.h:
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::loseExtension):
(WebCore::WebGLRenderingContextBase::loseExtensions):
* Source/WebCore/html/canvas/WebGLStencilTexturing.cpp:
(WebCore::WebGLStencilTexturing::WebGLStencilTexturing):
(WebCore::WebGLStencilTexturing::getName const): Deleted.
* Source/WebCore/html/canvas/WebGLStencilTexturing.h:

Canonical link: https://commits.webkit.org/266907@main
  • Loading branch information
kkinnunen-apple committed Aug 15, 2023
1 parent cdf2953 commit 803da12
Show file tree
Hide file tree
Showing 113 changed files with 237 additions and 676 deletions.
1 change: 0 additions & 1 deletion Source/WebCore/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1970,7 +1970,6 @@ if (ENABLE_WEBGL)
html/canvas/WebGLDepthTexture.cpp
html/canvas/WebGLDrawBuffers.cpp
html/canvas/WebGLDrawInstancedBaseVertexBaseInstance.cpp
html/canvas/WebGLExtension.cpp
html/canvas/WebGLFramebuffer.cpp
html/canvas/WebGLLoseContext.cpp
html/canvas/WebGLMultiDraw.cpp
Expand Down
1 change: 0 additions & 1 deletion Source/WebCore/Sources.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1525,7 +1525,6 @@ html/canvas/WebGLDebugShaders.cpp
html/canvas/WebGLDepthTexture.cpp
html/canvas/WebGLDrawBuffers.cpp
html/canvas/WebGLDrawInstancedBaseVertexBaseInstance.cpp
html/canvas/WebGLExtension.cpp
html/canvas/WebGLFramebuffer.cpp
html/canvas/WebGLLoseContext.cpp
html/canvas/WebGLMultiDraw.cpp
Expand Down
3 changes: 0 additions & 3 deletions Source/WebCore/WebCore.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -12031,7 +12031,6 @@
626CDE0D1140424C001E5A68 /* SpatialNavigation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SpatialNavigation.h; sourceTree = "<group>"; };
628D214B12131ED10055DCFC /* NetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkingContext.h; sourceTree = "<group>"; };
628D214D12131EF40055DCFC /* FrameNetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FrameNetworkingContext.h; sourceTree = "<group>"; };
62C1217A11AB9E76003C462C /* SuspendableTimer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SuspendableTimer.cpp; sourceTree = "<group>"; };
62CD32561157E57C0063B0A7 /* CustomEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CustomEvent.cpp; sourceTree = "<group>"; };
62CD32571157E57C0063B0A7 /* CustomEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomEvent.h; sourceTree = "<group>"; };
62CD32581157E57C0063B0A7 /* CustomEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CustomEvent.idl; sourceTree = "<group>"; };
Expand Down Expand Up @@ -12208,7 +12207,6 @@
6EBF0E4512A8926100DB1709 /* OESTextureFloat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OESTextureFloat.cpp; sourceTree = "<group>"; };
6EBF0E4612A8926100DB1709 /* OESTextureFloat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OESTextureFloat.h; sourceTree = "<group>"; };
6EBF0E4712A8926100DB1709 /* OESTextureFloat.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = OESTextureFloat.idl; sourceTree = "<group>"; };
6EBF0E5212A8929800DB1709 /* WebGLExtension.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebGLExtension.cpp; sourceTree = "<group>"; };
6EBF0E5312A8929800DB1709 /* WebGLExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebGLExtension.h; sourceTree = "<group>"; };
6EBF0E7412A9868800DB1709 /* JSOESTextureFloat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSOESTextureFloat.cpp; sourceTree = "<group>"; };
6EBF0E7412A9868800DB170A /* JSWebGLDrawBuffers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWebGLDrawBuffers.cpp; sourceTree = "<group>"; };
Expand Down Expand Up @@ -24231,7 +24229,6 @@
8ACE88D4285C8F660082C0FC /* WebGLDrawInstancedBaseVertexBaseInstance.cpp */,
8ACE88D5285C8F660082C0FC /* WebGLDrawInstancedBaseVertexBaseInstance.h */,
8ACE88D6285C8F660082C0FC /* WebGLDrawInstancedBaseVertexBaseInstance.idl */,
6EBF0E5212A8929800DB1709 /* WebGLExtension.cpp */,
6EBF0E5312A8929800DB1709 /* WebGLExtension.h */,
49C7B9AE1042D32E0009D447 /* WebGLFramebuffer.cpp */,
49C7B9AF1042D32E0009D447 /* WebGLFramebuffer.h */,
Expand Down
2 changes: 1 addition & 1 deletion Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ JSValue convertToJSValue(JSGlobalObject& lexicalGlobalObject, JSDOMGlobalObject&
case WebGLExtension::EXT ## Name: \
return toJS(&lexicalGlobalObject, &globalObject, static_cast<EXT&>(extension));

switch (extension.getName()) {
switch (extension.name()) {
TO_JS(ANGLEInstancedArrays)
TO_JS(EXTBlendMinMax)
TO_JS(EXTClipControl)
Expand Down
7 changes: 1 addition & 6 deletions Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,13 @@ namespace WebCore {
WTF_MAKE_ISO_ALLOCATED_IMPL(ANGLEInstancedArrays);

ANGLEInstancedArrays::ANGLEInstancedArrays(WebGLRenderingContextBase& context)
: WebGLExtension(context)
: WebGLExtension(context, ANGLEInstancedArraysName)
{
context.graphicsContextGL()->ensureExtensionEnabled("GL_ANGLE_instanced_arrays"_s);
}

ANGLEInstancedArrays::~ANGLEInstancedArrays() = default;

WebGLExtension::ExtensionName ANGLEInstancedArrays::getName() const
{
return ANGLEInstancedArraysName;
}

bool ANGLEInstancedArrays::supported(GraphicsContextGL& context)
{
return context.supportsExtension("GL_ANGLE_instanced_arrays"_s);
Expand Down
6 changes: 2 additions & 4 deletions Source/WebCore/html/canvas/ANGLEInstancedArrays.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,11 @@

namespace WebCore {

class ANGLEInstancedArrays final : public WebGLExtension {
class ANGLEInstancedArrays final : public RefCounted<ANGLEInstancedArrays>, public WebGLExtension {
WTF_MAKE_ISO_ALLOCATED(ANGLEInstancedArrays);
public:
explicit ANGLEInstancedArrays(WebGLRenderingContextBase&);
virtual ~ANGLEInstancedArrays();

ExtensionName getName() const override;
~ANGLEInstancedArrays();

static bool supported(GraphicsContextGL&);

Expand Down
7 changes: 1 addition & 6 deletions Source/WebCore/html/canvas/EXTBlendMinMax.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,13 @@ namespace WebCore {
WTF_MAKE_ISO_ALLOCATED_IMPL(EXTBlendMinMax);

EXTBlendMinMax::EXTBlendMinMax(WebGLRenderingContextBase& context)
: WebGLExtension(context)
: WebGLExtension(context, EXTBlendMinMaxName)
{
context.graphicsContextGL()->ensureExtensionEnabled("GL_EXT_blend_minmax"_s);
}

EXTBlendMinMax::~EXTBlendMinMax() = default;

WebGLExtension::ExtensionName EXTBlendMinMax::getName() const
{
return EXTBlendMinMaxName;
}

bool EXTBlendMinMax::supported(GraphicsContextGL& context)
{
return context.supportsExtension("GL_EXT_blend_minmax"_s);
Expand Down
6 changes: 2 additions & 4 deletions Source/WebCore/html/canvas/EXTBlendMinMax.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,11 @@

namespace WebCore {

class EXTBlendMinMax final : public WebGLExtension {
class EXTBlendMinMax final : public RefCounted<EXTBlendMinMax>, public WebGLExtension {
WTF_MAKE_ISO_ALLOCATED(EXTBlendMinMax);
public:
explicit EXTBlendMinMax(WebGLRenderingContextBase&);
virtual ~EXTBlendMinMax();

ExtensionName getName() const override;
~EXTBlendMinMax();

static bool supported(GraphicsContextGL&);
};
Expand Down
7 changes: 1 addition & 6 deletions Source/WebCore/html/canvas/EXTClipControl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,13 @@ namespace WebCore {
WTF_MAKE_ISO_ALLOCATED_IMPL(EXTClipControl);

EXTClipControl::EXTClipControl(WebGLRenderingContextBase& context)
: WebGLExtension(context)
: WebGLExtension(context, EXTClipControlName)
{
context.graphicsContextGL()->ensureExtensionEnabled("GL_EXT_clip_control"_s);
}

EXTClipControl::~EXTClipControl() = default;

WebGLExtension::ExtensionName EXTClipControl::getName() const
{
return EXTClipControlName;
}

bool EXTClipControl::supported(GraphicsContextGL& context)
{
return context.supportsExtension("GL_EXT_clip_control"_s);
Expand Down
6 changes: 2 additions & 4 deletions Source/WebCore/html/canvas/EXTClipControl.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,11 @@

namespace WebCore {

class EXTClipControl final : public WebGLExtension {
class EXTClipControl final : public RefCounted<EXTClipControl>, public WebGLExtension {
WTF_MAKE_ISO_ALLOCATED(EXTClipControl);
public:
explicit EXTClipControl(WebGLRenderingContextBase&);
virtual ~EXTClipControl();

ExtensionName getName() const override;
~EXTClipControl();

static bool supported(GraphicsContextGL&);

Expand Down
7 changes: 1 addition & 6 deletions Source/WebCore/html/canvas/EXTColorBufferFloat.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ namespace WebCore {
WTF_MAKE_ISO_ALLOCATED_IMPL(EXTColorBufferFloat);

EXTColorBufferFloat::EXTColorBufferFloat(WebGLRenderingContextBase& context)
: WebGLExtension(context)
: WebGLExtension(context, EXTColorBufferFloatName)
{
context.graphicsContextGL()->ensureExtensionEnabled("GL_EXT_color_buffer_float"_s);

Expand All @@ -47,11 +47,6 @@ EXTColorBufferFloat::EXTColorBufferFloat(WebGLRenderingContextBase& context)

EXTColorBufferFloat::~EXTColorBufferFloat() = default;

WebGLExtension::ExtensionName EXTColorBufferFloat::getName() const
{
return EXTColorBufferFloatName;
}

bool EXTColorBufferFloat::supported(GraphicsContextGL& context)
{
return context.supportsExtension("GL_EXT_color_buffer_float"_s);
Expand Down
6 changes: 2 additions & 4 deletions Source/WebCore/html/canvas/EXTColorBufferFloat.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,11 @@

namespace WebCore {

class EXTColorBufferFloat final : public WebGLExtension {
class EXTColorBufferFloat final : public RefCounted<EXTColorBufferFloat>, public WebGLExtension {
WTF_MAKE_ISO_ALLOCATED(EXTColorBufferFloat);
public:
explicit EXTColorBufferFloat(WebGLRenderingContextBase&);
virtual ~EXTColorBufferFloat();

ExtensionName getName() const override;
~EXTColorBufferFloat();

static bool supported(GraphicsContextGL&);
};
Expand Down
7 changes: 1 addition & 6 deletions Source/WebCore/html/canvas/EXTColorBufferHalfFloat.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,13 @@ namespace WebCore {
WTF_MAKE_ISO_ALLOCATED_IMPL(EXTColorBufferHalfFloat);

EXTColorBufferHalfFloat::EXTColorBufferHalfFloat(WebGLRenderingContextBase& context)
: WebGLExtension(context)
: WebGLExtension(context, EXTColorBufferHalfFloatName)
{
context.graphicsContextGL()->ensureExtensionEnabled("GL_EXT_color_buffer_half_float"_s);
}

EXTColorBufferHalfFloat::~EXTColorBufferHalfFloat() = default;

WebGLExtension::ExtensionName EXTColorBufferHalfFloat::getName() const
{
return EXTColorBufferHalfFloatName;
}

bool EXTColorBufferHalfFloat::supported(GraphicsContextGL& context)
{
return context.supportsExtension("GL_OES_texture_half_float"_s)
Expand Down
6 changes: 2 additions & 4 deletions Source/WebCore/html/canvas/EXTColorBufferHalfFloat.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,11 @@

namespace WebCore {

class EXTColorBufferHalfFloat final : public WebGLExtension {
class EXTColorBufferHalfFloat final : public RefCounted<EXTColorBufferHalfFloat>, public WebGLExtension {
WTF_MAKE_ISO_ALLOCATED(EXTColorBufferHalfFloat);
public:
explicit EXTColorBufferHalfFloat(WebGLRenderingContextBase&);
virtual ~EXTColorBufferHalfFloat();

ExtensionName getName() const override;
~EXTColorBufferHalfFloat();

static bool supported(GraphicsContextGL&);
};
Expand Down
7 changes: 1 addition & 6 deletions Source/WebCore/html/canvas/EXTConservativeDepth.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,13 @@ namespace WebCore {
WTF_MAKE_ISO_ALLOCATED_IMPL(EXTConservativeDepth);

EXTConservativeDepth::EXTConservativeDepth(WebGLRenderingContextBase& context)
: WebGLExtension(context)
: WebGLExtension(context, EXTConservativeDepthName)
{
context.graphicsContextGL()->ensureExtensionEnabled("GL_EXT_conservative_depth"_s);
}

EXTConservativeDepth::~EXTConservativeDepth() = default;

WebGLExtension::ExtensionName EXTConservativeDepth::getName() const
{
return EXTConservativeDepthName;
}

bool EXTConservativeDepth::supported(GraphicsContextGL& context)
{
return context.supportsExtension("GL_EXT_conservative_depth"_s);
Expand Down
6 changes: 2 additions & 4 deletions Source/WebCore/html/canvas/EXTConservativeDepth.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,11 @@

namespace WebCore {

class EXTConservativeDepth final : public WebGLExtension {
class EXTConservativeDepth final : public RefCounted<EXTConservativeDepth>, public WebGLExtension {
WTF_MAKE_ISO_ALLOCATED(EXTConservativeDepth);
public:
explicit EXTConservativeDepth(WebGLRenderingContextBase&);
virtual ~EXTConservativeDepth();

ExtensionName getName() const override;
~EXTConservativeDepth();

static bool supported(GraphicsContextGL&);
};
Expand Down
7 changes: 1 addition & 6 deletions Source/WebCore/html/canvas/EXTDepthClamp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,13 @@ namespace WebCore {
WTF_MAKE_ISO_ALLOCATED_IMPL(EXTDepthClamp);

EXTDepthClamp::EXTDepthClamp(WebGLRenderingContextBase& context)
: WebGLExtension(context)
: WebGLExtension(context, EXTDepthClampName)
{
context.graphicsContextGL()->ensureExtensionEnabled("GL_EXT_depth_clamp"_s);
}

EXTDepthClamp::~EXTDepthClamp() = default;

WebGLExtension::ExtensionName EXTDepthClamp::getName() const
{
return EXTDepthClampName;
}

bool EXTDepthClamp::supported(GraphicsContextGL& context)
{
return context.supportsExtension("GL_EXT_depth_clamp"_s);
Expand Down
6 changes: 2 additions & 4 deletions Source/WebCore/html/canvas/EXTDepthClamp.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,11 @@

namespace WebCore {

class EXTDepthClamp final : public WebGLExtension {
class EXTDepthClamp final : public RefCounted<EXTDepthClamp>, public WebGLExtension {
WTF_MAKE_ISO_ALLOCATED(EXTDepthClamp);
public:
explicit EXTDepthClamp(WebGLRenderingContextBase&);
virtual ~EXTDepthClamp();

ExtensionName getName() const override;
~EXTDepthClamp();

static bool supported(GraphicsContextGL&);
};
Expand Down
7 changes: 1 addition & 6 deletions Source/WebCore/html/canvas/EXTDisjointTimerQuery.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,18 +41,13 @@ namespace WebCore {
WTF_MAKE_ISO_ALLOCATED_IMPL(EXTDisjointTimerQuery);

EXTDisjointTimerQuery::EXTDisjointTimerQuery(WebGLRenderingContextBase& context)
: WebGLExtension(context)
: WebGLExtension(context, EXTDisjointTimerQueryName)
{
context.graphicsContextGL()->ensureExtensionEnabled("GL_EXT_disjoint_timer_query"_s);
}

EXTDisjointTimerQuery::~EXTDisjointTimerQuery() = default;

WebGLExtension::ExtensionName EXTDisjointTimerQuery::getName() const
{
return EXTDisjointTimerQueryName;
}

bool EXTDisjointTimerQuery::supported(GraphicsContextGL& context)
{
return context.supportsExtension("GL_EXT_disjoint_timer_query"_s);
Expand Down
6 changes: 2 additions & 4 deletions Source/WebCore/html/canvas/EXTDisjointTimerQuery.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,11 @@

namespace WebCore {

class EXTDisjointTimerQuery final : public WebGLExtension {
class EXTDisjointTimerQuery final : public RefCounted<EXTDisjointTimerQuery>, public WebGLExtension {
WTF_MAKE_ISO_ALLOCATED(EXTDisjointTimerQuery);
public:
explicit EXTDisjointTimerQuery(WebGLRenderingContextBase&);
virtual ~EXTDisjointTimerQuery();

ExtensionName getName() const override;
~EXTDisjointTimerQuery();

static bool supported(GraphicsContextGL&);

Expand Down
7 changes: 1 addition & 6 deletions Source/WebCore/html/canvas/EXTDisjointTimerQueryWebGL2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,18 +38,13 @@ namespace WebCore {
WTF_MAKE_ISO_ALLOCATED_IMPL(EXTDisjointTimerQueryWebGL2);

EXTDisjointTimerQueryWebGL2::EXTDisjointTimerQueryWebGL2(WebGLRenderingContextBase& context)
: WebGLExtension(context)
: WebGLExtension(context, EXTDisjointTimerQueryWebGL2Name)
{
context.graphicsContextGL()->ensureExtensionEnabled("GL_EXT_disjoint_timer_query"_s);
}

EXTDisjointTimerQueryWebGL2::~EXTDisjointTimerQueryWebGL2() = default;

WebGLExtension::ExtensionName EXTDisjointTimerQueryWebGL2::getName() const
{
return EXTDisjointTimerQueryWebGL2Name;
}

bool EXTDisjointTimerQueryWebGL2::supported(GraphicsContextGL& context)
{
return context.supportsExtension("GL_EXT_disjoint_timer_query"_s);
Expand Down
6 changes: 2 additions & 4 deletions Source/WebCore/html/canvas/EXTDisjointTimerQueryWebGL2.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,11 @@

namespace WebCore {

class EXTDisjointTimerQueryWebGL2 final : public WebGLExtension {
class EXTDisjointTimerQueryWebGL2 final : public RefCounted<EXTDisjointTimerQueryWebGL2>, public WebGLExtension {
WTF_MAKE_ISO_ALLOCATED(EXTDisjointTimerQueryWebGL2);
public:
explicit EXTDisjointTimerQueryWebGL2(WebGLRenderingContextBase&);
virtual ~EXTDisjointTimerQueryWebGL2();

ExtensionName getName() const override;
~EXTDisjointTimerQueryWebGL2();

static bool supported(GraphicsContextGL&);

Expand Down
7 changes: 1 addition & 6 deletions Source/WebCore/html/canvas/EXTFloatBlend.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,18 +35,13 @@ namespace WebCore {
WTF_MAKE_ISO_ALLOCATED_IMPL(EXTFloatBlend);

EXTFloatBlend::EXTFloatBlend(WebGLRenderingContextBase& context)
: WebGLExtension(context)
: WebGLExtension(context, EXTFloatBlendName)
{
context.graphicsContextGL()->ensureExtensionEnabled("GL_EXT_float_blend"_s);
}

EXTFloatBlend::~EXTFloatBlend() = default;

WebGLExtension::ExtensionName EXTFloatBlend::getName() const
{
return EXTFloatBlendName;
}

bool EXTFloatBlend::supported(GraphicsContextGL& context)
{
return context.supportsExtension("GL_EXT_float_blend"_s);
Expand Down
Loading

0 comments on commit 803da12

Please sign in to comment.