ExtensionsGLOpenGL.h [plain text]
#pragma once
#include "ExtensionsGLOpenGLCommon.h"
#include "GraphicsContextGLOpenGL.h"
#include <wtf/text/StringHash.h>
namespace WebCore {
class ExtensionsGLOpenGL : public ExtensionsGLOpenGLCommon {
WTF_MAKE_FAST_ALLOCATED;
public:
ExtensionsGLOpenGL(GraphicsContextGLOpenGL*, bool useIndexedGetString);
virtual ~ExtensionsGLOpenGL();
void blitFramebufferANGLE(GCGLint srcX0, GCGLint srcY0, GCGLint srcX1, GCGLint srcY1, GCGLint dstX0, GCGLint dstY0, GCGLint dstX1, GCGLint dstY1, GCGLbitfield mask, GCGLenum filter) override;
void renderbufferStorageMultisampleANGLE(GCGLenum target, GCGLsizei samples, GCGLenum internalformat, GCGLsizei width, GCGLsizei height) override;
PlatformGLObject createVertexArrayOES() override;
void deleteVertexArrayOES(PlatformGLObject) override;
GCGLboolean isVertexArrayOES(PlatformGLObject) override;
void bindVertexArrayOES(PlatformGLObject) override;
void insertEventMarkerEXT(const String&) override;
void pushGroupMarkerEXT(const String&) override;
void popGroupMarkerEXT(void) override;
void drawBuffersEXT(GCGLSpan<const GCGLenum>) override;
void drawArraysInstancedANGLE(GCGLenum mode, GCGLint first, GCGLsizei count, GCGLsizei primcount) override;
void drawElementsInstancedANGLE(GCGLenum mode, GCGLsizei count, GCGLenum type, GCGLvoidptr offset, GCGLsizei primcount) override;
void vertexAttribDivisorANGLE(GCGLuint index, GCGLuint divisor) override;
protected:
bool supportsExtension(const WTF::String&) override;
String getExtensions() override;
private:
#if PLATFORM(GTK) || PLATFORM(WIN)
bool isVertexArrayObjectSupported();
#endif
};
}