|
be3d2d98
|
2019-06-25T17:52:17
|
|
More HLSL tests with regex
Replace some more HLSL hardcoded unique id tests suffix with regex
Bug: angleproject:3551
Change-Id: I4ed54092f9b2dda27702ba9412959ec3fb93a455
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1677408
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f0ea83a4
|
2019-06-26T10:17:26
|
|
Vulkan: Initial support for ES3.1
Bug: angleproject:3520
Bug: angleproject:3521
Change-Id: I49d67cae0bba3e147c7a83c10e09fe1ee5ff0824
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678400
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b937093e
|
2019-06-21T11:02:17
|
|
HLSL tests with regex
HLSL adds a unique id suffix to user defined variable and these numbers
are currently hardcoded in tests. It could easily fail if new tokens are
added to angle builtin variables.
Introduce C++11 regex feature into the foundInHLSLCode to avoid over
strict tests.
Bug: angleproject:3551
Change-Id: Ia3052afec667a7ac11198be31b5c1d03c856a723
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1670581
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
32d718f3
|
2019-06-18T11:25:23
|
|
NVIDIA Shield workaround for IsNVIDIA() detection
NVIDIA Shield do not implement Vulkan, which is used to populate
vendor IDs in SystemInfo. The vendorIDs are used to check IsNVIDIA().
This CL adds a workaround so IsNVIDIA() returns true for NVIDIA
Shield.
Bug: angleproject:3541
Change-Id: Ib36dd376207163acfc8d3a0e341f07a7d6aa3122
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1663080
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
eee67c6e
|
2019-06-18T13:00:43
|
|
Fix Platform.h integration with ANGLE
A function was renamed which broke the platformMethods table strings.
This CL reverts the rename (originally from crrev/c/1660952)
Bug: angleproject:1621
Change-Id: I8121a4956ba1d3e3c5036f72f6f1fdf5509dc491
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1664792
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
3f8975e1
|
2019-06-12T13:11:57
|
|
Debug: suppress INFO log level in tests
Disables INFO level log messages in tests, including GL errors.
Bug: angleproject:3525
Change-Id: Ib16871b9faaff54964dd2770e1791372b1b79361
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1656293
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: James Dong <dongja@google.com>
|
|
beb0eb2d
|
2019-06-14T15:10:33
|
|
Clean up workarounds/features to single location.
Rename all workarounds structs to features, and move the lists to a
shared location in include/platform (to help with documentation,
see:
https://cs.chromium.org/chromium/src/ui/gl/gl_switches.cc?sq=package:chromium&g=0&l=69)
Bug: angleproject:1621
Change-Id: I4069f08131db5e886047a007efb5d7764dfee5f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660952
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2c49d0b0
|
2019-06-14T15:17:37
|
|
Suppress Bindings perf test on Win/Intel/GL.
BindingsBenchmark.Run/gl_100_objects_allocated_every_iteration
This test was timing out on the bots. Conservatively skip the benchmark
on Intel/GL/Windows.
Bug: chromium:974083
Change-Id: I4a254bff8b43e5a47b5905ee6b9bc1a659129684
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660951
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
88596bea
|
2019-06-13T14:17:48
|
|
Vulkan: Implement a texture descriptor cache.
We noticed a significant hotspot in vkAllocateDesctiptorSets. The app
was repeatedly cycling through a few combinations of active textures.
For each state change in ANGLE we were allocating a new desctiptor set.
This in turn would trigger internal driver memory allocation and cause
jank. Using a cache avoids allocations entirely since the application
is rotating through a stable set of textures.
The descriptor cache is stored in each program. It is indexed by a set
of 32-bit serials. Each texture generates a unique serial for every
combination of VkImage and VkSampler that the texture owns. The texture
descriptor is refreshed every time a texture changes or is rebound.
The descriptor cache is accessed via an unoredered map with the texture
serial sets as the hash key. We also store the maximum active texture
index in the cache key so we don't need to hash and memcmp on all 64
active textures.
This will currently fail if more than MAX_UINT serials are generated.
But that number is high enough that it shouldn't be possible to hit
in practice in a practical amount of time.
Requires shifting the texture sync to ContextVk so we can get the new
serial after the textures are updated. And to make sure to update the
image layouts even if the descriptors are not dirty.
Improves performance of the T-Rex demo. Also improves the score of the
texture state change microbenchmark by about 40%.
Bug: angleproject:3117
Change-Id: Ieb9bec1e8c1a7619814afab767a1980b959a8241
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1642226
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
05ba83a0
|
2019-06-13T13:26:58
|
|
Refactor DrawCallPerfParams.
Makes it a bit easier to work with. In prep for adding offscreen
configs.
Bug: angleproject:3117
Change-Id: Ie2497574b2687592b7b3df2f7b933a19e83b6d16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1650784
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
fce1e2d1
|
2019-06-04T15:02:08
|
|
Extend eglGetPlatformDisplay to allow feature overrides.
Add EGL_FEATURE_OVERRIDES_ENABLED_ANGLE and
EGL_FEATURE_OVERRIDES_DISABLED_ANGLE to submit lists of strings naming
the features that should be overridden (either enabled or disabled) on
display creation.
Bug: angleproject:1621
Change-Id: I4bb75c5dbab0e3b701a72069c38f8c60ecfffad2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1646595
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6064e6ab
|
2019-06-11T04:01:12
|
|
Reland "Temporarily disable creating D3D debug device."
This reverts commit 28394c2295335929c17bbfe0ab74f923cd234ff2.
Reason for revert: may be the cause of flakiness on Win10 Debug (NVIDIA) per http://crbug.com/972914 .
Original change's description:
> Revert "Temporarily disable creating D3D debug device."
>
> This reverts commit 3d544fffe7ff9284b21e3a15f638297c827bbc21.
>
> Reason for revert: Seems like flakiness is not related.
>
> Suppress D3D11 test failures uncovered by re-enabling D3D debug device:
> ComputeShaderTest.DispatchCompute
> Texture2DTestES3.TextureImplPropogatesDirtyBits
> D3DTextureTestMS.*
>
> Also a small fix to ANGLETestBase::checkD3D11SDKLayersMessages
> to clear reported messages, otherwise the failures are also reported
> for tests following the one with the actual failure.
>
> Original change's description:
> > Temporarily disable creating D3D debug device.
> >
> > To diagnose whether Windows Intel end2end tests flakiness
> > is related to creating debug device and new version of Windows SDK.
> >
> > Bug: angleproject:3153
> > Change-Id: Ica7eae3fe875e22203b6dfd98b83604d66a97737
> > Reviewed-on: https://chromium-review.googlesource.com/c/1476954
> > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
>
> Bug: angleproject:3153, angleproject:3493
> Bug: angleproject:3501, angleproject:3512, angleproject:3513
>
> Change-Id: I232da72aa09c2b9230cf179dd54e1731f8365f8e
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480854
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org
Change-Id: I38a5cc9bb6ebcd50e97e40cc972a82679e73732a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3153, angleproject:3493, angleproject:3501, angleproject:3512, angleproject:3513
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652784
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
28394c22
|
2019-02-21T03:24:58
|
|
Revert "Temporarily disable creating D3D debug device."
This reverts commit 3d544fffe7ff9284b21e3a15f638297c827bbc21.
Reason for revert: Seems like flakiness is not related.
Suppress D3D11 test failures uncovered by re-enabling D3D debug device:
ComputeShaderTest.DispatchCompute
Texture2DTestES3.TextureImplPropogatesDirtyBits
D3DTextureTestMS.*
Also a small fix to ANGLETestBase::checkD3D11SDKLayersMessages
to clear reported messages, otherwise the failures are also reported
for tests following the one with the actual failure.
Original change's description:
> Temporarily disable creating D3D debug device.
>
> To diagnose whether Windows Intel end2end tests flakiness
> is related to creating debug device and new version of Windows SDK.
>
> Bug: angleproject:3153
> Change-Id: Ica7eae3fe875e22203b6dfd98b83604d66a97737
> Reviewed-on: https://chromium-review.googlesource.com/c/1476954
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bug: angleproject:3153, angleproject:3493
Bug: angleproject:3501, angleproject:3512, angleproject:3513
Change-Id: I232da72aa09c2b9230cf179dd54e1731f8365f8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480854
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
20d380fa
|
2019-06-03T15:21:47
|
|
Print stack backtrace on critical failure.
We reuse code from Skia to walk the stack on Posix platforms. See:
https://github.com/google/skia/blob/master/tools/CrashHandler.cpp
On Windows we use a BSD-licensed tool called StackWalker. See:
https://github.com/JochenKalmbach/StackWalker
This allows us to get high quality stack traces on Win/Linux/Mac.
Bug: angleproject:3162
Change-Id: I9c50ede2c6a41ed0ee85a0507372df42a487bcef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1632950
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
c104b2d2
|
2019-05-31T16:25:02
|
|
Re-enable WGL perf test configs.
These were accidentally dropped in https://crrev.com/c/1574674 .
Re-enable so we can gather better perf stats on Windows machines.
Bug: angleproject:3494
Change-Id: I92e9ba7e7783fddde1a47c0ffe056da7750d2c3b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1639063
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
6722009e
|
2019-05-20T11:12:53
|
|
Vulkan: Handle dirty RTs with state messages.
Prior to this CL we were handling dirty state change notifications by
flushing the RT Images just prior to use or just after they were
changed. This could lead to a few redundant checks in several places.
It also meant we needed an owner pointer from the RT to the parent
Image. This pointer would be null for Surfaces and Renderbuffers.
This cleans up the image flushing logic to be handled by dirty bit
notifications. When an app updates an attached Texture with TexSubImage
or related calls it will send a notification to the Framebuffer. The
Framebuffer then sets a dirty contents bit that is handled in the
implementation. In Vulkan this means flushing the dirty bits.
Requires adding a flag to the FramebufferImpl class to determine if we
need to syncState before we checkStatus. Adding the option allows us to
only call syncState for the GL back-end. Not calling syncState allows
the robust resource init operation to happen *before* we syncState.
Which in turn allows FramebuffeVk to initialize the VkImages in one go.
Added new regression tests for Texture updates. This might not cover
all cases. I found it was very hard to trigger some of the resource
update staging in TextureVk.
Bug: angleproject:3427
Change-Id: Idfa177436ba7fcb9d398f2b67922e085f778f82a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601552
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6bb193c8
|
2019-05-22T16:32:21
|
|
Vulkan: Implement glImportSemaphoreFdEXT
Allow importing file descriptors into semaphores on linux. This can be
used to synchronize ANGLE's GL renderer with respect to vulkan
composition in chromium.
Bug: angleproject:3289
Change-Id: I04ba3bbb2e343baa000ff89c21c03ca36163a713
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623812
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
776694cd
|
2019-05-08T10:28:55
|
|
Change all ANGLE workarounds to use struct definition with info.
Change each workaround from a simple bool to a struct with info
including name, workaround set, description, and bug IDs. This will help
with future workaround integration with Chrome.
Bug: angleproject:1621
Change-Id: Ia27c180abaf845e280060c803e5994cc3152a057
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593917
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ebab670c
|
2019-04-19T14:36:45
|
|
Adding new extension GL_OVR_multiview
GL_OVR_multiview functions exactly the same as GL_OVR_multiview2.
All GL_OVR_multiview2 tests now also repeat the same test using GL_OVR_multiview
Bug: angleproject:3341
Change-Id: I7e5294fb6bbf7692535174a15da6a42e1b5fc4e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575904
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5cbaa3f8
|
2019-05-07T15:49:22
|
|
Don't inherit ANGLETest SetUp and TearDown.
Instead of inheriting from testing::Test's SetUp and TearDown we add
new methods 'testSetUp' and 'testTearDown'. This helps prevent a common
error of forgetting to call the base class method.
Also add a check in the ANGLETest destructor that SetUp and TearDown
have been called.
Bug: angleproject:3393
Change-Id: Iab211305cc06ffea9ca649e864ddc9b180f2cba0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593960
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
66e4850d
|
2019-04-25T10:49:05
|
|
Use EnumAdapters to properly detect primary GPU on Win
EnumDisplayDevicesA returns the card that's connected to the display,
but EnumAdapters return the adapter which the desktop primary is
displayed at index 0. We can use this to determine the device used for
graphics.
Also cleans up the discrepancy between platforms on finding "primary" vs
"active" GPU. Asserts that the GPU expected to run ANGLE commands is the
active GPU, and deprecates the primary GPU to be equal to the active
GPU.
Bug: angleproject:3383
Change-Id: I422fba1bbe47d85b7c09e378d559eaebf89e2625
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584360
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
58957f3d
|
2019-05-03T12:52:22
|
|
Add option to run each test config in a separate process.
This CL adds a command line option to angle_end2end_tests that will
iterate over all test configs. For each config it'll fork a new child
process that will run only a single config. This will allow us to
isolate each config to a specific child process. Hopefully this will
reduce test flakiness due to driver issues with multiple configs.
The command line option is "--separate-process-per-config".
Note that there are about 25 configs right now.
Bug: angleproject:3393
Change-Id: Ia117b371bbe159c1b0d28d82befffeb0f40467a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591428
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
467f174f
|
2019-05-03T12:52:21
|
|
Remove EGLTest.
Consolidate these tests into ANGLETest. Add a new parameter to
PlatformParameters that lets us skip normal test setup.
This removes the last 'configless' tests from angle_end2end_tests.
Bug: angleproject:3393
Change-Id: I87186698ade90f95577534eb8ed1dfd4245f740e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1590467
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
97f0affb
|
2019-05-03T12:52:21
|
|
Add command line option to filter by test config.
This allows us to run angle_end2end_tests with a single config without
using gtest_filter. It will also allow us to run each test config in
a separate process.
Bug: angleproject:3393
Change-Id: I09aaf9cfe55a117b0af8d79ecfd129f3d0f1d7c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591427
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
926f1caa
|
2019-05-01T14:03:05
|
|
Add support for GCC Compilers
Add support for GCC Compilers, so it can be build on Ubuntu.
BUG=angleproject:3392
Change-Id: I2f5ac7355a40f52123bd465f86b1e966c59c943d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592062
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yi Xu <yiyix@chromium.org>
|
|
69f72b41
|
2019-05-02T16:12:54
|
|
Simplify ANGLE test config names.
We don't need to use upper case. Lower case can be more readable.
Skip a test on Linux/NV/Vulkan that became flaky after changing
the test order.
Bug: angleproject:3393
Change-Id: Ie027e08ddc9d47b9484cf5b1aaca72a05dd60517
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574676
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ddc4d33a
|
2019-05-01T15:11:46
|
|
Remove several underused platform configs.
* Removes D3D11 Warp and Reference configs from tests.
* Removes several permutations of OpenGL back-end specific configs.
* Removes FL 9_3 since it is no longer supported.
* Removes present path "Copy" since it's redundant with normal D3D11.
Reduces number of configs from over 60 to 25.
Bug: angleproject:3393
Change-Id: Ia5a23de3c4865b17ee50673a4066757b901a4b5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574675
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3089f92e
|
2019-05-01T15:11:46
|
|
Move EGL Display config into EGLPlatformParameters.
This CL moves all of the EGLDisplay configuration into an EGL platform
struct. Consolidating display configuration in the struct allows us to
move configuration out of the test constructor. Then when we filter
test configs we don't need to wait for the individual test setup.
Bug: angleproject:3393
Change-Id: I5bd06dcdc9f2867ebc43c1d4984077ada35cafc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574674
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
b8149075
|
2019-04-30T16:14:44
|
|
Clean up ANGLE test extension functions.
None of these functions needed to be member functions. Also make the
naming more consistent.
Bug: angleproject:3393
Change-Id: I7aafe2269a48af703a87bd9a8cf4cfab9e177dd3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574673
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
057b76e1
|
2019-04-12T14:48:59
|
|
Implement GL_CHROMIUM_lose_context.
This is useful for testing context lost behaviour.
BUG=angleproject:3379
Change-Id: If0e1538553b1761e313fc36ccde5138cd495200f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566141
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
3b2c6bfd
|
2019-04-16T17:19:50
|
|
Vulkan: Implement glImportMemoryFdEXT
Allow importing opaque file descriptors into memory objects on linux.
Currently this just holds onto the file descriptor rather than calling
vkAllocateMemory immediately. The latter will be easier once we have
support for suballocation (anglebug.com/2162).
Bug: angleproject:3289
Change-Id: Ia80ce07b2a9ec95b9063feb9bfeb24ffe77fa40e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552028
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7d64c486
|
2019-03-12T14:27:40
|
|
GL_ANGLE_multiview has been renamed to GL_OVR_multiview2.
changes include:
1) GL_OVR_multiview to GL_OVR_multiview2 extension directive change
2) Removal of all references to side by side. We no longer support multiple views in a single 2DTexture. Only 2DTextureArray's are supported
3) WebGL 2 (ES3) is required for multiview
Bug: angleproject:3341
Change-Id: Ie0c1d21d7610f8feebdb2e4d01c6947f57e69328
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552023
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3702d8c9
|
2019-04-08T13:44:06
|
|
Propogate dirty bit signals from TextureImpl to Texture up to Context.
If TextureImpl sets a local dirty bit and signals gl::Texture of it, the
dirtyness is not propogated to context. This can result in draw calls
with textures that are not synchronized
BUG=949985
Change-Id: I9baf82c96598265a6a4850f1fd48e213b5e98ab5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1556699
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
efec568b
|
2019-04-03T15:19:26
|
|
Expand clear tests for more mask combinations
The test was previously either masking every three aspect (color, depth
and stencil) or none. This was not exercising every clear path in the
Vulkan backend.
Bug: angleproject:3241
Change-Id: Ief4085ea302ec17bffe30b1f8510ae357fd01290
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1551523
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
43997017
|
2019-03-30T23:24:01
|
|
Vulkan: fix non-float clear with draw
Instead of using one draw call that clears all attachments, multiple
draw calls are issued that clear a single attachment each. This allows
us to have a manageable number of variations for the ImageClear.frag
shader, now that non-float format support is introduced.
Bug: angleproject:3187
Change-Id: Ic0c1067a396250bd80f31d00cad5a272acff8be8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545523
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d7e9662a
|
2019-03-24T13:04:43
|
|
Print SystemInfo after collection in ANGLE tests.
Disabled on Android because of issues with test parsing.
Bug: angleproject:2677
Change-Id: I75197e423f35bd8b84e27bb9b14d8c91779ad9c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1537696
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
9078c6a7
|
2019-03-19T11:10:15
|
|
Update necessary angle_end2end_tests to check the Android device name
Some tests fail only on specific devices, so the tests should be updated
to reflect that, and allow more tests to run on more devices.
Bug: angleproject:3275
Change-Id: I8e3183c1769c0bb8ed6d2605afcaf399cb1d9ed0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534463
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
a88c1f9c
|
2019-03-23T14:47:11
|
|
Revert "Force new displays on each Windows 7 end2end test."
This reverts commit 3e8a8d5b8567d08855d500c85bcf7cdcc4653f9a.
Reason for revert: Didn't seem to fix the bot.
Original change's description:
> Force new displays on each Windows 7 end2end test.
>
> This should fix the buffer allocation crash manifesting on Windows 7
> x64.
>
> Bug: angleproject:3261
> Bug: chromium:944454
> Change-Id: I8a0713e1d1f18285f128c0cfb98b398c6a336a36
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534461
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=ynovikov@chromium.org,syoussefi@chromium.org,jmadill@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: angleproject:3261, chromium:944454
Change-Id: I835331cbe444cc9415bef77f06462be580b43f49
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535235
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3e8a8d5b
|
2019-03-21T14:09:38
|
|
Force new displays on each Windows 7 end2end test.
This should fix the buffer allocation crash manifesting on Windows 7
x64.
Bug: angleproject:3261
Bug: chromium:944454
Change-Id: I8a0713e1d1f18285f128c0cfb98b398c6a336a36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534461
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f455f756
|
2019-03-20T20:49:44
|
|
Reuse angle_end2end_test windows and displays.
This both speeds up test execution and cuts down on the number of new
windows and displays created for a test config. This feature is only
currently enabled for Windows NVIDIA and Intel. On every other config
there were blocking issues that would need investigation. Several tests
were manually flagged as needed new displays on each iteration to
prevent test flakiness.
This feature might fix the issues with Intel test flakiness that have
been prominent on the ANGLE CQ.
WGL configurations have also been removed from ANGLE tests. So this
removes more of the code from ANGLETest.cpp.
Bug: angleproject:3261
Change-Id: Ic2864d4806ad38e0eeaa3c0afcd54ae1c548090f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520995
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
0f566fc7
|
2019-03-20T11:36:29
|
|
Introduce ConfigParameters test helper struct.
This allows us to more easily compare sets of parameters used in our
tests. The config parameters are stuff like the red / gree / blue bits
used in an EGL config. Or particular sets of extensions or other
EGL options.
This will more easily allow us to determine when we need to use a new
EGL display instead of reusing a prior.
Bug: angleproject:3261
Change-Id: Ia1f0ede988e0b4084fbb4d55097e94fd89ee4899
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531535
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
a683628b
|
2019-03-20T11:23:12
|
|
Use common SystemInfo in tests.
We were using a static SystemInfo in two places. Consolidate the
SystemInfo collection to a single location. Also renames Nvidia to
NVIDIA to be consistent with the company naming. And adds a few helpers
to SystemInfo for GPU detection.
Will lead to test changes to reduce flakiness on Intel Windows.
Bug: angleproject:3261
Change-Id: I4e0addf19d6fe26b4d31a1289efce72092a0a1dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531533
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
6ce1be5a
|
2019-03-19T16:06:44
|
|
Vulkan: move platform defines to Vulkan Headers build file.
From angle_vulkan build target,
so that everyone including Vulkan Headers
would get them for the right platform.
Also remove obsolete defines.
Bug: angleproject:3279
Change-Id: I4bbbeb72acfbf0dd22a1d6a13bd9df7ddaec84dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530029
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
4bcba62a
|
2019-03-18T14:31:12
|
|
Add Android device name, version, manufacturer to gpu_info_util
The model name, model version, and model manufacturer are easy to expose for
Android via <sys/system_properties.h>. This should be exposed and added to the
angle test framework for easy management of test expectations on different
devices.
Bug: angleproject:3274
Change-Id: I8ee6b8fa66ff7f4d6ee4688b335f2e6ef03baed6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1529207
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f576a708
|
2019-02-04T16:52:12
|
|
Add glmark2 to angle_perftests
Bug: angleproject:3125
Change-Id: I9242743c6b5c6e18d0a23ff853ef6b9b370865a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1452956
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
b6eb3412
|
2019-03-06T15:10:56
|
|
Allow testing::Combine in ANGLE_INSTANTIATE_TEST
In most tests, ANGLE_INSTANTIATE_TEST is sufficient. This macro takes a
a variable number of angle::PlatformParameters and instantiates that
many tests. angle::PlatformParameters already aggregates multiple
configurations.
In a number of cases, however, it would be useful to have even more
configurations in conjunction with angle::PlatformParameters.
gl_tests/MultiviewDrawTest.cpp solves this by creating a custom class
that combines angle::PlatformParameters with test-specific
configurations. gl_tests/CopyTextureTest.cpp included numerous tests
with hardcoded values for its configurations.
This change introduces ANGLE_INSTANTIATE_TEST_COMBINE_N. These macros
take N testing::* parameter generators followed by the list of
angle::PlatformParameters as per ANGLE_INSTANTIATE_TEST. They then
testing::Combine these generators, placing the angle::PlatformParameters
list first.
Tests that use this functionality would inherit from
ANGLETestWithParams<std::tuple<angle::PlatformParameters, ...>> instead
of ANGLETest, and instantiate their tests as such:
ANGLE_INSTANTIATE_TEST_COMBINE_3(TestName,
PrettyPrintFunction,
testing::ValuesIn(listOfParameters),
testing::Values(some, other, parameters),
testing::Bool(),
ES2_D3D9(),
ES2_D3D11(),
ES2_OPENGL(),
ES2_OPENGLES(),
ES2_VULKAN());
The name of the test, as used by --gtest_filter, will be suffixed with
the output of the PrettyPrintFunction. Assuming the tuple type given to
ANGLETestWithParams is Params, this function takes a
::testing::TestParamInfo<Params> input to pretty-print the name of the
test variation. It is recommended to output the platform first for
consistency with other tests.
gl_tests/CopyTextureTest.cpp is modified to use this macro.
Bug: angleproject:3125
Change-Id: I0311b84659578bf3c7b5e9673b41cc3a3adfc50d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506236
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
ffa277a1
|
2019-02-28T15:37:19
|
|
Fix logic for warningsAsErrors
warningsAsErrors should be falsed on Windows 7 because we may
legitimately get a warning about loading the old d3dcompiler DLL on that
platform. The logic for this was reversed in the initial change. This
change flips the logic, changes the cutoff OS version, and always sets
the flag to something.
Bug: chromium:920704
Change-Id: Ibf8a7c9a48bffc183479b7614148d6c00c122a07
Reviewed-on: https://chromium-review.googlesource.com/c/1496015
Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
|
|
5546fb4f
|
2019-01-17T12:25:54
|
|
Vulkan:Adding custom pool allocator
Migrated pool allocator used by compiler to common.
Planning to use this for ANGLE custom command buffers so this some
refactoring in preparation for that work.
Added a unit test to check PoolAllocator functionality.
Bug: angleproject:2951
Reviewed-on: https://chromium-review.googlesource.com/c/1476953
Reviewed-by: Jamie Madill <jmadill@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
Change-Id: I0b4f3d55ea1799e35c9799c221f7129233f30b24
Reviewed-on: https://chromium-review.googlesource.com/c/1492972
|
|
4b314eef
|
2019-02-27T13:20:51
|
|
Win7: No warnings as errors in FragData test.
Applies to all Windows because we currently don't have a way to check
which version we're on. The fallback to the old compiler is generating
a warning. This test was being overly conservative. Also updates a few
message strings.
Bug: chromium:920704
Change-Id: If83677881e85d6a6f9ad98b33cd5f7d917bbec6b
Reviewed-on: https://chromium-review.googlesource.com/c/1492311
Commit-Queue: Jamie Madill <jmadill@google.com>
Reviewed-by: Jamie Madill <jmadill@google.com>
|
|
9dc8eafe
|
2019-02-11T11:04:54
|
|
Vulkan: ES3 dEQP suppressions
This re-enables Vulkan ES3 context creation and adds the necessary dEQP
suppressions.
Bug: angleproject:2950
Change-Id: Ic24a9fb4f867f3bce08f101e056f208abf84bb5e
Reviewed-on: https://chromium-review.googlesource.com/c/1483311
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
aaa17b85
|
2019-02-26T16:57:44
|
|
Restrict OpenGL/Vulkan test window re-creation workaround to NVIDIA
The workaround in https://chromium-review.googlesource.com/430887
was intended only for NVIDIA.
Re-creating the test window causes new native display to be created every time.
Normally, re-using the same native display with different implementation
would release the old implementation.
When new display is created instead of re-using the old one,
old implementation is never released, leaking memory.
Use SystemInfo to check if any of GPUs is NVIDIA
and apply the workaround only then,
reducing the leak on other platforms.
Bug: angleproject:1810, angleproject:3153
Change-Id: I6198c01c82a01e2adc0bcd1fad303c47cd7328d8
Reviewed-on: https://chromium-review.googlesource.com/c/1490379
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
|
|
0546b538
|
2019-02-25T22:47:17
|
|
Revert "Vulkan:Adding custom pool allocator"
This reverts commit 941717496141b96f1d5817f31c2bb4a4e19847b9.
Reason for revert: crashes on Debug bots
Original change's description:
> Vulkan:Adding custom pool allocator
>
> Migrated pool allocator used by compiler to common.
>
> Planning to use this for ANGLE custom command buffers so this some
> refactoring in preparation for that work.
>
> Added a unit test to check PoolAllocator functionality.
>
> Bug: angleproject:2951
> Change-Id: I29618cfdb065b8a5fefd40719a35d27b1f6e99ef
> Reviewed-on: https://chromium-review.googlesource.com/c/1476953
> Reviewed-by: Jamie Madill <jmadill@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Tobin Ehlis <tobine@google.com>
TBR=ynovikov@chromium.org,jmadill@google.com,tobine@google.com,syoussefi@chromium.org
Change-Id: Id8c522bd1d94154e871211d975e801a55cc9c257
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2951, angleproject:3169
Reviewed-on: https://chromium-review.googlesource.com/c/1487977
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
94171749
|
2019-01-17T12:25:54
|
|
Vulkan:Adding custom pool allocator
Migrated pool allocator used by compiler to common.
Planning to use this for ANGLE custom command buffers so this some
refactoring in preparation for that work.
Added a unit test to check PoolAllocator functionality.
Bug: angleproject:2951
Change-Id: I29618cfdb065b8a5fefd40719a35d27b1f6e99ef
Reviewed-on: https://chromium-review.googlesource.com/c/1476953
Reviewed-by: Jamie Madill <jmadill@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
ffd39978
|
2019-02-20T10:45:24
|
|
test: Replace _TEST_CASE_ with _TEST_SUITE_.
Googletest is (at last) converging with industry-standard terminology
[1]. We previously called test suites "test cases", which was rather
confusing for folks coming from any other testing framework.
Chrome now has a googletest version that supports _TEST_SUITE_ macros
instead of _TEST_CASE_, so this CL cleans up some of the outdated usage.
[1] https://github.com/google/googletest/blob/master/googletest/docs/primer.md#beware-of-the-nomenclature
Bug: chromium:925652
Change-Id: Ia0deec0bc4216ef1adabc33985a7cbda89682608
Reviewed-on: https://chromium-review.googlesource.com/c/1477418
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Victor Costan <pwnall@chromium.org>
|
|
229fc83d
|
2019-01-21T18:09:15
|
|
Vulkan: Port renderer to Fuchsia (reland)
Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
renderer, as well as an implementation of OSWindow that renders
fullscreen for the test suite.
Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
of the loader and has not sent those changes upstream yet.
Add a small wayland-inspired library libfuchsia-egl to provide a type
"struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
combines a zx_handle_t to an image pipe channel and a surface size.
Image pipes can only be used once to create a VkSurfaceKHR. This means we
have to recreate the pipe in tests that call eglCreateWindowSurface more
than once with a single OSWindow, or the second call will fail. Add a
resetNativeWindow() method to accomplish this.
Reland disabling -Wextra-semi.
BUG=angleproject:2475
TEST=angle_end2end_tests on Fuchsia
Change-Id: Ie91715bcd760c6c04d4b8a02a91daa71e32ee30c
Reviewed-on: https://chromium-review.googlesource.com/c/1467603
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3f0ff409
|
2019-02-12T03:08:51
|
|
Revert "Vulkan: Port renderer to Fuchsia"
This reverts commit 991d1cfb5e5a2f20a46961da3ad85b95da30b88a.
Reason for revert: Failing compile on the fuchsia bots on the ANGLE
auto-roller.
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/fuchsia_x64/209198
In file included from ../../third_party/angle/util/fuchsia/ScenicWindow.cpp:10:
In file included from ../../third_party/angle/util/fuchsia/ScenicWindow.h:13:
In file included from gen/third_party/fuchsia-sdk/sdk/fidl/fuchsia/ui/policy/cpp/fidl.h:5:
In file included from ../../third_party/fuchsia-sdk/sdk/pkg/fidl_cpp/include/lib/fidl/cpp/internal/header.h:12:
../../third_party/fuchsia-sdk/sdk/pkg/fit/include/lib/fit/function.h:135:6: error: extra ';' after member function definition [-Werror,-Wextra-semi]
};
^
1 error generated.
Original change's description:
> Vulkan: Port renderer to Fuchsia
>
> Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
> renderer, as well as an implementation of OSWindow that renders
> fullscreen for the test suite.
>
> Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
> of the loader and has not sent those changes upstream yet.
>
> Add a small wayland-inspired library libfuchsia-egl to provide a type
> "struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
> combines a zx_handle_t to an image pipe channel and a surface size.
>
> Image pipes can only be used once to create a VkSurfaceKHR. This means we
> have to recreate the pipe in tests that call eglCreateWindowSurface more
> than once with a single OSWindow, or the second call will fail. Add a
> resetNativeWindow() method to accomplish this.
>
> BUG=angleproject:2475
> TEST=angle_end2end_tests on Fuchsia
>
> Change-Id: I71a613a362dd1c8aada49a3c02ae461e064457bf
> Reviewed-on: https://chromium-review.googlesource.com/c/1446496
> Commit-Queue: Michael Spang <spang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=spang@chromium.org,geofflang@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
Change-Id: I2d9abefa9db5363ba63a17c1773d0e147040d055
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2475
Reviewed-on: https://chromium-review.googlesource.com/c/1465761
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
991d1cfb
|
2019-01-21T18:09:15
|
|
Vulkan: Port renderer to Fuchsia
Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
renderer, as well as an implementation of OSWindow that renders
fullscreen for the test suite.
Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
of the loader and has not sent those changes upstream yet.
Add a small wayland-inspired library libfuchsia-egl to provide a type
"struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
combines a zx_handle_t to an image pipe channel and a surface size.
Image pipes can only be used once to create a VkSurfaceKHR. This means we
have to recreate the pipe in tests that call eglCreateWindowSurface more
than once with a single OSWindow, or the second call will fail. Add a
resetNativeWindow() method to accomplish this.
BUG=angleproject:2475
TEST=angle_end2end_tests on Fuchsia
Change-Id: I71a613a362dd1c8aada49a3c02ae461e064457bf
Reviewed-on: https://chromium-review.googlesource.com/c/1446496
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
00f43c91
|
2019-02-09T11:41:12
|
|
Vulkan: Suppress layer warnings about unbound outputs.
This warning could pop up whenever an OpenGL app would write
to a particular output and not bind an attachment. This is
valid in OpenGL. Also it could happen when writing to
gl_FragData instead of gl_FragColor. Since it's hard to fix
every usage we can just suppress the warning.
Also adds a way to change test platform warnings into errors.
Bug: angleproject:2866
Change-Id: I9793f58121ac848d74d6b0131e79ebab2c70f45c
Reviewed-on: https://chromium-review.googlesource.com/c/1462057
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
3571ad49
|
2019-02-06T12:24:19
|
|
Vulkan:Adding Cmd Buffer Reset tests
Resetting cmd buffers in various ways to understand VK driver perf on
various devices.
Also includes some changes to get the chromium APK wrapper for
angle_white_box_perftests compiling.
Bug: angleproject:3137
Change-Id: I56bd163cdd6605ce09effe509a9c7ac5e0008e7a
Reviewed-on: https://chromium-review.googlesource.com/c/1456482
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e1a763d1
|
2019-01-25T15:43:33
|
|
Vulkan: Implement basic barrier perf test
There's a lot more that can go into this perf test, but it requires
further work on the Vulkan back end.
Bug: angleproject:2999
Change-Id: Iea62bfd09639af108674dcf0a9e7c9d36ccddcef
Reviewed-on: https://chromium-review.googlesource.com/c/1437734
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
e923a63e
|
2019-02-05T08:32:33
|
|
Move ozone detection earlier in white list.
Apparently IsOzone and IsLinux can both be true at the same time. This was
confounding the config detection.
Bug: angleproject:2286
Bug: chromium:928583
Change-Id: Ifd28242f396fd97447720b0c11caf8c1590f7222
Reviewed-on: https://chromium-review.googlesource.com/c/1454319
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d01c504e
|
2019-02-04T21:52:09
|
|
Fix issues with config whitelisting.
The Android Shield TV confing was not properly initializing on ES1/Vulkan.
Also Ozone configs were failing to initialize ES 3.0 contexts.
Bug: angleproject:2286
Bug: chromium:928583
Change-Id: I7e54cdd1bf29791dffee3c70f7ebd3a1283eb5c4
Reviewed-on: https://chromium-review.googlesource.com/c/1453480
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7085305f
|
2019-02-04T17:47:04
|
|
Use whitelist to filter test configs.
Before we would try all the configs and filter those which fail to
init. Now we gather the System Info and if successful check a list of
supported configs. If System Info init fails we fall back to the prior
method.
This speeds up end2end tests init. It also allows for more reliable
profile captures with VTune. It also will cause a test failure if a
config unexpectedly fails. Previously we would silently pass without
running the config's test. Includes a few changes:
* D3D reference tests are disabled. They don't appear to be working.
* Mac ES 3.1 is disabled due to lack of support.
* WGL on AMD Windows is disabled due to lack of ES compatibility.
* ES 3.2 contexts are explicitly disabled.
* Vulkan is limited to ES 2.0.
* The Windows GLES back-end is limited to NVIDIA with ES 2.0 & 3.0.
* A unit test that verifies the whitelist matches availability.
Bug: angleproject:2472
Change-Id: Ib72214bfbbff13c124fa15a6494d0aabb52f2e62
Reviewed-on: https://chromium-review.googlesource.com/c/1436168
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
c09ae15c
|
2019-02-01T14:16:32
|
|
Enable -Wextra-semi and -Wextra-semi-stmt.
This will prevent users from accidentally making semicolon errors in
the future.
Bug: chromium:926235
Change-Id: I79a6fa376fb1ad8f0fcf1b65b1f572a035d1f4e9
Reviewed-on: https://chromium-review.googlesource.com/c/1446493
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
47ca1b2f
|
2019-01-23T16:11:41
|
|
Revert "Vulkan: Adding custom pool allocator"
This reverts commit 05459e06fde5047ae8f5f90fe091c3255e6bc88e.
Reason for revert: Clusterfuzz bugs flagged this commit
Original change's description:
> Vulkan: Adding custom pool allocator
>
> Copied pool allocator used by compiler to common and hooking it up as
> custom allocator for CommandPools. Modified it to support reallocation.
>
> RendererVk now has a private poolAllocator and VkAllocationCallbacks
> struct. The allocation callbacks are initialized to static functions
> in RendererVk::initializeDevice() and then passed to CommandPool init()
> and destroy() functions.
>
> Using the pool allocator saves Command Pool/Buffer clean-up time which
> was showing us as a bottleneck is some cases.
>
> Bug: angleproject:2951
> Change-Id: I81aa8a7ec60397676fa722d6435029db27947ef4
> Reviewed-on: https://chromium-review.googlesource.com/c/1409867
> Commit-Queue: Tobin Ehlis <tobine@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=jmadill@chromium.org,tobine@google.com,ianelliott@google.com,syoussefi@chromium.org
Change-Id: I363a351667c4dddef79833061790da90de477e70
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2951
Reviewed-on: https://chromium-review.googlesource.com/c/1430679
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
05459e06
|
2019-01-17T12:25:54
|
|
Vulkan: Adding custom pool allocator
Copied pool allocator used by compiler to common and hooking it up as
custom allocator for CommandPools. Modified it to support reallocation.
RendererVk now has a private poolAllocator and VkAllocationCallbacks
struct. The allocation callbacks are initialized to static functions
in RendererVk::initializeDevice() and then passed to CommandPool init()
and destroy() functions.
Using the pool allocator saves Command Pool/Buffer clean-up time which
was showing us as a bottleneck is some cases.
Bug: angleproject:2951
Change-Id: I81aa8a7ec60397676fa722d6435029db27947ef4
Reviewed-on: https://chromium-review.googlesource.com/c/1409867
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5fe7c5b9
|
2019-01-17T12:16:34
|
|
Include common/platform.h where used
Bug: 922443
Change-Id: I35b9e34266d4a15f8d0769c2770801b1b0511398
Reviewed-on: https://chromium-review.googlesource.com/c/1418091
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
1f56ed2a
|
2019-01-03T15:24:22
|
|
Add WGLWindow and WGL test configs.
WGLWindow lets us use a Windows driver's bindings instead of ANGLE.
This only works if the underlying driver supports OpenGL ES
compatibility.
Also adds the WGL headers, WGL XML, and a specialized WGL loader.
Because of a small driver issue with NVIDIA I added a retry for the WGL
Window initialization.
Bug: angleproject:2995
Change-Id: Ie5148ece470dd03df33015f4919ad1fa79a859ec
Reviewed-on: https://chromium-review.googlesource.com/c/1366021
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
ad398ee8
|
2019-01-03T13:01:08
|
|
Free OSWindow and EGLWindow through helpers.
This cleans up any potential problems with allocating and freeing
resources in different shared objects or DLLs. Previously we were
using a dynamically linked allocation function and then calling
the standard delete function.
Also adds a base class helper for EGLWindow. Will base the WGL
Window class on this.
Needed for running ANGLE tests against native drivers.
Bug: angleproject:2995
Change-Id: Ic92b447649ebb32c547605c20086c07a601842f0
Reviewed-on: https://chromium-review.googlesource.com/c/1393443
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
ba319ba3
|
2018-12-29T10:29:33
|
|
Re-land "Load entry points dynamically in tests and samples."
Fixes the Android/ChromeOS/Fuchsia builds by using consistent EGL
headers.
This CL adds a dynamic loader generator based on XML files. It also
refactors the entry point generation script to move the XML parsing
into a helper class.
Additionally this includes a new GLES 1.0 base header. The new
header allows for function pointer types and hiding prototypes.
All tests and samples now load ANGLE dynamically. In the future this
will be extended to load entry points from the driver directly when
possible. This will allow us to perform more accurate A/B testing.
The new build configuration leads to some tests having more warnings
applied. The CL includes fixes for the new warnings.
Bug: angleproject:2995
Change-Id: I5a8772f41a0f89570b3736b785f44b7de1539b57
Reviewed-on: https://chromium-review.googlesource.com/c/1392382
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9f088621
|
2018-12-29T20:46:15
|
|
Revert "Load entry points dynamically in tests and samples."
This reverts commit 03923558a7103827ffec6a4d2a1453ed91f01c6f.
Reason for revert: fails compilation on Android, ChromeOS and Fuchsia during roll https://chromium-review.googlesource.com/c/chromium/src/+/1392624
Original change's description:
> Load entry points dynamically in tests and samples.
>
> This CL adds a dynamic loader generator based on XML files. It also
> refactors the entry point generation script to move the XML parsing
> into a helper class.
>
> Additionally this includes a new GLES 1.0 base header. The new
> header allows for function pointer types and hiding prototypes.
>
> All tests and samples now load ANGLE dynamically. In the future this
> will be extended to load entry points from the driver directly when
> possible. This will allow us to perform more accurate A/B testing.
>
> The new build configuration leads to some tests having more warnings
> applied. The CL includes fixes for the new warnings.
>
> Bug: angleproject:2995
> Change-Id: I6726d4163f7a6e54d2482f094c0a952f59702a05
> Reviewed-on: https://chromium-review.googlesource.com/c/1359516
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
Change-Id: I902bec2d733c2b879be29c02ab52a0b7d4eaa077
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2995
Reviewed-on: https://chromium-review.googlesource.com/c/1392381
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
03923558
|
2018-12-29T10:29:33
|
|
Load entry points dynamically in tests and samples.
This CL adds a dynamic loader generator based on XML files. It also
refactors the entry point generation script to move the XML parsing
into a helper class.
Additionally this includes a new GLES 1.0 base header. The new
header allows for function pointer types and hiding prototypes.
All tests and samples now load ANGLE dynamically. In the future this
will be extended to load entry points from the driver directly when
possible. This will allow us to perform more accurate A/B testing.
The new build configuration leads to some tests having more warnings
applied. The CL includes fixes for the new warnings.
Bug: angleproject:2995
Change-Id: I6726d4163f7a6e54d2482f094c0a952f59702a05
Reviewed-on: https://chromium-review.googlesource.com/c/1359516
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1e853266
|
2018-12-21T09:07:38
|
|
Cache common DrawElements states.
Similar to how we cache the base common draw states. This will improve
DrawElements performance. Several state checks are optimized into a
single 'if' check of a cached value.
Also includes a regression test for mapping the element array buffer.
Bug: angleproject:2966
Change-Id: Ia6e524a58ad6b7df2e455d67733e15d324b1b893
Reviewed-on: https://chromium-review.googlesource.com/c/1357150
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6f087e9e
|
2018-12-19T16:10:49
|
|
Modify end2end_tests main to not import ANGLETest.h.
This will allow for easier dependency management in the build files.
Bug: angleproject:2995
Change-Id: Ia3464bf622b861df03c3d06bcf1b34874a9a5400
Reviewed-on: https://chromium-review.googlesource.com/c/1385025
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4638dc9d
|
2018-12-17T13:13:49
|
|
Re-land "Load correct libGLESv2 on Linux and Mac."
Re-land fixes build to ensure commit_id is built before libEGL.
libEGL was implicitly loading libGLESv2 on startup. This is bad
because on platforms like Linux and Mac we could sometimes use the
incorrect rpath. This in turn meant we needed workarounds like using
"_angle" extensions to our shared objects to get the correct loading
behaviour.
Fix this by loading libGLESv2 dynamically in libEGL. We build the
loader automatically from egl.xml. The loader itself is lazily
initialized on every EGL entry point call. This is necessary because
on Linux, etc, there is no equivalent to Windows' DLLMain.
We also use an EGL.h with different generation options so we have the
proper function pointer types. A README is included for instructions
on how to regenerate EGL.h.
The entry point generation script is refactored into a helper class
that is used in the loader generator. Also adds the libGLESv2 versions
of the EGL entry points in the DEF file on Windows. This allows them to
be imported properly in 32-bit configurations.
Also fixes up some errors in ANGLE's entry point definitions. Also
includes a clang-format disable rule for the Khronos headers.
This CL will help us to run ANGLE tests against native drivers.
Bug: angleproject:2871
Bug: chromium:915731
Change-Id: I4192a938d1f4117cea1bf1399c98bda7ac25ddab
Reviewed-on: https://chromium-review.googlesource.com/c/1380511
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
720ca449
|
2018-12-17T14:04:10
|
|
Pass GN header visibility check.
This fixes a few things:
* removes includes that weren't supposed to be present
* scopes some compiler code into white_box_perftests
* makes version.h/commit and angle_common id more visible
* roll zlib to a version that passes check
This should help prevent build problems from popping up in the
downstream Chromium build. We could also potentially look at
including gn check in our CQ recipe.
Bug: chromium:915429
Change-Id: I350f543e16de13c84eb2c43260f4966d47185114
Reviewed-on: https://chromium-review.googlesource.com/c/1380771
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
175d918a
|
2018-12-16T19:53:23
|
|
Revert "Load correct libGLESv2 on Linux and Mac."
This reverts commit dd815b623e60a1e1550f328104ffcd7caf20fde1.
Reason for revert: Broke https://luci-milo.appspot.com/p/chromium/builders/luci.chromium.ci/win-rel/8006
Original change's description:
> Load correct libGLESv2 on Linux and Mac.
>
> libEGL was implicitly loading libGLESv2 on startup. This is bad
> because on platforms like Linux and Mac we could sometimes use the
> incorrect rpath. This in turn meant we needed workarounds like using
> "_angle" extensions to our shared objects to get the correct loading
> behaviour.
>
> Fix this by loading libGLESv2 dynamically in libEGL. We build the
> loader automatically from egl.xml. The loader itself is lazily
> initialized on every EGL entry point call. This is necessary because
> on Linux, etc, there is no equivalent to Windows' DLLMain.
>
> We also use an EGL.h with different generation options so we have the
> proper function pointer types. A README is included for instructions
> on how to regenerate EGL.h.
>
> The entry point generation script is refactored into a helper class
> that is used in the loader generator. Also adds the libGLESv2 versions
> of the EGL entry points in the DEF file on Windows. This allows them to
> be imported properly in 32-bit configurations.
>
> Also fixes up some errors in ANGLE's entry point definitions. Also
> includes a clang-format disable rule for the Khronos headers.
>
> This CL will help us to run ANGLE tests against native drivers.
>
> Bug: angleproject:2871
> Change-Id: Id6ecf969308f17b1be4083538428c9c1a1836572
> Reviewed-on: https://chromium-review.googlesource.com/c/1370725
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org
Change-Id: I921b3c45435ab4f05cbc2d1c1172b4185d6257b0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2871
Reviewed-on: https://chromium-review.googlesource.com/c/1378887
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
dd815b62
|
2018-12-15T10:39:00
|
|
Load correct libGLESv2 on Linux and Mac.
libEGL was implicitly loading libGLESv2 on startup. This is bad
because on platforms like Linux and Mac we could sometimes use the
incorrect rpath. This in turn meant we needed workarounds like using
"_angle" extensions to our shared objects to get the correct loading
behaviour.
Fix this by loading libGLESv2 dynamically in libEGL. We build the
loader automatically from egl.xml. The loader itself is lazily
initialized on every EGL entry point call. This is necessary because
on Linux, etc, there is no equivalent to Windows' DLLMain.
We also use an EGL.h with different generation options so we have the
proper function pointer types. A README is included for instructions
on how to regenerate EGL.h.
The entry point generation script is refactored into a helper class
that is used in the loader generator. Also adds the libGLESv2 versions
of the EGL entry points in the DEF file on Windows. This allows them to
be imported properly in 32-bit configurations.
Also fixes up some errors in ANGLE's entry point definitions. Also
includes a clang-format disable rule for the Khronos headers.
This CL will help us to run ANGLE tests against native drivers.
Bug: angleproject:2871
Change-Id: Id6ecf969308f17b1be4083538428c9c1a1836572
Reviewed-on: https://chromium-review.googlesource.com/c/1370725
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
35cd7332
|
2018-12-02T12:03:33
|
|
Refactor test shader style.
This change enforces a lot more consistency. We pass const char * to
the Compile functions instead of std::string. Also fixes the
indentation of C++11 block comments to be more consistent.
Bug: angleproject:2995
Change-Id: Id6e5ea94055d8cbd420df4ea2e81b2d96cb5ce78
Reviewed-on: https://chromium-review.googlesource.com/c/1357103
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b980c563
|
2018-11-27T11:34:27
|
|
Reformat all cpp and h files.
This applies git cl format --full to all ANGLE sources.
Bug: angleproject:2986
Change-Id: Ib504e618c1589332a37e97696cdc3515d739308f
Reviewed-on: https://chromium-review.googlesource.com/c/1351367
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f3acb8c1
|
2018-11-14T16:24:25
|
|
Retool perf test running.
This change does a few things involving the way we run the perf tests:
- Perf test runner can capture different metrics
Useful for capturing the new "nanoSecPerIteration" metric.
- Removes the "score" metric
We'll move to the new time-based metrics. These new metrics are scaled
correctly with iteration counts.
- Runs three trials per perf test
This gives more measurements per test. Each trial is approximately one
second. First the perf tests set a fixed number of iterations after
calibrating the number of steps that we can run in one second. After
that the three trials are run. This should give more stable results.
- Apply more CPU stabilization on Windows
Use SetPriorityClass to apply more CPU priority. Also upgrade
SetThreadPriority to the highest level.
- Always build the Vulkan command buffer test
This catches build regressions more easily. We still skip the test on
non-Android platforms.
Bug: angleproject:2923
Change-Id: I7da234c5af07775ba4a232bb8d65e0138ee7073f
Reviewed-on: https://chromium-review.googlesource.com/c/1330262
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
092481ad
|
2018-11-08T00:25:50
|
|
Vulkan: prepare for ES3
This makes ES3_VULKAN() pass the instantiability test, allowing it to be
specified in end2end tests.
Bug: angleproject:2950
Change-Id: Ife70a22fb8193f9eebe64bec491a24b47bc76939
Reviewed-on: https://chromium-review.googlesource.com/c/1325729
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d856ca48
|
2018-10-31T16:55:12
|
|
Vulkan: add clear test for emulated stencil or depth formats
S8_UINT and D24_UNORM_X8_UINT are the only formats currently that are
single-aspect and are possibly emulated with a packed depth-stencil
format if it's not supported. A flag to FeaturesVk has been added as a
way to force this behavior for the sake of testing.
This test is added to ensure the correct clear algorithm is used for
this case. Additionally, this case is detected and the other aspect is
forcefully cleared to 0 whenever the original aspect is cleared.
Bug: angleproject:2815
Change-Id: Ief3039d66bbf46468213b9e3224f7cc7541c3a2e
Reviewed-on: https://chromium-review.googlesource.com/c/1312453
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6f1dc51b
|
2018-10-04T14:36:04
|
|
Vulkan: Use a specialized macro for wrapped vulkan calls
Vulkan wrapper functions are fairly straightforward. They call the
Vulkan function and return immediately. The specialized macros
introduced in this commit take care of the final return for brevity of
the warpper.
Additionally, this commit gets rid of ANGLE_EMPTY_STATEMENT in favor of
the more robust macro definition using do {} while (0).
Bug: none
Change-Id: Ia7c68962d1aeee2c06ef210122b345b1a2e54f08
Reviewed-on: https://chromium-review.googlesource.com/c/1262020
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
120b13f8
|
2018-10-09T07:58:39
|
|
Add more draw buffer related tests.
Some of these are targeting our workaround for a mac bug. The bug was
that the driver was somehow modifying output attachments that the
program wasn't writing to. A new test shows a bug where we wouldn't
re-sync the state properly after a clear.
Also adds more pretty printing for GLColor.
Bug: angleproject:2872
Change-Id: I5485893b5f1b269c5407678db27978a789f7acc6
Reviewed-on: https://chromium-review.googlesource.com/c/1269255
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2c8f0845
|
2018-09-12T14:44:55
|
|
Add ANGLE_multiview_multisample
We add a novel multiview multisampling extension that includes the
requirement to explicitly resolve the multisampled framebuffer. The
explicit resolve is much more straightforward to implement on top of
OpenGL and D3D11 than implicit resolve found in the native extension
OVR_multiview_multisampled_render_to_texture. It also has predictable
performance characteristics.
The extension allows multiview drawing to 2D multisample texture
arrays and is now enabled on both the GL backend and the D3D11
backend. The implementation is fairly simple, as it involves just
small changes in validation to allow multisampled framebuffer
attachments. The multiview rendering logic is exactly the same
regardless of whether multisampling is enabled.
For the most part the same tests are used to test both multisampled
and non-multisampled rendering. The tests will use a different
framebuffer setup depending on the test param. They resolve the
multisampled framebuffer to a non-multisampled framebuffer prior to
any readbacks from the framebuffer.
Some of the tests are adjusted so that they have the correct sub-pixel
positioning of multisampled quads, so there won't be any pixels that
would be just partially covered.
The tests don't have any tolerance for partially covered pixels - if
we find any platforms where the tests run into a sub-pixel positioning
corner case, tolerance may need to be added later.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: I590d7f300a92ea5439f2720d9db14a7976db2e1d
Reviewed-on: https://chromium-review.googlesource.com/1221214
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c4097441
|
2018-08-22T12:14:52
|
|
Fix x64 visual studio build errors
Bug: angleproject:2740
Change-Id: I44fd2a1daf3dca764e2eef73e437feb32b36dbaa
Reviewed-on: https://chromium-review.googlesource.com/1185234
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a7b35c33
|
2018-08-21T16:32:24
|
|
Add helpers for multiview framebuffer init
Multiview tests now use common helpers to create textures for
multiview framebuffers and often also to attach the textures to the
framebuffers.
The tests now rely on uploaded texture data to initialize the buffers
instead of clearing the framebuffers with glClear.
BUG=angleproject:2765
TEST=angle_end2end_tests
Change-Id: I7d6d63add5943cab610ab888045d5b0f8ba29215
Reviewed-on: https://chromium-review.googlesource.com/1184712
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
f26b27e2
|
2018-08-17T11:01:19
|
|
Add some shared utilities for multiview tests
This prepares for fixing multiview test resource init/teardown order.
BUG=angleproject:2765
TEST=angle_end2end_tests
Change-Id: I841327416fa76ac682310ef1b2309f5bb4e9fbac
Reviewed-on: https://chromium-review.googlesource.com/1179155
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2363356f
|
2018-07-17T15:02:36
|
|
Make sure index ranges outside of the GLint range are handled correctly.
IndexRange uses size_t values but DrawCallParams::mFirstVertex is a GLint. This
makes sure all casting is safe.
BUG=864528
Change-Id: Iaa95019615af4d3f79b12bbcb0df13b44cb54339
Reviewed-on: https://chromium-review.googlesource.com/1140898
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b0c8be85
|
2018-08-10T14:36:39
|
|
Fix AMD detection in angle_end2end_tests.
Some Radeon cards in D3D11 would not report AMD or ATI in the
Renderer string. Fix this by also checking for 'Radeon'.
Bug: angleproject:2572
Change-Id: I866c3042e35448deff627efdb8e94fcbc68abf01
Reviewed-on: https://chromium-review.googlesource.com/1171363
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
077cd858
|
2018-08-06T10:46:22
|
|
Vulkan: Introduce Command Buffer Perf Test
Implemented command buffer performance test based on
LunarG samples. Includes a lot of utility functions and
should build/run on Linux, Android
Bug: angleproject:2758
Change-Id: I8606802fb3e8e0621856860c45ef50ba836c26f8
Reviewed-on: https://chromium-review.googlesource.com/1162119
Commit-Queue: Omar El Sheikh <theoking@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cc1dc5ee
|
2018-08-07T15:27:49
|
|
Add a perf test for draw calls with texture changes.
This perf test highlights the performance hotspots with
State::syncProgramTextures.
Also includes a fix to the perf test runner script.
Bug: angleproject:2763
Change-Id: I69ffa0cc0d5e023944495b7a1c844770a54f7ddc
Reviewed-on: https://chromium-review.googlesource.com/1166041
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8acb1b61
|
2018-07-30T16:20:54
|
|
Allow reads from a multiview framebuffer with one view
It's safe to read from a multiview framebuffer if it is layered and
has just one view. The native OVR_multiview spec supports this as
well.
BUG=angleproject:2062
TEST=angle_end2end_tests
Change-Id: I04e1364390574075f7e06e39a64e3bf05a539a05
Reviewed-on: https://chromium-review.googlesource.com/1156509
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
24ddc7a8
|
2018-06-11T14:56:34
|
|
WGL: Support unvirtualized contexts and unsafe multithreading.
When using unvirtualized contexts, DisplayWGL still creates a Renderer for
managing any internal GL resources such as emulated back buffers for
DXGISwapChainWindowSurfaceWGL or D3DTextureSurfaceWGL but also creates a new
Renderer for each GL context. All created contexts share resources.
BUG=angleproject:2464
Change-Id: I945502514079368e062beef70bed49c61ed44403
Reviewed-on: https://chromium-review.googlesource.com/1097459
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
75359664
|
2018-04-11T01:42:27
|
|
Implement EGL_KHR_debug.
BUG=angleproject:1618
Change-Id: I790944b49badc910b6c72266469fcb8e86ac4252
Reviewed-on: https://chromium-review.googlesource.com/1019387
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e1a057e8
|
2018-06-07T15:09:00
|
|
Fully format some files.
Change-Id: Id6ea245849696d4c6d7eabc6860c0ac424dd8013
Reviewed-on: https://chromium-review.googlesource.com/1091309
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b26ab825
|
2018-05-29T11:19:00
|
|
Return a program binary size of 0 when the program is not linked.
From the GLES3 spec:
"... When a program object's LINK_STATUS is FALSE, its program binary
length is zero ..."
Querying the size was generating errors in the GL backend.
BUG=angleproject:2569
Change-Id: I1be511040331abaec2bba98502d8aa88fb4bd19c
Reviewed-on: https://chromium-review.googlesource.com/1076317
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2cfc4f50
|
2018-05-11T11:42:13
|
|
Request EGL_DONT_CARE version instead of 0 on GL NULL configs.
This caused the backends to fail native context creation and skip tests
on these configs.
BUG=angleproject:2464
Change-Id: I04922853a33c4bd8b38c87145f65431d8eb3db10
Reviewed-on: https://chromium-review.googlesource.com/1054482
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
c0a403e2
|
2018-05-08T18:55:54
|
|
Revert "ANGLETest: Reuse test windows per-renderer"
This reverts commit fad918f85445f19bc2aa6e6b3ee52f104690ff2a.
Reason for revert: attempt to fix anglebug.com/2537
Original change's description:
> ANGLETest: Reuse test windows per-renderer
>
> When running angle_end2end_tests unfiltered with the OpenGL and Vulkan
> backends enabled, the test window was recreated all the time and grabbed
> focus every-time it was created. This made it impossible to do anything
> with the machine running the tests.
>
> Fix this by having one OSWindow per renderer group that's lazily created:
> this solves most of the issue since only a couple windows end up being
> created, and at the beginning of the test suite.
>
> BUG=
>
> Change-Id: I7a51300f0d59d8b6bb79e54d20b3acbf01068002
> Reviewed-on: https://chromium-review.googlesource.com/1038433
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I93bdfa38757cbe2a6ce939c0c3e3da806307e7dd
Reviewed-on: https://chromium-review.googlesource.com/1050326
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|