Граф коммитов

9676 Коммитов

Автор SHA1 Сообщение Дата
Courtney Goeltzenleuchter f094bac949 Allow enabling trace annotations
Tracing was never allowed to happen because getStatus always returned
false. Also want to allow tracing for release builds for perf analysis.

Bug: angleproject:3176
Change-Id: I7aa94ed9fe3d7f67fe6dd10123c9badc7fb49d82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1475248
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@google.com>
2019-03-05 16:04:06 +00:00
Jamie Madill 2f1c1d7eee Minor improvements to run_code_generation.
Isolate variables better. And add a check for out-of-date hases.
Currently if a generator is removed the hashes will stick around.

Bug: angleproject:3227
Change-Id: I9b9da245b9b29093b1f3f320a81810cd7da82395
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1500575
Commit-Queue: Jamie Madill <jmadill@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-03-05 14:28:16 +00:00
Qin Jiajia b8cff9e934 ES31: Add MAX_COMPUTE_SHARED_MEMORY_SIZE
Bug: angleproject:2682
Change-Id: If9100bee246dfb99fca3f0470742a337a126c9a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1476951
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
2019-03-05 03:18:05 +00:00
Kevin Schoedel b36f7a25a8 Update gpu_test_expectations
Sync with chromium, primarily to shave the kOsFuchsia yak.

Bug: angleproject:2475
Change-Id: I76ce607095d02e805a41f63315b4237e57f1cc4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497392
Commit-Queue: Jamie Madill <jmadill@google.com>
Reviewed-by: Jamie Madill <jmadill@google.com>
2019-03-04 22:14:23 +00:00
Tobin Ehlis e3981cf71e Vulkan:Add SecondaryCommandBuffer class
SecondaryCommandBuffer is a CPU-side command buffer construct intended
to delay allocation/construction of GPU-side command buffers until
absolutely necessary.

Initially ANGLE was batching commands into Vulkan secondary command
buffers and then submitting those command buffers when rendering was
required. On at least some devices we saw two areas of overhead that
SecondaryCommandBuffers are intended to reduce:
1. Commands in secondary cmd buffers taking longer than equivalent
commands in a single primary cmd buffer.
2. Allocation/free/reset overhead of the secondary command buffers was
a hotspot for some workloads.

Bug: angleproject:3136
Change-Id: Ife8ffe2968eee423d89ff433d62596c432156661
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1492016
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@google.com>
2019-03-04 21:19:32 +00:00
Jamie Madill b82d201490 Revert "Vulkan: Update code hash after roll."
This reverts commit 0e1ce2e553.

Reason for revert: I think this was my fault. Was maybe using an
outdated version locally. Should probably add a presubmit bot to
the CQ.

Original change's description:
> Vulkan: Update code hash after roll.
> 
> Bug: angleproject:3905
> Change-Id: I3cd7eecd5f0ab9990fd714d5fab3b94008fb9488
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1498129
> Reviewed-by: Jamie Madill <jmadill@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@google.com>

TBR=jmadill@google.com,syoussefi@chromium.org,jmadill@chromium.org

Change-Id: I387721af7dcbb002d54bd9e785fa782d77cd186d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3905
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1500077
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
2019-03-04 21:02:02 +00:00
Geoff Lang e332e621ea D3D: Asynchronously load program binaries.
Unpack as much of the binary steam as possible before passing the final loading
of the shader programs off to a worker thread.  Reporting as many possible link
errors before becoming asynchronous means that linking should only fail due to
unexpected system issues at that point.

This also allows other backends to asynchronously load program binaries.

BUG=angleproject:2857

Change-Id: I587917a3e54522114dabd41d1b14fc491c8fd18a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1473451
Commit-Queue: Jamie Madill <jmadill@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-03-04 19:41:32 +00:00
Shahbaz Youssefi d838178daa Vulkan: Rename vk::Shared* to vk::RefCounted*
To be specific regarding what being "shared" entails.  Also, avoids
confusion w.r.t to an upcoming vk::Shared class.

Bug: angleproject:2464
Change-Id: Ib9c112bbb822ae30dab39c75a8cde25dd79b2258
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1499693
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2019-03-04 17:03:08 +00:00
Jamie Madill 0e1ce2e553 Vulkan: Update code hash after roll.
Bug: angleproject:3905
Change-Id: I3cd7eecd5f0ab9990fd714d5fab3b94008fb9488
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1498129
Reviewed-by: Jamie Madill <jmadill@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@google.com>
2019-03-04 16:06:15 +00:00
Shahbaz Youssefi 4d153383bd Reland "Vulkan: Implement debug markers"
This reverts commit 0c01e36783.

