summaryrefslogtreecommitdiffstats
path: root/gpu/demos
Commit message (Collapse)AuthorAgeFilesLines
* Reland r65152 with mac and linux fix.apatrick@chromium.org2010-11-063-28/+25
| | | | | | | | | | | Original review URL: http://codereview.chromium.org/3531008 TEST=try, ui_tests BUG=none Review URL: http://codereview.chromium.org/4545003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65283 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 65152 - Integrated Pepper3D v2 with the accelerated compositor.apatrick@chromium.org2010-11-053-25/+28
| | | | | | | | | | | | | | | | | | | - 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 TBR=apatrick@chromium.org Review URL: http://codereview.chromium.org/4561001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65169 0039d316-1c4b-4281-b951-d872f2087c98
* Integrated Pepper3D v2 with the accelerated compositor.apatrick@chromium.org2010-11-053-28/+25
| | | | | | | | | | | | | | | | - 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
* Use PPAPI from chrome trunk rather than pulling via deps. This is a re-land ↵brettw@chromium.org2010-11-021-4/+4
| | | | | | from r64716. This is identical with an an include directory changed in the ppapi repo which I'm hoping was what was confusing everything. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64757 0039d316-1c4b-4281-b951-d872f2087c98
* Revert PPAPI change due to Linux compile failures.brettw@chromium.org2010-11-021-4/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64751 0039d316-1c4b-4281-b951-d872f2087c98
* Use PPAPI from chrome trunk rather than pulling via deps.brettw@chromium.org2010-11-021-4/+4
| | | | | | | | | This is a re-land from r64716. This is identical with an an include directory changed in the ppapi repo which I'm hoping was what was confusing everything. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64750 0039d316-1c4b-4281-b951-d872f2087c98
* Revert PPAPI change.brettw@chromium.org2010-11-021-4/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64719 0039d316-1c4b-4281-b951-d872f2087c98
* Use PPAPI from chrome trunk rather than pulling via deps.brettw@chromium.org2010-11-021-4/+4
| | | | | | | | | This is a re-land from r64716. This is identical with an an include directory changed in the ppapi repo which I'm hoping was what was confusing everything. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64718 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 64716 - Switch to the new PPAPI repository. This removes the DEPS ↵brettw@chromium.org2010-11-021-4/+4
| | | | | | | | | | | | | | entry that refers to the PPAPI repo, and fixes the includes to use the new location. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/4164015 TBR=brettw@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64717 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to the new PPAPI repository. This removes the DEPS entry that refers tobrettw@chromium.org2010-11-021-4/+4
| | | | | | | | | | the PPAPI repo, and fixes the includes to use the new location. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/4164015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64716 0039d316-1c4b-4281-b951-d872f2087c98
* Add Ability to pass in allowed extensions to GPU contexts.gman@chromium.org2010-10-191-2/+2
| | | | | | | | | | | | | | | | | | | | Questions: 1) Is WebGraphicsContext3D only used for WebGL? Currently this patch makes that assumption. 2) I started by adding const char* allowed_extensions to a bunch of functions. Then, at the IPC level added GPUInitParams. Should I use GPUInitParams everywhere? 3) Is the path for gpu_init_params.h ok? TEST=unit tests, manually tested WebGL BUG=none Review URL: http://codereview.chromium.org/3775014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63026 0039d316-1c4b-4281-b951-d872f2087c98
* Add offscreen context creation attributes to GGL.enne@chromium.org2010-10-011-2/+2
| | | | | | | | | | | View contexts and more extensive color format picking not handled yet. BUG=39849 TEST=WebGL conformance tests (context*.html) Review URL: http://codereview.chromium.org/3302019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61220 0039d316-1c4b-4281-b951-d872f2087c98
* Made GLES demos work on PPAPI.neb@chromium.org2010-09-1311-14/+305
| | | | | | | | | BUG=none TEST=they work on Windows and Linux. Review URL: http://codereview.chromium.org/3132017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59304 0039d316-1c4b-4281-b951-d872f2087c98
* Removed dependencies on base from GPU common and client code.apatrick@chromium.org2010-09-082-0/+6
| | | | | | | | | | | | | The main change was to make scoped_ptr and the basic types the same for both NaCl and trusted plugins and to implement new logging code for GPU common and client code. Service code and unit tests can still use the logging code in base. I am really not happy with the new logging code but I thought I'd let you take a look at it to see what you think. The biggest thing I don't like is it uses assert(false) to throw an exception in a platform independent way, which brings up a modal dialog. Not ideal in the middle of a unit test run. I don't know if that will make the bots hang. Hopefully they'll time out or something. TEST=try BUG=none Review URL: http://codereview.chromium.org/2936009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58857 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Switch to DWARF for official builds. Good riddence.thestig@chromium.org2010-08-261-4/+0
| | | | | | | | BUG=20737 TEST=none Review URL: http://codereview.chromium.org/2892001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@57553 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 55766 - Enable -fPIC by default on x64mirandac@chromium.org2010-08-121-3/+8
| | | | | | | | | | | | | | Get rid of linux_fpic gyp variable. BUG=26625 TEST=all linux builds should compile Review URL: http://codereview.chromium.org/3135001 TBR=nirnimesh@chromium.org Review URL: http://codereview.chromium.org/3150006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55836 0039d316-1c4b-4281-b951-d872f2087c98
* Enable -fPIC by default on x64nirnimesh@chromium.org2010-08-111-8/+3
| | | | | | | | | | | Get rid of linux_fpic gyp variable. BUG=26625 TEST=all linux builds should compile Review URL: http://codereview.chromium.org/3135001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55766 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed standalone command buffer demos.apatrick@chromium.org2010-07-201-1/+7
| | | | | | | | | TEST=try BUG=none Review URL: http://codereview.chromium.org/2870056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53057 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bunch more type changes as part of the npapi.h mergingstuartmorgan@chromium.org2010-06-021-1/+1
| | | | | | | | | | | | | This makes two types of changes - More int* -> int*_t transitions, since npapi.h switched over - Replace TRUE/FALSE, which have been removed from the upstream npapi.h. Since all our usage is C++, true/false seemed cleaner than 1/0. BUG=42645 TEST=Compiling still works Review URL: http://codereview.chromium.org/2484002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48725 0039d316-1c4b-4281-b951-d872f2087c98
* Moved demos.gyp from windows dependency to all platforms. Excluded ↵alokp@chromium.org2010-05-141-0/+5
| | | | | | | | gpu_demo_framework_pepper from being included with wildcard demos.gyp:*. Review URL: http://codereview.chromium.org/2038015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47270 0039d316-1c4b-4281-b951-d872f2087c98
* Step 1: Changing CommandBufferHelper to only use a portiongman@chromium.org2010-05-121-1/+1
| | | | | | | | | | | | | | | | | of the command buffer. This brought out the fact that there were lots of places in the code mixing size in bytes with num command buffer entries. This fixes most of those issues. No public interface uses num command buffer entries except gpu::CommandBuffer::State where it makes sense. TEST=relying on unit tests, conformance tests and chrome BUG=none Review URL: http://codereview.chromium.org/2008014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@47041 0039d316-1c4b-4281-b951-d872f2087c98
* Adds support for shared resources.gman@chromium.org2010-05-031-1/+2
| | | | | | | | | | | | | | | | It's not clear how to test this easily it seems like we an integration test is needed at some point. I did run the conformance tests with share_resources set to true and it rand without crashing. TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/1817002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46264 0039d316-1c4b-4281-b951-d872f2087c98
* Made gpu demo framework plugins fail without crashing if pepper 3D cannot be ↵apatrick@chromium.org2010-04-262-11/+33
| | | | | | | | | | | initialized. TEST=trybots BUG=none Review URL: http://codereview.chromium.org/1775001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45617 0039d316-1c4b-4281-b951-d872f2087c98
* - Extracted platform specific code from GLES2 command decoder to platform ↵apatrick@chromium.org2010-04-091-1/+1
| | | | | | | | | | | | | specific GLContext classes. - GLContext encapsulates management of GL contexts on each platform. - ReadPixels uses actual current window size to validate source rectangle. TEST=trybots, running Pepper 3D and WebGL demos on all platforms BUG=none Review URL: http://codereview.chromium.org/1605014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44129 0039d316-1c4b-4281-b951-d872f2087c98
* Calling OpenGL from the renderer processapatrick@chromium.org2010-03-251-3/+6
| | | | | | | | | | | | | | - Added ability for renderer processes to render to a real window (Windows only so far). - Added ability to create offscreen frame buffer objects that can be resized later. - OpenGL context can have a "parent" context that can access its last swapped back buffer through a texture ID. - Moved code to establish GPU channel from RenderWidget to RenderThread. - Changed way service size command buffer object lifetimes are managed. TEST=trybot and visual verification that OpenGL can clear the browser window to magenta. BUG=none Review URL: http://codereview.chromium.org/1136006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42679 0039d316-1c4b-4281-b951-d872f2087c98
* Move some more files to toplevel gfx dir.ben@chromium.org2010-03-171-1/+1
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41812 0039d316-1c4b-4281-b951-d872f2087c98
* Remove redundant nphostapi.h from webkit/glue/plugins, update source files asdspringer@google.com2010-03-152-2/+2
| | | | | | | | | | | | | | needed. Note that this change is required for the Native Client SDK, because comman_buffer_pepper.h erroneously references nphostpis.h from webkit/glue. BUG=none TEST=none Review URL: http://codereview.chromium.org/1000001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41631 0039d316-1c4b-4281-b951-d872f2087c98
* Change gl2.h to default to C bindingsgman@chromium.org2010-03-081-0/+1
| | | | | | | | | | | | This is a smaller change than rearranging the files under gpu. That will be the next step. TEST=none BUG=none Review URL: http://codereview.chromium.org/669258 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40909 0039d316-1c4b-4281-b951-d872f2087c98
* I just put the code that does not compile on ARM. Trybots will fail because ↵apatrick@chromium.org2010-02-247-11/+49
| | | | | | | | | | | | | | I had to remove these from the CL to make gcl upload properly accept it. A + base\scoped_open_process.h A + chrome\plugin\command_buffer_stub_win.cc TEST=try BUG=none Review URL: http://codereview.chromium.org/661022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39937 0039d316-1c4b-4281-b951-d872f2087c98
* Add build rules for Pepper 3D demos on the Mac.dspringer@google.com2010-02-232-14/+83
| | | | | | | | | BUG=none TEST=cd gpu.demos; open demos.xcodeproj; select any of the "Run *" targets, then use cmd-b (build). Review URL: http://codereview.chromium.org/652031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39731 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 39530 - GPU plugin forwards repaint events to Pepper plugin.apatrick@chromium.org2010-02-207-49/+11
| | | | | | | | | | | | | | | | WM_PAINT results in a call to Pepper repaint callback. Implemented WM_ERASEBKGND to prevent flickering on repaint. Implemented PGL_NO_CONTEXT (copied from EGL spec). This is already reviewed by alokp but unfortunately got entangled with this CL. TEST=none BUG=none Review URL: http://codereview.chromium.org/571018 TBR=alokp@chromium.org Review URL: http://codereview.chromium.org/650100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39535 0039d316-1c4b-4281-b951-d872f2087c98
* GPU plugin forwards repaint events to Pepper plugin.apatrick@chromium.org2010-02-207-11/+49
| | | | | | | | | | | | | WM_PAINT results in a call to Pepper repaint callback. Implemented WM_ERASEBKGND to prevent flickering on repaint. Implemented PGL_NO_CONTEXT (copied from EGL spec). This is already reviewed by alokp but unfortunately got entangled with this CL. TEST=none BUG=none Review URL: http://codereview.chromium.org/571018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39530 0039d316-1c4b-4281-b951-d872f2087c98
* Pulled out Callback code into base/callback.h. This is the first step ↵akalin@chromium.org2010-02-191-0/+1
| | | | | | | | | | | | | towards redoing the Callback interfaces. Added and removed includes as needed. BUG=35223 TEST=trybots Review URL: http://codereview.chromium.org/646061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39419 0039d316-1c4b-4281-b951-d872f2087c98
* Removed redundant conditionals from gpu/demos.gyp.alokp@chromium.org2010-02-171-20/+13
| | | | | | Review URL: http://codereview.chromium.org/601085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39226 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented linux-specific NPAPI interface for pepper demos.alokp@chromium.org2010-02-111-7/+46
| | | | | | | BUG=26099 Review URL: http://codereview.chromium.org/599020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38727 0039d316-1c4b-4281-b951-d872f2087c98
* A few minor changes to windows implementation on windows.alokp@chromium.org2010-02-101-2/+5
| | | | | | Review URL: http://codereview.chromium.org/601016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38582 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented window class on linux. Standalone demos are working on linux now.alokp@chromium.org2010-02-043-8/+63
| | | | | | Review URL: http://codereview.chromium.org/565041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38106 0039d316-1c4b-4281-b951-d872f2087c98
* Added support for lost context recovery on the client side. None of our ↵apatrick@chromium.org2010-02-032-17/+41
| | | | | | | | | | | | | | | | | | | service side GL implementations actually report lost contexts (yet). Added pglGetError to PGL library. pglSwapBuffers returns false on a lost context or other non-recoverable error and pglGetError reports PGL_CONTEXT_LOST. Updated demo plugins to reset their PGL contexts on context lost. Standalone plugins cannot currently recover from lost context because they don't use PGL. Added error code to NPDeviceContext3D for lost context. TEST=none BUG=none Review URL: http://codereview.chromium.org/566021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38039 0039d316-1c4b-4281-b951-d872f2087c98
* Changes necessary to compile gpu demos on linux. It is not functional yet ↵alokp@chromium.org2010-02-037-247/+329
| | | | | | | | | just compiling. BUG=26099 Review URL: http://codereview.chromium.org/552240 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37977 0039d316-1c4b-4281-b951-d872f2087c98
* Renamed ParseError -> Error, parse_error -> error, kParseNoError -> ↵apatrick@chromium.org2010-02-011-1/+1
| | | | | | | | | | | | kNoError, commandBufferEntries -> commandBufferSize. Added NPDevice3DContextError enumeration. TEST=none BUG=none Review URL: http://codereview.chromium.org/558054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37751 0039d316-1c4b-4281-b951-d872f2087c98
* Windows now uses the TLS API instead of __declspec(thread) for client side ↵apatrick@chromium.org2010-01-273-0/+8
| | | | | | | | | | | | | | | | | command buffer code compiled into DLLs. Other platforms use the pthreads API. This is because the __declspec(thread) approach does not on some platforms, including Windows XP and Mac. This is used for thread local pointers to the GL and PGL contexts. This unfortunate because the PGL and GL APIs do not generally explicitly reference a context. The current context is set with a call to pglMakeCurrent. An unfortunate consequence is that now in Pepper plugins, every call to a GL function will call TlsGetValue to get the thread's current context, which could have performance issues. I can't use base::ThreadLocalPointer because this code is compiled into an untrusted NaCl module and we don't want Chromium dependencies. TEST=try BUG=none Review URL: http://codereview.chromium.org/553050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37300 0039d316-1c4b-4281-b951-d872f2087c98
* Hooked all demos to gpu/demos.gyp. Now all demos run as both - standalone ↵alokp@chromium.org2010-01-268-97/+263
| | | | | | | | | executables and pepper plugin. BUG=26099 Review URL: http://codereview.chromium.org/549159 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37119 0039d316-1c4b-4281-b951-d872f2087c98
* Added infrastructure to run gpu demos under Pepper3D. Created a Demo class ↵alokp@chromium.org2010-01-2617-256/+781
| | | | | | | | | | | | | | | | | that can be run as both standalone apps (exe) or pepper plugins (dll). Created entry points and framework classes for both platforms - exe and pepper. A demo application has three layers: 1. Entry point - standalone (main_exe.cc): Contains the main function for console applications. Instantiates and runs a window. - pepper (main_pepper.cc): Contains NPAPI entry points. Instantiates pepper plugin object. 2. Framework that hosts demo - standalone: Window - pepper: Plugin 3. Demo - One demo class for all platforms. This does all the rendering and event handling. BUG=26099 Review URL: http://codereview.chromium.org/554053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37082 0039d316-1c4b-4281-b951-d872f2087c98
* Converted all demos to use gpu::demos::Example base class.alokp@chromium.org2010-01-196-302/+90
| | | | | | Review URL: http://codereview.chromium.org/542120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36551 0039d316-1c4b-4281-b951-d872f2087c98
* Created a base class for examples taken from gles2 book. It encapsulates the ↵alokp@chromium.org2010-01-192-50/+90
| | | | | | | | well-defined pattern followed by the examples to eliminate duplicated code. Once we finalize this CL, I will go ahead and change all demos to use this base class. Review URL: http://codereview.chromium.org/543110 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36542 0039d316-1c4b-4281-b951-d872f2087c98
* Added stencil-test demo.alokp@chromium.org2010-01-152-0/+74
| | | | | | | | | PS: I have not moved the repeated code to the base class for this demo because this is the last one I intend to submit before starting to port the demos to pepper. I will refactor all the demos to eliminate repeating code in light of pepper framework. BUG=26099 TEST=Run stencil_test executable. You should see four different-colored quads. Review URL: http://codereview.chromium.org/545092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36410 0039d316-1c4b-4281-b951-d872f2087c98
* Added texture wrap demo.alokp@chromium.org2010-01-152-0/+75
| | | | | | | | BUG=26099 TEST=Run texture_wrap executable. You should see three quads, each with a different texture wrapping mode. Review URL: http://codereview.chromium.org/552012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36394 0039d316-1c4b-4281-b951-d872f2087c98
* Added variable name as required by style guide.alokp@chromium.org2010-01-153-6/+6
| | | | | | Review URL: http://codereview.chromium.org/549071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36387 0039d316-1c4b-4281-b951-d872f2087c98
* Added cubemap demo.alokp@chromium.org2010-01-152-0/+74
| | | | | | | BUG=26099 Review URL: http://codereview.chromium.org/549063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36356 0039d316-1c4b-4281-b951-d872f2087c98
* Added simple texture demo.alokp@chromium.org2010-01-142-0/+76
| | | | | | | | BUG=26099 TEST=Run simple_texture_2d executable. You should see a square with checker-board pattern. Review URL: http://codereview.chromium.org/543063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36267 0039d316-1c4b-4281-b951-d872f2087c98