summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Fix Issue that glProgramInfoLog was not called if program did not link.gman@chromium.org2011-04-2911-155/+337
| | | | | | | | | TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/6904077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83523 0039d316-1c4b-4281-b951-d872f2087c98
* Rework FlushSync to return early if commands have been processed since the ↵piman@google.com2011-04-2828-1335/+83
| | | | | | | | | | | last update BUG=80480 TEST= Review URL: http://codereview.chromium.org/6883179 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83442 0039d316-1c4b-4281-b951-d872f2087c98
* Base: Adjust dependencies to build with base.dllrvargas@google.com2011-04-282-1/+3
| | | | | | | | BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6883205 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83269 0039d316-1c4b-4281-b951-d872f2087c98
* Removed "compositor" child window that was created by the GPU ↵apatrick@chromium.org2011-04-272-7/+38
| | | | | | | | process.Removed the sync IPC that it used to ask the browser process to resize on Linux. Adapted windows to use the same mechanism.TEST=test webgl pages on windows (ANGLE and GL), linux and mac, run try job on windows, linux, mac. checkdeps failure look unrelated to patch.BUG=77536 Review URL: http://codereview.chromium.org/6880218 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83248 0039d316-1c4b-4281-b951-d872f2087c98
* Base: Adjust dependencies to build with base.dllrvargas@google.com2011-04-261-0/+7
| | | | | | | | BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6894040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83082 0039d316-1c4b-4281-b951-d872f2087c98
* gpu_trace_event static category pointers are no longer dangling at shutdown.jbates@chromium.org2011-04-262-16/+27
| | | | | | | | | BUG=80184 TEST=tbd Review URL: http://codereview.chromium.org/6883150 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82963 0039d316-1c4b-4281-b951-d872f2087c98
* Add a yield command to the command buffer.piman@google.com2011-04-239-11/+73
| | | | | | | | | | | This allows more graceful scheduling so that waiting on the previous frame's swapbuffers doesn't end up being a Finish. BUG=none TEST=check in about:gpu and verify that SwapBuffers in the renderer process actually only waits for the previous SwapBuffers in the gpu process. Review URL: http://codereview.chromium.org/6899037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82759 0039d316-1c4b-4281-b951-d872f2087c98
* Replaced std::string argument storage in gpu_trace_event with faster ↵jbates@chromium.org2011-04-222-23/+212
| | | | | | | | | | | | | TraceValue. Second try to work around arm NULL definition bug. previous review: http://codereview.chromium.org/6877101 BUG=80172 TEST=tbd Review URL: http://codereview.chromium.org/6894016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82696 0039d316-1c4b-4281-b951-d872f2087c98
* Update DCHECK() usage to utilize the more expressive debugging functions.kushi.p@gmail.com2011-04-221-2/+2
| | | | | | | | BUG=58409 Review URL: http://codereview.chromium.org/6891008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82639 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Add traces for some gl calls that can be slowpiman@google.com2011-04-221-0/+4
| | | | | | | | | BUG=none TEST=about:gpu Review URL: http://codereview.chromium.org/6897001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82625 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 82620 - Replaced std::string argument storage in gpu_trace_event with ↵thestig@chromium.org2011-04-222-203/+14
| | | | | | | | | faster TraceAnyTypeBUG=80172TEST=Review URL: http://codereview.chromium.org/6877101 TBR=jbates@chromium.org Review URL: http://codereview.chromium.org/6896016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82621 0039d316-1c4b-4281-b951-d872f2087c98
* Replaced std::string argument storage in gpu_trace_event with faster ↵jbates@chromium.org2011-04-222-14/+203
| | | | | | | | | | | TraceAnyType BUG=80172 TEST= Review URL: http://codereview.chromium.org/6877101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82620 0039d316-1c4b-4281-b951-d872f2087c98
* Quick fix so we can bump DEPS of Chrome in NaClnfullagar@google.com2011-04-221-1/+20
| | | | | | | | | | | - stub out GPU_TRACE_EVENTn on #if defined(__native_client__) builds and avoid pulling in base/*.h files. BUG=none TEST=trybots Review URL: http://codereview.chromium.org/6900004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82613 0039d316-1c4b-4281-b951-d872f2087c98
* Chrome displays the wrong thing if FBO is left bound in WebGL.zmo@google.com2011-04-201-9/+12
| | | | | | | | | | Fix a webgl bug in command buffer: if a user created fbo is bound, compositor doesn't get the correct frame. The issue is that currently multisampled framebuffer blit is incorrectly skipped if a user created fbo is bound. BUG=79750 TEST=bots green, test case attached in bug 79750 behaves correctly. Review URL: http://codereview.chromium.org/6873099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82201 0039d316-1c4b-4281-b951-d872f2087c98
* With latch support and higher level frame throttling, we no longer need to ↵jbates@chromium.org2011-04-205-62/+11
| | | | | | | | | | | limit SwapBuffers calls by using glSet/TestFenceNV in GpuScheduler. BUG=79940 TEST=open page with CSS 3D transform animation; open about:gpu and start tracing; verify that between frames, there are not many short calls to ProcessCommands Review URL: http://codereview.chromium.org/6873095 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82197 0039d316-1c4b-4281-b951-d872f2087c98
* instrumented gles2 commands that call glFinish so that they show up in ↵jbates@chromium.org2011-04-191-0/+21
| | | | | | | | | | | about:gpu trace. BUG=79929 TEST=start trace in about:gpu; load shiny teapot demo; stop trace and verify occurrence of various "GLES2::" commands in the trace. Review URL: http://codereview.chromium.org/6883057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82155 0039d316-1c4b-4281-b951-d872f2087c98
* Updated event trace code to stop on buffer full condition for any child ↵jbates@chromium.org2011-04-194-0/+27
| | | | | | | | | | | process. Added more trace events to show expensive blocking IPCs in renderer process. BUG=79510 TEST=start trace in about:gpu; open some WebGL windows; when trace Buffer usage reaches 100%, verify that the trace is ended Review URL: http://codereview.chromium.org/6870020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82115 0039d316-1c4b-4281-b951-d872f2087c98
* GpuScheduler no longer spins when it is waiting on a latch.jbates@chromium.org2011-04-186-7/+36
| | | | | | | | | BUG=79632 TEST=run trace in about:gpu; observe the number of times the GPU process sequentially calls WaitLatch; verify it is not spinning. Review URL: http://codereview.chromium.org/6874029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82033 0039d316-1c4b-4281-b951-d872f2087c98
* Command buffer: fix a wrong error for glDrawArrays/glDrawElements/glClear if ↵zmo@google.com2011-04-151-1/+1
| | | | | | | | | | the framebuffer is not complete. BUG=none TEST=none Review URL: http://codereview.chromium.org/6861008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81766 0039d316-1c4b-4281-b951-d872f2087c98
* Landing issue 6828049 on behalf of KushalP.apatrick@chromium.org2011-04-1416-161/+161
| | | | | | | | | | | | | http://codereview.chromium.org/6826049/ Original message: Renaming GPUProcessor to GpuScheduler TEST=try BUG=76585 Review URL: http://codereview.chromium.org/6853027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81667 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a regression in command buffer TexSubImage2D.zmo@google.com2011-04-141-1/+2
| | | | | | | | | BUG=79507 TEST=none TBR=gman@google.com Review URL: http://codereview.chromium.org/6858003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81665 0039d316-1c4b-4281-b951-d872f2087c98
* Trace whenever renderer waits for command buffer space.jbauman@chromium.org2011-04-142-11/+27
| | | | | | | | | | | This lets us determine whether the renderer is spinning waiting for command buffer space to open up. BUG= TEST= Review URL: http://codereview.chromium.org/6833005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81655 0039d316-1c4b-4281-b951-d872f2087c98
* Handle the situation in command buffer when texImage2D fails. Current ↵zmo@google.com2011-04-1310-130/+177
| | | | | | | | | | implementation breaks texImage2D into texImage2D with null data and one or more texSubImage2D calls. If the first texImage2D call fails, all the related texSubImage2D calls should be cancelled. However, at the moment they still get called, thus generates GL errors that shouldn't be generated. This CL fixes this issue. BUG=79172 TEST=unittest, texture-npot.html green Review URL: http://codereview.chromium.org/6839003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81510 0039d316-1c4b-4281-b951-d872f2087c98
* Adds GLContext::LosesAllContextsOnContextLost.amarinichev@chromium.org2011-04-131-3/+4
| | | | | | | | | | | | | | | GLContext::LosesAllContextsOnContextLost specifies whether or not all contexts need to be destroyed when recovering from lost context condition. GpuCommandBufferStub::OnFlush and GpuCommandBufferStub::OnAsyncFlush will instruct soon-to-be-renamed GpuRenderThread to close all channels when the context is lost and LosesAllContextsOnContextLost returns true. From the EGL 1.4 spec: "...On detection of this error, the application must destroy all contexts (by calling eglDestroyContext for each context). To continue rendering the application must recreate any contexts it requires, and subsequently restore any client API state and objects it wishes to use." However even with this change Angle still doesn't recover correctly. BUG=76753 TEST=breakpoint on eglDestroyContext Review URL: http://codereview.chromium.org/6813010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81437 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the incorrect method name override.jbates@chromium.org2011-04-131-0/+3
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/6820079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81338 0039d316-1c4b-4281-b951-d872f2087c98
* implemented latch support in renderer process. this corresponds with a ↵jbates@chromium.org2011-04-1224-99/+138
| | | | | | | | | | | | | webkit patch. https://bugs.webkit.org/show_bug.cgi?id=58003 BUG=72671 TEST=see attachment in bug for test. only green should be seen. Review URL: http://codereview.chromium.org/6810009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81295 0039d316-1c4b-4281-b951-d872f2087c98
* Don't flush trace events until tracing ends.jbauman@chromium.org2011-04-122-12/+19
| | | | | | | | | | | | | Flushing trace events really disrupts the traced process, so don't flush events until tracing has finished. The events would be stored in memory after they were flushed anyway, so this doesn't change much. For this to work we must make sure to flush the events in small batches, so the send doesn't reject them. Also add a limit of around 500000 on the number of trace events, so we don't run out of space due to them. BUG= TEST= Review URL: http://codereview.chromium.org/6826043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81210 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor: Move app/gfx/gl ==> ui/gfx/glbacker@chromium.org2011-03-2814-26/+27
| | | | | | | | | | | This is the final patch in the sequence. Note that gl.gyp is introduced because dependency checking on the Mac is done on a per file (rather than per target) basis. BUG=none TEST=trybots Review URL: http://codereview.chromium.org/6722026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79599 0039d316-1c4b-4281-b951-d872f2087c98
* Initialize a few uninitialized members in GPU classes.finnur@chromium.org2011-03-287-12/+26
| | | | | | | | | BUG=None TEST=None CID=12914, 15729, 12761, 8585, 14365, 15761, 14796, 15865. Review URL: http://codereview.chromium.org/6713127 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79544 0039d316-1c4b-4281-b951-d872f2087c98
* Move some files from base to base/memory.levin@chromium.org2011-03-2824-50/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | raw_scoped_refptr_mismatch_checker.h ref_counted.cc ref_counted.h ref_counted_memory.cc ref_counted_memory.h ref_counted_unittest.cc scoped_callback_factory.h scoped_comptr_win.h scoped_handle.h scoped_native_library.cc scoped_native_library.h scoped_native_library_unittest.cc scoped_nsobject.h scoped_open_process.h scoped_ptr.h scoped_ptr_unittest.cc scoped_temp_dir.cc scoped_temp_dir.h scoped_temp_dir_unittest.cc scoped_vector.h singleton.h singleton_objc.h singleton_unittest.cc linked_ptr.h linked_ptr_unittest.cc weak_ptr.cc weak_ptr.h weak_ptr_unittest.cc BUG=None TEST=Compile Review URL: http://codereview.chromium.org/6714032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79524 0039d316-1c4b-4281-b951-d872f2087c98
* Workground for glGenerateMipmap bug in some drivers.gman@chromium.org2011-03-265-2/+67
| | | | | | | | | | | TEST=unit tests BUG=72601 R=zmo@chromium.org Review URL: http://codereview.chromium.org/6749014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79499 0039d316-1c4b-4281-b951-d872f2087c98
* Make Command Buffer limit count for glUniformXXv calls.gman@chromium.org2011-03-2510-83/+474
| | | | | | | | | | | TEST=unit tests BUG=77233 R=zmo@chromium.org, Review URL: http://codereview.chromium.org/6713094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79421 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor: Move app/surface to ui/gfx/surface.backer@chromium.org2011-03-252-2/+3
| | | | | | | | | | | | | This is progress towards moving app/gfx/gl to ui/gfx/gl. Currently, surface depends on gl, but gl depends on app_base (which contains surface). This refactor gets rid of this potential cyclic dependency. surface.gyp is in a separate file (not a .gypi include) because cyclic dependency checking is at the file level (not target level). BUG=none TEST=by hand and try bots Review URL: http://codereview.chromium.org/6718027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79396 0039d316-1c4b-4281-b951-d872f2087c98
* Implement latch system to help with GPU compositing flow control.gman@chromium.org2011-03-2418-9/+311
| | | | | | | | | TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/6719014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79218 0039d316-1c4b-4281-b951-d872f2087c98
* Fix bug in shader and program managers.gman@chromium.org2011-03-236-29/+112
| | | | | | | | | | | | | | | | | The bug was that the code would search by id instead of by pointer. This meant it was possible to free the wrong thing (ie, pass in an info with id=4 and free a different info that also happened to have id=4). This was most likely to happen when calling MarkAsDeleted since MarkAsDelete sets the id to 0. TEST=unit tests BUG=75629 R=apatrick@chromium.org Review URL: http://codereview.chromium.org/6721010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79130 0039d316-1c4b-4281-b951-d872f2087c98
* Take the ANGLE path for glRenderbufferStorageMultisample when on ANGLE.bsalomon@google.com2011-03-231-2/+7
| | | | | | Review URL: http://codereview.chromium.org/6724004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79121 0039d316-1c4b-4281-b951-d872f2087c98
* Check the GPU watchdog after processing every 3D command.jbauman@chromium.org2011-03-232-2/+13
| | | | | | | | | | | Reduce the chance that a long stream of expensive 3D commands will cause the watchdog to go off by checking the watchdog after every 3D command. BUG=76603 TEST=none Review URL: http://codereview.chromium.org/6715006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79097 0039d316-1c4b-4281-b951-d872f2087c98
* Resubmit of reverted CL: http://codereview.chromium.org/6677105twiz@chromium.org2011-03-211-0/+4
| | | | | | | | | Addition of GL-redirecting mechanism for the Skia/GPU back-end. During execution of the layout tests (DumpRenderTree), all GL-calls are invoked via Mesa. A GL re-direction mechanism was added to skia in revision (http://code.google.com/p/skia/source/detail?r=937) These changes populate the skia re-direction interface with the gl implementation currently in use in Chrome: The app\gfx\gl bindings. R=kbr, bsalomon Review URL: http://codereview.chromium.org/6708066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78941 0039d316-1c4b-4281-b951-d872f2087c98
* Fix bug in GPU_TRACE_EVENT_END.nduca@chromium.org2011-03-211-3/+3
| | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/6716008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78937 0039d316-1c4b-4281-b951-d872f2087c98
* Change GL_EXT_texture_compression_s3tc to GL_CHROMIUM_texture_compression_dxt3gman@chromium.org2011-03-213-11/+32
| | | | | | | | | | | | and GL_CHROMIUM_texture_compression_dxt5 because we don't support all the features of GL_EXT_texture_compression_s3tc. TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/6715005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78926 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 78801 - Addition of GL-redirecting mechanism for the Skia/GPU ↵bradnelson@google.com2011-03-191-4/+0
| | | | | | | | | | | | | back-end. During execution of the layout tests (DumpRenderTree), all GL-calls are invoked via Mesa. A GL re-direction mechanism was added to skia in revision (http://code.google.com/p/skia/source/detail?r=937) These changes populate the skia re-direction interface with the gl implementation currently in use in Chrome: The app\gfx\gl bindings. R=kbr, bsalomon Review URL: http://codereview.chromium.org/6677105 TBR=twiz@chromium.org R=* Review URL: http://codereview.chromium.org/6712050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78808 0039d316-1c4b-4281-b951-d872f2087c98
* Addition of GL-redirecting mechanism for the Skia/GPU back-end. During ↵twiz@chromium.org2011-03-191-0/+4
| | | | | | | | execution of the layout tests (DumpRenderTree), all GL-calls are invoked via Mesa. A GL re-direction mechanism was added to skia in revision (http://code.google.com/p/skia/source/detail?r=937) These changes populate the skia re-direction interface with the gl implementation currently in use in Chrome: The app\gfx\gl bindings. R=kbr, bsalomon Review URL: http://codereview.chromium.org/6677105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78801 0039d316-1c4b-4281-b951-d872f2087c98
* Fix renderbuffer width, height issuesgman@chromium.org2011-03-198-20/+85
| | | | | | | | | TEST=unit tests BUG=76497 Review URL: http://codereview.chromium.org/6708016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78784 0039d316-1c4b-4281-b951-d872f2087c98
* Validate that a GPU transfer buffer's size is valid when it is registered ↵apatrick@chromium.org2011-03-191-28/+27
| | | | | | | | | | | | | | rather than when it is mapped. This cleaned up the code a little because it now doesn't check whether the memory is mapped every time the address and size are requested. Also fixed a very unlikely memory leak of a SharedMemory object. TEST=WebGL/compositor works, try BUG=none Review URL: http://codereview.chromium.org/6688048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78778 0039d316-1c4b-4281-b951-d872f2087c98
* event trace plumbing for multi-process supportjbates@chromium.org2011-03-181-2/+2
| | | | | | | | | | | | related review: http://codereview.chromium.org/6691013/ BUG=none TEST=none Review URL: http://codereview.chromium.org/6694004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78768 0039d316-1c4b-4281-b951-d872f2087c98
* Normalize the top-level ui/ module.rsesek@chromium.org2011-03-181-1/+1
| | | | | | | | | | | | | | | | This CL creates four .gypi files that are included in /ui/ui.gyp. This allows for a single unittest binary for all the submodules, rather than having individual unittest binaries for each submodule. To not break the buildbot, this creates a fake target that copies ui_unittests to gfx_unittests as temporary scaffolding. BUG=72317 TEST=gfx_unittests (really ui_unittests) passes Review URL: http://codereview.chromium.org/6688007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78711 0039d316-1c4b-4281-b951-d872f2087c98
* GPU process - parent GL context does not delete the textures it shares with ↵apatrick@chromium.org2011-03-184-6/+38
| | | | | | | | | | | | child contexts. The child contexts create them and are then responsible for deleting them. This fixed a crash where the child contexts were passing an invalid texture ID to glBlitFramebufferANGLE. TEST=can't reproduce bug locally anymore, trybots BUG=75661 Review URL: http://codereview.chromium.org/6670074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78642 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed bug in DetachShader.gman@chromium.org2011-03-166-11/+22
| | | | | | | | | TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/6677089 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78467 0039d316-1c4b-4281-b951-d872f2087c98
* Attempting again to make clang happy wiht gpu::TraceEvent.nduca@chromium.org2011-03-152-1/+9
| | | | | | | | BUG= TEST= TBR=John Bates <jbates@chromium.org> git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78303 0039d316-1c4b-4281-b951-d872f2087c98
* Fix clang bots unhappiness withth gpu::TraceEvent.nduca@chromium.org2011-03-151-0/+1
| | | | | | TBR=John Bates <jbates@chromium.org> git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78302 0039d316-1c4b-4281-b951-d872f2087c98