Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(393)

Side by Side Diff: cc/test/fake_web_graphics_context_3d.h

Issue 11662003: cc: Put context-loss tests in layer_tree_host_unittest_context.cc (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 80cols Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/test/fake_video_frame_provider.cc ('k') | cc/test/fake_web_graphics_context_3d.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_TEST_FAKE_WEB_GRAPHICS_CONTEXT_3D_H_ 5 #ifndef CC_TEST_FAKE_WEB_GRAPHICS_CONTEXT_3D_H_
6 #define CC_TEST_FAKE_WEB_GRAPHICS_CONTEXT_3D_H_ 6 #define CC_TEST_FAKE_WEB_GRAPHICS_CONTEXT_3D_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/hash_tables.h" 10 #include "base/hash_tables.h"
(...skipping 15 matching lines...) Expand all
26 const WebKit::WebGraphicsContext3D::Attributes& attributes) { 26 const WebKit::WebGraphicsContext3D::Attributes& attributes) {
27 return make_scoped_ptr(new FakeWebGraphicsContext3D(attributes)); 27 return make_scoped_ptr(new FakeWebGraphicsContext3D(attributes));
28 } 28 }
29 virtual ~FakeWebGraphicsContext3D(); 29 virtual ~FakeWebGraphicsContext3D();
30 30
31 virtual bool makeContextCurrent(); 31 virtual bool makeContextCurrent();
32 32
33 virtual int width(); 33 virtual int width();
34 virtual int height(); 34 virtual int height();
35 35
36 virtual void reshape(int width, int height) {} 36 virtual void reshape(int width, int height);
37 37
38 virtual bool isGLES2Compliant(); 38 virtual bool isGLES2Compliant();
39 39
40 virtual bool readBackFramebuffer( 40 virtual bool readBackFramebuffer(
41 unsigned char* pixels, 41 unsigned char* pixels,
42 size_t buffer_size, 42 size_t buffer_size,
43 WebKit::WebGLId framebuffer, 43 WebKit::WebGLId framebuffer,
44 int width, 44 int width,
45 int height); 45 int height);
46 46
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 WebKit::WGC3Dbitfield mask, 96 WebKit::WGC3Dbitfield mask,
97 WebKit::WGC3Denum filter) {} 97 WebKit::WGC3Denum filter) {}
98 virtual void renderbufferStorageMultisampleCHROMIUM( 98 virtual void renderbufferStorageMultisampleCHROMIUM(
99 WebKit::WGC3Denum target, 99 WebKit::WGC3Denum target,
100 WebKit::WGC3Dsizei samples, 100 WebKit::WGC3Dsizei samples,
101 WebKit::WGC3Denum internalformat, 101 WebKit::WGC3Denum internalformat,
102 WebKit::WGC3Dsizei width, 102 WebKit::WGC3Dsizei width,
103 WebKit::WGC3Dsizei height) {} 103 WebKit::WGC3Dsizei height) {}
104 104
105 virtual void activeTexture(WebKit::WGC3Denum texture) {} 105 virtual void activeTexture(WebKit::WGC3Denum texture) {}
106 virtual void attachShader(WebKit::WebGLId program, WebKit::WebGLId shader) {} 106 virtual void attachShader(WebKit::WebGLId program, WebKit::WebGLId shader);
107 virtual void bindAttribLocation( 107 virtual void bindAttribLocation(
108 WebKit::WebGLId program, 108 WebKit::WebGLId program,
109 WebKit::WGC3Duint index, 109 WebKit::WGC3Duint index,
110 const WebKit::WGC3Dchar* name) {} 110 const WebKit::WGC3Dchar* name) {}
111 virtual void bindBuffer(WebKit::WGC3Denum target, WebKit::WebGLId buffer) {} 111 virtual void bindBuffer(WebKit::WGC3Denum target, WebKit::WebGLId buffer);
112 virtual void bindFramebuffer( 112 virtual void bindFramebuffer(
113 WebKit::WGC3Denum target, WebKit::WebGLId framebuffer) {} 113 WebKit::WGC3Denum target, WebKit::WebGLId framebuffer);
114 virtual void bindRenderbuffer( 114 virtual void bindRenderbuffer(
115 WebKit::WGC3Denum target, WebKit::WebGLId renderbuffer) {} 115 WebKit::WGC3Denum target, WebKit::WebGLId renderbuffer);
116 virtual void bindTexture( 116 virtual void bindTexture(
117 WebKit::WGC3Denum target, 117 WebKit::WGC3Denum target,
118 WebKit::WebGLId texture_id); 118 WebKit::WebGLId texture_id);
119 virtual void blendColor( 119 virtual void blendColor(
120 WebKit::WGC3Dclampf red, 120 WebKit::WGC3Dclampf red,
121 WebKit::WGC3Dclampf green, 121 WebKit::WGC3Dclampf green,
122 WebKit::WGC3Dclampf blue, 122 WebKit::WGC3Dclampf blue,
123 WebKit::WGC3Dclampf alpha) {} 123 WebKit::WGC3Dclampf alpha) {}
124 virtual void blendEquation(WebKit::WGC3Denum mode) {} 124 virtual void blendEquation(WebKit::WGC3Denum mode) {}
125 virtual void blendEquationSeparate( 125 virtual void blendEquationSeparate(
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
497 WebKit::WGC3Dint location, 497 WebKit::WGC3Dint location,
498 WebKit::WGC3Dsizei count, 498 WebKit::WGC3Dsizei count,
499 WebKit::WGC3Dboolean transpose, 499 WebKit::WGC3Dboolean transpose,
500 const WebKit::WGC3Dfloat* value) {} 500 const WebKit::WGC3Dfloat* value) {}
501 virtual void uniformMatrix4fv( 501 virtual void uniformMatrix4fv(
502 WebKit::WGC3Dint location, 502 WebKit::WGC3Dint location,
503 WebKit::WGC3Dsizei count, 503 WebKit::WGC3Dsizei count,
504 WebKit::WGC3Dboolean transpose, 504 WebKit::WGC3Dboolean transpose,
505 const WebKit::WGC3Dfloat* value) {} 505 const WebKit::WGC3Dfloat* value) {}
506 506
507 virtual void useProgram(WebKit::WebGLId program) {} 507 virtual void useProgram(WebKit::WebGLId program);
508 virtual void validateProgram(WebKit::WebGLId program) {} 508 virtual void validateProgram(WebKit::WebGLId program) {}
509 509
510 virtual void vertexAttrib1f(WebKit::WGC3Duint index, WebKit::WGC3Dfloat x) {} 510 virtual void vertexAttrib1f(WebKit::WGC3Duint index, WebKit::WGC3Dfloat x) {}
511 virtual void vertexAttrib1fv( 511 virtual void vertexAttrib1fv(
512 WebKit::WGC3Duint index, 512 WebKit::WGC3Duint index,
513 const WebKit::WGC3Dfloat* values) {} 513 const WebKit::WGC3Dfloat* values) {}
514 virtual void vertexAttrib2f( 514 virtual void vertexAttrib2f(
515 WebKit::WGC3Duint index, 515 WebKit::WGC3Duint index,
516 WebKit::WGC3Dfloat x, 516 WebKit::WGC3Dfloat x,
517 WebKit::WGC3Dfloat y) {} 517 WebKit::WGC3Dfloat y) {}
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 WebKit::WGC3Dsizei width, 549 WebKit::WGC3Dsizei width,
550 WebKit::WGC3Dsizei height) {} 550 WebKit::WGC3Dsizei height) {}
551 551
552 virtual WebKit::WebGLId createBuffer(); 552 virtual WebKit::WebGLId createBuffer();
553 virtual WebKit::WebGLId createFramebuffer(); 553 virtual WebKit::WebGLId createFramebuffer();
554 virtual WebKit::WebGLId createProgram(); 554 virtual WebKit::WebGLId createProgram();
555 virtual WebKit::WebGLId createRenderbuffer(); 555 virtual WebKit::WebGLId createRenderbuffer();
556 virtual WebKit::WebGLId createShader(WebKit::WGC3Denum); 556 virtual WebKit::WebGLId createShader(WebKit::WGC3Denum);
557 virtual WebKit::WebGLId createTexture(); 557 virtual WebKit::WebGLId createTexture();
558 558
559 virtual void deleteBuffer(WebKit::WebGLId) {} 559 virtual void deleteBuffer(WebKit::WebGLId id);
560 virtual void deleteFramebuffer(WebKit::WebGLId) {} 560 virtual void deleteFramebuffer(WebKit::WebGLId id);
561 virtual void deleteProgram(WebKit::WebGLId) {} 561 virtual void deleteProgram(WebKit::WebGLId id);
562 virtual void deleteRenderbuffer(WebKit::WebGLId) {} 562 virtual void deleteRenderbuffer(WebKit::WebGLId id);
563 virtual void deleteShader(WebKit::WebGLId) {} 563 virtual void deleteShader(WebKit::WebGLId id);
564 virtual void deleteTexture(WebKit::WebGLId texture_id); 564 virtual void deleteTexture(WebKit::WebGLId texture_id);
565 565
566 virtual void texStorage2DEXT( 566 virtual void texStorage2DEXT(
567 WebKit::WGC3Denum target, 567 WebKit::WGC3Denum target,
568 WebKit::WGC3Dint levels, 568 WebKit::WGC3Dint levels,
569 WebKit::WGC3Duint internalformat, 569 WebKit::WGC3Duint internalformat,
570 WebKit::WGC3Dint width, 570 WebKit::WGC3Dint width,
571 WebKit::WGC3Dint height) {} 571 WebKit::WGC3Dint height) {}
572 572
573 virtual WebKit::WebGLId createQueryEXT(); 573 virtual WebKit::WebGLId createQueryEXT();
574 virtual void deleteQueryEXT(WebKit::WebGLId query) {} 574 virtual void deleteQueryEXT(WebKit::WebGLId query) {}
575 virtual WebKit::WGC3Dboolean isQueryEXT(WebKit::WebGLId query); 575 virtual WebKit::WGC3Dboolean isQueryEXT(WebKit::WebGLId query);
576 virtual void beginQueryEXT( 576 virtual void beginQueryEXT(
577 WebKit::WGC3Denum target, 577 WebKit::WGC3Denum target,
578 WebKit::WebGLId query) {} 578 WebKit::WebGLId query) {}
579 virtual void endQueryEXT(WebKit::WGC3Denum target) {} 579 virtual void endQueryEXT(WebKit::WGC3Denum target);
580 virtual void getQueryivEXT( 580 virtual void getQueryivEXT(
581 WebKit::WGC3Denum target, 581 WebKit::WGC3Denum target,
582 WebKit::WGC3Denum pname, 582 WebKit::WGC3Denum pname,
583 WebKit::WGC3Dint* params) {} 583 WebKit::WGC3Dint* params) {}
584 virtual void getQueryObjectuivEXT( 584 virtual void getQueryObjectuivEXT(
585 WebKit::WebGLId, 585 WebKit::WebGLId query,
586 WebKit::WGC3Denum, 586 WebKit::WGC3Denum pname,
587 WebKit::WGC3Duint*) {} 587 WebKit::WGC3Duint* params);
588 588
589 virtual void SetContextLostCallback( 589 virtual void setContextLostCallback(
590 WebGraphicsContextLostCallback* callback); 590 WebGraphicsContextLostCallback* callback);
591 591
592 virtual void loseContextCHROMIUM(); 592 virtual void loseContextCHROMIUM();
593 593
594 // When set, MakeCurrent() will fail after this many times.
595 void set_times_make_current_succeeds(int times) {
596 times_make_current_succeeds_ = times;
597 }
598 void set_times_bind_texture_succeeds(int times) {
599 times_bind_texture_succeeds_ = times;
600 }
601 void set_times_end_query_succeeds(int times) {
602 times_end_query_succeeds_ = times;
603 }
604
594 size_t NumTextures() const { return textures_.size(); } 605 size_t NumTextures() const { return textures_.size(); }
595 WebKit::WebGLId TextureAt(int i) const { return textures_[i]; } 606 WebKit::WebGLId TextureAt(int i) const { return textures_[i]; }
596 607
597 size_t NumUsedTextures() const { return used_textures_.size(); } 608 size_t NumUsedTextures() const { return used_textures_.size(); }
598 bool UsedTexture(int texture) const { 609 bool UsedTexture(int texture) const {
599 return ContainsKey(used_textures_, texture); 610 return ContainsKey(used_textures_, texture);
600 } 611 }
601 void ResetUsedTextures() { used_textures_.clear(); } 612 void ResetUsedTextures() { used_textures_.clear(); }
602 613
614 void set_have_extension_io_surface(bool have) {
615 have_extension_io_surface_ = have;
616 }
617 void set_have_extension_egl_image(bool have) {
618 have_extension_egl_image_ = have;
619 }
620
621 static const WebKit::WebGLId kExternalTextureId;
622 virtual WebKit::WebGLId NextTextureId();
623
603 protected: 624 protected:
604 FakeWebGraphicsContext3D(); 625 FakeWebGraphicsContext3D();
605 FakeWebGraphicsContext3D( 626 FakeWebGraphicsContext3D(
606 const WebKit::WebGraphicsContext3D::Attributes& attributes); 627 const WebKit::WebGraphicsContext3D::Attributes& attributes);
607 628
629 unsigned context_id_;
608 unsigned next_texture_id_; 630 unsigned next_texture_id_;
609 Attributes attributes_; 631 Attributes attributes_;
632 bool have_extension_io_surface_;
633 bool have_extension_egl_image_;
634 int times_make_current_succeeds_;
635 int times_bind_texture_succeeds_;
636 int times_end_query_succeeds_;
610 bool context_lost_; 637 bool context_lost_;
611 WebGraphicsContextLostCallback* context_lost_callback_; 638 WebGraphicsContextLostCallback* context_lost_callback_;
612 std::vector<WebKit::WebGLId> textures_; 639 std::vector<WebKit::WebGLId> textures_;
613 base::hash_set<WebKit::WebGLId> used_textures_; 640 base::hash_set<WebKit::WebGLId> used_textures_;
641 int width_;
642 int height_;
614 }; 643 };
615 644
616 } // namespace cc 645 } // namespace cc
617 646
618 #endif // CC_TEST_FAKE_WEB_GRAPHICS_CONTEXT_3D_H_ 647 #endif // CC_TEST_FAKE_WEB_GRAPHICS_CONTEXT_3D_H_
OLDNEW
« no previous file with comments | « cc/test/fake_video_frame_provider.cc ('k') | cc/test/fake_web_graphics_context_3d.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698