summaryrefslogtreecommitdiff
path: root/Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp')
-rw-r--r--Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp31
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