diff options
Diffstat (limited to 'Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp')
-rw-r--r-- | Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp b/Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp index a0e573a5f..aed7da6a9 100644 --- a/Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp +++ b/Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp @@ -28,9 +28,13 @@ #if ENABLE(WEBGL) #include "ANGLEInstancedArrays.h" +#if PLATFORM(GTK) +#include "Extensions3D.h" +#endif + namespace WebCore { -ANGLEInstancedArrays::ANGLEInstancedArrays(WebGLRenderingContext* context) +ANGLEInstancedArrays::ANGLEInstancedArrays(WebGLRenderingContextBase& context) : WebGLExtension(context) { } @@ -44,39 +48,38 @@ WebGLExtension::ExtensionName ANGLEInstancedArrays::getName() const return ANGLEInstancedArraysName; } -OwnPtr<ANGLEInstancedArrays> ANGLEInstancedArrays::create(WebGLRenderingContext* context) -{ - return adoptPtr(new ANGLEInstancedArrays(context)); -} - -bool ANGLEInstancedArrays::supported(WebGLRenderingContext*) +bool ANGLEInstancedArrays::supported(WebGLRenderingContextBase& context) { -#if PLATFORM(IOS) || PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 +#if PLATFORM(COCOA) + UNUSED_PARAM(context); return true; +#elif PLATFORM(GTK) + return context.graphicsContext3D()->getExtensions().supports("GL_ANGLE_instanced_arrays"); #else + UNUSED_PARAM(context); return false; #endif } void ANGLEInstancedArrays::drawArraysInstancedANGLE(GC3Denum mode, GC3Dint first, GC3Dsizei count, GC3Dsizei primcount) { - if (m_context->isContextLost()) + if (m_context.isContextLost()) return; - m_context->drawArraysInstanced(mode, first, count, primcount); + m_context.drawArraysInstanced(mode, first, count, primcount); } void ANGLEInstancedArrays::drawElementsInstancedANGLE(GC3Denum mode, GC3Dsizei count, GC3Denum type, long long offset, GC3Dsizei primcount) { - if (m_context->isContextLost()) + if (m_context.isContextLost()) return; - m_context->drawElementsInstanced(mode, count, type, offset, primcount); + m_context.drawElementsInstanced(mode, count, type, offset, primcount); } void ANGLEInstancedArrays::vertexAttribDivisorANGLE(GC3Duint index, GC3Duint divisor) { - if (m_context->isContextLost()) + if (m_context.isContextLost()) return; - m_context->vertexAttribDivisor(index, divisor); + m_context.vertexAttribDivisor(index, divisor); } } // namespace WebCore |