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

10440 Коммитов

Автор SHA1 Сообщение Дата
Kenneth Russell cbdf8616f9 Support blitFramebuffer to and from IOSurface-backed textures.
Extend validation to allow texture rectangle-backed textures as
blitFramebuffer sources and destinations.

Add end-to-end test covering this functionality, and run the
IOSurfaceClientBufferTests against both ES2 and ES3.

Bug: angleproject:3669
Change-Id: I7b8815a2c98072c12de45717afbba9e9b29ba253
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1694483
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-11 00:56:55 +00:00
Jonah Ryan-Davis 8db211bc8d Fix CopyTexture to support GL_LUMINANCE/ALPHA/LUMINANCE_ALPHA
A few WebGL tests were failing on Linux/NVIDIA/passthrough because the
luminance workaround doesn't handle the case where the destination
texture is a luminance texture. For now, fallback to CPU readback in
this case.

Bug: chromium:773861
Change-Id: I1b85edccc2e257a5fa19cd496d86443ba96e07ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695922
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-07-10 21:26:59 +00:00
Jonah Ryan-Davis fba3e64e80 Update trigger.py to take extra arguments
The extra_args wildcard doesn't support extra arguments prepended with
'--'. By using the unknown args returned by argparse, you can add
arbitrary args to the swarming call.

Bug: angleproject:3272
Change-Id: I8d4ab1e19ceae80b47cc2331e6e30a4187da863f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695921
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2019-07-10 17:18:28 +00:00
Tim Van Patten b91900a27b Vulkan: Fix khr-gles3.shaders.uniform_block.common.name_matching test failure
Fix various shader translator validation errors related to uniform
buffers and naming.

Bug: angleproject:3459
Test: angle_deqp_khr_gles3_tests
Change-Id: Iaa66b61e91c8f38ec7cccb43d71be9ba3cd83da3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684302
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-07-10 15:01:21 +00:00
Geoff Lang 69e46a186b GL: Implement EGL_ANDROID_native_fence_sync
This extension allows Chrome to use ANGLE on newer Android devices.

BUG=angleproject:3643

Change-Id: I5456d61749399ca2bbc11cc5e98b9120f8702406
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687121
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2019-07-10 14:47:50 +00:00
Jamie Madill 4e71b2bc25 Framebuffer: Clean up query naming.
Changes instances where we were querying 'color buffers' and 'depth
buffers' to 'color attachments' and 'depth attachments', etc.

Bug: angleproject:3611
Change-Id: I7af7d33e5204f21d288f5bcad997988d36eabfc5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690679
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2019-07-09 19:29:05 +00:00
Geoff Lang 3fe8c3a303 Refactor the wait/signalSemaphore entry points to be on the Semaphore object
Convert the texture ID parameters into optimized vectors of Texture objects.

BUG=angleproject:3656

Change-Id: Iffe824ade2a919c9771642ae501ff04712ca43ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688505
Reviewed-by: Michael Spang <spang@chromium.org>
2019-07-09 17:17:22 +00:00
shrekshao 7964101ce7 Fix regex parenthesis missing escaping backslash
Bug: angleproject:3668
Change-Id: Iaf529a5a50d1ab040f016fae0ea9bd3129a8fd6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692625
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-07-09 16:53:01 +00:00
Ian Elliott 5e1b3777b8 Vulkan: Add support for GL_RGBA8-to-GL_RGB5_A1
This support was missing and caused dEQP crashes.

Bug: angleproject:3627
Change-Id: Idc06cc92df676061f8a08d0f32a1b3e7f03a66f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1691102
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-07-09 16:50:11 +00:00
Ian Elliott 934fc44f3d Vulkan: Note that KHR-GLES3.texture_repeat_mode.* tests pass
Not sure when these were fixed, but they pass now.

Bug: angleproject:3455
Bug: angleproject:3460
Change-Id: I0275ff001af3bab2599073143effcc54ee0bca82
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692447
Commit-Queue: Ian Elliott <ianelliott@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-09 16:18:11 +00:00
Clemen Deng cb8b4a5716 Rename "opengl32" to "libGL"
Bug: angleproject:3651
Change-Id: I1af052da9bc2f64f2f29ea411902272987f21a0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688178
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-07-09 14:47:30 +00:00
Geoff Lang 169a14ec5d Move member initializers from Caps.cpp into the struct definitions.
BUG=angleproject:3663