Reason for revert: Its dependency that was reverted has now relanded:

    https://chromium-review.googlesource.com/c/angle/angle/+/1489153

Original change's description:
> Revert "Vulkan: Implement debug markers"
>
> This reverts commit 983e446921.
>
> Reason for revert: Depends on a CL that's reverted: https://chromium-review.googlesource.com/c/angle/angle/+/1470605
>
> Original change's description:
> > Vulkan: Implement debug markers
> >
> > Covers both GL_KHR_debug and GL_EXT_debug_marker.
> >
> > Debug markers are used to specify events or hierarchically categorize a
> > set of commands within the command buffer.  When debugging, this allows
> > for quicker navigation to the draw calls of interest, and otherwise
> > provides context to debug output.
> >
> > Bug: angleproject:2853
> > Change-Id: Id65e11fc877d9e70b6fd0fae7f0bbbcb1164bf10
> > Reviewed-on: https://chromium-review.googlesource.com/c/1403956
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Reviewed-by: Geoff Lang <geofflang@chromium.org>
>
> TBR=geofflang@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
>
> Change-Id: I7fcfc8683195d396aec61848719f52c0fa049ece
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: angleproject:2853
> Reviewed-on: https://chromium-review.googlesource.com/c/1470606
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

TBR=geofflang@chromium.org,jmadill@google.com,syoussefi@chromium.org

Bug: angleproject:2853
Change-Id: Ie19ae103244d54dcf7108d5f61c24e318fc44057
Reviewed-on: https://chromium-review.googlesource.com/c/1489154
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
2019-03-02 03:28:09 +00:00
Shahbaz Youssefi 6f1a852fce Reland "Roll Vulkan repos"
This reverts commit 3805122b02.

Reason for revert: The OOM issue that coincidentally happened at the time this CL landed, and for which this CL was reverted, turned out to be irrelevant to this change.

Original change's description:
> Revert "Roll Vulkan repos"
>
> This reverts commit 55ea947c3b.
>
> Reason for revert: Seems to be causing a memory corruption on Windows/Intel bots.
>
> Original change's description:
> > Roll Vulkan repos
> >
> > Bug: angleproject:3095
> > Change-Id: I6ae9d61304981223f9e2f1869ed32612aa38952c
> > Reviewed-on: https://chromium-review.googlesource.com/c/1405714
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
>
> TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
>
> Change-Id: I61879770c9bb16ac2231b081bda08e6211ba6831
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: angleproject:3095
> Reviewed-on: https://chromium-review.googlesource.com/c/1470605
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

TBR=ynovikov@chromium.org,jmadill@google.com,syoussefi@chromium.org

Bug: angleproject:3095
Change-Id: Iabe8ea215b44c65c4c22b9b158c5dad3ffffdbb0
Reviewed-on: https://chromium-review.googlesource.com/c/1489153
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
2019-03-01 21:16:29 +00:00
Shahbaz Youssefi a9f89313bc Reland "Add system util to execute app and retrieve its output"
This reverts commit fe14b2e503.

Reason for revert: failing test is reworked not to run angle_unittests
itself, but another binary.

Previously, this test was calling angle_unittests itself, but with a
different target.  On the bots, that was in turn calling angle_unittests
with even more arguments, including the addition of a log file location.
Under some configurations, this separate process was thus trying to
access files that were already opened by the parent process, leading to
a test failure.

In this CL, a new helper executable is created for the sake of this
unittest.

> Revert "Add system util to execute app and retrieve its output"
>
> This reverts commit c63d95525c.
>
> Reason for revert: Test fails on Win7
>
> Original change's description:
> > Add system util to execute app and retrieve its output
> >
> > This will be useful to run external applications, such as benchmarks,
> > and process their output.
> >
> > Bug: angleproject:3125
> > Change-Id: Ic13c69f2e034f4b47498fb2f299c62423c355c4a
> > Reviewed-on: https://chromium-review.googlesource.com/c/1452534
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@google.com>

