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

9972 Коммитов

Автор SHA1 Сообщение Дата
Geoff Lang 6f691fbb59 Port the WebGL2 framebuffer-texture-changing-base-level test to native
A nearly direct port of the https://www.khronos.org/registry/webgl/sdk/tests/conformance2/rendering/framebuffer-texture-changing-base-level.html
test for easier debugging.

BUG=angleproject:2291

Change-Id: Ibc8a7e77629f1ea3f15e92ea93f1210fa850c524
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584361
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shrek Shao <shrekshao@google.com>
2019-04-25 20:55:12 +00:00
Jonah Ryan-Davis 51ac37eecb Print unexpected passed/failed tests with formatting for generate_stats
The stats generation should pick up a list of unexpected failed/passed
tests, so the tests should be printed with the format used by this
script.

Bug: angleproject:3398
Change-Id: I96a8eba6c2e294f64ca59ec60042cc688d1133c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584363
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2019-04-25 18:09:34 +00:00
Geoff Lang fb6fbdbc58 Return that polling queries have completed after context loss.
KHR_robustness says that certain queries that poll such as GetSynciv with
SYNC_STATUS should still generate errors after context loss but also return
that the result is available.

BUG=angleproject:3379

Change-Id: Ibf61f8481bc7c3d1b4fa8979dc404d0ca3952fcd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566142
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-04-25 16:13:34 +00:00
Jonah Ryan-Davis cddf6416de Clean up generate_stats.py script
Add more explicit comments and change some behavior slightly.

Bug: angleproject:3369
Change-Id: I76f9054564e8d33127e8ff8233b317e82e06c7de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1582760
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2019-04-25 14:52:53 +00:00
Geoff Lang 5a0f64b6ae D3D: Require cube completeness to create render targets
TextureD3D_Cube::isFaceLevelComplete skips checks for the base level
because it assumes that isCubeComplete has already been called to
verify the base level.  This assumption is not correct for some cases
like glCopyTextureCHROMIUM which attempts to create a render target
from cube maps that may not be complete.

This caused us to create render targets from incomplete cube maps and
then fail to upload data to the cube faces because the sizes or formats
did not match between the images and render target.

TEST=conformance/more/conformance/quickCheckAPI-S_V.html

BUG=angleproject:3384

Change-Id: Iceb9415debfa07436fea1eb4bc23d0ec05679839
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1578957
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2019-04-25 14:32:13 +00:00
Xinghua Cao 1b0acbb512 Add cases with multiple draws and dispatches
D3D11 cannot allow the same (sub)-resource bound as both
a SRV and an UAV at the same time. If render pipline and
compute pipeline access the same texture, must unset
conflicting SRVs and UAVs before drawing and dispatching
on D3D backend. Currently, these cases could not pass
on D3D11 backend.

Bug: angleproject:3152
TEST=angle_end2end_tests.ComputeShaderTest.*

Change-Id: I3ed19d7586625aac7fe9f46f86341d136d148019
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1578131
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
2019-04-25 02:20:41 +00:00
Tobin Ehlis 47b5b1c289 Vulkan:Improve white box test documentation
Add target for angle_white_box_perftests to DevSetup.md Android build
instructions. Generously comment the test source to clarify various
tests and how to run them.

Bug: angleproject:3136
Change-Id: Ie4f0ec6951d354ebac861f727c9d550a93ad48c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1577740
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
2019-04-24 22:55:50 +00:00
Geoff Lang 1f6eb0cde0 D3D: Re-mark StreamDraw buffers as dynamic.
The StreamDraw usage flag was changed to a static type in
http://crrev.com/50eb1e6f77b3b0ad89d2cd00efc0d1d673365296 but it appears to
have regressed performance in several Chrome benchmarks because
Skia uses it as a usage flag for buffers that change data frequently.

BUG=angleproject:3366
BUG=953788
BUG=954028