Change-Id: I13a1a920173e3f2e5360e6d7253f24a44bdc5e13
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690675
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-09 12:36:21 +00:00
angle-autoroll 8e70900e91 Roll ./third_party/glslang/src 4b4b41a63499..8aa9a7bb8f74 (1 commits)
4b4b41a634..8aa9a7bb8f


Created with:
  gclient setdep -r ./third_party/glslang/src@8aa9a7bb8f74

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@chromium.org

Change-Id: Iec081c31b79bd1a555552e7649861f88f000f64f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692188
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-09 12:34:51 +00:00
angle-autoroll b1b22b4182 Roll ./third_party/spirv-tools/src 9702d47c6fe4..0c4feb643b89 (7 commits)
9702d47c6f..0c4feb643b


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

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@chromium.org

Change-Id: I428c6d686be4b1721ecaa9398bbb0b4c83de859e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692187
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-09 12:31:30 +00:00
Corentin Wallez 9be098b52f PRESUBMIT.py: Don't require "Bug:" for autoroller CLs.
BUG=angleproject:3659

Change-Id: I29d77939953e3661ea979f8f7a9f44566079e567
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692881
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-09 12:01:00 +00:00
Shahbaz Youssefi 1cde0eab51 Vulkan: Add storage buffer support
The storage buffers are placed in the same descriptor set as uniform
buffers.  Some refactoring is done to reuse code that handles UBOs to
handle SSBOs as well.  A good number of tests still fail as they test
SSBOs in conjunction with compute shaders.

Bug: angleproject:3561
Change-Id: Ia33c1f68e6f6402c746f5919ede87b2c308cf81c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687126
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
2019-07-09 04:51:30 +00:00
Shahbaz Youssefi 5dfad811ce Vulkan: GLSL output support for SSBO memory qualifiers
Makes the QUALIFIER macro take arguments similar to LAYOUT, to allow
passing in tokens to be conditionally output after the storage
qualifier.

Bug: angleproject:3561
Change-Id: I4368eba2c34c1398f81d33cd23c9e56557fd4ed8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1685876
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-09 03:57:39 +00:00
Mohan Maiya 91295e1aab Vulkan: Disable Program Binary Support
Reason for disabling: Crashes are seen on
Fuchsia. Some parts are missing to appropriately
support the extension.

Bug: angleproject:3216
Bug: angleproject:3217
Bug: angleproject:3665
Change-Id: I4a7775e023702861d5e801289d49f39702cb19bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1691311
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-08 22:50:37 +00:00
Michael Spang 0966f3f8f8 Vulkan: Remove flush semaphore chain
This avoids using an unbounded number of semaphores in between calls to
swapbuffers. Using two semaphores should be sufficient to synchronize
swaps.

In addition, fix tracking of VkPipelineStageFlags by creating a 2nd
vector parallel to the semaphores vector. The last fix assumed there
could only be 2 wait semaphores, but that bound only applied to signal
semaphores. After this change, there can only be one signal semaphore,
but there's still no bound to wait semaphores.

Bug: angleproject:3637
Change-Id: I7fbba67fa4bbdf62b9e9d530a924acd5236705d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688435
Commit-Queue: Michael Spang <spang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-07-08 22:11:07 +00:00
Clemen Deng 0c83813f56 Implement core wgl functions
- wglSwapBuffers
- wglCreateContext
- wglMakeCurrent
These functions are needed by the OpenGL tutorial for Windows desktop

Bug: angleproject:3620
Change-Id: I699af63eca4a2c8aaf2c72278a580322410ac499
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688499
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-07-08 22:07:37 +00:00
Shahbaz Youssefi 97123e3faf Vulkan: Fix support for framebuffer discard extension
Bug: angleproject:3664
Change-Id: Ifc08a53771c1e114c4169780e7fc984f2552b263
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688182
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2019-07-08 21:18:13 +00:00
Yuly Novikov bb5389b744 Switch standalone builders to Xenial GCEs
Bug: chromium:954450
Change-Id: I3d35507aad6a1c9a06b148335e547a768b0156ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1691119
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2019-07-08 19:37:47 +00:00
Geoff Lang 25b84f3814 Fix capitalization of opengl autogen folder name.
This caused linux to fail to autogenerate the entry points.