Bug: angleproject:3125, angleproject:3168
Change-Id: I74815750484a79f33c36e0b4f941d4dd98f99aa5
Reviewed-on: https://chromium-review.googlesource.com/c/1487631
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2019-03-01 21:05:19 +00:00
Shahbaz Youssefi 76bd848cab Vulkan: Support ETC, S3TC and BPTC compressed textures
Fixes the format table so the correct Vulkan format for the types are
generated.  Additionally, implements CHROMIUM_copy_compressed_texture as
well as other functions relevant to initializing compressed textures.

Bug: angleproject:2670, angleproject:2904
Change-Id: I682d36574262525027cddf8f329515f38cd77dc0
Reviewed-on: https://chromium-review.googlesource.com/c/1468048
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
2019-03-01 18:14:25 +00:00
Yuly Novikov 1581ff030b Vulkan: disable VK_PRESENT_MODE_FIFO_KHR on Linux Intel
Causes random timeouts.

Bug: angleproject:2932, angleproject:3153
Change-Id: I69a200684afab9e00642850bfa8e8efd0da5ad1d
Reviewed-on: https://chromium-review.googlesource.com/c/1495229
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2019-03-01 04:46:28 +00:00
Bruce Dawson ffa277a12f 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>
2019-03-01 02:19:47 +00:00
Tobin Ehlis 5546fb4fdd 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
2019-02-28 23:26:27 +00:00
shrekshao fa0db6cc6e Use string literal style for shader string in WebGLCompatibilityTest
Bug: None
Change-Id: I75255cfda3793c539ac8a6ee2c50b8526bfc9286
Reviewed-on: https://chromium-review.googlesource.com/c/1493113
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Jamie Madill <jmadill@google.com>
2019-02-28 21:23:17 +00:00
shrekshao c87e0053bb add ext_float_blend feature and test
Bug: chromium:930993
Change-Id: I8edbd01c5c9f1ed63243cc4a42f6de44c92db8bd
Reviewed-on: https://chromium-review.googlesource.com/c/1481242
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Jamie Madill <jmadill@google.com>
2019-02-28 21:19:07 +00:00
Yuly Novikov dbbdf563c0 Require VK_EXT_queue_family_foreign for EGL_ANDROID_image_native_buffer support
Even though VK_EXT_queue_family_foreign is required by
VK_ANDROID_external_memory_android_hardware_buffer,
Pixel 2 PQ2A.190205.002 supports the latter but not the former.

Also print the names of unsupported extensions to ease debugging in the future.

Bug: angleproject:3121, chromium:857138

Change-Id: Ib1195153cfb74f079a93ee9ce93b9b78e6f6e00a
Reviewed-on: https://chromium-review.googlesource.com/c/1493114
Reviewed-by: Jamie Madill <jmadill@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2019-02-28 20:47:48 +00:00
Jamie Madill 5de69e91bd Add watchlist file for ANGLE.
ANGLE devs can keep tabs on subfolders like in Chromium.

Bug: none
Change-Id: Ib507b758d2ee3b00808e798c23361f56930b3f95
Reviewed-on: https://chromium-review.googlesource.com/c/1495034
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
2019-02-28 15:47:54 +00:00
Jamie Madill 4b314eefc8 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>
2019-02-28 05:45:42 +00:00
Shahbaz Youssefi 9dc8eafe11 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>
2019-02-28 05:04:42 +00:00
Yuly Novikov aaa17b8528 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>
2019-02-27 20:43:50 +00:00
Geoff Lang 009696c561 Vulkan: Support EGL_ANDROID_image_native_buffer on Android.
BUG=angleproject:2668
BUG=angleproject:3121

Change-Id: I0dfb2ec0737ebd963b0fadb78cf720a90874f00b
Reviewed-on: https://chromium-review.googlesource.com/c/1452264
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-02-26 22:05:33 +00:00
Jamie Madill 46d32e0fcd Use Chromium mirror for rapidjson.
ANGLE can use this library to output the test results format used by
the Chromium infrastructure. We have a rapidjson mirror located on
chromium.googlesource.com.

Also updates rapidjson to the latest version and adds GN integration.
Currently this library was unused in ANGLE.

Bug: angleproject:3162
Change-Id: Ie349026f68028e3acc46055655e321c2d710b828
Reviewed-on: https://chromium-review.googlesource.com/c/1487633
Commit-Queue: Jamie Madill <jmadill@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-02-26 17:59:05 +00:00
Jamie Madill 9f20dd777b Add draw call perf test using 5 vertex arrays.
This should highlight problems with array buffer state changes even
more than the single attribute test.