Change-Id: Ib6805d94714bcd1679f3c9c49f1b70574f0b658a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1582786
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2019-04-24 21:20:50 +00:00
Jonah Ryan-Davis 3c369d190f Add Sheets generation to dEQP visualization script.
Script will parse the output from bb and format it and append to a
Sheet.

The sheet ID can be set with the 'spreadsheet' arg,  or it
defaults to a shared sheet on go/angle-status-generated. The user
credentials must be pointed to with the 'auth_path' arg.

Bug: angleproject:3369
Change-Id: Iafc9f3f96610f2ea01a9802526282cf5f14e1b2e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572482
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-04-24 17:29:09 +00:00
Cody Northrop 8cbd321caf Android: Clean up the ANGLE APK
* Rename the APK package name to reflect that it is from Chromium build.
* Rename the application to reflect it is no longer used on Android system image.
* Remove code supporting multiple APKs, since we only have one now.
* Remove the placeholder icon, which is no longer needed.
* Remove the ANGLE_FOR_ANDROID intent, since this APK is not built in.
* Remove the java code since since it was only in support of the intent.
* Remove most apps from the rules file.

Bug: angleproject:3396
Change-Id: Ic6a2fd03e5686026ab4650fc0c25adb298af03c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579389
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2019-04-24 15:32:47 +00:00
Jan Beich c9a9cfcca1 `environ` needs to be declared for (at least) FreeBSD.
Declaring it unconditionally seems to build fine on all other platforms.

Change-Id: I4c587d6ec47989f0d22588aca8883c4ef68f91c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579917
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-04-24 14:49:47 +00:00
angle-autoroll cb8f677cbf Roll ./third_party/spirv-tools/src 7aad9653f9a3..736376dbf989 (2 commits)
7aad9653f9..736376dbf9


Created with:
  gclient setdep -r ./third_party/spirv-tools/src@736376dbf989

The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=geofflang@google.com

Change-Id: I577adeb8867e21259dd7ac1413a18e684d8267e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1580781
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-24 07:48:56 +00:00
David Worsham 62e274e86c [scenic] Remove dangling viewsv1 reference
Clean up the includes and imports for this module as well.

BUG: angleproject:2475
TEST: Built cast_runner, web_runner
Change-Id: Id283c265a4ec9d2ca74e3a0132e82f051b8864f6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579219
Reviewed-by: Michael Spang <spang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
2019-04-23 19:45:23 +00:00
Cody Northrop 83740f9795 Android: Add ANGLE version to logcat
We need addtional info in logcat to diagnose ANGLE issues.

Before this, only Vulkan version and hardware details are reported:

  ANGLE : Vulkan 1.1.87(Adreno (TM) 540 (0x05040001))

After this, we also get the ANGLE version:

  ANGLE : Version (2.1.0.bc20af89d498), Renderer (Vulkan 1.1.87(Adreno (TM) 540 (0x05040001)))

Bug: angleproject:3395
Change-Id: I4b67fe5ce389d3d2d641a4cc8b2e0b67649dc70d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579044
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2019-04-23 18:59:14 +00:00
angle-autoroll cff6f150ea Roll ./third_party/glslang/src 0e5d1bb66ad3..86c72c9486a9 (3 commits)
0e5d1bb66a..86c72c9486


Created with:
  gclient setdep -r ./third_party/glslang/src@86c72c9486a9

The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=cwallez@google.com

Change-Id: I3a4e8fc6e516f7e6357e7330872a068b7f5a8cef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1576824
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-22 08:22:08 +00:00
Michael Spang c467f7b541 Compute usage from format properties cache in glTexStorageMem2DEXT
Per issue 13 in the EXT_external_objects spec, we should request all of
the usage flags that are supported for the format.

Bug: angleproject:3289, angleproject:3389

Change-Id: I5ef9906061af0fd619f580a9f603dd43be162932
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1573218
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
2019-04-19 18:11:56 +00:00
angle-autoroll fcc3ec31b8 Roll ./third_party/glslang/src 805b09f92203..0e5d1bb66ad3 (1 commits)
805b09f922..0e5d1bb66a


