src/tests/gl_tests/TimerQueriesTest.cpp


Log

Author Commit Date CI Message
Ian Ewell 536ebf4d 2016-02-09T13:20:12 Increase the timeout on Timer queries tests. On Mac, the timer queries tests have flakiness as the tests may timeout before the query result is available. The time to wait before throwing a timeout error in the tests was therefore increased by a factor of 20. BUG=585498 Change-Id: I55047ee7759e6d2dde69294df451202dfb498034 Reviewed-on: https://chromium-review.googlesource.com/327031 Commit-Queue: Ian Ewell <ewell@google.com> Reviewed-by: Ian Ewell <ewell@google.com>
Ian Ewell 292f005f 2016-02-04T10:37:32 Fix context virtualization for timer queries 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/325811 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Ian Ewell <ewell@google.com>
Ian Ewell f04f6671 2016-02-03T10:50:16 Add support for timer queries in D3D11 Timer queries without context virtualization are now supported in the Direct3D11 backend. Only the elapsed time portion of the GL extension is supported though due to limitations of D3D11 preventing a reliable implementation of the timestamp functionality. As a result of this, the counter bits for the timestamp is set to 0 and any queries of the timestamp will always return 0. BUG=angleproject:657 Change-Id: I51ca1a1a6bd6bc13155cebeacdca414b764db168 Reviewed-on: https://chromium-review.googlesource.com/325780 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Ian Ewell 53f59f4e 2016-01-28T17:36:55 Finish basic timer query support in GL backend EXT_disjoint_timer_query is feature complete with the WebGL tests passing with Chromium using ANGLE as a backend. There is some flakiness in the timestamp query test on WebGL, but investigation revealed a bug on Chromium's end and a fix is being made there. Since the extension is feature complete, it is now enabled by default on OpenGL so that it can be regression tested. BUG=angleproject:1265 Change-Id: If018b7e3ae84aff7e40c73ff8e672a86689ae6c4 Reviewed-on: https://chromium-review.googlesource.com/324580 Tryjob-Request: Ian Ewell <ewell@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Ian Ewell <ewell@google.com>
Ian Ewell 3ffd78bc 2016-01-22T16:09:42 Add initial support for EXT_disjoint_timer_query. Basic timer queries are supported and tested in the OpenGL backend but are not enabled by default. A good portion of the existing query code was also refactored for improved validation - specifically for validating that the appropriate extensions are available. BUG=angleproject:1265 Change-Id: Iebae994cd7a8d3ed3e9fc3776fe2f3d99caa9237 Reviewed-on: https://chromium-review.googlesource.com/323450 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tryjob-Request: Ian Ewell <ewell@google.com> Tested-by: Ian Ewell <ewell@google.com>