Bug: angleproject:3014
Change-Id: I7f42ddb48f0f794fa279b81c8378dab8dc9db489
Reviewed-on: https://chromium-review.googlesource.com/c/1413788
Commit-Queue: Jamie Madill <jmadill@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-02-26 16:57:45 +00:00
Yuly Novikov 0546b53807 Revert "Vulkan:Adding custom pool allocator"
This reverts commit 9417174961.

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>
2019-02-25 22:47:23 +00:00
Jamie Madill ce4dc5694f Add third_party/googletest to .gitignore.
We now mirror the entire directory. Not just src.

Bug: angleproject:3151
Change-Id: Ifdf351f7fe7b227fc58d08ca3472c9adb9bbe5e7
Reviewed-on: https://chromium-review.googlesource.com/c/1487632
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-02-25 22:43:03 +00:00
Yuly Novikov fe14b2e503 Revert "Add system util to execute app and retrieve its output"
This reverts commit c63d95525c.

Reason for revert: Test fails on Win7

Original change's description:
> Add system util to execute app and retrieve its output
> 
> This will be useful to run external applications, such as benchmarks,
> and process their output.
> 
> Bug: angleproject:3125
> Change-Id: Ic13c69f2e034f4b47498fb2f299c62423c355c4a
> Reviewed-on: https://chromium-review.googlesource.com/c/1452534
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@google.com>

TBR=jmadill@google.com,syoussefi@chromium.org,jmadill@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: angleproject:3125, angleproject:3168
Change-Id: I389c0ee639c7c0176c87abe92fc88f99d1b20cc4
Reviewed-on: https://chromium-review.googlesource.com/c/1487104
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2019-02-25 21:30:30 +00:00
Tobin Ehlis 9417174961 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>
2019-02-25 17:41:27 +00:00
Shahbaz Youssefi c63d95525c Add system util to execute app and retrieve its output
This will be useful to run external applications, such as benchmarks,
and process their output.

Bug: angleproject:3125
Change-Id: Ic13c69f2e034f4b47498fb2f299c62423c355c4a
Reviewed-on: https://chromium-review.googlesource.com/c/1452534
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
2019-02-23 08:12:00 +00:00
Shahbaz Youssefi f78131dac0 Suppress WebGL CopyTexSubImage2D on D3D9.3 everywhere
Previously they were only disabled on 64-bit windows, but a recent
change in ordering of the tests shows the same failures on 32-bit
windows too.

Bug: angleproject:3153
Change-Id: Ic40fb88ae335b3ce66d5c1c1cfeed83e52cf690d
Reviewed-on: https://chromium-review.googlesource.com/c/1483264
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2019-02-22 20:28:57 +00:00
Tim Van Patten a8b81590db Vulkan: Free semaphores with other in flight resources
ANGLE calls WindowSurfaceVk::nextSwapchainImage() to prepare for
the next frame, which allocates an image (and other resources,
like semaphore). However, it's possible for
egl::Display::destroySurface() to be called before the next
submitFrame(), which prevents the image from being returned back
to the swapchain.

This fix refactors swapImpl() to separate out the present work, which
can be called as part of destroy() to return the allocated resources.

dEQP-EGL.functional.query_context.get_current_context.*
dEQP-EGL.functional.query_context.get_current_display.*
dEQP-EGL.functional.query_context.get_current_surface.r*
dEQP-EGL.functional.query_context.query_context.*

Bug: angleproject:3057
Change-Id: Ia943f2530e4f27d1a10ee907e810f0bbdb3bfa9a
Reviewed-on: https://chromium-review.googlesource.com/c/1474601
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-02-22 19:35:51 +00:00
Jamie Madill d09546e1ec D3D: Fall back to old compiler DLL.
This is a workaround for Windows 7 users sometimes not having the UCRT
required for the new versions of the MS HLSL compiler. It requires a
specific version of the Windows SDK with the old compiler DLL.

Bug: chromium:920704
Change-Id: Id9adb3b9d569272cbd69a8b4fc99dc160d837dbc
Reviewed-on: https://chromium-review.googlesource.com/c/1403254
Reviewed-by: Jamie Madill <jmadill@google.com>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Commit-Queue: Jamie Madill <jmadill@google.com>
2019-02-22 17:30:43 +00:00
Jamie Madill cf9b2853a7 Roll Google Test.
Updates our build files to be more consistent with Chromium.

Also rolls SPIRV-Tools to use newer test fixture syntax.
Note: requires an update to SPIRV-Tools to pass 'gn check'.

