summaryrefslogtreecommitdiffstats
path: root/gpu/pgl
Commit message (Collapse)AuthorAgeFilesLines
* Make CommandBuffer::Flush asynchronous, and add CommandBuffer::FlushSync ↵piman@google.com2011-01-142-2/+7
| | | | | | | | | | | | | with former semantics. Also force a flush when the buffer is getting full. BUG=none TEST=gpu_unittests, some webgl content, some 3d css content, pepper flash Review URL: http://codereview.chromium.org/6316002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71514 0039d316-1c4b-4281-b951-d872f2087c98
* Removed base dependency from PGL.apatrick@chromium.org2010-09-141-5/+4
| | | | | | | | | | | This is so it can be statically linked with untrusted NaCl code. TEST=try BUG=none Review URL: http://codereview.chromium.org/3366021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@59321 0039d316-1c4b-4281-b951-d872f2087c98
* Removed dependencies on base from GPU common and client code.apatrick@chromium.org2010-09-081-0/+1
| | | | | | | | | | | | | 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
* Fix two problems with int32 <-> int32_t conversion when compiled in -pedanticmsneck@google.com2010-06-241-3/+3
| | | | | | | | | | mode inside Native Client. BUG=none TEST=none Review URL: http://codereview.chromium.org/2834023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50760 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
* Step 1: Changing CommandBufferHelper to only use a portiongman@chromium.org2010-05-122-9/+8
| | | | | | | | | | | | | | | | | 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
* Add eglGetProcAddress to pgl.gman@chromium.org2010-04-273-312/+318
| | | | | | | | | TEST=none BUG=none Review URL: http://codereview.chromium.org/1797001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45734 0039d316-1c4b-4281-b951-d872f2087c98
* An implementation of eglProcAddressgman@chromium.org2010-04-261-0/+312
| | | | | | | | | | | | | I don't auto-generate this because it seems like we should make sure to expressly expose only those functions we want to expose. TEST=none BUG=none Review URL: http://codereview.chromium.org/1700015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45614 0039d316-1c4b-4281-b951-d872f2087c98
* Changed NPAPI include path to be absolute. Since we cannot use ANY npapi ↵alokp@chromium.org2010-04-212-4/+4
| | | | | | | | header, keeping the include path as absolute is less confusing. Review URL: http://codereview.chromium.org/1722001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45193 0039d316-1c4b-4281-b951-d872f2087c98
* Client side code should include local logging so it can be stubbed out.alokp@chromium.org2010-04-211-7/+1
| | | | | | Review URL: http://codereview.chromium.org/1714001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45191 0039d316-1c4b-4281-b951-d872f2087c98
* New experimental Pepper device API.apatrick@chromium.org2010-04-163-0/+97
| | | | | | | | | | | | | | | - makes device contexts opaque to the plugin - can get / set multiple attributes and flush with a single call (and underlying IPC message exchange) - currently works in parallel with old API - adapted pepper test plugin to use new API if use_new_npdevice_api=1 TEST=trybots, visual confirmation that pepper test plugin works with new API BUG=none Review URL: http://codereview.chromium.org/1529005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44840 0039d316-1c4b-4281-b951-d872f2087c98
* Remove redundant nphostapi.h from webkit/glue/plugins, update source files asdspringer@google.com2010-03-151-1/+1
| | | | | | | | | | | | | | 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
* I just put the code that does not compile on ARM. Trybots will fail because ↵apatrick@chromium.org2010-02-242-8/+10
| | | | | | | | | | | | | | 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
* Revert 39530 - GPU plugin forwards repaint events to Pepper plugin.apatrick@chromium.org2010-02-202-10/+8
| | | | | | | | | | | | | | | | 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-202-8/+10
| | | | | | | | | | | | | 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
* Implemented async flushes for Pepper 3D.apatrick@chromium.org2010-02-091-0/+5
| | | | | | | | | | | Added waitForProgress field to NPDeviceContext3D to select between a flush (that pushes more work to the GPU process and waits for at least some of it to have been completed) and getting the current state as quickly as possible. The previous method of checking to see if the put offset had advanced was incorrect. TEST=trybots BUG=none Review URL: http://codereview.chromium.org/561058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38540 0039d316-1c4b-4281-b951-d872f2087c98
* PGL was relying on pthread_key_create not returning zero, which does notsehr@google.com2010-02-051-6/+9
| | | | | | | | | seem to conform to the documented interface. I have added an allocated flag. This is needed to fix NaCl PGL. Review URL: http://codereview.chromium.org/576002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38186 0039d316-1c4b-4281-b951-d872f2087c98
* Added support for lost context recovery on the client side. None of our ↵apatrick@chromium.org2010-02-032-22/+81
| | | | | | | | | | | | | | | | | | | 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
* Renamed ParseError -> Error, parse_error -> error, kParseNoError -> ↵apatrick@chromium.org2010-02-012-7/+7
| | | | | | | | | | | | 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
* Redesigned CommandBuffer and NPDevice3D interfaces.apatrick@chromium.org2010-01-292-83/+28
| | | | | | | | | | | | All status is now in the Device3D context. It can be retreived with fewer IPC messages. It can be now be accessed off the main plugin thread, which is necessary to run OpenGL in another thread. TEST=none BUG=none Review URL: http://codereview.chromium.org/555020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37545 0039d316-1c4b-4281-b951-d872f2087c98
* Windows now uses the TLS API instead of __declspec(thread) for client side ↵apatrick@chromium.org2010-01-272-5/+51
| | | | | | | | | | | | | | | | | 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
* linux: enable pepper pluginpiman@chromium.org2010-01-251-1/+1
| | | | | | | | | This is CL 36399 that was reverted in 36969 because it caused an ICE on the official builders. This adds a workaround for the ICE. Review URL: http://codereview.chromium.org/546136 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37055 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 36399 - linux: enable pepper_test_plugin laforge@chromium.org2010-01-231-1/+1
| | | | | | | | | | | | | | | | | This is breaking official x64 builds, notified team of break earlier in the week, but haven't seen a fix. I'm reverting now. Please fix before re-enabling. Original message: This includes a way to build it with full support on x64 (and arm ?), by specifying linux_fpic=1 in GYP_DEFINES and rerunning gyp. Review URL: http://codereview.chromium.org/551041 TBR=piman@chromium.org Review URL: http://codereview.chromium.org/548133 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36969 0039d316-1c4b-4281-b951-d872f2087c98
* Added pglGetCurrentContext. Make gles2 implementation pointer global ↵apatrick@chromium.org2010-01-192-10/+24
| | | | | | | | | | | variable thread local. TEST=none BUG=none Review URL: http://codereview.chromium.org/549090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36560 0039d316-1c4b-4281-b951-d872f2087c98
* Change some paths, include files to make the sources build on Native Client.sehr@google.com2010-01-162-2/+10
| | | | | | | | Needed for Pepper progress. Review URL: http://codereview.chromium.org/552024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36458 0039d316-1c4b-4281-b951-d872f2087c98
* linux: enable pepper_test_pluginpiman@chromium.org2010-01-151-1/+1
| | | | | | | | This includes a way to build it with full support on x64 (and arm ?), by specifying linux_fpic=1 in GYP_DEFINES and re-running gyp. Review URL: http://codereview.chromium.org/551041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36399 0039d316-1c4b-4281-b951-d872f2087c98
* Resubmitting r36268 with a fix for mac:apatrick@chromium.org2010-01-154-0/+386
| | | | | | | | | | | Implemented PGL library, an EGL like API for Pepper. Updated Pepper test plugin to use it. TEST=trybots BUG=none Review URL: http://codereview.chromium.org/552007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36318 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 36268 - Implemented PGL library, an EGL like API for Pepper. Updated ↵apatrick@chromium.org2010-01-144-386/+0
| | | | | | | | | | | | | | Pepper test plugin to use it. TEST=none yet BUG=none Review URL: http://codereview.chromium.org/545052 TBR=alokp@chromium.org Review URL: http://codereview.chromium.org/550048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36270 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented PGL library, an EGL like API for Pepper. Updated Pepper test ↵apatrick@chromium.org2010-01-144-0/+386
plugin to use it. TEST=none yet BUG=none Review URL: http://codereview.chromium.org/545052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36268 0039d316-1c4b-4281-b951-d872f2087c98