|
07b36365
|
2017-06-05T16:08:27
|
|
D3D11: Don't dirty all uniforms on program change.
Only dirty the uniforms if the uniforms are dirty. This gives about a
20% reduction in ANGLE overhead on a targeted micro-benchmark. It
probably won't have that large of an impact on most real-world
applications, but it was strictly unnecessary work.
Something that came up when investigating the internal program binary
cache in ANGLE D3D11.
BUG=angleproject:2053
Change-Id: I2d55c010c29ce9627a9001dd2abe6e549f0b7e8c
Reviewed-on: https://chromium-review.googlesource.com/524297
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c564c070
|
2017-06-01T12:45:42
|
|
Pass gl::Context to impl methods instead of ContextImpl.
In some cases we might have to call back into the GL layer, passing
the Context, and if we just have a ContextImpl pointer this isn't
possible. It also removes the need for SafeGetImpl.
BUG=angleproject:2044
Change-Id: I6363e84b25648c992c25779d4c43f795aa2866d6
Reviewed-on: https://chromium-review.googlesource.com/516835
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
231c7f56
|
2017-04-26T13:45:37
|
|
Apply clang-format to many files.
This cleans up the formatting in many places.
BUG=None
Change-Id: I6c6652ebc042f1f0ffecced53582d09d66b4f384
Reviewed-on: https://chromium-review.googlesource.com/487884
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
06f76552
|
2017-05-05T10:09:32
|
|
UniformsPerf: Define a vertex attribute.
This seems to fix a crash on D3D9/Win7/Intel.
BUG=chromium:704211
Change-Id: If600a6b8409774503f28ca122d87ef723e4ea2e5
Reviewed-on: https://chromium-review.googlesource.com/497649
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aa7203ef
|
2017-05-03T23:32:29
|
|
Inherit privately from angle::NonCopyable.
Make all inheritance from angle::NonCopyable private so the compiler
complains about this (admittedly unlikely) code:
class Foo: angle::NonCopyable {
virtual ~Foo() { ... }
};
angle::NonCopyable *p = new Foo;
delete p;
In the above code ~Foo() is not called, only ~NonCopyable(), because the
latter is not virtual. Making it virtual would add overhead to all derived
classes which don't already have a virtual method.
Also tighten access in NonCopyable, because we can.
BUG=angleproject:2026
Change-Id: Id0dc4d959cfb7bb82cf49382118129abb1d3a4f0
Reviewed-on: https://chromium-review.googlesource.com/495352
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
876429b7
|
2017-04-20T15:46:24
|
|
Update gl2.h and update entry points.
Some method signatures were updated. Types like GLclampf and GLvoid
were replaced with other equivalents.
BUG=angleproject:1309
Change-Id: I05e8e2072c5a063d87ad96a855b907424661e680
Reviewed-on: https://chromium-review.googlesource.com/475011
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6de51858
|
2017-04-12T09:53:01
|
|
Optimize angle::BitSetIterator.
Adds a new custom bitset template to handle packing as many bits as
possible into a single variable. Intelligently select the right class
depending on platform features and bit sizes.
For now, always use a packed 64-bit set on 64-bit, instead of using
a 32-bit set for smaller bitsets.
BUG=angleproject:1814
Change-Id: I3ffef815c15515555833f6fc9302d8a4eee5423b
Reviewed-on: https://chromium-review.googlesource.com/471827
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2597fb64
|
2016-12-09T16:38:02
|
|
ES31: Refactor VertexArray for Vertex Attrib Binding
OpenGL ES3.1 feature Vertex Attrib Binding requires vertex arrays should
be split into two arrays:
1. an array of vertex buffer binding points, each of which specifies:
- a bound buffer object,
- a starting offset for vertex attribute data in that buffer object,
- a stride used by all attributes using that binding point,
- a frequency divisor used by all attributes using that binding point.
2. an array of generic vertex attribute format information records, each
of which specifies:
- a reference to one of the new buffer binding points above,
- a component count and format, and a normalization flag for the
attribute data,
- the offset of the attribute data relative to the base offset of each
vertex found at the associated binding point.
Current ANGLE implementation simply uses a struct to represent a vertex
attribute object, which does not meet the requirements above.
This patch aims to be the the basis of the implementation of all ES3.1
Vertex Attrib Binding APIs by refactoring the struct VertexAttribute and
the class VertexArray to fit the new data layout and ensuring all current
functionality is retained.
BUG=angleproject:1593
TEST=angle_unittests, angle_end2end_tests, gpu_unittests
Change-Id: Ieb41f1bf503f815fd0476d2ea045dcb863465254
Reviewed-on: https://chromium-review.googlesource.com/418880
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3764b257
|
2017-02-15T10:41:31
|
|
Vulkan: Run simple triangle perf test.
The most basic perf test possible.
BUG=angleproject:xxxx
Change-Id: I71b28098c0a1f2174a0177b08bddf74d337438e9
Reviewed-on: https://chromium-review.googlesource.com/427270
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
abf38572
|
2017-02-14T16:47:59
|
|
Remove old C++ ANGLE platform.
Now that the new platform is in place, we can remove the old methods.
Must be landed after https://codereview.chromium.org/2697463003/
BUG=angleproject:1892
BUG=chromium:678870
Change-Id: Ia29a3b120cf3521fc0409019c2e64e4dbc6f460d
Reviewed-on: https://chromium-review.googlesource.com/441274
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
5f56ddb9
|
2017-01-13T17:29:55
|
|
Buffer: Pass Context to all impl methods.
This allows us to retrieve Device handles for Vulkan, and could allow
us to avoid storing some pointers for other back-ends.
BUG=angleproject:1684
Change-Id: Iccd5b97cf1c3a332d62a38ad0fcf21c352270439
Reviewed-on: https://chromium-review.googlesource.com/426400
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6483eb62
|
2017-02-01T12:57:30
|
|
Add a BlitFramebuffer perf test.
This microbenchmark targets a variety of blit use cases, including
color blit, depth/stencil blit, and multisample resolve blit.
BUG=angleproject:1710
Change-Id: Ia8b3eb40af29e809e803ed48a69f3975b97fd80b
Reviewed-on: https://chromium-review.googlesource.com/435515
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b8353b01
|
2017-01-25T12:57:21
|
|
Vulkan: Simple buffer creation.
This is necessary to initialize vertex arrays.
BUG=angleproject:1579
Change-Id: Ic5a232d5cdfaa75b41241901de842e62ff3b173f
Reviewed-on: https://chromium-review.googlesource.com/406645
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
2cf7c51e
|
2017-01-16T15:27:57
|
|
Add a perf test for binding buffers.
BUG=angleproject:1639
Change-Id: I42da2acdb7c99116c4418a2f71d65d72d328d641
Reviewed-on: https://chromium-review.googlesource.com/428572
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d1e22b0b
|
2017-01-11T13:39:26
|
|
Expand Uniforms perf test.
This will run additional tests for redundant uniform sets on vec4
uniforms as well as matrix. Also rename the metrics slightly.
BUG=angleproject:1385
Change-Id: Ib9777ea38d3153cc0fb69658fcf96d75b03f3770
Reviewed-on: https://chromium-review.googlesource.com/427141
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2d676313
|
2017-01-04T10:44:36
|
|
Refactor common functionality out of draw call perf tests
Common functionality across some perf tests is moved to a separate
utility file, draw_call_perf_utils.
This will make it simpler to add more perf tests, such as tests for
multiview drawing.
BUG=angleproject:1669
TEST=angle_perftests
Change-Id: I2108d7425f7d8f43f333ea9daa6779e42862350b
Reviewed-on: https://chromium-review.googlesource.com/422332
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
acd1898e
|
2017-01-04T10:46:42
|
|
Replace Error(GL_NO_ERROR) with NoError().
In order to make the errors be consistent throughout ANGLE.
BUG=angleproject:1686
Change-Id: I0a2d86091d640aedeac94beae345c1fb6971b00d
Reviewed-on: https://chromium-review.googlesource.com/424835
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d9019838
|
2016-12-20T13:58:23
|
|
Fix cast warning in UniformsPerf.cpp.
BUG=None
Change-Id: I28af0d2be5ef545e78b8283d43d14078c0d1b62a
Reviewed-on: https://chromium-review.googlesource.com/422491
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5cdbda17
|
2016-12-20T11:41:56
|
|
UniformsPerf: Properly limit maximum uniform vectors.
The uniforms check was not correctly validating vector count instead
of uniform count. Fix this, and reduce the maximum maxtrix uniforms
to fix a crash on the perf bots.
BUG=angleproject:1385
BUG=angleproject:1390
BUG=angleproject:1671
Change-Id: I261477c33639ed516ff6a29b38ab87f89309a7f1
Reviewed-on: https://chromium-review.googlesource.com/422533
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fc5aef40
|
2016-12-19T15:23:49
|
|
Add a matrix uniforms perf test.
This test also adds a mode which controls if the uniform data changes
frame-to-frame. Could be useful when we test removing redundant
data checking.
BUG=angleproject:1385
BUG=angleproject:1390
BUG=angleproject:1671
Change-Id: I936702b83f3d7cd97918542b06ecc1372884b412
Reviewed-on: https://chromium-review.googlesource.com/422348
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
922cbfcb
|
2016-11-25T16:23:18
|
|
common: Add a vector arithmetic helper classes
Change-Id: I2f96baedf10d346eaa150bab04f8f6ca3ba573b9
Reviewed-on: https://chromium-review.googlesource.com/414272
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
457aa6c8
|
2016-11-22T18:36:31
|
|
Add a shader compile performance test.
BUG=angleproject:422
Change-Id: I10a2192c5c91360a1b7fe5e4d014bcf1fa84c96e
Reviewed-on: https://chromium-review.googlesource.com/413713
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8f775607
|
2016-11-03T16:45:34
|
|
Introduce a gl::BufferState class.
This state can share vital pieces of information with the impl.
The most elementary state is the buffer size, which then the
impl doesn't need to replicate.
BUG=angleproject:1579
Change-Id: I341393c64a6e49de65c1d53b1bad2fa143209862
Reviewed-on: https://chromium-review.googlesource.com/406644
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0f40d235
|
2016-09-23T14:50:29
|
|
Add a perf test for changing texture state.
BUG=angleproject:1386
Change-Id: I44da3a4cb2b23f98978349f26b80d6bb3a6dc8b5
Reviewed-on: https://chromium-review.googlesource.com/388784
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
29639857
|
2016-09-02T15:00:09
|
|
D3D11: Work around Intel uniform buffers bug.
When copying from a staging buffer to a uniform buffer, the first
upload would be incorrect. Work around this by trying to upload
directly to a uniform buffer on the first BufferSubData call.
BUG=chromium:593024
Change-Id: I0df3a1422b962bf3ece5d445f435df01e3544b67
Reviewed-on: https://chromium-review.googlesource.com/368774
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cd1b1226
|
2016-06-16T13:58:54
|
|
perf_tests: Work around stalls in gl_null test teardown.
The Clear command in the draw call benchmark was not being properly
no-op'ed. This would cause the driver to get a huge queue of GL
command, which it would only flush when the test was torn down. This
manifested as a 5+ second stall on test teardown.
Looking at the clear command, it does some work with binding
and then calling GL functions, so properly filtering out the driver
commands would be a bit more complicated. For now, we can hack in a
workaround for the draw call test (the only one that uses the GL
NULL renderer at the moment) to not call clear when it would give
us problems.
BUG=620687
Change-Id: I64a2ed1883e8d3bf0d4c423c8bce0902ae9bf8df
Reviewed-on: https://chromium-review.googlesource.com/352828
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
193c671d
|
2016-06-09T07:09:58
|
|
Add a perf test for render-to-texture.
This perf test focuses on the hotspot we have in Framebuffer::
checkStatus. It's exactly the same as the standard draw call
benchmark, but binds a Framebuffer before rendering.
BUG=angleproject:1388
Change-Id: Icc7a99e399f469d765bf1ac6abe0562977b9a39d
Reviewed-on: https://chromium-review.googlesource.com/348956
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e4857c7d
|
2016-04-21T14:13:53
|
|
Buffer11: Use adaptive threshold for releasing system memory.
The hard-coded threshold of five uses before a release was regressing
the Oort online benchmark, which seems to use an index buffer many
times, then change to a different range of indices, which would need
to check the system memory for index range validation.
Also add a performance regression test, and an update to the perf
runner script which checks for the most recent binary among the search
directories.
BUG=594066
Change-Id: Id09cc32fd00bff1c72cbe9b6fb7c210fd047a551
Reviewed-on: https://chromium-review.googlesource.com/339271
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f4863a45
|
2016-04-12T11:37:23
|
|
Add a perf test for setting uniform data.
BUG=angleproject:1353
Change-Id: Iaae79bb85318583c12b9a939ea27a7f7f7f64faf
Reviewed-on: https://chromium-review.googlesource.com/338441
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
7d712e7d
|
2016-03-29T21:54:33
|
|
Re-land "Clean up Buffer11."
This cleans up some messy stuff from the emulated index buffers, which
were caching variables that didn't need to be cached.
Also add in missing error checks. This touches a lot of code.
Re-land with a fix for clang-win build.
BUG=angleproject:1327
BUG=angleproject:1310
Change-Id: I31ed81c7242782bef7c5f6cde2192552f7ff9403
Reviewed-on: https://chromium-review.googlesource.com/336052
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e34deaa3
|
2016-03-30T01:50:40
|
|
Revert "Clean up Buffer11."
Fails Clang-win because of std::forward
..\..\third_party\angle\src\libANGLE/Error.h(60,40): error: no matching function for call to 'forward'
BUG=598944
BUG=angleproject:1327
BUG=angleproject:1310
This reverts commit 041d678b4764484386f934df927f00a5df48a351.
Change-Id: I9fb0685cd01090b1faf8417ffa3c9b49eeb4510e
Reviewed-on: https://chromium-review.googlesource.com/336040
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
041d678b
|
2016-03-29T17:00:47
|
|
Clean up Buffer11.
This cleans up some messy stuff from the emulated index buffers, which
were caching variables that didn't need to be cached.
Also add in missing error checks. This touches a lot of code.
BUG=angleproject:1327
BUG=angleproject:1310
Change-Id: Icd722d57d9449388fbabc62c7ea37f0526a568ff
Reviewed-on: https://chromium-review.googlesource.com/334731
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
022315de
|
2016-03-13T08:18:03
|
|
D3D: Add perf test for dynamic buffer promotion.
Drawing with a DYNAMIC usage array or element array buffer should
eventually lead to internally switching to a static usage, if the app
doesn't modify the data very often. This perf test simply renders a
bunch of random indexed triangles where both buffers are specified as
DYNAMIC. It should perform just as well as the static usage after a
warm-up period.
BUG=angleproject:1334
Change-Id: Ibe432d2122feaefc82d3c11cdf227f93ada82eda
Reviewed-on: https://chromium-review.googlesource.com/332578
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d8fa9215
|
2016-03-02T11:51:43
|
|
D3D: Refactor VertexBuffer::getSpaceRequired.
By making this a virtual call to BufferFactoryD3D (aka RendererD3D),
we can also stop having side-effects in the BufferD3D class of
creating a static buffer storage when we only want to know the space
required for some vertex elements.
This refactoring will aid implementation of VertexArray11 dirty bits.
BUG=angleproject:1327
Change-Id: I0e34c6e9f5da35edebc179d578ad9392dc0166db
Reviewed-on: https://chromium-review.googlesource.com/329741
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
534bf87b
|
2016-02-09T11:33:29
|
|
Implemented instanced rendering for emulated point sprites
Non-instanced PointSprite emulation for lower feature levels is
implemented using D3D DrawIndexedInstanced and an instanced vertex
buffer containing a pointsprite quad.
GL instanced rendering using glDrawArraysInstanced and
glDrawElementsInstanced with pointsprite emulation is performed using
a for-loop. The loop iterates over each instance to render and adjusts
the buffer offsets accordingly. This is not performant and is only used
and required by this chosen pointsprite emulation method.
Indexed instanced (glDrawElementsInstanced), uses the same offset loop
because the vertex buffer containing the data to be rendered has already
been expanded using getEmulatedIndexedBuffer(). Expanding the buffer
makes the two rendering operations similar enough to share code.
BUG=angleproject:1279
TEST=angle_end2end_tests
Change-Id: If46cc9f158e29f5518c70ad630b3228f474a9f8b
Reviewed-on: https://chromium-review.googlesource.com/321407
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f83cbc65
|
2016-01-22T15:27:21
|
|
Use std::random functions for test and samples RNG.
These standard functions are much more powerful than the C random()
routines. Use them to improve the random utils, and use a class
to clean things up further.
This fixes a problem I was having using random_utils where I was
having trouble generating random 32 bit unsigned integers.
BUG=angleproject:1290
Change-Id: I5081764053d0667a4e323553b7dea531256aa778
Reviewed-on: https://chromium-review.googlesource.com/323440
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
82e3f3de
|
2016-01-22T17:55:44
|
|
Cast display parm for eglGetPlatformDisplayEXT.
The native display parameter to eglGetPlatformDisplayEXT has type void*.
When building with -DUSE_OZONE the native display type is intptr_t so
a cast is needed.
BUG=angleproject:1297
Change-Id: I947f5f9016926b6e3d590a2e29b5ee1fc883384d
Reviewed-on: https://chromium-review.googlesource.com/323471
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Tested-by: Frank Henigman <fjhenigman@chromium.org>
|
|
e1743f37
|
2016-01-06T05:24:22
|
|
Clang warning fixes
This fixes member initialization order and unused private member
warnings that broke the Clang build after the last Angle roll.
BUG=82385
Change-Id: If866f352bda6d66093c180fdbec6c16bf902b628
Reviewed-on: https://chromium-review.googlesource.com/320466
Reviewed-by: Nico Weber <thakis@chromium.org>
Tryjob-Request: Nico Weber <thakis@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Tested-by: Nico Weber <thakis@chromium.org>
|
|
7ee40d1a
|
2016-01-04T08:37:00
|
|
Fix compilation failures on OSX standalone builds
BUG=
Change-Id: Ifd40ae30d601227caf550546fcffc286cf533a73
Reviewed-on: https://chromium-review.googlesource.com/320290
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
465b3a5f
|
2015-12-15T12:08:24
|
|
Add texture sampling perf test
The test generates a texture containing random data and then blurs it in
a fragment shader using nearest neighbor sampling. The test is
specifically designed to test overhead of GLSL's builtin texture*()
functions that may result from how ANGLE translates them on each backend.
BUG=angleproject:1261
TEST=angle_perftests
Change-Id: I188fa8c07e609b7f371e587358f913b506bd7d44
Reviewed-on: https://chromium-review.googlesource.com/319382
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
8047f065
|
2015-12-15T17:54:42
|
|
Improve perf testing framework
The ANGLERenderTest subclasses have a parameter "iterations". Previously
most of these tests would perform iterations^2 iterations, since the
looping was done both in ANGLERenderTest and in the individual test
classes. Do the looping only in the individual test classes instead.
This enables getting rid of separate beginDrawBenchmark() and
endDrawBenchmark() functions.
Some other unused code is also removed:
1. stepBenchmark function
2. unused parameters to step()
This makes the core loop of running tests simpler.
The perf testing framework also now has shared logic for deciding when
to end a given test.
The score calculation for tests is also changed. Instead of reporting
just the number of operations done, it is reported relative to the actual
run time of the test. This should make the test results more accurate,
since run time of the tests may have some variation. It also enables
changing the run time of the tests without rebaselining them.
In the tests that use GPU, GPU operations are also waited to finish
before stopping the timer.
BUG=angleproject:1261
TEST=angle_perftests
Change-Id: I69e9aad8afd2d9dedd60e144f0a5d4203618feef
Reviewed-on: https://chromium-review.googlesource.com/319381
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
fecbed9f
|
2015-12-17T12:01:12
|
|
Fix code style in perf tests
1) Format switch/case with git cl format
2) Change NULL -> nullptr
3) Change int to GLint where appropriate
4) Use more appropriate variants of asserts
BUG=angleproject:1261
TEST=angle_perftests
Change-Id: I97d6260dbd72ef3897fff145682b7043bf323b76
Reviewed-on: https://chromium-review.googlesource.com/319380
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
90c253a6
|
2015-12-15T15:14:08
|
|
Add an instancing perf test.
BUG=526217
BUG=angleproject:1164
Change-Id: Ia353a3b2fa0ab0e8b7fd15d72bb63e5ecb7833b1
Reviewed-on: https://chromium-review.googlesource.com/301469
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
84b0c3b7
|
2015-11-05T15:15:28
|
|
Re-land "In D3D, cache static vertex buffers to prevent wasteful recreation"
BUG=angleproject:197
Changes since first failed patch:
- Optimized BufferD3D::getStaticVertexBuffer()
- Removed loop to commit static buffers
- Out-of-date static buffers (which are much rarer anyway after this patch)
are marked for deletion at the *next* draw call, rather than searched for
before each draw call. That search was expensive.
The change should see a net improvement to DrawCallPerfBenchmark for D3D null.
Change-Id: If4942e0afd9e8fefadce8820a1305e13636547ef
Reviewed-on: https://chromium-review.googlesource.com/311115
Tested-by: Austin Kinross <aukinros@microsoft.com>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4dd1e55f
|
2015-11-06T14:23:24
|
|
D3D11: Implement basic primitive restart.
D3D11 handles primitive restart similarly to OpenGL's fixed index,
with a couple differences. It can't be toggled off, so we need to
restrict the max element index (handled in a prior patch), and
for smaller buffer types we need to rewrite the index data.
BUG=angleproject:597
Change-Id: Ib890ce9b3f5511784138ea3953a384b1c483ca9e
Reviewed-on: https://chromium-review.googlesource.com/309639
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
5b58cae2
|
2015-11-05T14:51:47
|
|
Revert "In D3D, cache static vertex buffers to prevent wasteful recreation"
Perf bisect traced performance regression to this CL:
8.1% regression in angle_perftests/DrawCallPerf_d3d9_null/score
6.2% regression in angle_perftests/DrawCallPerf_d3d11_null/score
BUG=angleproject:197
This reverts commit 868651d334d060458af13c7ff9211c2f72be0cad.
Change-Id: Iaba7eb4e574eb886496361e61fd5fe78ca14dcb8
Reviewed-on: https://chromium-review.googlesource.com/311150
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
0984d111
|
2015-10-29T14:06:04
|
|
Replace _countof with ArraySize
This macro only exists on MSVC
BUG=None
Change-Id: I23204d1307279840a7f85a005da9ed5c324e7dae
Reviewed-on: https://chromium-review.googlesource.com/309800
Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
868651d3
|
2015-08-31T15:31:18
|
|
In D3D, cache static vertex buffers to prevent wasteful recreation
BUG=angleproject:197
Change-Id: I66cd10609b2edbcf12b99530eafe1727511fe515
Reviewed-on: https://chromium-review.googlesource.com/296503
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3edfe034
|
2015-09-04T16:38:24
|
|
Support primitive restart in RendererGL.
Store index ranges in a new struct that tracks how many real indices were
seen. Update index caching to key on primitive restart being enabled and
update index counting functions to skip primitive restart indicies when
needed.
Passes dEQP-GLES3.functional.primitive_restart.*
Change-Id: Id1e25a5adcdcd4e998836e8ff6679c64be4c3066
Reviewed-on: https://chromium-review.googlesource.com/297770
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4a693565
|
2015-09-10T09:48:13
|
|
Fix the named parameter for the IndexConversion perftest
It seems that the compiler didn't resolve the overloaded operator<< with
the structure's grandparent structure. Fix it by explicitely casting to
the grandparent before calling operator<<. Also provides slightly more
information on the number of iterations/triangles.
This wasn't caught with local testing as IndexConversion isn't compiled in
angle_perftests on Linux.
BUG=angleproject:1153
BUG=530226
Change-Id: Ifa602eb0728d052bc651f0dd030f9f880c00dc51
Reviewed-on: https://chromium-review.googlesource.com/298860
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
5ade8459
|
2015-09-02T11:00:30
|
|
Properly check for EGL_KHR_create_context before creating ES3 context.
Mark EGL_KHR_create_context as supported in the DisplayGLs.
BUG=angleproject:1149
Change-Id: I20671535680eb2c3b9c08205cee243b3aa5c5821
Reviewed-on: https://chromium-review.googlesource.com/297080
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f3357ee2
|
2015-07-22T14:10:19
|
|
EGLWindow: remove the unused width and height
EGLWindow does nothing with it per se, but some code was relying on it
to store it. Add width and height to ANGLETest and SampleApplication
instead. Also fix a typo in PerfTestParams, widowWidth -> windowWidth.
BUG=angleproject:1105
Change-Id: I26da607a2e6342864b508a50ee3cf8944608f868
Reviewed-on: https://chromium-review.googlesource.com/287379
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
d3dfda2b
|
2015-07-06T08:28:49
|
|
Refactor how we store vertex formats.
Instead of storing a vertex format as a struct with the full info,
instead use an enum, and look up the info when we need it. This
saves a lot of constructor initialization time, operator comparison
time, and storage. It also will allow us to look up D3D format info
more quickly.
BUG=angleproject:959
Change-Id: I202fd1ea96981073bc1b5b232b1ec3efa91485cb
Reviewed-on: https://chromium-review.googlesource.com/277289
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
558f2b5a
|
2015-06-02T09:34:11
|
|
Added emulated indexed pointsprite rendering support.
This emulation is for renderers that do not support Geometry Shaders.
BUG=angleproject:949
Change-Id: I7acf003e83ea6661f10a703486e6d07eb28786f8
Reviewed-on: https://chromium-review.googlesource.com/274851
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Cooper Partin <coopp@microsoft.com>
|
|
5a0edc62
|
2015-06-30T12:36:07
|
|
Change intializer list order to match field order.
BUG=505304
Change-Id: I38149e72732f0b4eb7d398f90b5d11660e2a7fbc
Reviewed-on: https://chromium-review.googlesource.com/282465
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
9e582b93
|
2015-06-22T11:18:32
|
|
perf_tests: Normalize MS counts in EGL init test.
The un-normalized values depend on the number of frames rendered, so
if we optimize down one time, the other ms values all increase,
because we are rendering more frames. This generates spurious perf
alerts from the perf dashboard.
BUG=None
Change-Id: I1bc480141a8cad7eee96bcdf4d6747a3cbae30f2
Reviewed-on: https://chromium-review.googlesource.com/280980
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f0c1d029
|
2015-06-18T18:37:09
|
|
Fix compilation errors and Mac and some try bots
BUG=angleproject:892
Change-Id: I9a449889109b7df9c69776573b0fc2098cd06199
Reviewed-on: https://chromium-review.googlesource.com/280565
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
6ffeb744
|
2015-06-10T14:54:06
|
|
Add more detailed captures to EGL init perf test.
We can use the ANGLE platform to capture more specific information
than total number of iterations. We can also capture time spent
initializing DLLs, calling D3D11CreateDevice and allocating some
default resources.
BUG=angleproject:1014
Change-Id: If0f4965e7aac22eb09dfa0d2300ff449e7481f6e
Reviewed-on: https://chromium-review.googlesource.com/276631
Reviewed-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b76e350f
|
2015-06-11T16:01:45
|
|
Fix the broken draw call perf test.
This was broken by the angle test platforms refactor patch,
https://chromium-review.googlesource.com/#/c/276460/. It was
leading to the wrong tests be executed for the perf tests, and
also had bugs with supporting a default platform.
BUG=None
TEST=angle_perftests
Change-Id: Ib99342d4189fd98bf93dce088d15afcecc4a7e37
Reviewed-on: https://chromium-review.googlesource.com/277036
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
dd323e95
|
2015-06-09T15:16:31
|
|
Only run tests that the current hardware can support.
For each config, determine if a context can be created at test
instantiation time. This allows skipping of ES3 tests when the hardware
does not support ES3.
Updated the perf_tests to use the EGLPlatformParameters struct so that
they can be filtered in the same way.
Change-Id: If664604b057cec4005eb4b63bebd83cd4964b7b2
Reviewed-on: https://chromium-review.googlesource.com/276460
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
39fcf263
|
2015-06-08T14:39:07
|
|
Use both null and real renders for draw call perf.
Introduce a "null" GL renderer for this specific benchmark, which
does not do any work on drawArrays and drawElements. We could use
the same kind of trick for buffer and texture updates, if we need
it. This gives us a good baseline for comparing GL and D3D perf.
BUG=angleproject:1040
Change-Id: I4bf7c75df01932de45ddd0a4e42e8fc82f15e37e
Reviewed-on: https://chromium-review.googlesource.com/276192
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ce232678
|
2015-05-28T13:26:02
|
|
Add a perf test for eglInitialize.
Also shutdown performance, since it's not easy to only test one.
BUG=angleproject:1014
Change-Id: I9d06426788ed336031271f8876589b111f1294b7
Reviewed-on: https://chromium-review.googlesource.com/273974
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
80a50949
|
2015-05-21T10:54:14
|
|
Add perftest parameters for OpenGL
BUG=angleproject:892
Change-Id: Ia22b8ab48456d6fbccb159404e943f9ef2650bdc
Reviewed-on: https://chromium-review.googlesource.com/272610
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
b45a80db
|
2015-05-21T10:39:43
|
|
Make perftests use ANGLE_INSTANTIATE_TEST
This also moves ANGLE_INSTANTIATE_TEST to its own header and makes it
generic over the type of test parameter.
BUG=angleproject:892
Change-Id: Id4e3929d7ad06964b3259015915be84a8ee414f9
Reviewed-on: https://chromium-review.googlesource.com/272553
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Corentin Wallez <cwallez@chromium.org>
|
|
71632d0c
|
2015-05-12T17:14:56
|
|
Fix crash in IndexDataManagerPerfTest.
Since the gl::Buffer doesn't know about its data, the index range needs to
be computed on the raw indices instead of through the buffer.
Change-Id: I3f53822033a1a25bf5fae9132ee2ceb312eaa283
Reviewed-on: https://chromium-review.googlesource.com/270498
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
fe5f54f5
|
2015-05-12T17:06:05
|
|
perf_tests: Reduce iteration counts in some tests.
This gives the tests more room to breathe, and report more
precision in the final scores. Hopefully this will clear up the
issues on the bots where some tests appear to fluctuate between a
high and low value.
BUG=468852
Change-Id: Ie2793e0a89e5ded63ba4217828076df46c393a92
Reviewed-on: https://chromium-review.googlesource.com/270497
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
520c4ae2
|
2015-05-05T13:12:36
|
|
Add a Buffer::getIndexRange function.
Instead of exposing the index range cache, add a more generic method that
allows the buffers to handle their own caching of index ranges.
BufferImpl::getData can be hard to implement for BufferGL because there
isn't a way to tell the buffer to unmap and glGetBufferSubData can be very
expensive, requiring an extra copy of the data.
BUG=angleproject:881
Change-Id: Idec645219056132e0d72a410fbe7b971fa02c9e9
Reviewed-on: https://chromium-review.googlesource.com/261892
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
831b1953
|
2015-05-05T11:02:27
|
|
Move the IndexRangeCache and Range types to the gl namespace.
BUG=angleproject:881
Change-Id: Ib05149facee9fcc7714cb957ca8647b3498a36b6
Reviewed-on: https://chromium-review.googlesource.com/269254
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
3c8870a1
|
2015-04-20T16:00:15
|
|
perf_tests: Use 'score' units.
The dashboard automatically marks 'frames' as 'lower is better', while
'score' is automatically marked as 'higher is better'. Hence, use
score instead of frames.
BUG=468852
Change-Id: I02b3a9e4b74989793d4bfbf21a94e43670b3e028
Reviewed-on: https://chromium-review.googlesource.com/266522
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
87717702
|
2015-04-13T13:50:24
|
|
Add an IndexDataManager perf test.
This microbenchmark tests the time at which we find index ranges
in the cache, and how long the call to prepareIndexData might take.
It also verifies we successfully store index ranges in the cache.
BUG=angleproject:956
Change-Id: I0f1b0c00daa73d8e1bcde197d9de80ca229078b7
Reviewed-on: https://chromium-review.googlesource.com/262779
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b48e8b07
|
2015-04-15T14:26:37
|
|
D3D11: Only rewrite for primitive restart when needed.
We would rewrite our index data every draw call. Change the index
check to see if we're writing to the same sized / typed static
buffer and only rewrite the data if the user re-uploaded.
Also add a performance test for the primitive restart workaround.
As a future improvement we could avoid creating new D3D objects
every time we reinitialize static data, since BufferSubData
calls don't change the size of the buffer if the index type
remains the same.
BUG=476658
Change-Id: I9d2540ad8b1b34fa0142ba0bf794cf572da8c61d
Reviewed-on: https://chromium-review.googlesource.com/265838
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
304dcde8
|
2015-04-15T14:26:36
|
|
perftests: Use gtest asserts macro helpers.
We still were using the old cassert code, with a boolean return
value on our initialization code. We can make use of the gtest
macros and helpers to check for a successful init or GL errors.
BUG=476658
Change-Id: I09cbb3d40748cbeaf530ae8f23fb8a1b07e7611f
Reviewed-on: https://chromium-review.googlesource.com/265837
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
4a1858b8
|
2015-04-14T16:16:30
|
|
perftests: Fix simple draw call benchmark.
Previously the code was only testing the validation logic. Fix this
by testing validation-only and a simple single quad draw benchmark.
BUG=468852
Change-Id: I510deea08fee5932f51ea39883ed91652be476df
Reviewed-on: https://chromium-review.googlesource.com/265751
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
835be965
|
2015-04-13T14:17:49
|
|
perf_tests: Only print final score result.
Don't print all the other measurements and values, since they'll
just add noise to the perf bot dashboards. Also increase the
run time of the DrawCallPerfTest to 10.0 seconds.
BUG=angleproject:744
BUG=468852
Change-Id: If076055ad46b4e6923f39687edcaa25930b188a7
Reviewed-on: https://chromium-review.googlesource.com/265464
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
794e0009
|
2015-04-07T18:31:54
|
|
Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)
Change-Id: Id0e06d7d6600344d858f00dabc219d79289bbc82
Reviewed-on: https://chromium-review.googlesource.com/265020
Tested-by: Minmin Gong <mgong@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b3584fb4
|
2015-04-09T17:34:21
|
|
Revert "Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)"
Causing a build failure on Mac/Clang:
./Tokenizer.cpp:551:7: error: extra tokens at end of #else directive [-Werror,-Wextra-tokens]
#else if defined(_MSC_VER)
http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder/builds/29136
This reverts commit 3b26e231d99154814eb428f75a67bbe7a21adadc.
Change-Id: I2d11ddcc18130d908fd2ec3d6f5ab890cfccd5e7
Reviewed-on: https://chromium-review.googlesource.com/264983
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3b26e231
|
2015-04-07T18:31:54
|
|
Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)
Change-Id: I73d9a2b9ad16f032be974b9c819de0dc1247c2ea
Reviewed-on: https://chromium-review.googlesource.com/264533
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
99f075da
|
2015-04-01T15:48:07
|
|
Split DrawCallPerf test from BufferSubData test.
This will give us better dashboard encapsulation when we're
running on the Chromium bots. It also paves the way for more
specialized draw call tests, like for indexed draw, with uniform
updates, instancing, etc.
BUG=angleproject:744
Change-Id: I396de28c027f99da18a0904f959d23b59cac2010
Reviewed-on: https://chromium-review.googlesource.com/263505
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
514df7f7
|
2015-03-27T09:46:42
|
|
Remove uses of std::unique_ptr in perftests.
This is disallowed in Chromium because it isn't currently portable.
We can put it back later if the rules change.
BUG=angleproject:956
Change-Id: I5be28590f494719b8cc995739dde26726283fced
Reviewed-on: https://chromium-review.googlesource.com/262777
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
2d1eea09
|
2015-03-27T09:46:41
|
|
Remove shared_utils.h, use angle_common instead.
*re-land with fix for Chromium compile*
This saves us from needing to replicate the same code in two places.
BUG=angleproject:956
Change-Id: I68dffee715df03bd25685e3ed5c0506ffc41c3b9
Reviewed-on: https://chromium-review.googlesource.com/263258
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
61a5b338
|
2015-03-31T15:35:09
|
|
Revert "Remove shared_utils.h, use angle_common instead."
Causing a build conflig with Chromium's DISALLOW_COPY_AND_ASSIGN.
http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder/builds/24738
This reverts commit 3ad467df2817df60ae90a84aae68dc37b46b2b34.
Change-Id: I0cf13e3bc3af90303a123813052cced0ba086515
Reviewed-on: https://chromium-review.googlesource.com/263159
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7afd4617
|
2015-03-30T10:56:05
|
|
Disable vsync for perf tests and don't report the total time.
BUG=angleproject:955
Change-Id: I8223349622531c8fff7c7cd45bdf4754d7619ae2
Reviewed-on: https://chromium-review.googlesource.com/263062
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3ad467df
|
2015-03-27T09:46:41
|
|
Remove shared_utils.h, use angle_common instead.
This saves us from needing to replicate the same code in two places.
BUG=angleproject:956
Change-Id: Ibc80997eec184d0d5aa9c6c076c9d4507fbf8caa
Reviewed-on: https://chromium-review.googlesource.com/262776
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
9bd4dbef
|
2015-03-27T09:46:40
|
|
Split ANGLEPerfTest into a Render and basic test.
The basic test we can use for perf testing internal classes with
mocks. The render tests are more specific to doing draw calls.
BUG=angleproject:956
Change-Id: Iade393facc30c8d7288b1b94a159ce3afe993021
Reviewed-on: https://chromium-review.googlesource.com/262775
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
19a43dbe
|
2015-03-20T16:14:04
|
|
Add a perf test for draw call overhead.
These perf tests use the D3D NULL renderers to measure pure CPU
time, with no GPU limitations. Also fix our D3D9 SwapChain code
to skip creating a SwapChain for NULLREF D3D9 devices, and the
vertex decl code to reinitialize the formats when finding a
mismatch with the previous value.
BUG=angleproject:955
Change-Id: I449e63177b48afd1559c36244de0bc252814e813
Reviewed-on: https://chromium-review.googlesource.com/262208
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
7e8320d8
|
2015-03-23T14:22:15
|
|
Make angle perftests build with clang.
::testing::WithParamInterface ends up calling deleting an object
with the type of the template parameter, and the pointer it deletes
could arguably point to a subclass of the param object -- so clang
warns that there's a delete on a class with a virtual method but
without a virtual dtor. Make the param classes final to let the
compiler know that this can't happen in practice.
BUG=chromium:82385
Change-Id: I49a4120b15670d876613b22ba709d50bf4685006
Reviewed-on: https://chromium-review.googlesource.com/261965
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Nico Weber <thakis@chromium.org>
|
|
be13ffca
|
2015-03-19T13:42:16
|
|
Use google test to wrap our perf tests.
This provides easy implementation with the Chromium perf bots.
BUG=angleproject:744
Change-Id: I71c04e3d67cae9344ddca9fd95fd3c9849494922
Reviewed-on: https://chromium-review.googlesource.com/260644
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
64af27bd
|
2015-03-19T13:42:14
|
|
Make Optional a proper helper class.
Move this to a common area, out of perf tests.
Change-Id: I53d36accfe0c53789c007edfb20ba7e964947def
Reviewed-on: https://chromium-review.googlesource.com/260643
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
559a2e8c
|
2015-03-16T17:25:51
|
|
Move the ANGLE tests project to src/
*re-re-land with fix for Chrome's angle tests*
BUG=angleproject:945
Change-Id: I3c64e2edc776c299791440f65f22450855eb6dfa
Reviewed-on: https://chromium-review.googlesource.com/260448
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
96e3f556
|
2015-03-16T21:24:20
|
|
Revert "Move the ANGLE tests project to src/"
Still causing build issues on Chrome.
This reverts commit 64a3b2a92fe3bbd28972638e6759fae0b98d81b9.
Change-Id: I8d40fe3dfd0a877343357153a02b8ef66d571c64
Reviewed-on: https://chromium-review.googlesource.com/260425
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
64a3b2a9
|
2015-03-16T11:00:20
|
|
Move the ANGLE tests project to src/
*re-land with fix for Chromium build*
BUG=angleproject:945
Change-Id: I82bff1760e681987fb26e479734aa62fb845898a
Reviewed-on: https://chromium-review.googlesource.com/260362
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5491fe66
|
2015-03-16T17:56:18
|
|
Revert "Move the ANGLE tests project to src/"
Causing build break in Chromium.
This reverts commit 71c2d85c4af2f6cb213d4f3e15f0ae16b63790f3.
Change-Id: Iedf001c1f4c60a759f69009610fbce978d193d17
Reviewed-on: https://chromium-review.googlesource.com/260370
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
71c2d85c
|
2015-03-16T10:47:04
|
|
Move the ANGLE tests project to src/
BUG=angleproject:945
Change-Id: I2eb44ac43f65b916ddd838d39e6aae62580d7fa0
Reviewed-on: https://chromium-review.googlesource.com/258903
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|