Bug: angleproject:3151
Change-Id: I8abddef396f84e5c58cdd185421f03fd6e2b6d58
Reviewed-on: https://chromium-review.googlesource.com/c/1470591
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@google.com>
2019-02-22 16:22:33 +00:00
Shahbaz Youssefi b9039bf76b Vulkan: fix numerous formats missing support
Vulkan _SRGB formats have a suffix of _UNORM_SRGB in the corresponding
angle name.

Vulkan A2B10G10R10_*_PACK32 formats have angle names in the form
R10G10B10A2_*.

A16 and A32 formats are emulated similar to A8.

Some formats that are not in the front-end are removed.

Bug: angleproject:2364, angleproject:2405
Change-Id: I00718f450a374912d57d3c00ea167ce486e10aa0
Reviewed-on: https://chromium-review.googlesource.com/c/1468042
Reviewed-by: Jamie Madill <jmadill@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2019-02-22 03:31:22 +00:00
Tim Van Patten ee4fa07850 Reland "Create Container ANGLE APK"
This reverts commit 902ceed399.

Reason for revert:

Re-landing this since the Chromium build fix has landed:
https://bugs.chromium.org/p/chromium/issues/detail?id=933783#c29
  Comment 29 by gbeaty@chromium.org, Today (13 minutes ago)
  Tim, you should be able to re-land your change now.

Original change's description:
> Revert "Create Container ANGLE APK"
> 
> This reverts commit e82c857d38.
> 
> Reason for revert:
> This is breaking the ANGLE build in the Chromium build process:
> 
> https://bugs.chromium.org/p/chromium/issues/detail?id=933783#c6
> 
> Original change's description:
> > Create Container ANGLE APK
> > 
> > The ANGLE APK needs to be reverted back to just being a container
> > for the ANGLE shared object libraries, since the rest of the APK
> > contents are in the Android source tree.
> > 
> > Bug: angleproject:3154
> > Test: 'adb sync' the APK on to a device
> > Change-Id: Id245f1e3d269c71054d9759e8ba8be0532afe659
> > Reviewed-on: https://chromium-review.googlesource.com/c/1474341
> > Commit-Queue: Tim Van Patten <timvp@google.com>
> > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
> 
> TBR=ynovikov@chromium.org,jmadill@google.com,cnorthrop@google.com,courtneygo@google.com,timvp@google.com
> 
> Change-Id: I71a739faa2052a707a06bce616ab43a621d5a4ff
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: angleproject:3154
> Reviewed-on: https://chromium-review.googlesource.com/c/1478333
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Commit-Queue: Tim Van Patten <timvp@google.com>

TBR=ynovikov@chromium.org,jmadill@google.com,cnorthrop@google.com,courtneygo@google.com,timvp@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: angleproject:3154
Change-Id: If3a9abfb1c00aab3278437a233bef29d5febe5a5
Reviewed-on: https://chromium-review.googlesource.com/c/1480865
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
2019-02-21 20:53:40 +00:00
Shahbaz Youssefi 962c222aa3 Vulkan: Enable anisotropy feature when available
If anisotropic filtering is used, the feature must be enabled at device
creation time.  This was missing.

Bug: angleproject:2901
Change-Id: I86db55f8b1696dc04eae922b941512f786aa12b8
Reviewed-on: https://chromium-review.googlesource.com/c/1479264
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
2019-02-21 16:40:46 +00:00
Jamie Madill 08573730b7 Enable vertex_arrays tests on Android.
These appear to be passing now.

Bug: angleproject:1484
Change-Id: I0a52f73c87aeea2e0fba360063109b74aa6aa365
Reviewed-on: https://chromium-review.googlesource.com/c/1479904
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
2019-02-21 03:06:37 +00:00
Jamie Madill 568a342545 Enable texture.mipmap tests on Android.
These appear to be passing on the bots.

Bug: angleproject:1489
Change-Id: I1d672187f9bfe72189291309b90049fd128b1392
Reviewed-on: https://chromium-review.googlesource.com/c/1479903
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
2019-02-21 03:00:02 +00:00
Jamie Madill 6cdb01f435 Update fbo.completeness expectations on Android.
The depth_stencil_unsigned_int_24_8 tests are passing now.
The srgb8 failures are tracked in http://anglebug.com/1028.