Created with:
  gclient setdep -r ./third_party/glslang/src@0e5d1bb66ad3

The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=cwallez@google.com

Change-Id: Icee4418f0116ec73f8e204df29b18499d796a54f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575407
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-19 08:13:53 +00:00
angle-autoroll 4906e8f012 Roll ./third_party/spirv-tools/src ac878fcbdd64..7aad9653f9a3 (2 commits)
ac878fcbdd..7aad9653f9


Created with:
  gclient setdep -r ./third_party/spirv-tools/src@7aad9653f9a3

The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=cwallez@google.com

Change-Id: I088d283f1e042003064be7c5c52c15aafa1c8be6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575408
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-19 08:07:23 +00:00
Kenneth Russell 51386f4a5e Reland "Define and expose EGL_ANGLE_power_preference extension."
This is a reland of ac58e63295

The original CL was reverted in a rush because I thought there was an
uninitialized variable bug, but upon later re-review this turned out to
not be the case.

Original change's description:
> Define and expose EGL_ANGLE_power_preference extension.
>
> Allows application to select the integrated or discrete GPU on
> dual-GPU macOS systems.
>
> Tested by modifying the example program at:
> https://github.com/grorg/ANGLEIOSurfaceTest
>
> and verifying that both integrated and discrete GPUs can be selected.
> (The changes to that program will be upstreamed once some build issues
> are resolved.)
>
> Bug: 2813
> Change-Id: Ibeb17778512896456d220e9bc4cf8f222aa57057
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570081
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>

Bug: 2813
Tbr: geofflang@chromium.org
Tbr: cwallez@chromium.org
Change-Id: Iea000dd718f4f4b4f57237adb1dc44381b10106b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575419
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
2019-04-19 07:22:23 +00:00
Kai Ninomiya 145ec7fa7c Revert "Define and expose EGL_ANGLE_power_preference extension."
This reverts commit ac58e63295.

Reason for revert: Revert on kbr's request: "has an uninitialized variable bug"

Original change's description:
> Define and expose EGL_ANGLE_power_preference extension.
> 
> Allows application to select the integrated or discrete GPU on
> dual-GPU macOS systems.
> 
> Tested by modifying the example program at:
> https://github.com/grorg/ANGLEIOSurfaceTest
> 
> and verifying that both integrated and discrete GPUs can be selected.
> (The changes to that program will be upstreamed once some build issues
> are resolved.)
> 
> Bug: 2813
> Change-Id: Ibeb17778512896456d220e9bc4cf8f222aa57057
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570081
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>

TBR=geofflang@chromium.org,kbr@chromium.org,cwallez@chromium.org

Change-Id: Icb936d91eec70deb825585da3ff8835ca2794736
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 2813
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575134
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2019-04-19 01:50:45 +00:00
Kenneth Russell ac58e63295 Define and expose EGL_ANGLE_power_preference extension.
Allows application to select the integrated or discrete GPU on
dual-GPU macOS systems.

Tested by modifying the example program at:
https://github.com/grorg/ANGLEIOSurfaceTest

and verifying that both integrated and discrete GPUs can be selected.
(The changes to that program will be upstreamed once some build issues
are resolved.)

Bug: 2813
Change-Id: Ibeb17778512896456d220e9bc4cf8f222aa57057
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570081
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-04-19 01:40:32 +00:00
Jamie Madill 85a239d091 Vulkan: Write docs on format tables.
Bug: angleproject:3372

Change-Id: Ib6cae7975484f4789f3d244adcb158e49892a246
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574619
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-04-18 20:48:57 +00:00
Jamie Madill 0631e19bcb Vulkan: Rename Vulkan "Texture" format to "Image"
Also adds some comments to vk_format_utils.h.

