summaryrefslogtreecommitdiffstats
path: root/gpu
Commit message (Collapse)AuthorAgeFilesLines
* Enable virtual context on IMG devices in a different waysievers@chromium.org2012-12-152-17/+5
| | | | | | | | | | | | | | | | | | Revert "Enable virtual context on IMG devices only." > Review URL: https://chromiumcodereview.appspot.com/11555010 The flags are only initialized *after* we create the context and init the decoder (needs a current context for glGetString()). Instead, append the commandline from gpu_info_collector_android.cc. BUG=160710,165531 NOTRY=true Review URL: https://chromiumcodereview.appspot.com/11564027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173245 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Don't require occlusion queries extension for async queries.epenner@chromium.org2012-12-141-0/+1
| | | | | | | | | NOTRY=true BUG=166022 Review URL: https://chromiumcodereview.appspot.com/11572035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173230 0039d316-1c4b-4281-b951-d872f2087c98
* Add to the GL_CHROMIUM_gpu_memory_manager extension accameron@chromium.org2012-12-1410-20/+108
| | | | | | | | | | | | | | | texture parameter indicating which textures are managed and which ones aren't. This will give the GPU memory manager precise information about how much memory is not under its control (e.g, because it is WebGL memory). BUG=164947 Review URL: https://codereview.chromium.org/11517013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173213 0039d316-1c4b-4281-b951-d872f2087c98
* Ignore GL_ANGLE_framebuffer_multisample on Android.aelias@chromium.org2012-12-142-4/+8
| | | | | | | | | | | | | For some reason, some Qualcomm drivers add this string to their extensions list, but don't support glRenderbufferStorageMultisampleEXT(). This works around the issue. BUG=165736 Review URL: https://chromiumcodereview.appspot.com/11574023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173117 0039d316-1c4b-4281-b951-d872f2087c98
* Handle correctly gl.generateMipmap(gl.TEXTURE_CUBE_MAP) in WebGL.skaslev@chromium.org2012-12-141-3/+13
| | | | | | | | | | | | | Particularly this conformance test third_party/webgl_conformance/conformance/textures/texture-size.html caused Chrome to crash in Debug builds, now passes successfuly. BUG=166016 Review URL: https://chromiumcodereview.appspot.com/11577014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173116 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 172805apatrick@google.com2012-12-1416-192/+226
| | | | | | | | | | | | | | | | | > Made the registration and deletion of transfer buffers async. > > Added an IPC to request multiple transfer buffer IDs up front. > > Every renderer command buffer proxy gets some IPCs immediately after initialization. > > Removed request_id arg from CreateTransferBuffer. It wasn't being used. > > Review URL: https://chromiumcodereview.appspot.com/11308296 TBR=apatrick@chromium.org Review URL: https://codereview.chromium.org/11578020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173018 0039d316-1c4b-4281-b951-d872f2087c98
* Move gl2chromium.h out of third_party, it really is our file.phajdan.jr@chromium.org2012-12-143-6/+241
| | | | | | | | | | This will be helpful for using system mesa. BUG=161389 Review URL: https://codereview.chromium.org/11466011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173017 0039d316-1c4b-4281-b951-d872f2087c98
* Remove support for TRACE_EVENT_IF_LONGER_THANx macroscaseq@google.com2012-12-131-1/+0
| | | | | | | | | | | | These add consederable amount of complexity, yet only have 1 (one) usage. BUG=none TEST=base_unittest TBR=gman,darin Review URL: https://codereview.chromium.org/11557009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172863 0039d316-1c4b-4281-b951-d872f2087c98
* Made the registration and deletion of transfer buffers async.apatrick@chromium.org2012-12-1316-226/+192
| | | | | | | | | | | | Added an IPC to request multiple transfer buffer IDs up front. Every renderer command buffer proxy gets some IPCs immediately after initialization. Removed request_id arg from CreateTransferBuffer. It wasn't being used. Review URL: https://chromiumcodereview.appspot.com/11308296 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172805 0039d316-1c4b-4281-b951-d872f2087c98
* Fix "attached to fbo" tracking in texturespiman@chromium.org2012-12-132-6/+8
| | | | | | | | | | | | | | | | | Without this I'm seeing a bad state if I do this: BindFramebuffer(GL_FRAMEBUFFER, fbo); FramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, texture, 0); FramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, 0, 0); Then |texture| is still marked as attached to a FBO, though it's not. Causes issues with ProduceTextureCHROMIUM later which expect it not to be bound. BUG=None Review URL: https://chromiumcodereview.appspot.com/11552008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172771 0039d316-1c4b-4281-b951-d872f2087c98
* Track managed memory usage in the command buffer.ccameron@chromium.org2012-12-138-93/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds infrastructure necessary to support tracking which allocations are through the compositor (or, more generally, any managed allocator that the GPU memory manager affect) and allocations that are not (e.g, WebGL). This is part of a scheme which will add a GL extension where the compositor can mark a texture as being managed by a call to glTexParameteri. This information had previously been tracked by an IPC being sent by the compositor to the GPU process informing it of the managed memory usage (in addition to the usage required for all visible content, etc). This had the two problems. First, the information was not accurate -- the data sent about managed allocations to the GPU memory manager would always lag the actual allocations. Second, these IPCs were expensive and needed to be throttled. The more we throttle the IPCs, the less accurate the information would become, making the GPU memory manager's behavior less precise and predictable. BUG=164947 Review URL: https://chromiumcodereview.appspot.com/11516014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172754 0039d316-1c4b-4281-b951-d872f2087c98
* Fix GLES rendering issues on Lumpy.hshi@chromium.org2012-12-123-15/+5
| | | | | | | | | | | | | | Force bind frame buffer helper in GLES2Implementation::BindFramebufferHelper(). There seems to be some problem with the current logic that causes rendering issues in Angry Birds. BUG=165256 TEST=manual Review URL: https://chromiumcodereview.appspot.com/11555012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172548 0039d316-1c4b-4281-b951-d872f2087c98
* Enable virtual context on IMG devices only.aelias@chromium.org2012-12-122-5/+19
| | | | | | | | | | | | | | This adds booleans to feature_info for all the common Android vendors and turns on virtual contexts for IMG only, as there are remaining bugs with the other architectures (and IMG is the main reason we are working on virtual contexts to begin with). Setting the command-line flag will force-enable virtual contexts on any architecture. BUG=160710,165531 Review URL: https://chromiumcodereview.appspot.com/11555010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172535 0039d316-1c4b-4281-b951-d872f2087c98
* Plumb glDiscardFramebufferEXT entry point through command bufferjamesr@chromium.org2012-12-1229-34/+450
| | | | | | | | | BUG= Review URL: https://chromiumcodereview.appspot.com/11465018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172468 0039d316-1c4b-4281-b951-d872f2087c98
* Extend virtual context MakeCurrent fastpath to offscreen surfaces.sievers@chromium.org2012-12-111-0/+1
| | | | | | | | | | | | | | | | | Similar to transport surfaces with an explicit fbo backing, we can avoid the call into the driver to make the surface current since the command decoder guarantess an fbo backing for offscreen surfaces. On Android, this specifically affects canvas contexts and the helper context used on the UI thread for mailbox texture exchange. BUG=160710 Review URL: https://chromiumcodereview.appspot.com/11537014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172410 0039d316-1c4b-4281-b951-d872f2087c98
* Don't unbind if buffer id is 0. This avoids getting into a state wheregman@chromium.org2012-12-112-1/+14
| | | | | | | | | | | | | the vertex array object manager always thinks client side data is attached. related to issue: http://code.google.com/p/chromium/issues/detail?id=159100 TEST=Mini-Ninjas frame rate BUG=http://code.google.com/p/chromium/issues/detail?id=165316 Review URL: https://chromiumcodereview.appspot.com/11485015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172281 0039d316-1c4b-4281-b951-d872f2087c98
* Add tracing for commands that block on the GPUjbauman@chromium.org2012-12-114-1/+26
| | | | | | | | | | | This should help us debug performance issues in NaCl apps. BUG= Review URL: https://chromiumcodereview.appspot.com/11515017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172275 0039d316-1c4b-4281-b951-d872f2087c98
* Implement TextureImageTransportSurface using texture mailboxsievers@chromium.org2012-12-104-5/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has a couple of advantages: - allow tearing down and recreating the UI parent context without losing the renderer contexts - do not require a context to be able to generate textures when creating the GLSurfaceHandle - clearer ownership semantics that potentially allows for more robust and easier lost context handling/thumbnailing/etc., since a texture is at any given time owned by either: UI parent, mailbox, or TextureImageTransportSurface - simplify frontbuffer protection logic; the frontbuffer textures are now owned by RWHV where they are refcounted The TextureImageTransportSurface informs RenderWidgetHostView of the mailbox names for the front- and backbuffer textures by associating them with a surface_handle (1 or 2) in the AcceleratedSurfaceNew message. During SwapBuffers() or PostSubBuffer() cycles, it then uses produceTextureCHROMIUM() and consumeTextureCHROMIUM() to transfer ownership between renderer and browser compositor. RWHV sends back the surface_handle of the buffer being returned with the Swap ACK (or 0 if no buffer is being returned in which case TextureImageTransportSurface will allocate a new texture - note that this could be used to simply keep textures for thumbnailing). BUG=154815,139616 TBR=sky@chromium.org NOTRY=True Review URL: https://chromiumcodereview.appspot.com/11194042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172087 0039d316-1c4b-4281-b951-d872f2087c98
* Add tracing support to NaCljbauman@chromium.org2012-12-081-1/+1
| | | | | | | | | | Add Ppapi IPC messages and a handler inside of the NaCl IRT to enable, disable, and send the result of tracing. BUG=93839 Review URL: https://codereview.chromium.org/11411118 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171911 0039d316-1c4b-4281-b951-d872f2087c98
* Rename discardFramebufferEXT to discardBackbufferCHROMIUM to avoid collision ↵jamesr@chromium.org2012-12-081-1/+1
| | | | | | | | | | | | | | | | | | with real discardFramebufferEXT Calling the (real) discardFramebufferEXT in the compositor is a performance win, at least on tilers. However currently it can't be called because we alias the name for a different API that controls backbuffer allocation, which I don't want to change. This renames the code to make backbuffer control a completely separate API so I can pipe GL_EXT_discard_framebuffer in fully as a follow-up. Depends on https://bugs.webkit.org/show_bug.cgi?id=104316 BUG= Review URL: https://chromiumcodereview.appspot.com/11474014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171908 0039d316-1c4b-4281-b951-d872f2087c98
* Fix element array buggman@chromium.org2012-12-072-4/+16
| | | | | | | | | BUG=164445 Review URL: https://chromiumcodereview.appspot.com/11450026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171748 0039d316-1c4b-4281-b951-d872f2087c98
* Make more GL stuff auto-generatedgman@chromium.org2012-12-0724-576/+22
| | | | | | | | | | I moved gl_mock.h/cc from gpu to gl and made them mostly autogenned BUG=none Review URL: https://codereview.chromium.org/11444028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171744 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Share some validation code.epenner@chromium.org2012-12-071-137/+161
| | | | | | | | | | | Some quick mechanical refactoring so validation code can be shared with the async functions. BUG=161337 Review URL: https://chromiumcodereview.appspot.com/11470010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171728 0039d316-1c4b-4281-b951-d872f2087c98
* Suppress debug outputgman@chromium.org2012-12-071-4/+6
| | | | | | | | | | | | I left one debug output. Doh. See https://chromiumcodereview.appspot.com/11444025/ TBR=apatrick@chromium.org BUG=none Review URL: https://codereview.chromium.org/11472017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171690 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 171569 as it broke some browser_tests on win_aura.sky@chromium.org2012-12-074-27/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > Implement TextureImageTransportSurface using texture mailbox > > This has a couple of advantages: > - allow tearing down and recreating the UI parent context without > losing the renderer contexts > - do not require a context to be able to generate textures when > creating the GLSurfaceHandle > - clearer ownership semantics that potentially allows for more > robust and easier lost context handling/thumbnailing/etc., since a texture is at > any given time owned by either: UI parent, mailbox, or > TextureImageTransportSurface > - simplify frontbuffer protection logic; > the frontbuffer textures are now owned by RWHV where they are refcounted > > The TextureImageTransportSurface informs RenderWidgetHostView of the > mailbox names for the front- and backbuffer textures by > associating them with a surface_handle (1 or 2) in the AcceleratedSurfaceNew message. > During SwapBuffers() or PostSubBuffer() cycles, it then uses > produceTextureCHROMIUM() and consumeTextureCHROMIUM() > to transfer ownership between renderer and browser compositor. > > RWHV sends back the surface_handle of the buffer being returned with the Swap ACK > (or 0 if no buffer is being returned in which case TextureImageTransportSurface will > allocate a new texture - note that this could be used to > simply keep textures for thumbnailing). > > BUG=154815,139616 > TBR=sky@chromium.org > > Review URL: https://chromiumcodereview.appspot.com/11194042 Here's sample output: [7748:4224:1206/162608:3511660:FATAL:prioritized_resource_manager.cc(316)] Check failed: resourceProvider. Backtrace: base::debug::StackTrace::StackTrace [0x72279581+33] (c:\b\build\slave\win_aura\build\src\base\debug\stack_trace_win.cc:171) logging::LogMessage::~LogMessage [0x721603CE+94] (c:\b\build\slave\win_aura\build\src\base\logging.cc:564) cc::PrioritizedResourceManager::clearAllMemory [0x66C0833F+479] (c:\b\build\slave\win_aura\build\src\cc\prioritized_resource_manager.cc:316) cc::LayerTreeHost::deleteContentsTexturesOnImplThread [0x66B1B8E2+322] (c:\b\build\slave\win_aura\build\src\cc\layer_tree_host.cc:314) cc::SingleThreadProxy::recreateOutputSurface [0x66AF7F00+848] (c:\b\build\slave\win_aura\build\src\cc\single_thread_proxy.cc:138) cc::LayerTreeHost::recreateOutputSurface [0x66B1B50B+475] (c:\b\build\slave\win_aura\build\src\cc\layer_tree_host.cc:281) cc::LayerTreeHost::initializeRendererIfNeeded [0x66B1E5FC+76] (c:\b\build\slave\win_aura\build\src\cc\layer_tree_host.cc:631) cc::SingleThreadProxy::commitAndComposite [0x66AFA4CC+284] (c:\b\build\slave\win_aura\build\src\cc\single_thread_proxy.cc:342) cc::SingleThreadProxy::compositeImmediately [0x66AFA0E6+22] (c:\b\build\slave\win_aura\build\src\cc\single_thread_proxy.cc:318) cc::LayerTreeHost::composite [0x66B1E51A+58] (c:\b\build\slave\win_aura\build\src\cc\layer_tree_host.cc:613) ui::Compositor::Draw [0x6E680DAF+383] (c:\b\build\slave\win_aura\build\src\ui\compositor\compositor.cc:397) aura::RootWindow::Draw [0x6B96E2AD+285] (c:\b\build\slave\win_aura\build\src\ui\aura\root_window.cc:244) base::internal::RunnableAdapter<void (__thiscall aura::RootWindow::*)(void)>::Run [0x6B978DA1+33] (c:\b\build\slave\win_aura\build\src\base\bind_internal.h:134) base::internal::InvokeHelper<1,void,base::internal::RunnableAdapter<void (__thiscall aura::RootWindow::*)(void)>,void __cdecl(base::WeakPtr<aura::RootWindow> const &)>::MakeItSo [0x6B978CBD+45] (c:\b\build\slave\win_aura\build\src\base\bind_internal.h:884) base::internal::Invoker<1,base::internal::BindState<base::internal::RunnableAdapter<void (__thiscall aura::RootWindow::*)(void)>,void __cdecl(aura::RootWindow *),void from http://build.chromium.org/p/chromium.win/builders/Win%20Aura/builds/24952/steps/browser_tests/logs/WebGLAllowed TBR=sievers@chromium.org Review URL: https://codereview.chromium.org/11475017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171663 0039d316-1c4b-4281-b951-d872f2087c98
* Add more gl debug logginggman@chromium.org2012-12-078-21/+324
| | | | | | | | | BUG=none Review URL: https://chromiumcodereview.appspot.com/11444025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171647 0039d316-1c4b-4281-b951-d872f2087c98
* Implement TextureImageTransportSurface using texture mailboxsievers@chromium.org2012-12-064-5/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has a couple of advantages: - allow tearing down and recreating the UI parent context without losing the renderer contexts - do not require a context to be able to generate textures when creating the GLSurfaceHandle - clearer ownership semantics that potentially allows for more robust and easier lost context handling/thumbnailing/etc., since a texture is at any given time owned by either: UI parent, mailbox, or TextureImageTransportSurface - simplify frontbuffer protection logic; the frontbuffer textures are now owned by RWHV where they are refcounted The TextureImageTransportSurface informs RenderWidgetHostView of the mailbox names for the front- and backbuffer textures by associating them with a surface_handle (1 or 2) in the AcceleratedSurfaceNew message. During SwapBuffers() or PostSubBuffer() cycles, it then uses produceTextureCHROMIUM() and consumeTextureCHROMIUM() to transfer ownership between renderer and browser compositor. RWHV sends back the surface_handle of the buffer being returned with the Swap ACK (or 0 if no buffer is being returned in which case TextureImageTransportSurface will allocate a new texture - note that this could be used to simply keep textures for thumbnailing). BUG=154815,139616 TBR=sky@chromium.org Review URL: https://chromiumcodereview.appspot.com/11194042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171569 0039d316-1c4b-4281-b951-d872f2087c98
* Validate uniform typesgman@chromium.org2012-12-064-46/+194
| | | | | | | | | | | | | Prevents the command buffer from calling glUniformXXX if the type to be set is not the write type for the specific glUniform call. BUG=164337 Review URL: https://chromiumcodereview.appspot.com/11445013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171502 0039d316-1c4b-4281-b951-d872f2087c98
* Validate glLineWidthgman@chromium.org2012-12-063-1/+63
| | | | | | | | | | | | | | I changed build_gles2_cmd_buffer.py for this because it actually seemed like less work than a bigger structural change to make it so I could manually validate and still save state. BUG=164337 Review URL: https://chromiumcodereview.appspot.com/11440011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171501 0039d316-1c4b-4281-b951-d872f2087c98
* Validate TexParameter for GL_TEXTURE_MAX_ANISOTROPY_EXTgman@chromium.org2012-12-064-35/+84
| | | | | | | | | BUG=164337 Review URL: https://chromiumcodereview.appspot.com/11437012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171500 0039d316-1c4b-4281-b951-d872f2087c98
* Advertise extensions for virtual GL api.sievers@chromium.org2012-12-054-6/+24
| | | | | | | | | | | | Also restore GL_TEXTURE_EXTERNAL_OES binding. BUG=160710 NOTRY=true Review URL: https://chromiumcodereview.appspot.com/11418300 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171286 0039d316-1c4b-4281-b951-d872f2087c98
* Make FencedAlloctor fail on size = 0gman@chromium.org2012-12-052-3/+22
| | | | | | | | | | BUG=none R=piman@chromium.org Review URL: https://chromiumcodereview.appspot.com/11419280 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171235 0039d316-1c4b-4281-b951-d872f2087c98
* Add unit test to verify a texture can be reused with stream textures.sievers@chromium.org2012-12-051-0/+49
| | | | | | | | | | Verify that a stream's gl texture bound and destroyed previously can be used to create a new stream texture. Review URL: https://chromiumcodereview.appspot.com/8676048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171151 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the DCHECK problem for TextureManager::TextureInfo::SetTargetyongsheng.zhu@intel.com2012-12-041-1/+0
| | | | | | | | | | | | | | | It's because GLES2DecoderImpl::HandleDestroyStreamTextureCHROMIUM can clear the target of a streamtexture which is not zero. It occurs when destorying a html5 video on Android platform because it will create/destroy streamtextures. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/11421148 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170915 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Allow BufferData size=0 for pixel transfer buffer objects.reveman@chromium.org2012-12-033-12/+29
| | | | | | | | | | | | | This makes it possible to release all shared memory used by a pixel transfer buffer without destroying the Id. BUG=163482 TEST=manual Review URL: https://chromiumcodereview.appspot.com/11415223 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170776 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: also move tex parameters into mailboxpiman@chromium.org2012-12-014-12/+46
| | | | | | | | | | | | Because the texture completeness depends on the filtering and wrapping modes, it's awkward to move image data into the mailbox but not parameters. BUG=None Review URL: https://chromiumcodereview.appspot.com/11414091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170609 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Add async upload functions.epenner@chromium.org2012-11-3020-0/+564
| | | | | | | | | | | | | | Just adding the API first to unblock other CLs and so we can start to use the API. Async tasks are just done synchronously, and the completion query is set immediately when it executes in the GPU process. BUG=161337 Review URL: https://chromiumcodereview.appspot.com/11412232 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170516 0039d316-1c4b-4281-b951-d872f2087c98
* gpu: Defer reads from default framebuffer when needed.piman@chromium.org2012-11-306-19/+71
| | | | | | | | | | | | | | On some platforms, we want to unschedule after a swap until the ack, but the DeferDraws mechanism allows us to delay the unschedule until we actually need to access the back buffer. Up to now, only commands that *write* to the framebuffer were considered, however we also need to consider *reads*. This fixes that. BUG=None Review URL: https://chromiumcodereview.appspot.com/11412262 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170435 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid actual MakeCurrent() calls with virtual contexts.sievers@chromium.org2012-11-301-1/+13
| | | | | | | | | | | | | | When switching to a context that only renders to an FBO, and when the underlying GL surface handle does not change, avoid calling GLContext::MakeCurrent(). BUG=160710 Review URL: https://chromiumcodereview.appspot.com/11308252 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170323 0039d316-1c4b-4281-b951-d872f2087c98
* Fix VAOs and client side arraysgman@chromium.org2012-11-2917-763/+1245
| | | | | | | | | | | Vertex Array Objects were broke for client side arrays BUG=160482 TBR=brettw@chromium.org Review URL: https://chromiumcodereview.appspot.com/11413094 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170281 0039d316-1c4b-4281-b951-d872f2087c98
* Support creating virtual contexts.sievers@chromium.org2012-11-297-21/+31
| | | | | | | | | | | | | | | This creates virtual contexts within a GLShareGroup, when '--enable-virtual-gl-contexts' is given on the command line. It requires the shared real GL context, which is created from the default offscreen surface configuration, to be compatible with any surface that is made current with a virtual context. BUG=160710 Review URL: https://chromiumcodereview.appspot.com/11308151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170148 0039d316-1c4b-4281-b951-d872f2087c98
* Disambiguate 'headers' targets in khronos and mesa.bauerb@chromium.org2012-11-289-14/+14
| | | | | | | | | | | | I suspect that the target name collision is causing compile failures on Win (e.g. http://build.chromium.org/p/chromium.win/builders/Win%20Builder/builds/4176/steps/compile/logs/stdio) BUG=none TBR=jochen@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/11412217 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169895 0039d316-1c4b-4281-b951-d872f2087c98
* Use DISABLED_ instead of FAILS for two failing tests.zmo@chromium.org2012-11-272-4/+3
| | | | | | | | | BUG= TEST=gpu.fyi waterfall TBR=gman Review URL: https://codereview.chromium.org/11308238 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169780 0039d316-1c4b-4281-b951-d872f2087c98
* Disable PointCoordTest.RenderTo on Linux Releasezmo@chromium.org2012-11-272-3/+10
| | | | | | | | | BUG=162976 TEST=Linux ATI TBR=gman Review URL: https://codereview.chromium.org/11418192 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169776 0039d316-1c4b-4281-b951-d872f2087c98
* Skip DepthTextureTest.RenderTo on a few bots to keep them greenzmo@chromium.org2012-11-271-1/+9
| | | | | | | | | | | This test has been failing on a few bots for a while. Disable it on a few platforms for now, to keep the bots green. BUG=135229 TEST=a few gpu bots green (Win Intel, Linux ATI, etc) TBR=gman Review URL: https://codereview.chromium.org/11413194 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169739 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Revert 169641 - Cache resource bindings on client"gman@chromium.org2012-11-275-61/+149
| | | | | | | | | | | | This reverts commit 7ced098111694ae800d0a54fc889ef9f6e81a3e3. BUG=160370 TBR=apatrick@chromium.org Review URL: https://chromiumcodereview.appspot.com/11316191 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169702 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 169641 - Cache resource bindings on clientjoi@chromium.org2012-11-275-147/+50
| | | | | | | | | | | | | | | | | This is the rest of a CL that was already approved plus the fix for one ChromeOS instance. https://chromiumcodereview.appspot.com/11415003 BUG=160370 TBR=apatrick@chromium.org,brettw@chromium.org Reverting due to test failing on all configs: GLES2ImplementationTest.BindTexture Review URL: https://codereview.chromium.org/11421070 TBR=gman@chromium.org Review URL: https://codereview.chromium.org/11299199 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169646 0039d316-1c4b-4281-b951-d872f2087c98
* Cache resource bindings on clientgman@chromium.org2012-11-275-50/+147
| | | | | | | | | | | | This is the rest of a CL that was already approved plus the fix for one ChromeOS instance. https://chromiumcodereview.appspot.com/11415003 BUG=160370 TBR=apatrick@chromium.org,brettw@chromium.org Review URL: https://codereview.chromium.org/11421070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169641 0039d316-1c4b-4281-b951-d872f2087c98
* Only check for context lost when finishing a batch of flushed commands.jbauman@chromium.org2012-11-264-10/+10
| | | | | | | | | | | | The check for context lost is too expensive to do after every single draw call, so instead do it after a batch of commands has been issued. BUG=160318 Review URL: https://chromiumcodereview.appspot.com/11417112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169523 0039d316-1c4b-4281-b951-d872f2087c98
* Fix GLES2CmdDecoder::DoTexStorage2DEXT so it can handle multiple levels.apatrick@chromium.org2012-11-264-2/+163
| | | | | | | | Also added some tests for it. Review URL: https://chromiumcodereview.appspot.com/11411054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169509 0039d316-1c4b-4281-b951-d872f2087c98