Bug: angleproject:1487
Change-Id: Id85fc00acfd1b59d4b7bfdd00596f2c18a583e5c
Reviewed-on: https://chromium-review.googlesource.com/c/1479902
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
2019-02-21 02:59:32 +00:00
Jamie Madill 1ceb9c8ee6 Enable clipping.triangle_vertex test on Android.
Seems to be fixed with newer compilers.

Bug: angleproject:1485
Change-Id: I2954548d8f5370b57302c40fc40b6458f79fd7ed
Reviewed-on: https://chromium-review.googlesource.com/c/1479901
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
2019-02-21 02:59:02 +00:00
Jamie Madill 2ac98885bd Enable fbo.completeness.attachment_combinations on Android.
These tests are all passing with "unsupported".

Bug: angleproject:1486
Change-Id: I532000b4934ed66fd61f39312013a6da8f3dd86f
Reviewed-on: https://chromium-review.googlesource.com/c/1479897
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
2019-02-21 02:58:32 +00:00
Kevin Schoedel eef531f171 Disable broken test on Fuchsia
This disables the ImageTest.SourceCubeTargetRenderbuffer test
that does not work on Fuchsia.

BUG=angleproject:2475, angleproject:3145
TEST=angle_end2end_tests on Fuchsia

Change-Id: I8e681926ee322642b39c32b3bc0cd266ffa1d11f
Reviewed-on: https://chromium-review.googlesource.com/c/1479283
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jamie Madill <jmadill@google.com>
2019-02-20 22:39:58 +00:00
Victor Costan ffd3997892 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>
2019-02-20 22:16:48 +00:00
Tim Van Patten 902ceed399 Revert "Create Container ANGLE APK"
This reverts commit e82c857d38.

Reason for revert:
This is breaking the ANGLE build in the Chromium build process:

https://bugs.chromium.org/p/chromium/issues/detail?id=933783#c6

Original change's description:
> Create Container ANGLE APK
> 
> The ANGLE APK needs to be reverted back to just being a container
> for the ANGLE shared object libraries, since the rest of the APK
> contents are in the Android source tree.
> 
> Bug: angleproject:3154
> Test: 'adb sync' the APK on to a device
> Change-Id: Id245f1e3d269c71054d9759e8ba8be0532afe659
> Reviewed-on: https://chromium-review.googlesource.com/c/1474341
> Commit-Queue: Tim Van Patten <timvp@google.com>
> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

TBR=ynovikov@chromium.org,jmadill@google.com,cnorthrop@google.com,courtneygo@google.com,timvp@google.com

Change-Id: I71a739faa2052a707a06bce616ab43a621d5a4ff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3154
Reviewed-on: https://chromium-review.googlesource.com/c/1478333
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
2019-02-20 16:49:32 +00:00
Yuly Novikov 3d544fffe7 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>
2019-02-19 18:58:35 +00:00
Tim Van Patten e82c857d38 Create Container ANGLE APK
The ANGLE APK needs to be reverted back to just being a container
for the ANGLE shared object libraries, since the rest of the APK
contents are in the Android source tree.

Bug: angleproject:3154
Test: 'adb sync' the APK on to a device
Change-Id: Id245f1e3d269c71054d9759e8ba8be0532afe659
Reviewed-on: https://chromium-review.googlesource.com/c/1474341
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
2019-02-19 18:58:05 +00:00
Jonah Ryan-Davis 1d35d511f5 Revert "Fix unit test for setting locale creating malformed HLSL shader code"
This reverts commit 5f662c0042.

Reason for revert: Some recent crashes related to streams, could be
related to this change.
https://bugs.chromium.org/p/chromium/issues/detail?id=932359

Original change's description:
> Fix unit test for setting locale creating malformed HLSL shader code
> Fix malformed HLSL shader code in other locales than classic
>
> Bug: angleproject:1433
> Change-Id: I30bad0bd0cfda465ec7200e48e12800d7d8efd26
> Reviewed-on: https://chromium-review.googlesource.com/c/1447862
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

TBR=geofflang@chromium.org,jmadill@chromium.org,jonahr@google.com

Bug: angleproject:1433
Change-Id: I28caa073b3996a95f3f233bed9dc91dc44263835
Reviewed-on: https://chromium-review.googlesource.com/c/1474624
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2019-02-19 18:32:03 +00:00
Victor Costan aca30f56dd Roll googletest to the same version as Chromium.
Bug: chromium:925652
Change-Id: Id59c29ede2fea155628bdfa2218067a28109f069
Reviewed-on: https://chromium-review.googlesource.com/c/1476874
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2019-02-19 16:25:24 +00:00