Bug: angleproject:3372
Change-Id: I529b9b189e4cdfd400c3c981a47139727d9954ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565062
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-04-18 20:45:31 +00:00
Jonah Ryan-Davis 3b7758656e Skipped tests not accumulated in dEQP stats output.
The sSkippedTests is not incremented in the kGpuTestSkip check in
runTest, when it should be.

Bug: angleproject:3390
Change-Id: I4aca73ba1bbe3060fc3c0cd27679c2276a30a741
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574620
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2019-04-18 20:42:51 +00:00
Yuly Novikov d18c048ab5 Remove Nexus 5X Vulkan test suppressions.
SimpleStateChangeTest.DrawArraysThenDrawElements
TextureUploadFormatTest.All
VertexAttributeTest.UnsignedByteNormalized
VertexAttributeTest.ByteNormalized

EXTMultisampleCompatibilityTest.DrawAlphaOneAndResolve
was skipped on all Android for unspecified reason in
https://chromium-review.googlesource.com/c/angle/angle/+/451877
seems to be passing now.

Make some suppressions OpenGL ES specific:
MultisampleCompatibilityTest.DrawCoverageAndResolve
RobustResourceInitTest.TexImageThenSubImage
RobustResourceInitTest.ReadingPartiallyInitializedTexture
RobustResourceInitTestES3.MultisampledDepthInitializedCorrectly
RobustResourceInitTest.MaskedDepthClear
RobustResourceInitTestES3.MaskedDepthClearBuffer
RobustResourceInitTest.MaskedStencilClear
RobustResourceInitTestES3.MaskedStencilClearBuffer
TransformFeedbackTest.OffsetResetOnBeginTransformFeedback

Bug: angleproject:3262
Bug: angleproject:3124, angleproject:2657, angleproject:2797

Change-Id: I3ed7a3f0ebbb4598bff75e2b3bd8b3b0630779f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572484
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2019-04-18 18:48:01 +00:00
Michael Spang f02a767d73 Vulkan: Implement glTexStorageMem2DEXT
This implements support for creating textures that alias vulkan images
allocated inside external memory.

Bug: angleproject:3289

Change-Id: Iad071f353a217793102ae737647c7cd572f7b0ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552029
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
2019-04-18 18:47:31 +00:00
Shahbaz Youssefi 422c94bdab Vulkan: Enable ES3 fragment output attribute locations
GLSLTest_ES3 end2end tests are enabled for Vulkan, though with
suppressions for other features that are missing.

Bug: angleproject:3199
Change-Id: Ie744e160eab2df9a5a4f2c67ea5acf4b865ea5bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565058
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-04-18 15:29:09 +00:00
angle-autoroll 2a7de6b740 Roll ./third_party/spirv-tools/src 3aad3e9228b3..ac878fcbdd64 (2 commits)
3aad3e9228..ac878fcbdd


Created with:
  gclient setdep -r ./third_party/spirv-tools/src@ac878fcbdd64

The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=cwallez@google.com

Change-Id: Ibd95960e4fa17658c31bcfa7da3f371e34c3c8f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1573346
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-18 07:50:38 +00:00
angle-autoroll 5eb1a0b59a Roll ./third_party/glslang/src 0527c9db8148..805b09f92203 (1 commits)
0527c9db81..805b09f922


Created with:
  gclient setdep -r ./third_party/glslang/src@805b09f92203

The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=cwallez@google.com

Change-Id: I73619434cb093091c3a6d3a29784759e182b603b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1573345
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-18 07:49:58 +00:00
jchen10 82bcffa787 Disable parallel compile for d3d11 compute
To observe whether the flaky issues still show up with the feature
disabled.

Bug: angleproject:3349

Change-Id: I0eae861ad76212fb4a65b57c1e1b5e8c583d6a3b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571027
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
2019-04-18 00:54:18 +00:00
Jonah Ryan-Davis e3c7134c27 Add script to collect information from tests running on bots.
Add scripts/generate_deqp_stats.py, which takes in a bot name and prints
out a struct with the number of tests run/passed/failed/etc for each
test suite that ran on the bot.

