diff options
author | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-05 00:36:12 +0000 |
---|---|---|
committer | apatrick@chromium.org <apatrick@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-05 00:36:12 +0000 |
commit | c4cacf1429f06bac025d8c0337c3b80efa8f98a9 (patch) | |
tree | 413e05bba0fe58c7b85aea19d2391ee185257fd0 /gpu/demos | |
parent | fc24838c909913960402b1c75926e9372af595b8 (diff) | |
download | chromium_src-c4cacf1429f06bac025d8c0337c3b80efa8f98a9.zip chromium_src-c4cacf1429f06bac025d8c0337c3b80efa8f98a9.tar.gz chromium_src-c4cacf1429f06bac025d8c0337c3b80efa8f98a9.tar.bz2 |
Integrated Pepper3D v2 with the accelerated compositor.
- It now uses GGL instead of a child window.
- Fixed a bug where GLES2 decoder set texture state without updating TextureInfo.
- Fixed Pepper3D demos and added awesome 3D CSS programmer art.
- Removed ggl::GetCurrentContext to prevent further abuse. Fixed said abuse :)
- GGL exposes GLES2Implementation to allow issue of GL calls on a particular context without making that context globally current.
- Removed redundant "this context" argument from GGL SwapBuffers completion callback.
- Temporarily removed context lost notification. I need to figure out the best semantics.
TEST=Run Pepper3D and WebGL demos and YouTube videos on Windows and Mac.
BUG=none
Review URL: http://codereview.chromium.org/3531008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65152 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/demos')
-rw-r--r-- | gpu/demos/demos.gyp | 2 | ||||
-rw-r--r-- | gpu/demos/framework/pepper.cc | 45 | ||||
-rw-r--r-- | gpu/demos/pepper_gpu_demo.html | 6 |
3 files changed, 25 insertions, 28 deletions
diff --git a/gpu/demos/demos.gyp b/gpu/demos/demos.gyp index d205eea..bae7503 100644 --- a/gpu/demos/demos.gyp +++ b/gpu/demos/demos.gyp @@ -156,7 +156,6 @@ ['OS=="mac"', { 'action': [ '<(PRODUCT_DIR)/Chromium.app/Contents/MacOS/Chromium', - '--enable-gpu-plugin', '--register-pepper-plugins=' '<(PRODUCT_DIR)/$(PRODUCT_NAME).plugin;' 'pepper-application/x-gpu-demo', @@ -165,7 +164,6 @@ }, { # OS != "mac" 'action': [ '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)chrome<(EXECUTABLE_SUFFIX)', - '--enable-gpu-plugin', '--register-pepper-plugins=$(TargetPath);' 'pepper-application/x-gpu-demo', 'file://$(ProjectDir)pepper_gpu_demo.html', diff --git a/gpu/demos/framework/pepper.cc b/gpu/demos/framework/pepper.cc index 9bcf9b1..2d3d50b 100644 --- a/gpu/demos/framework/pepper.cc +++ b/gpu/demos/framework/pepper.cc @@ -35,32 +35,31 @@ class PluginInstance : public pp::Instance { } } - virtual void ViewChanged(const pp::Rect& position, const pp::Rect& /*clip*/) { - if (size_.IsEmpty() && !position.IsEmpty()) { - size_ = position.size(); - demo_->InitWindowSize(size_.width(), size_.height()); + virtual void DidChangeView(const pp::Rect& position, + const pp::Rect& /*clip*/) { + if (size_ == position.size()) + return; + + size_ = position.size(); + demo_->InitWindowSize(size_.width(), size_.height()); + + if (graphics_.is_null()) { graphics_ = pp::Graphics3D_Dev(*this, 0, NULL, NULL); - if (!graphics_.is_null()) { - graphics_.MakeCurrent(); - demo_->InitGL(); - pp::Graphics3D_Dev::ResetCurrent(); - - // TODO(neb): Remove this once the startup order bug (51842) is fixed. - if (true) - // if (demo_->IsAnimated()) - Animate(0); - else - Paint(); - } + if (graphics_.is_null()) + return; + + if (!pp::Instance::BindGraphics(graphics_)) + return; + + graphics_.MakeCurrent(); + demo_->InitGL(); + pp::Graphics3D_Dev::ResetCurrent(); } - } - virtual void Graphics3DContextLost() { - // TODO(neb): Replace this with the correct code once 53889 is fixed. - Paint(); -// pp::Rect fake_position(size_); -// size_ = pp::Size(); -// ViewChanged(fake_position, fake_position); + if (demo_->IsAnimated()) + Animate(0); + else + Paint(); } void Paint() { diff --git a/gpu/demos/pepper_gpu_demo.html b/gpu/demos/pepper_gpu_demo.html index 8be4e57..64d88f7 100644 --- a/gpu/demos/pepper_gpu_demo.html +++ b/gpu/demos/pepper_gpu_demo.html @@ -3,10 +3,10 @@ <title>Pepper GPU Demo</title> </head> -<body style="background-color:Silver"> +<body style="background-color:Silver; -webkit-perspective: 1000;"> <h1>Pepper GPU Demo</h1> -<object id="plugin" type="pepper-application/x-gpu-demo" width="512" height="512" /> - +<embed id="plugin" type="pepper-application/x-gpu-demo" width="512" height="512" style="position:absolute; top: 30px; -webkit-transform: rotateY(30deg);" /> +<p style="position:absolute; top: 256px;">Text on top</p> </body> </html> |