In the current implementation of query virtualization, queries are paused/resumed during draw calls. Timer queries however are affected by every OpenGL call, so virtualization and context switches for timer queries must happen every time there is a context switch. Thus the logic for context-switching queries was moved to a new function in the GL state manager that is called everytime a makeCurrent call on the context is made. Since queries may be made after a context is made current, the state manager needs to keep track of any new queries that are started in a context, so an additional delegate function was added to the state manager that is called every time a glBeginQuery() call is made that adds the query object to a set. All the queries in that set are paused when a context switch is made and the queries in the new context are then loaded and resumed. BUG=angleproject:1307 Change-Id: I4e596d83739274cb2e14152a39e86e0e51b0f95c Reviewed-on: https://chromium-review.googlesource.com/325811Reviewed-by:Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Ewell <ewell@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| d3d | Loading commit data... | |
| gl | Loading commit data... | |
| BufferImpl.h | Loading commit data... | |
| BufferImpl_mock.h | Loading commit data... | |
| CompilerImpl.h | Loading commit data... | |
| DeviceImpl.cpp | Loading commit data... | |
| DeviceImpl.h | Loading commit data... | |
| DisplayImpl.cpp | Loading commit data... | |
| DisplayImpl.h | Loading commit data... | |
| FenceNVImpl.h | Loading commit data... | |
| FenceSyncImpl.h | Loading commit data... | |
| FramebufferImpl.h | Loading commit data... | |
| FramebufferImpl_mock.h | Loading commit data... | |
| ImageImpl.h | Loading commit data... | |
| ImageImpl_mock.h | Loading commit data... | |
| ImplFactory.h | Loading commit data... | |
| ProgramImpl.h | Loading commit data... | |
| ProgramImpl_mock.h | Loading commit data... | |
| QueryImpl.h | Loading commit data... | |
| RenderbufferImpl.h | Loading commit data... | |
| RenderbufferImpl_mock.h | Loading commit data... | |
| Renderer.cpp | Loading commit data... | |
| Renderer.h | Loading commit data... | |
| SamplerImpl.h | Loading commit data... | |
| ShaderImpl.h | Loading commit data... | |
| SurfaceImpl.cpp | Loading commit data... | |
| SurfaceImpl.h | Loading commit data... | |
| TextureImpl.h | Loading commit data... | |
| TextureImpl_mock.h | Loading commit data... | |
| TransformFeedbackImpl.h | Loading commit data... | |
| TransformFeedbackImpl_mock.h | Loading commit data... | |
| VertexArrayImpl.h | Loading commit data... | |
| generate_new_renderer.py | Loading commit data... |