summaryrefslogtreecommitdiffstats
path: root/gpu/demos
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Added mip-mapping demo.alokp@chromium.org2010-01-142-0/+75
| | | | | | | | BUG=26099 TEST=Run mip_map_2d executable. You should see two quads with checker-board pattern. The left will exhibit aliasing but right one will be anti-aliased. Review URL: http://codereview.chromium.org/542067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36209 0039d316-1c4b-4281-b951-d872f2087c98
* Changed the signature of Application::Draw to accept elapsed time. It will ↵alokp@chromium.org2010-01-134-7/+26
| | | | | | | | be used to update key frames or making the application frame-rate independent. However I think there is some bug somewhere. It takes an eternity for the cube in simple-vertex-shader demo to start rotating. Even when the cube starts rotatiing the performance is quite choppy. Review URL: http://codereview.chromium.org/551011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36156 0039d316-1c4b-4281-b951-d872f2087c98
* Added simple vertex shader demo. I had to make the following modifications ↵alokp@chromium.org2010-01-132-0/+78
| | | | | | | | | | | | to third-party code: - Changed client-side vertex array to VBO - Used GL_UNSIGNED_SHORT instead of GL_UNSIGNED_INT in glDrawElements because GL_UNSIGNED_INT is not supported for by OpenGL ES 2.0 for indices BUG=26099 TEST=Run simple_vertex_shader executable, you should see a rotating cube. Review URL: http://codereview.chromium.org/543015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36127 0039d316-1c4b-4281-b951-d872f2087c98
* Renamed gles_book_examples.gyp to gles2_book.gyp and hooked eveything back ↵alokp@chromium.org2010-01-091-1/+1
| | | | | | | | together. TBR=apatrick git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35876 0039d316-1c4b-4281-b951-d872f2087c98
* Renamed gles_book_examples to gles2_book to make it shorter and more ↵alokp@chromium.org2010-01-093-3/+3
| | | | | | | | | correct. I still need to rename gles_book_examples.gyp to gles2_book.gyp. I will do it in another CL as svn does not like changes in renamed directories. TBR=apatrick Review URL: http://codereview.chromium.org/543002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35875 0039d316-1c4b-4281-b951-d872f2087c98
* Added hello-triangle demo.alokp@chromium.org2010-01-093-0/+80
| | | | | | | | BUG=26099 TEST=Try running hello_triangle executable, you should see a red triangle Review URL: http://codereview.chromium.org/539001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35873 0039d316-1c4b-4281-b951-d872f2087c98
* Added an application framework for demos. This framework currently only ↵alokp@chromium.org2010-01-084-0/+275
| | | | | | | | | supports stand-alone apps. It will be extended to support trusted pepper and untrusted nacl apps. BUG=26099 Review URL: http://codereview.chromium.org/525083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35758 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Resubmit 35500: Added an application framework for demos. Ported ↵ajwong@chromium.org2010-01-067-445/+0
| | | | | | | | | | hellotriangle example in OpenGL ES book to use the application framework." This reverts commit r35647. TBR: alok git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35665 0039d316-1c4b-4281-b951-d872f2087c98
* Resubmit 35500: Added an application framework for demos. Ported ↵alokp@chromium.org2010-01-067-0/+445
| | | | | | | | | | | hellotriangle example in OpenGL ES book to use the application framework. BUG=26099 TEST=Try running hello_triangle executable, you should see a red triangle. Review URL: http://codereview.chromium.org/525070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35647 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 35500 - Added an application framework for demos. Ported ↵rsesek@chromium.org2010-01-057-445/+0
| | | | | | | | | | | | | hellotriangle example in OpenGL ES book to use the application framework. BUG=26099 TEST=Try running hello_triangle executable, you should see a red triangle. Review URL: http://codereview.chromium.org/465051 TBR=alokp@chromium.org Review URL: http://codereview.chromium.org/525019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35505 0039d316-1c4b-4281-b951-d872f2087c98
* Added an application framework for demos. Ported hello-triangle example in ↵alokp@chromium.org2010-01-057-0/+445
OpenGL ES book to use the application framework. BUG=26099 TEST=Try running hello_triangle executable, you should see a red triangle. Review URL: http://codereview.chromium.org/465051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35500 0039d316-1c4b-4281-b951-d872f2087c98