BUG=angleproject:3611

Change-Id: Ia383ed134b1a4ecbcd5e03dca365cd21b8660ffe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690680
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-08 19:30:29 +00:00
Jamie Madill 3bd10b1954 Capture/Replay: Return CallCapture from capture funcs.
This moves more shared code into a simple templated helper function. It
will also allow us to call the parameter capture methods more easily
for mid-execution capture.

Refactoring change only.

Bug: angleproject:3611
Change-Id: I8d95a6230922dfa0403ba5c328df78735c765519
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688508
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-07-08 19:13:36 +00:00
Geoff Lang 3fd0b2dbcf Implement EGL_ANDROID_get_native_client_buffer.
BUG=angleproject:2508

Change-Id: I21e6251cd1341c1f85f1ba16ba08f5876a8ff8de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1238885
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-07-08 18:17:43 +00:00
Shahbaz Youssefi 55efe37cf8 Vulkan: Cleanup buffer dependencies
onWrite now sets the dependency to make sure the order of setting
dependency and adding memory barrier is correct.  onReadByBuffer is
added to handle buffer-to-buffer dependency and barrier setting
correctly without causing a graph loop.  onExternalWrite is added so
that BufferVk doesn't have to track write access flags.

Additionally, setting write dependencies now include both read and write
flags.  This is in preparation for SSBO support where the buffer can be
used to read data in addition to write.

Bug: angleproject:3561
Change-Id: I2028186ea14459cd159cf79f6d640df54538fc62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687119
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2019-07-08 17:11:28 +00:00
Geoff Lang 9ac15d052e Ensure the global mutex is not locked before deleting it.
It is undefined behaviour to delete a mutex that is locked by a thread.  To
ensure that the global mutex is not locked, lock/unlock it before deleting it.

BUG=angleproject:2464

Change-Id: I735e924abfa06070f2b4103230be8593649ca340
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690674
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-08 16:21:55 +00:00
Clemen Deng b344fbd9f1 Adding client param to context constructor so it can support other clients
This change will make it possible for context classes to
access multiple versions, e.g. GL version and GLES version

Bug: angleproject:3661
Change-Id: I77a33d1c3ea3bffe94c64deb272219bbda1725a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689023
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-08 15:59:11 +00:00
Clemen Deng 3ffbaed656 Merge entry_points_utils.h and entry_points_enum_autogen
Merge the copies of these files from opengl32/libGLESv2
folders and put them in libANGLE

Bug: angleproject:3650
Change-Id: I3b20617f17d031c9ecf4676f4162eff586963ed5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688502
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-07-08 15:46:38 +00:00
Shahbaz Youssefi a1b6761e6e Vulkan: Add SSBO and combined resource limits
Fixes UBO limits as well, both to use the per-stage Vulkan limit and to
account for driver uniforms now being dynamic.

Bug: angleproject:3561
Bug: angleproject:3633
Bug: angleproject:3605
Bug: angleproject:3443
Change-Id: I07e34923cc1d132e965a0b9c0590c96fc561fab1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1685877
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2019-07-06 03:44:22 +00:00
Mohan Maiya 4c292b8761 Vulkan: Enable remaining ProgramBinary end2end tests
Now that we have support for program binaries, enable
the following end2end tests for Vulkan backend -
1. ProgramBinaryTest*
2. ProgramBinaryES3Test*
3. ProgramBinaryTransformFeedbackTest*

Bug: angleproject:3217
Change-Id: I007b03181c4c3c6c20e8cb278ed78cf14bff7f1f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689824
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-05 17:07:22 +00:00
Jamie Madill 612b741729 Capture/Replay: Add frame capture to cpp files.
Capture is implemented mostly via code auto-generation. The capture
requires a bit of custom logic for each captured pointer parameter. We
handle this by using auto-generation to lay out the base template for
each GL call and then custom logic that uses ANGLE's internals to
know how much data to capture at which point. Client array pointers are
captured before each draw call.

