diff options
author | Ben Murdoch <benm@google.com> | 2011-05-24 11:24:40 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-06-02 09:53:15 +0100 |
commit | 81bc750723a18f21cd17d1b173cd2a4dda9cea6e (patch) | |
tree | 7a9e5ed86ff429fd347a25153107221543909b19 /Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.h | |
parent | 94088a6d336c1dd80a1e734af51e96abcbb689a7 (diff) | |
download | external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.zip external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.gz external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.bz2 |
Merge WebKit at r80534: Intial merge by Git
Change-Id: Ia7a83357124c9e1cdb1debf55d9661ec0bd09a61
Diffstat (limited to 'Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.h')
-rw-r--r-- | Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.h b/Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.h index 1e032d7..707fd24 100644 --- a/Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.h +++ b/Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.h @@ -49,6 +49,7 @@ class Color; class FloatRect; class HostWindow; class IntSize; +class LoopBlinnSolidFillShader; class SolidFillShader; class TexShader; @@ -61,9 +62,13 @@ public: // Functions that delegate directly to GraphicsContext3D, with caching void makeContextCurrent(); + void bindBuffer(GC3Denum target, Platform3DObject); void bindFramebuffer(Platform3DObject framebuffer); + void bufferData(GC3Denum target, GC3Dsizeiptr, GC3Denum usage); + void bufferData(GC3Denum target, GC3Dsizeiptr, const void* data, GC3Denum usage); + void bufferSubData(GC3Denum target, GC3Dintptr offset, GC3Dsizeiptr, const void* data); void setViewport(const IntSize&); - void scissor(const FloatRect&); + void scissor(GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height); void enable(GC3Denum capacity); void disable(GC3Denum capacity); void clearColor(const Color&); @@ -73,6 +78,7 @@ public: void getIntegerv(GC3Denum pname, GC3Dint* value); void flush(); + Platform3DObject createBuffer(); Platform3DObject createFramebuffer(); Platform3DObject createTexture(); @@ -117,6 +123,11 @@ public: GraphicsContext3D* graphicsContext3D() const { return m_context.get(); } + // Members for GPU-accelerated path rendering. + static bool useLoopBlinnForPathRendering(); + void useLoopBlinnInteriorProgram(unsigned vertexOffset, const AffineTransform&, const Color&); + void useLoopBlinnExteriorProgram(unsigned vertexOffset, unsigned klmOffset, const AffineTransform&, const Color&); + private: SharedGraphicsContext3D(PassRefPtr<GraphicsContext3D>, PassOwnPtr<SolidFillShader>, PassOwnPtr<TexShader>); @@ -133,6 +144,12 @@ private: OwnPtr<TexShader> m_texShader; TextureHashMap m_textures; + + // Members for GPU-accelerated path rendering. + // FIXME: support more kinds of fill types for paths. + OwnPtr<LoopBlinnSolidFillShader> m_loopBlinnInteriorShader; + OwnPtr<LoopBlinnSolidFillShader> m_loopBlinnExteriorShader; + bool m_oesStandardDerivativesSupported; }; } // namespace WebCore |