Index: cc/debug/test_web_graphics_context_3d.h |
diff --git a/cc/debug/test_web_graphics_context_3d.h b/cc/debug/test_web_graphics_context_3d.h |
deleted file mode 100644 |
index 48ee70fac1f48701687a1718765eaa3d613a6574..0000000000000000000000000000000000000000 |
--- a/cc/debug/test_web_graphics_context_3d.h |
+++ /dev/null |
@@ -1,323 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef CC_DEBUG_TEST_WEB_GRAPHICS_CONTEXT_3D_H_ |
-#define CC_DEBUG_TEST_WEB_GRAPHICS_CONTEXT_3D_H_ |
- |
-#include <vector> |
- |
-#include "base/compiler_specific.h" |
-#include "base/containers/hash_tables.h" |
-#include "base/containers/scoped_ptr_hash_map.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/stl_util.h" |
-#include "base/synchronization/lock.h" |
-#include "cc/base/cc_export.h" |
-#include "cc/debug/fake_web_graphics_context_3d.h" |
-#include "cc/debug/ordered_texture_map.h" |
-#include "cc/debug/test_texture.h" |
-#include "cc/output/context_provider.h" |
-#include "third_party/khronos/GLES2/gl2.h" |
- |
-namespace cc { |
-class TestContextSupport; |
- |
-class CC_EXPORT TestWebGraphicsContext3D : public FakeWebGraphicsContext3D { |
- public: |
- static scoped_ptr<TestWebGraphicsContext3D> Create(); |
- |
- virtual ~TestWebGraphicsContext3D(); |
- |
- virtual bool makeContextCurrent(); |
- |
- virtual void reshapeWithScaleFactor( |
- int width, int height, float scale_factor); |
- |
- virtual bool isContextLost(); |
- virtual WebKit::WGC3Denum getGraphicsResetStatusARB(); |
- |
- virtual void attachShader(WebKit::WebGLId program, WebKit::WebGLId shader); |
- virtual void bindFramebuffer( |
- WebKit::WGC3Denum target, WebKit::WebGLId framebuffer); |
- virtual void bindRenderbuffer( |
- WebKit::WGC3Denum target, WebKit::WebGLId renderbuffer); |
- virtual void bindTexture( |
- WebKit::WGC3Denum target, |
- WebKit::WebGLId texture_id); |
- |
- virtual WebKit::WGC3Denum checkFramebufferStatus(WebKit::WGC3Denum target); |
- |
- virtual Attributes getContextAttributes(); |
- |
- virtual WebKit::WebString getString(WebKit::WGC3Denum name); |
- virtual WebKit::WGC3Dint getUniformLocation( |
- WebKit::WebGLId program, |
- const WebKit::WGC3Dchar* name); |
- virtual WebKit::WGC3Dsizeiptr getVertexAttribOffset( |
- WebKit::WGC3Duint index, |
- WebKit::WGC3Denum pname); |
- |
- virtual WebKit::WGC3Dboolean isBuffer(WebKit::WebGLId buffer); |
- virtual WebKit::WGC3Dboolean isEnabled(WebKit::WGC3Denum cap); |
- virtual WebKit::WGC3Dboolean isFramebuffer(WebKit::WebGLId framebuffer); |
- virtual WebKit::WGC3Dboolean isProgram(WebKit::WebGLId program); |
- virtual WebKit::WGC3Dboolean isRenderbuffer(WebKit::WebGLId renderbuffer); |
- virtual WebKit::WGC3Dboolean isShader(WebKit::WebGLId shader); |
- virtual WebKit::WGC3Dboolean isTexture(WebKit::WebGLId texture); |
- |
- virtual void useProgram(WebKit::WebGLId program); |
- |
- virtual void genBuffers(WebKit::WGC3Dsizei count, WebKit::WebGLId* ids); |
- virtual void genFramebuffers(WebKit::WGC3Dsizei count, WebKit::WebGLId* ids); |
- virtual void genRenderbuffers(WebKit::WGC3Dsizei count, WebKit::WebGLId* ids); |
- virtual void genTextures(WebKit::WGC3Dsizei count, WebKit::WebGLId* ids); |
- |
- virtual void deleteBuffers(WebKit::WGC3Dsizei count, WebKit::WebGLId* ids); |
- virtual void deleteFramebuffers( |
- WebKit::WGC3Dsizei count, WebKit::WebGLId* ids); |
- virtual void deleteRenderbuffers( |
- WebKit::WGC3Dsizei count, WebKit::WebGLId* ids); |
- virtual void deleteTextures(WebKit::WGC3Dsizei count, WebKit::WebGLId* ids); |
- |
- virtual WebKit::WebGLId createBuffer(); |
- virtual WebKit::WebGLId createFramebuffer(); |
- virtual WebKit::WebGLId createRenderbuffer(); |
- virtual WebKit::WebGLId createTexture(); |
- |
- virtual void deleteBuffer(WebKit::WebGLId id); |
- virtual void deleteFramebuffer(WebKit::WebGLId id); |
- virtual void deleteRenderbuffer(WebKit::WebGLId id); |
- virtual void deleteTexture(WebKit::WebGLId id); |
- |
- virtual WebKit::WebGLId createProgram(); |
- virtual WebKit::WebGLId createShader(WebKit::WGC3Denum); |
- virtual WebKit::WebGLId createExternalTexture(); |
- |
- virtual void deleteProgram(WebKit::WebGLId id); |
- virtual void deleteShader(WebKit::WebGLId id); |
- |
- virtual void endQueryEXT(WebKit::WGC3Denum target); |
- virtual void getQueryObjectuivEXT( |
- WebKit::WebGLId query, |
- WebKit::WGC3Denum pname, |
- WebKit::WGC3Duint* params); |
- |
- virtual void getIntegerv( |
- WebKit::WGC3Denum pname, |
- WebKit::WGC3Dint* value); |
- |
- virtual void genMailboxCHROMIUM(WebKit::WGC3Dbyte* mailbox); |
- virtual void produceTextureCHROMIUM(WebKit::WGC3Denum target, |
- const WebKit::WGC3Dbyte* mailbox) { } |
- virtual void consumeTextureCHROMIUM(WebKit::WGC3Denum target, |
- const WebKit::WGC3Dbyte* mailbox) { } |
- |
- virtual void setContextLostCallback( |
- WebGraphicsContextLostCallback* callback); |
- |
- virtual void loseContextCHROMIUM(WebKit::WGC3Denum current, |
- WebKit::WGC3Denum other); |
- |
- virtual void setSwapBuffersCompleteCallbackCHROMIUM( |
- WebGraphicsSwapBuffersCompleteCallbackCHROMIUM* callback); |
- |
- virtual void prepareTexture(); |
- virtual void finish(); |
- virtual void flush(); |
- |
- virtual void bindBuffer(WebKit::WGC3Denum target, WebKit::WebGLId buffer); |
- virtual void bufferData(WebKit::WGC3Denum target, |
- WebKit::WGC3Dsizeiptr size, |
- const void* data, |
- WebKit::WGC3Denum usage); |
- virtual void* mapBufferCHROMIUM(WebKit::WGC3Denum target, |
- WebKit::WGC3Denum access); |
- virtual WebKit::WGC3Dboolean unmapBufferCHROMIUM(WebKit::WGC3Denum target); |
- |
- virtual WebKit::WGC3Duint createImageCHROMIUM( |
- WebKit::WGC3Dsizei width, |
- WebKit::WGC3Dsizei height, |
- WebKit::WGC3Denum internalformat); |
- virtual void destroyImageCHROMIUM(WebKit::WGC3Duint image_id); |
- virtual void getImageParameterivCHROMIUM( |
- WebKit::WGC3Duint image_id, |
- WebKit::WGC3Denum pname, |
- WebKit::WGC3Dint* params); |
- virtual void* mapImageCHROMIUM( |
- WebKit::WGC3Duint image_id, |
- WebKit::WGC3Denum access); |
- virtual void unmapImageCHROMIUM(WebKit::WGC3Duint image_id); |
- |
- const ContextProvider::Capabilities& test_capabilities() const { |
- return test_capabilities_; |
- } |
- |
- // When set, MakeCurrent() will fail after this many times. |
- void set_times_make_current_succeeds(int times) { |
- times_make_current_succeeds_ = times; |
- } |
- void set_times_bind_texture_succeeds(int times) { |
- times_bind_texture_succeeds_ = times; |
- } |
- void set_times_end_query_succeeds(int times) { |
- times_end_query_succeeds_ = times; |
- } |
- void set_times_gen_mailbox_succeeds(int times) { |
- times_gen_mailbox_succeeds_ = times; |
- } |
- |
- // When set, mapImageCHROMIUM and mapBufferCHROMIUM will return NULL after |
- // this many times. |
- void set_times_map_image_chromium_succeeds(int times) { |
- times_map_image_chromium_succeeds_ = times; |
- } |
- void set_times_map_buffer_chromium_succeeds(int times) { |
- times_map_buffer_chromium_succeeds_ = times; |
- } |
- |
- size_t NumTextures() const; |
- WebKit::WebGLId TextureAt(int i) const; |
- |
- size_t NumUsedTextures() const { return used_textures_.size(); } |
- bool UsedTexture(int texture) const { |
- return ContainsKey(used_textures_, texture); |
- } |
- void ResetUsedTextures() { used_textures_.clear(); } |
- |
- void set_support_swapbuffers_complete_callback(bool support) { |
- test_capabilities_.swapbuffers_complete_callback = support; |
- } |
- void set_have_extension_io_surface(bool have) { |
- test_capabilities_.iosurface = have; |
- test_capabilities_.texture_rectangle = have; |
- } |
- void set_have_extension_egl_image(bool have) { |
- test_capabilities_.egl_image_external = have; |
- } |
- void set_have_post_sub_buffer(bool have) { |
- test_capabilities_.post_sub_buffer = have; |
- } |
- void set_have_discard_framebuffer(bool have) { |
- test_capabilities_.discard_framebuffer = have; |
- } |
- void set_support_compressed_texture_etc1(bool support) { |
- test_capabilities_.texture_format_etc1 = support; |
- } |
- |
- // When this context is lost, all contexts in its share group are also lost. |
- void add_share_group_context(WebKit::WebGraphicsContext3D* context3d) { |
- shared_contexts_.push_back(context3d); |
- } |
- |
- void set_max_texture_size(int size) { max_texture_size_ = size; } |
- |
- static const WebKit::WebGLId kExternalTextureId; |
- virtual WebKit::WebGLId NextTextureId(); |
- |
- virtual WebKit::WebGLId NextBufferId(); |
- |
- virtual WebKit::WebGLId NextImageId(); |
- |
- size_t GetTransferBufferMemoryUsedBytes() const; |
- void SetMaxTransferBufferUsageBytes(size_t max_transfer_buffer_usage_bytes); |
- |
- void set_test_support(TestContextSupport* test_support) { |
- test_support_ = test_support; |
- } |
- |
- protected: |
- struct TextureTargets { |
- TextureTargets(); |
- ~TextureTargets(); |
- |
- void BindTexture(WebKit::WGC3Denum target, WebKit::WebGLId id); |
- void UnbindTexture(WebKit::WebGLId id); |
- |
- WebKit::WebGLId BoundTexture(WebKit::WGC3Denum target); |
- |
- private: |
- typedef base::hash_map<WebKit::WGC3Denum, WebKit::WebGLId> TargetTextureMap; |
- TargetTextureMap bound_textures_; |
- }; |
- |
- struct Buffer { |
- Buffer(); |
- ~Buffer(); |
- |
- WebKit::WGC3Denum target; |
- scoped_ptr<uint8[]> pixels; |
- size_t size; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(Buffer); |
- }; |
- |
- struct Image { |
- Image(); |
- ~Image(); |
- |
- scoped_ptr<uint8[]> pixels; |
- |
- private: |
- DISALLOW_COPY_AND_ASSIGN(Image); |
- }; |
- |
- struct Namespace : public base::RefCountedThreadSafe<Namespace> { |
- Namespace(); |
- |
- // Protects all fields. |
- base::Lock lock; |
- unsigned next_buffer_id; |
- unsigned next_image_id; |
- unsigned next_texture_id; |
- base::ScopedPtrHashMap<unsigned, Buffer> buffers; |
- base::ScopedPtrHashMap<unsigned, Image> images; |
- OrderedTextureMap textures; |
- |
- private: |
- friend class base::RefCountedThreadSafe<Namespace>; |
- ~Namespace(); |
- DISALLOW_COPY_AND_ASSIGN(Namespace); |
- }; |
- |
- TestWebGraphicsContext3D(); |
- |
- void CallAllSyncPointCallbacks(); |
- void SwapBuffersComplete(); |
- void CreateNamespace(); |
- WebKit::WebGLId BoundTextureId(WebKit::WGC3Denum target); |
- |
- unsigned context_id_; |
- Attributes attributes_; |
- ContextProvider::Capabilities test_capabilities_; |
- int times_make_current_succeeds_; |
- int times_bind_texture_succeeds_; |
- int times_end_query_succeeds_; |
- int times_gen_mailbox_succeeds_; |
- bool context_lost_; |
- int times_map_image_chromium_succeeds_; |
- int times_map_buffer_chromium_succeeds_; |
- WebGraphicsContextLostCallback* context_lost_callback_; |
- WebGraphicsSwapBuffersCompleteCallbackCHROMIUM* swap_buffers_callback_; |
- base::hash_set<WebKit::WebGLId> used_textures_; |
- std::vector<WebKit::WebGraphicsContext3D*> shared_contexts_; |
- int max_texture_size_; |
- int width_; |
- int height_; |
- TestContextSupport* test_support_; |
- |
- unsigned bound_buffer_; |
- TextureTargets texture_targets_; |
- |
- scoped_refptr<Namespace> namespace_; |
- static Namespace* shared_namespace_; |
- |
- base::WeakPtrFactory<TestWebGraphicsContext3D> weak_ptr_factory_; |
-}; |
- |
-} // namespace cc |
- |
-#endif // CC_DEBUG_TEST_WEB_GRAPHICS_CONTEXT_3D_H_ |