Currently only GLES capture is supported. We write out cpp files and
an optional data file accompanying each cpp. For small data chunks we
inline them in the cpp files. For bigger chunks like texture data we
pack them into the data file.

Mid-execution capture is not yet supported. Configuring the capture is
currently only available by modifying the cpp sources. Both of these
features will be implemented in the future.

Bug: angleproject:3611
Change-Id: If6d5dac2f7bf363129d42ea9198162aef0d3a4ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1671904
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-05 16:11:43 +00:00
Jamie Madill 9e438eeb76 Update presubmit checks.
- clarifies error for run_code_generation hashes.
- makes missing format or bug tag an error.
- check for spaces in bug tags.

Bug: angleproject:3659
Change-Id: I069e60d8acdf070961bdf342acf976ddd1138b1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689019
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-07-05 14:48:22 +00:00
Yuly Novikov c26b7914f0 Skip EGLSurfaceTest.SwapInterval on Linux NVIDIA Vulkan.
Flaky hangs on Ubuntu 19.04

Bug: angleproject:3618
Change-Id: Iab85c94e90aec0f7b15fe0fbc14ae1a8d0734d48
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689270
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2019-07-04 21:09:51 +00:00
Clemen Deng a71a8c6660 ANGLE tests loading wrong opengl32.dll
ANGLE tests try to load opengl32.dll from ANGLE directory instead of system
Bug: angleproject:3645
Change-Id: I3a8cea37252d13e915ff54ae6bbac920db16e4c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688544
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-07-04 20:40:21 +00:00
Clemen Deng c5898044a2 Don't remove GL commands that are duplicates of GLES commands
in openGL32 proc table

Bug: angleproject:3652
Change-Id: I014fab19564972bc3bc27f733534fd3630af41b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688497
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-07-04 19:24:51 +00:00
Jamie Madill 524a8c9049 Fix header check for GLES 1.0 conformance tests.
The no_gtest target wasn't sharing its header visiblity with the main
target. Fix this using public_deps.

Also rolls angle-internal to pick up MSVC build fixes.

Bug: angleproject:3654
Change-Id: I4aca1f167031c0b41d1a7f7ff4d7303a960e2839
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688500
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-04 18:51:39 +00:00
Jonah Ryan-Davis d6eb8d0cff Add missing functions to libEGL.def
The functions weren't properly exposed from the
EGL_ANGLE_feature_control extension.

Bug: angleproject:1621
Change-Id: Ie91a18966a84db88d6a9a555e75cba8cea0a6521
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688498
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-07-04 17:14:16 +00:00
Geoff Lang 62934322b6 Make egl::Sync a LabeledObject.
This allows us to return the Sync's label when validation fails for a
Sync related entry point.

BUG=angleproject:3643

Change-Id: I64e8a8855a2e3b51768c2b560fdc4696bb325351
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687120
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-07-04 16:43:26 +00:00
Jonah Ryan-Davis ecaebd0fc6 Add GLES 3.1 dEQP test results to ANGLE docs
New GLES3.1 vulkan tests were added to the bots. Add the results to the
ANGLE docs.

Bug: angleproject:3646
Change-Id: I503a00d38b570a1d8491acd8d1bac33723b2cbe4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688545
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2019-07-04 15:56:06 +00:00
Jamie Madill ee21a18734 Store angle::Format in gl::VertexAttribute.
Instead of storing type/size/normalized/pureInteger we instead store a
pointer to the angle::Format. This makes some code logic simpler and
will let us more easily check if a vertex attribute format changes in
calls to VertexAttribPointer or VertexAttribFormat.

This CL adds extra information to angle::Format to represent the vertex
format info needed. It also caches the channel count so that it can be
queried faster.

Also renames "Int" -> "Sint" in UtilsVk for consistency.

Bug: angleproject:3256
Change-Id: I5ef9b983dad8a58c341113c802500b89ce081566
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684293
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2019-07-04 14:11:46 +00:00
angle-autoroll b00ecb9a18 Roll ./third_party/glslang/src 22683b409e6d..4b4b41a63499 (1 commits)
22683b409e..4b4b41a634


Created with:
  gclient setdep -r ./third_party/glslang/src@4b4b41a63499

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=ynovikov@google.com