Bug: angleproject:3369
Change-Id: Ie8086e1d0fb6b141afa388ad44711a798a3bbcd1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570111
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2019-04-17 19:52:35 +00:00
Jonah Ryan-Davis 0f7a2330c0 Modify test result output from dEQP tests for visualization script.
Test results will now be prepended with [TESTSTATS], and there are two
new outputs added for unexpected passes and unexpected failures.

Bug: angleproject:3369
Change-Id: Iec4dafe695531dcf56d496083036ccf1e286ead7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571388
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-04-17 17:24:45 +00:00
Geoff Lang 057b76e149 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>
2019-04-17 15:48:14 +00:00
Shahbaz Youssefi 95c0fae605 Vulkan: Clear surface images if emulated format
This was done for renderbuffers but was missing for surfaces.

Bug: angleproject:2722
Change-Id: I019805d6ca43eef86d2d46e7c72c1013803f2139
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570149
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-04-17 15:32:54 +00:00
Michael Spang 3b2c6bfd43 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>
2019-04-17 14:51:53 +00:00
angle-autoroll 20a7163192 Roll ./third_party/spirv-tools/src 3335c61147d7..3aad3e9228b3 (2 commits)
3335c61147..3aad3e9228


Created with:
  gclient setdep -r ./third_party/spirv-tools/src@3aad3e9228b3

The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=cwallez@google.com

Change-Id: I9f5b217d748244b82001189f743c70de2d26a77e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571180
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-17 07:44:42 +00:00
Jonah Ryan-Davis c832cdd75f dEQP test_expectations parser should output an error on unused lines.
dEQP test_expectations parser should allow nested overrides.

When an expectation line is not used for any test, it's likely
duplicated or misspelled, or the test was removed. The parser should
output these errors to make it easier to keep the expectations up to
date.

Also necessary to allow longer/more specific expectations to override
shorter ones, so the scenario where you FAIL one set of tests across
platforms, and SKIP a subset of that group on one platform will still be
allowed.

Bug: angleproject:3368
Change-Id: If0470cb6fb12f8d3daa97df0c701185fa086668c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1564725
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-04-16 22:24:32 +00:00
Sunny Sachanandani b8a8ffd3fc Add support for RGB10A2 in eglCreatePbufferFromClientBuffer
Bug: chromium:937108

Change-Id: I689562ebff9f9f85ecb8af918bbb788b16b0f91b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565420
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-04-16 21:04:02 +00:00
Michael Spang e0da9cefcd Pack handle type enum for glImportMemoryFd & glImportSemaphoreFd
Bug: angleproject:3289

Change-Id: Ic20b1d55641494b46622e1e28d93e2ca30655ea6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566143
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-04-16 19:57:12 +00:00
Sascha Kolodzey 50eb1e6f77 D3D: Update dynamic BufferUsage flags.
Changed the mapping between gl::BufferUsage flags
and D3DBufferUsage flags. Only gl::BufferUsage::DynamicDraw
gets mapped to D3DBufferUsage::DYNAMIC now. This reflects
a better mapping between GL and D3D.

BUG=angleproject:3366

Change-Id: I5062f91fdb3664339e2c259b399d5f47401675d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1569465
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-04-16 19:28:02 +00:00
Mingyu Hu 7d64c4863d 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>
2019-04-16 17:37:10 +00:00
Corentin Wallez e02ad4d364 Suppress tests crashing on teardown on Win Intel D3D11
BUG=angleproject:3349

Change-Id: Ib86f8b87d719919c980240d3220521a3c7f8a942
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1569466
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2019-04-16 12:41:03 +00:00
angle-autoroll bb1e670b11 Roll ./third_party/spirv-tools/src 102e430a88db..3335c61147d7 (1 commits)
102e430a88..3335c61147


Created with:
  gclient setdep -r ./third_party/spirv-tools/src@3335c61147d7

