diff options
author | Russell Brenner <russellbrenner@google.com> | 2010-11-18 17:33:13 -0800 |
---|---|---|
committer | Russell Brenner <russellbrenner@google.com> | 2010-12-02 13:47:21 -0800 |
commit | 6b70adc33054f8aee8c54d0f460458a9df11b8a5 (patch) | |
tree | 103a13998c33944d6ab3b8318c509a037e639460 /WebCore/platform/graphics/gpu/DrawingBuffer.h | |
parent | bdf4ebc8e70b2d221b6ee7a65660918ecb1d33aa (diff) | |
download | external_webkit-6b70adc33054f8aee8c54d0f460458a9df11b8a5.zip external_webkit-6b70adc33054f8aee8c54d0f460458a9df11b8a5.tar.gz external_webkit-6b70adc33054f8aee8c54d0f460458a9df11b8a5.tar.bz2 |
Merge WebKit at r72274: Initial merge by git.
Change-Id: Ie51f0b4a16da82942bd516dce59cfb79ebbe25fb
Diffstat (limited to 'WebCore/platform/graphics/gpu/DrawingBuffer.h')
-rw-r--r-- | WebCore/platform/graphics/gpu/DrawingBuffer.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/WebCore/platform/graphics/gpu/DrawingBuffer.h b/WebCore/platform/graphics/gpu/DrawingBuffer.h index 75c7f99..9f79889 100644 --- a/WebCore/platform/graphics/gpu/DrawingBuffer.h +++ b/WebCore/platform/graphics/gpu/DrawingBuffer.h @@ -64,13 +64,18 @@ public: // to prevent invalid accesses to the resources. void clear(); + // Copies the multisample color buffer to the normal color buffer and leaves m_fbo bound + void commit(long x = 0, long y = 0, long width = -1, long height = -1); + + bool multisample() const { return m_context && m_context->getContextAttributes().antialias && m_multisampleExtensionSupported; } + + Platform3DObject platformColorBuffer() const; + #if USE(ACCELERATED_COMPOSITING) PlatformLayer* platformLayer(); void publishToPlatformLayer(); #endif - unsigned getRenderingResultsAsTexture(); - #if PLATFORM(CHROMIUM) class WillPublishCallback : public Noncopyable { public: @@ -88,11 +93,22 @@ private: static PassRefPtr<DrawingBuffer> create(GraphicsContext3D*, const IntSize&); DrawingBuffer(GraphicsContext3D*, const IntSize&); + + // Platform specific function called after reset() so each platform can do extra work if needed + void didReset(); RefPtr<GraphicsContext3D> m_context; IntSize m_size; + bool m_multisampleExtensionSupported; Platform3DObject m_fbo; + Platform3DObject m_colorBuffer; + Platform3DObject m_depthStencilBuffer; + // For multisampling + Platform3DObject m_multisampleFBO; + Platform3DObject m_multisampleColorBuffer; + Platform3DObject m_multisampleDepthStencilBuffer; + #if PLATFORM(CHROMIUM) OwnPtr<WillPublishCallback> m_callback; OwnPtr<DrawingBufferInternal> m_internal; |