Change-Id: I90385bd8f9286aba10ee3d17e73c74e699c42e9e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688580
Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2019-07-04 08:23:15 +00:00
Ian Elliott c4ef62ec1a Vulkan: Note newly-passing Windows tests.
Remove FAIL lines from expectations file.  After recent CLs have
landed, addtional dEQP tests are now passing on Windows.

Bug: angleproject:3190
Change-Id: I40e1f29b21d9d3bb450beac4e94377112175308a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684226
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2019-07-04 01:36:45 +00:00
Tim Van Patten 6d37651a23 Vulkan: dFdy is incorrect when the framebuffer is flipped
To account for framebuffer flipping, `dFdy()` expressions
must be changed to:

    dFdy() * ANGLEUniforms.viewportYScale

Bug: angleproject:3487
Test: dEQP-GLES3.functional.shaders.derivate.dfdy.*
Change-Id: I38f25ba37fb8c5ae61cee5ac911df88ec4a93fef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678404
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-07-04 00:47:05 +00:00
Tobin Ehlis b7418a177f Restore flatten invariant behavior
This was removed with a previous commit to fix behavior of invariant
pragma overall, however, the flattening is still needed for the initial
translation step of webGL VSs.

This change restores the flattening as it previously existed, however it
is now only applied to VS outputs. FS inputs are no longer flattened as
the previous fixes preclude the need for that workaround any longer.

Bug: 980675
Change-Id: Ia3c0471e24cae2905eb0d7bde153091e4d3829b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687788
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
2019-07-03 22:17:04 +00:00
Lingfeng Yang 196cd9e7c5 GLES1: disable texture3DOES extension
It requires GLES 2.0+

This should help keep

src/tests/gl_tests/gles1/TextureParameterTest.cpp:

TextureParameterTest.NegativeEnum

green even if the extension is propagated to the frontend
from the underlying renderer.

Bug: angleproject:3639
Change-Id: I04118e060f38cb774a6897ee6ce035b540a3b60e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1686822
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
2019-07-03 22:09:34 +00:00
Jonah Ryan-Davis 7356514a24 End2end test for WebGL conformance2/uniforms/large-uniform-buffers.html
Bug in UBOs over 65535 bytes is captured in the WebGL conformance test.
Add an ANGLE end2end test to capture this behavior.

Bug: angleproject:3388
Change-Id: I8151892d22b53a9100d26cceb124c13fdbfae844
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687116
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2019-07-03 20:55:24 +00:00
Mohan Maiya a8da866895 Vulkan: Implement OES_get_program_binary extension
- Serialize and deserialize completed shader source of
  program for saving out for glGetProgramBinary().
- Cleaned up some unnecessary includes in cpp files.
- Some refactoring within ProgramVk::ShaderInfo to minimize code
  duplication.
- Added ProgramVk::ShaderInfo::saveShaderSource and
  ProgramVk::ShaderInfo::loadShaderSource.
- Updated vk_caps_utils.cpp to enable getProgramBinary and add the
  GL_PROGRAM_BINARY_ANGLE program binary format. This follows the pattern
  for other backends.

Bug: angleproject:3216
Tests: dEQP-GLES3.functional.shader_api.program_binary*
       angle_end2end_tests --gtest_filter=ProgramBinaryTest*
Change-Id: I927a27aaf9aa3d7fac550819ee80d2676ec1d1be
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1683099
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2019-07-03 20:48:54 +00:00
Jonah Ryan-Davis 35c847eb29 Skip EGLFeatureControlTest.InvalidDisplay on all Win/Intel
Was skipped only on Vulkan, but it hangs on other backends too, like
D3D11.

Bug: angleproject:3629
Change-Id: I3a812d86e1765507fb03a58c6d10c6a48edc0f2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687124
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
2019-07-03 20:12:10 +00:00
Clemen Deng a87ce8353a Load the correct opengl32.dll
DisplayWGL.cpp is loading the opengl32.dll in out/debug, as opposed to the system's opengl32.dll.
Want system's dll.
Bug: angleproject:3641
Change-Id: I764ef44a942a0a6c4dac7082f82ae0fd4d95a139
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687117
Commit-Queue: Clemen Deng <clemendeng@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2019-07-03 20:04:11 +00:00