|
51a1db16
|
2015-04-06T09:02:37
|
|
Give Timer a virtual destructor as it's deleted polymorphically.
Found by clang:
..\..\third_party\angle\src\common/angleutils.h(66,5) : error: delete called on 'Timer' that is abstract but has non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
delete resource;
^
..\..\third_party\angle\src\tests\perf_tests\ANGLEPerfTest.cpp(26,5) : note: in instantiation of function template specialization 'SafeDelete<Timer>' requested here
SafeDelete(mTimer);
^
BUG=chromium:82385
Change-Id: I69033b1802b5dffbdf2d80889aca7019d710d481
Reviewed-on: https://chromium-review.googlesource.com/264061
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
68694e99
|
2015-03-24T14:03:37
|
|
Add UBO offset support for D3D11.1.
Also fixes the uniform count upper limit in glGetActiveUniformsiv,
as well as an assert hit with used but unbound uniform buffer.
BUG=angleproject:507
BUG=angleproject:962
Change-Id: I096fe1c9b4f0f398f3a638cd8311278987dfb7dc
Reviewed-on: https://chromium-review.googlesource.com/263404
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
|
|
90a09b56
|
2015-04-01T18:21:24
|
|
Revert "Add UBO offset support for D3D11.1."
Failed on 32-bit builds. See: https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder/builds/24828/steps/compile/logs/stdio
angle\src\libangle\validationes.cpp(1461) : error C2220: warning treated as error - no 'object' file generated
angle\src\libangle\validationes.cpp(1461) : warning C4018: '<' : signed/unsigned mismatch
This reverts commit 381f969315c0c70bacf183e58de7194f42486112.
Change-Id: I05f09f19e40046994d34809c5b79095458f56148
Reviewed-on: https://chromium-review.googlesource.com/263474
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
381f9693
|
2015-03-24T14:03:37
|
|
Add UBO offset support for D3D11.1.
Also fixes the uniform count upper limit in glGetActiveUniformsiv,
as well as an assert hit with used but unbound uniform buffer.
BUG=angleproject:507
BUG=angleproject:962
Change-Id: I263b14df41d4e45a67304c1d145646398721cf0a
Reviewed-on: https://chromium-review.googlesource.com/263412
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3917f578
|
2015-04-01T15:17:21
|
|
Revert "Add UBO offset support for D3D11.1."
Was ignoring the uniform block bindings.
This reverts commit 7159ea6778eb73c233736cc2fa59ae9177b75e4b.
Change-Id: Ie7d2b40d3fb2adedd309f1162fb6fd33ab0b4c3c
Reviewed-on: https://chromium-review.googlesource.com/263420
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@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>
|
|
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>
|
|
7159ea67
|
2015-03-24T14:03:37
|
|
Add UBO offset support for D3D11.1.
Also fixes the uniform count upper limit in glGetActiveUniformsiv.
BUG=angleproject:507
Change-Id: Icfc90ed64cf94b1bab2d4cc93a8fb5e11b28d666
Reviewed-on: https://chromium-review.googlesource.com/261874
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@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>
|
|
f1e85927
|
2015-02-23T14:40:04
|
|
Add test for very basic operations to enable as GL functionality is added.
Add OpenGL and OpenGLES platform types for the ANGLE tests.
Comment out some UNIMPLEMENTEDs that tests using OpenGL trigger.
BUG=angle:882
Change-Id: I7f85eed184f7cebd25e2521d793fc9c394b704ce
Reviewed-on: https://chromium-review.googlesource.com/252252
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7825f619
|
2014-11-26T16:19:41
|
|
Update ANGLE_platform_angle_d3d to use a device type enum instead of WARP bool.
BUG=angle:490
Change-Id: I1555e7f09b23138753e52ddf720d088587f7cadb
Reviewed-on: https://chromium-review.googlesource.com/232104
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
15dc05fc
|
2015-01-22T13:31:46
|
|
Only request PostSubBuffer support when the extension is available.
BUG=angle:658
Change-Id: I6828290ef89c57e8c794f0fca6e5991c492b67aa
Reviewed-on: https://chromium-review.googlesource.com/242572
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
fcbf345b
|
2015-02-03T09:29:43
|
|
Add testfixturetypes.h to util.gyp
Change-Id: I562bdca2c5c693155333a0ce168310be05b37531
Reviewed-on: https://chromium-review.googlesource.com/245741
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
ce8bb2fa
|
2014-12-30T13:32:25
|
|
Improve standards conformance of ANGLE's testing code.
ANGLE's testing code recently got enabled in Chromium's builds. While it
builds fine with cl.exe, it isn't quite standards-conformant and doesn't
build with clang. Fix this.
There were three issues:
1. ANGLE_TYPED_TEST_CASE() is a variadic macro that tries to use
__VA_ARGS__ as argument to a variadic template and then pass
that template to another macro. However, [cpp.replace] describes
that ANGLE_TYPED_TEST_CASE(Test, int, float) should be expanded
to TYPED_TEST_CASE(Test, ::testing::Types<int, float>) which
should be interpreted as a "call" of TYPED_TEST_CASE with the
3 macro arguments `Test`, `::testing::Types<int`, and `float>`.
As a fix, use a typedef for the variadic template and refer to
it through the typedef in the macro call.
2. `#version` was used on its own line in a substitution of the
SHADER_SOURCE macro. [cpp]p1 says that every line starting with
a `#` is a preprocessing directive, and [cpp.replace]p11 says
"If there are sequences of preprocessing tokens within the list
of arguments that would otherwise act as preprocessing directives,
the behavior is undefined" (with a footnote that this includes
non-directives -- # followed by unknown text). As a fix, merge the
`#version` line with the previous line. Now the line doesn't start
with `#` and things are fine.
3. Unqualified lookup usually doesn't look into dependent bases. If
this is desired, one usually has to make the call qualified, a
good explanation for this is at
http://eli.thegreenplace.net/2012/02/06/dependent-name-lookup-for-c-templates
cl.exe doesn't implement this rule, and clang tries to emulate
cl.exe's behavior to a certain extend when in Microsoft mode.
However, that seems to not work for member templates with explicit
types (filed http://llvm.org/PR22066 for this, but since it's not
needed to parse Microsoft headers and not standards-conformant,
I'm not sure if we'll fix that). As a fix, don't provide an explicit
type, the inferred type is the same. This is also consistent with
all the other tests in this file. (We might clean up -Wmicrosoft
warnings in the future; if so I'll add the explicit this->s that
are missing in this file when we do.)
BUG=chromium:445406
Change-Id: I77a2f3ab9601a1f0f39b56ed3d05217f123155b8
Reviewed-on: https://chromium-review.googlesource.com/238090
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0dbda057
|
2014-12-04T18:13:04
|
|
Add basic D3D11 Feature Level 9.3 support
Change-Id: I660c74791ddb9917bd4796bb652eefab2a3e4863
Reviewed-on: https://chromium-review.googlesource.com/233660
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
0d3683c4
|
2014-10-23T11:08:16
|
|
Update ANGLE_platform_angle to allow requesting of Renderer versions.
Added enums to allow users to request major and minor versions of the
underlying API and if a WARP device is used.
BUG=angle:490
Change-Id: I0bfb2ac8d327da28a47cc8e6346300e47ab9538c
Reviewed-on: https://chromium-review.googlesource.com/225081
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
7fa245c0
|
2014-10-21T13:41:08
|
|
Use a new class name for each window.
If a previous window was not cleaned up properly due to a crash in a
test, the subsequent windows can fail to be created because the class is
not destroyed. Work around this by always creating a unique class before
creating the window.
Change-Id: Ied6b2818ef03fa12b07111d8204c3c1a6a5bd5ac
Reviewed-on: https://chromium-review.googlesource.com/225080
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4119ed3d
|
2014-10-01T10:41:40
|
|
Make OSWindow a non-static member of ANGLETest.
BUG=angle:611
Change-Id: I455e1dd0ad5582191621e316c4808a2d753e9aaa
Reviewed-on: https://chromium-review.googlesource.com/219867
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
91f2911f
|
2014-10-09T12:55:32
|
|
Add workaround for Unicode compile error.
Chromium builds define UNICODE, while we don't, which confuses
the built-in IDC_ARROW macro.
With this fix, and http://crbug.com/415983, we can build
angle_perf_tests in Chromium.
BUG=angle:744
Change-Id: I268a7c11a5b5355cb2485bf10faf750972cf4e30
Reviewed-on: https://chromium-review.googlesource.com/220363
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
fc63152a
|
2014-10-09T12:55:28
|
|
Use Chromium perf bot output style for perf test.
The Chromium style output will allow the perf bots to collect data
from our performance tests.
BUG=angle:744
Change-Id: I2ffdace688004edf2918ead2a3e2aa2a6c4daf95
Reviewed-on: https://chromium-review.googlesource.com/220361
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
b4fd0c96
|
2014-10-01T17:40:24
|
|
Replace usages of std::vector::data in most cases.
In some parts of ANGLE code, we were using std::vector::data to get
a pointer to the first element. Sadly, this is c++11 only, which
isn't currently supported on Chromium. This was causing a breakage
on Android. We should probably refrain from using data except on
D3D-only code, which we know will be Visual Studio.
BUG=angle:767
Change-Id: Ibc10577368435a13f62d74d77c95076482cd8f82
Reviewed-on: https://chromium-review.googlesource.com/220920
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
18b931d5
|
2014-09-29T12:58:31
|
|
Configure Google Tests to run against multiple renderers/GLES versions
BUG=angle:611
Change-Id: I7d43612171c439045038db9ae82fd8716c0b31c6
Reviewed-on: https://chromium-review.googlesource.com/220400
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
ea0e8733
|
2014-09-24T10:26:49
|
|
Add a point sprite benchmark.
This benchmark will attempt to reproduce the slowdown we see
in D3D11 on the turbulenz GPU particles demo.
BUG=angle:705
Change-Id: I9c4c2f09d4282feae30f448fd374cdbb6bceae9b
Reviewed-on: https://chromium-review.googlesource.com/216467
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9e16d40d
|
2014-09-08T17:36:33
|
|
Fix Win32Window::resize breaking angle_tests.
We were messing up the client rect on resize, which caused the
ReadPixels checks to mess up around the window edges. Disabling
the window styles on the test windows masked this bug. Fix this
by using a style-less child window inside the parent window.
This gives us access to window styles for the samples project,
along with the ability to use tiny 1x1 windows for testing.
BUG=angle:730
Change-Id: Ic6dd931df7b4e32fbbcacbb004d3bbc49917f658
Reviewed-on: https://chromium-review.googlesource.com/217024
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
33ea2f97
|
2014-08-29T15:15:01
|
|
Added BufferSubData benchmark.
BUG=angle:705
Change-Id: I65d557f35e4c9f1d94853a775330a92b7d428847
Reviewed-on: https://chromium-review.googlesource.com/213810
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0bab342b
|
2014-08-29T11:49:36
|
|
Fix 64-bit use of Win32Window.
An incorrect call to SetWindowLongPtr was crashing the 64-bit test.
BUG=angle:705
Change-Id: I3815bb0a1308f5e66e74faead37c0ae09f975a10
Reviewed-on: https://chromium-review.googlesource.com/214883
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
44771099
|
2014-08-28T09:21:35
|
|
Make OSWindow destructor virtual.
BUG=angle:734
Change-Id: I6deb639abc26a314dd890189613e0a3a2e1be1d2
Reviewed-on: https://chromium-review.googlesource.com/214714
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
5704d6e8
|
2014-08-26T13:16:38
|
|
Add some shared utility methods to the utils project.
BUG=angle:730
Change-Id: I268c7f76ee9a14ab82f646ae8ebf4eed100bf86d
Reviewed-on: https://chromium-review.googlesource.com/213509
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
62af5467
|
2014-08-26T13:16:37
|
|
Use EGLWindow in ANGLETests.
This completes the refactor to use the same code for EGL and OS
Window creation for samples and tests.
BUG=angle:730
TEST=angle_tests
Change-Id: Ib6de89f5bf83c0730a66f662cd1f87351f36a5f7
Reviewed-on: https://chromium-review.googlesource.com/213297
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3757a5ae
|
2014-08-26T13:16:36
|
|
Allow app to specify EGL Window extra parameters.
Extra parameters include pixel bit sizes, swap interval
and if we want multisampling. This gives parity between
the tests and samples EGL creation options.
BUG=angle:730
Change-Id: I68d619c2ea141794f0089456bb6bba3d3b1c2a07
Reviewed-on: https://chromium-review.googlesource.com/213296
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
83da0ec5
|
2014-08-22T14:50:42
|
|
Add OSWindow::setVisible.
BUG=angle:730
Change-Id: I9c9e2f3b694ba57df359906cd8517ede60af632d
Reviewed-on: https://chromium-review.googlesource.com/213294
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
25f0e5e3
|
2014-08-22T14:50:41
|
|
Add a Resize method to OSWindow.
BUG=angle:730
Change-Id: I64106f05eb4188305eb34bbabe7d1cde037e1948
Reviewed-on: https://chromium-review.googlesource.com/213293
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
586666ce
|
2014-08-21T10:04:05
|
|
Make the sample app own the OS Window object.
This allows us to use OS Windows and EGL contexts differently
for different implementations - eg, tests and samples.
BUG=angle:730
Change-Id: I65e69fd829c3dbf2f1b406d90045bc296798ebb6
Reviewed-on: https://chromium-review.googlesource.com/213290
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1cfaaf8a
|
2014-08-21T10:04:04
|
|
Add a util project to share between samples and tests.
This code shares the Window and EGL logic between the two
projects.
BUG=angle:730
Change-Id: I8940371226a8f7b02579c332f51679c4a5d0e2a5
Reviewed-on: https://chromium-review.googlesource.com/212799
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|