The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=cwallez@google.com

Change-Id: I0b0e3294b65fe060cf5f68c7b11a4c672d808522
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1568762
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-16 07:58:43 +00:00
Qin Jiajia e7da32f1c7 Fix the failure in UpdateImageTextureInUse
If we update the texture data between two dispatch calls, ReadPixels can't
get right result after the second dispatch call. The failure reason is
that after the first dispatch, ReadPixels will sync framebufer state which
will update color render target. Finally, TextureD3D::ensureRenderTarget
is reached. However, we are in compute pipeline.
mTexStorage->isRenderTarget() will be false. That results the current
texture will create a new render target storage. But the UAV is still
bound with the previous texture storage. If there is no texture dirty bit
between these two dispatch calls, applyTexturesForCompute won't be called.
After the second dispatch, readPixels will read data from the new texture
storage which is not updated.

Bug: angleproject:3015

Change-Id: Ib2494ab8bf6e12faefc0a7370719d383526c36ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1390710
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
2019-04-16 02:48:13 +00:00
Jonah Ryan-Davis ccd91316c4 Use primaryGPUIndex over activeGPUIndex when determining the system GPU.
Mac OPENGL/AMD dEQP test suppressions were being ignored because in
SystemInfo the activeGPUIndex was used when the primaryGPUIndex should
have been used.

Bug: angleproject:3373
Change-Id: I2664049b956bf8903c6d7094ec27646766e7ce16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565056
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
2019-04-15 20:54:32 +00:00
Shahbaz Youssefi d3ec341de1 Fix LineLoopStateChangeTest to actually draw square and hourglass
The test claimed to be drawing an hourglass followed by a square.  That
is:

    ----
     \/
     /\
    ----

followed by:

    ----
    |  |
    |  |
    ----

With the end result being:

    ----
    |\/|
    |/\|
    ----

However, in reality it was drawing two hour glasses with the same
result.  That is:

    ----
     \/
     /\
    ----

followed by:

    |\/|
    |/\|

Bug: angleproject:3361
Change-Id: I59a2930f78e6e448b6ccb2e5f70c73ff0f15a2ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1561650
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-04-15 20:22:02 +00:00
Jonah Ryan-Davis 5646a7ccae Uniform buffers not dirtied for gl_VertexID workaround on D3D11.
Related to:
https://chromium-review.googlesource.com/c/angle/angle/+/1520988
The program uniform buffers were dirtied for this edge case, but it
should have been the driver uniform buffers. This CL fixes this and adds
a tests case which catches this.

Bug: 945903
Change-Id: I6142771e200513ed0251fc97cec68d371d39ec1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565059
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shrek Shao <shrekshao@google.com>
2019-04-15 19:13:22 +00:00
Jamie Madill 2664da8beb Correct texImage uses of texture type -> target.
Similarly to how the subImage calls were corrected. glTexImage and the
family of related functions apply to a single texture target. This
means we need a different TexImage call for each cube face. This is
distinct from TexStorage calls which take a Cube map directly.

Note this is mostly a refactoring change. But it does increase code
consistency and should allow for more efficient code reuse.

Bug: angleproject:3356
Change-Id: I252f8983cdda3a8f0223c44cbbe8d8e2dd319a88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558673
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2019-04-15 19:09:02 +00:00
Geoff Lang ba9a21afa5 Update suggested reviewers documentation.
BUG=angleproject:1944

Change-Id: I17becf44a86969c0929e51b548cf90220027fb75
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565060
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-04-15 15:22:21 +00:00
angle-autoroll 639729c3e6 Roll ./third_party/spirv-tools/src 98b3f26c2f1f..102e430a88db (2 commits)
98b3f26c2f..102e430a88


Created with:
  gclient setdep -r ./third_party/spirv-tools/src@102e430a88db

The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=ynovikov@google.com

Change-Id: I367824273259bd2a34cce14d89d67354496b9c15
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1567286
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-04-15 08:31:02 +00:00