summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service
Commit message (Collapse)AuthorAgeFilesLines
* gpu: Selectively define GL_FRAGMENT_PRECISION_HIGHbrianderson@chromium.org2013-03-121-31/+42
| | | | | | | | | BUG=178327 Review URL: https://chromiumcodereview.appspot.com/12663002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187484 0039d316-1c4b-4281-b951-d872f2087c98
* add __FILE__, __LINE__ to GL error functionsgman@chromium.org2013-03-119-648/+916
| | | | | | | | | BUG=none Review URL: https://chromiumcodereview.appspot.com/12534005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187389 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor GPU code. Renderbuffer* info to Renderbuffer* renderbuffergman@chromium.org2013-03-105-135/+131
| | | | | | | | | BUG=none Review URL: https://chromiumcodereview.appspot.com/12472023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187186 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor GPU code. Framebuffer* info to Framebuffer* framebuffergman@chromium.org2013-03-094-252/+261
| | | | | | | | | BUG=none Review URL: https://chromiumcodereview.appspot.com/12468010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187149 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor a bunch of Texture related GPU codegman@chromium.org2013-03-099-1101/+1182
| | | | | | | | | | | | Rename info->texture Move TexParameter guts into TextureManager BUG=none Review URL: https://chromiumcodereview.appspot.com/12647003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187120 0039d316-1c4b-4281-b951-d872f2087c98
* Added CheckBoundFramebuffersValid to DoBlitFramebufferEXTbajones@chromium.org2013-03-081-0/+5
| | | | | | | | | | | | | | | | This was causing issues where a blit was not considered to be "accessing" the framebuffer. Subsequent glReadPixels call would then end up clearing the buffer during the check, causing the wrong results to be returned. This may have also allowed uninitialized data from a multisample renderbuffer to be blitted into a renderable texture. BUG= Review URL: https://chromiumcodereview.appspot.com/12645002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187036 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor GPU code: VertexAttrib* info -> VertexAttrib* attribgman@chromium.org2013-03-085-191/+171
| | | | | | | | | BUG=none Review URL: https://chromiumcodereview.appspot.com/12530004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186949 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor GPU code. Buffer* info to Buffer* buffergman@chromium.org2013-03-085-59/+58
| | | | | | | | | BUG=none Review URL: https://chromiumcodereview.appspot.com/12649002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186896 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor GPU code: Shader* info -> Shader* shadergman@chromium.org2013-03-088-646/+626
| | | | | | | | | | | Program* info -> Program* program BUG=none Review URL: https://chromiumcodereview.appspot.com/12665002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186895 0039d316-1c4b-4281-b951-d872f2087c98
* Move InsertSyncPoint to GLES2Interfacepiman@chromium.org2013-03-084-0/+13
| | | | | | | | | | | | This is needed to allow Pepper to use mailboxes rather than parenting to integrate with the compositor. BUG=164095 Review URL: https://chromiumcodereview.appspot.com/12581004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186869 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Process finished async transfers after waitingskyostil@chromium.org2013-03-072-7/+43
| | | | | | | | | | | | | | | | | | | | | | | | Some types of async transfers need a separate binding step on the main graphics context before the target texture becomes valid. Previously this binding was performed inside MakeCurrent. This was sufficient because clients were only informed of async transfer completions during MakeCurrent. However, the recently added WaitAsyncTexImage2DCHROMIUM made it possible for clients to submit rendering commands that used the results of async transfers without an intermediate call to MakeCurrent. The problem is that in this case the binding step was not performed and we ended up using a texture with incorrect contents. This patch fixes the problem by performing async transfer binding after we have waited for their completion. BUG=161828 Review URL: https://chromiumcodereview.appspot.com/12476004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186783 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 186627miu@chromium.org2013-03-072-9/+0
| | | | | | | | | | | | | | | | | | | | | | Speculative revert. The tree went red at the time this change was checked in, and multiple GpuFeatureTests started failing consistently. Example failure: http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=@DEPS - chromium.org&testType=browser_tests&tests=GpuFeatureTest.WebGLAllowed If you look at the first Win Aura Tests (2) fail, you get the following blamelist range: 186630 to 186619. > Use gpu::Mailbox in IPCs instead of std::string > > gpu::Mailbox is safer since the size is checked in the deserializer. It's also > overall less code. > > BUG=None > > > Review URL: https://chromiumcodereview.appspot.com/12440005 TBR=piman@chromium.org Review URL: https://codereview.chromium.org/12612005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186758 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Call glGetShaderPrecisionFormat if available.brianderson@chromium.org2013-03-072-13/+35
| | | | | | | | | BUG=178327 Review URL: https://chromiumcodereview.appspot.com/12310126 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186642 0039d316-1c4b-4281-b951-d872f2087c98
* Use gpu::Mailbox in IPCs instead of std::stringpiman@chromium.org2013-03-072-0/+9
| | | | | | | | | | | | gpu::Mailbox is safer since the size is checked in the deserializer. It's also overall less code. BUG=None Review URL: https://chromiumcodereview.appspot.com/12440005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186627 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 186416"gman@chromium.org2013-03-0717-238/+638
| | | | | | | | | | | | This reverts commit a8fb8f44bc56943c45bd06034fc004e22ef5da85 and fixes the bug related to the WebGL null object test. BUG=178093 TBR=apatrick@chromium.org Review URL: https://chromiumcodereview.appspot.com/12542009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186573 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 186416zmo@chromium.org2013-03-0616-629/+238
| | | | | | | | | | | | | | | | | | | | | | | > Use client side arrays for GL_STREAM_DRAW attributes > > Certain GPU/drivers are slow when using constantly changing > vertex buffers. They also run out of memory as the pipeline > the buffers so while a buffer is in used being drawn to they > can't delete it immediately when you upload new data to the > buffer. > > This is an attempt to work around that issue seemlessly by > using client side arrays for buffers marked as GL_STREAM_DRAW > > BUG=178093 > > > Review URL: https://chromiumcodereview.appspot.com/12494005 TBR=gman@chromium.org Review URL: https://codereview.chromium.org/12544006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186459 0039d316-1c4b-4281-b951-d872f2087c98
* Use client side arrays for GL_STREAM_DRAW attributesgman@chromium.org2013-03-0616-238/+629
| | | | | | | | | | | | | | | | | | Certain GPU/drivers are slow when using constantly changing vertex buffers. They also run out of memory as the pipeline the buffers so while a buffer is in used being drawn to they can't delete it immediately when you upload new data to the buffer. This is an attempt to work around that issue seemlessly by using client side arrays for buffers marked as GL_STREAM_DRAW BUG=178093 Review URL: https://chromiumcodereview.appspot.com/12494005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186416 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Add the ability to wait on upload completion.epenner@chromium.org2013-03-054-0/+33
| | | | | | | | | | | | | | | | | Patch originally by Eric Penner <epenner@chromium.org>. We currently have high latency if need to wait for uploads in the renderer client. If we can do a shallow client side wait it will be much better. This is effectively the same as doing synchronous uploads, but exposes less driver bug surface area then mixing uploads across threads. BUG=161828, 178634 Review URL: https://chromiumcodereview.appspot.com/12210129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186190 0039d316-1c4b-4281-b951-d872f2087c98
* Expose GLES2DecoderImpl error functionsgman@chromium.org2013-03-053-31/+63
| | | | | | | | | BUG=none Review URL: https://chromiumcodereview.appspot.com/12398032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186143 0039d316-1c4b-4281-b951-d872f2087c98
* Enable use of highp precision in GLSL ES shaders.apatrick@chromium.org2013-03-051-0/+4
| | | | | | | | This is on by default in ANGLE revisions prior to shader translator version 110 and off by default in subsequent versions. Review URL: https://chromiumcodereview.appspot.com/12398031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186059 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 185269zmo@chromium.org2013-03-043-6/+6
| | | | | | | | | | | | | | | | | | > Turn off shader name hashing by default. > > This has to be turned off due to a mac AMD driver regression. > > This is for M26, so once it's landed on trunk and merged back to M26, I will revert it on trunk. > > BUG=178287 > TEST=run MapsGL on a MacBook Pro with AMD GPU and the latest 10.8.3 12D68 seed, zoom in to a city, and ensure end caps of streets render correctly. > TBR=gman > Review URL: https://codereview.chromium.org/12379005 TBR=zmo@chromium.org Review URL: https://codereview.chromium.org/12377083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185920 0039d316-1c4b-4281-b951-d872f2087c98
* Fix CopyTextureCHROMIUM to handle GL_OES_EGL_image_external missinggman@chromium.org2013-03-022-212/+189
| | | | | | | | BUG=170345 Review URL: https://codereview.chromium.org/12388053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185637 0039d316-1c4b-4281-b951-d872f2087c98
* AndroidVDA using Android's MediaCodec API.dwkang@chromium.org2013-03-013-16/+118
| | | | | | | | | | | | | | | | | | | | | | | | This is part of the effort for HW decoding on WebRTC. This change will not affect the existing media playback because Chrome for Android uses a separate WMP. Also, VDA is disabled on Chrome for Android. The plan is to enable it after connect VDA to WebRTC. TODO: - to make vda unittest work on Android. @ media_codec_bridge* are written by ycheo@ BUG=170345 TEST=visited the follwing sites after turning on Chrome's media stack with a separate change. http://html5example.net/static/html/html5-WebM-VP8-video.html http://www.ioncannon.net/examples/vp8-webm/demo.html http://www.dailymotion.com/html5 http://easyhtml5video.com Review URL: https://chromiumcodereview.appspot.com/11973010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185469 0039d316-1c4b-4281-b951-d872f2087c98
* GPU: Only allow the UI channel to preempt if all stubs are scheduled.backer@chromium.org2013-03-012-12/+16
| | | | | | | | | | | Necessary for uber-comp with --ui-prioritize-in-gpu-process. Currently will not affect preemption. BUG=173650 Review URL: https://chromiumcodereview.appspot.com/12340118 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185445 0039d316-1c4b-4281-b951-d872f2087c98
* Turn off shader name hashing by default.zmo@chromium.org2013-02-283-6/+6
| | | | | | | | | | | | | This has to be turned off due to a mac AMD driver regression. This is for M26, so once it's landed on trunk and merged back to M26, I will revert it on trunk. BUG=178287 TEST=run MapsGL on a MacBook Pro with AMD GPU and the latest 10.8.3 12D68 seed, zoom in to a city, and ensure end caps of streets render correctly. TBR=gman Review URL: https://codereview.chromium.org/12379005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185269 0039d316-1c4b-4281-b951-d872f2087c98
* Make GPU headers use more forward declarationsgman@chromium.org2013-02-2816-27/+61
| | | | | | | | | BUG=none Review URL: https://chromiumcodereview.appspot.com/12367004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185206 0039d316-1c4b-4281-b951-d872f2087c98
* BufferManager::Buffer -> Buffergman@chromium.org2013-02-2812-170/+173
| | | | | | | | | BUG=none Review URL: https://chromiumcodereview.appspot.com/12328158 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185134 0039d316-1c4b-4281-b951-d872f2087c98
* Make CopyTextureCHROMIUM restore its own stategman@chromium.org2013-02-283-57/+82
| | | | | | | | BUG=none Review URL: https://codereview.chromium.org/12315051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185085 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor/Rename a bunch of GPU stuffgman@chromium.org2013-02-2747-3256/+3350
| | | | | | | | | | | | Remove typedef scoped_refptr<Foo> Ref; FooManager::FooInfo -> Foo Create/Get/RemoveFooInfo to Create/Get//RemoveFoo BUG=None Review URL: https://codereview.chromium.org/12326146 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185036 0039d316-1c4b-4281-b951-d872f2087c98
* Make WaitSyncPoint go through command buffers.piman@chromium.org2013-02-274-0/+27
| | | | | | | | | BUG=178305 Review URL: https://chromiumcodereview.appspot.com/12330129 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184820 0039d316-1c4b-4281-b951-d872f2087c98
* do RescheduleTimeOut hack only pre-Vistascottmg@chromium.org2013-02-271-8/+14
| | | | | | | | | | | | | When stopped in debugger, timeout causes DCHECKs. Remove on Vista+ since it shouldn't be necessary and there's no dev on XP. R=apatrick@chromium.org Review URL: https://chromiumcodereview.appspot.com/12315112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184787 0039d316-1c4b-4281-b951-d872f2087c98
* Fix GL State Restore functionsgman@chromium.org2013-02-261-0/+2
| | | | | | | | | BUG=none TBR=apatrick@chromium.org Review URL: https://codereview.chromium.org/12326135 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184746 0039d316-1c4b-4281-b951-d872f2087c98
* Add GL State Restoring Functionsgman@chromium.org2013-02-267-68/+180
| | | | | | | | BUG=none Review URL: https://codereview.chromium.org/12321068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184716 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Work around ICS Qualcomm fbo resize bug.epenner@chromium.org2013-02-252-0/+4
| | | | | | | | | | | | | | | The driver has problems resizing an FBO after it has been allocated as 1x1. This just deletes the place-holder FBO instead of resizing it. BUG=173694 NOTRY=true No try since this is Qualcomm/Android only. Review URL: https://chromiumcodereview.appspot.com/12320077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184460 0039d316-1c4b-4281-b951-d872f2087c98
* Hookup the GPUTrace events.dsinclair@chromium.org2013-02-206-78/+400
| | | | | | | | | | | | | Add a factory to GPUTrace to produce either a GL_ARB_timer_query GPUTrace object or a SystemTime GPUTrace object. Hookup GPUTraceController to GLES2DecoderImpl to process any received traces. BUG=111509 Review URL: https://chromiumcodereview.appspot.com/11416117 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183648 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bug in unmangling hashed shader names in logs.zmo@google.com2013-02-201-1/+1
| | | | | | | | | | | Want to land this tiny fix first for merging back. Will get some tests in a follow-up patch. BUG=177094 TEST=url in the bug report TBR=gman Review URL: https://codereview.chromium.org/12317014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183583 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Restore render target before other GL states when in Virtual GL Contextkangyuan.shu@intel.com2013-02-191-2/+5
| | | | | | | | | | | | | | | Restore render target first becasue some GL states is render target relavent, such as scssior box. This fix the rendering bug on http://ie.microsoft.com/testdrive/mobile/Performance/Galactic/Default.html. BUG=168980 Review URL: https://chromiumcodereview.appspot.com/12300003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183167 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Add missing MemoryBarrier.reveman@chromium.org2013-02-181-1/+3
| | | | | | | | | | | | | This is unlikely a problem in practice but should be here to ensure correctness. BUG=173802 NOTRY=true Review URL: https://chromiumcodereview.appspot.com/12296015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183144 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Clear pending_transfer_queries_ in QueryManager::Destroy.reveman@google.com2013-02-181-0/+1
| | | | | | | | | | | | Failing to do this can cause query_count_ to be non-zero at the time the destructor is called. BUG=176811 TBR=gman Review URL: https://codereview.chromium.org/12301010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183127 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land: Mark async texture uploads as completed from the upload thread.reveman@chromium.org2013-02-166-27/+121
| | | | | | | | | | | | This reduces the latency between when an upload completes and when the client is notified. BUG=173802 NOTRY=True Review URL: https://chromiumcodereview.appspot.com/12213073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@183010 0039d316-1c4b-4281-b951-d872f2087c98
* Move missing GL enum from gl_utils.h to gl_bindings.hgman@chromium.org2013-02-151-133/+0
| | | | | | | | | | BUG=none TBR=apatrick@chromium.org Review URL: https://chromiumcodereview.appspot.com/12270002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182639 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent GLSurfaces from being resized to zero size in the GPU process.apatrick@chromium.org2013-02-141-0/+4
| | | | | | | | | | By clamping the minimum width and height to 1 pixel. BUG=170767 Review URL: https://chromiumcodereview.appspot.com/12225153 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182557 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Avoid power of two textures.epenner@chromium.org2013-02-131-0/+8
| | | | | | | | | | | | | | | | After rounding up to 64, it becomes more likely to hit power-of-two textures which are also bad for IMG. So, this avoids powers-of-two for IMG, through a fast-path extension. BUG=175319 No try, since it only failed win_rel full-screen tests, but this only has any effect on Android Imagination devices. NOTRY=true Review URL: https://chromiumcodereview.appspot.com/12217102 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182087 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 181883reveman@google.com2013-02-124-119/+27
| | | | | | | | | | | | | | | | | > cc: Mark async texture uploads as completed from the upload thread. > > This reduces the latency between when an upload completes and when the > client is notified. > > BUG=173802 > > > Review URL: https://chromiumcodereview.appspot.com/12213073 TBR=reveman@chromium.org Review URL: https://codereview.chromium.org/12211144 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182063 0039d316-1c4b-4281-b951-d872f2087c98
* Added temporary #ifdefs to support incompatible ANGLE API upgrade.kbr@chromium.org2013-02-122-9/+21
| | | | | | | | BUG=174821 Review URL: https://codereview.chromium.org/12210057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181964 0039d316-1c4b-4281-b951-d872f2087c98
* cc: Mark async texture uploads as completed from the upload thread.reveman@chromium.org2013-02-124-27/+119
| | | | | | | | | | | | This reduces the latency between when an upload completes and when the client is notified. BUG=173802 Review URL: https://chromiumcodereview.appspot.com/12213073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181883 0039d316-1c4b-4281-b951-d872f2087c98
* Linux/ChromeOS Chromium style checker cleanup, gpu/ edition.rsleevi@chromium.org2013-02-0610-22/+22
| | | | | | | | | | | Automated clean up of style checker errors that were missed due to the plugin not being executed on implementation files. BUG=115047 Review URL: https://chromiumcodereview.appspot.com/12245002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180996 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash in ProgramManager::ProgramInfo::ProcessLogInfo.apatrick@chromium.org2013-02-061-22/+15
| | | | | | | | | | | | It didn't work when the hashed variable was at the very end of the string. I have changed it to use regular expressions to find the hashed variable names instead. BUG=174511 Review URL: https://chromiumcodereview.appspot.com/12225032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180889 0039d316-1c4b-4281-b951-d872f2087c98
* Enable GpuMemoryManager policy for impl-side painting.ccameron@chromium.org2013-02-042-0/+7
| | | | | | | | | | | | | | Add a flag to switch back to the old policy for testing. The new policy needs to be enabled for impl-side painting (because otherwise impl-side painting will pre-paint more aggressively than is reasonable). BUG=168413 Review URL: https://chromiumcodereview.appspot.com/11953060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180542 0039d316-1c4b-4281-b951-d872f2087c98
* Move string tokenizer to base/strings.brettw@chromium.org2013-02-021-4/+4
| | | | | | | | BUG= Review URL: https://codereview.chromium.org/12087091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180211 0039d316-1c4b-4281-b951-d872f2087c98