Add extension to Caps and code gen files.
Add to Validation of TexImage
Add all the autogen for new extension
Fix swizzle for stencil only
Add LoadFunction
Fix formatutils
Add validation
Test: angle_deqp_egl_tests
--deqp-case=GLES31.functional.stencil_texturing.format.stencil_index8_2d
Bug: angleproject:3231
Change-Id: Id59c7d183ea1658732887e99637d9c8faab938e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404327
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
This will allow us to use trigger.py in a standalone checkout
to fire off swarming jobs.
Bug: angleproject:5114
Change-Id: I99302a4e8fdfc0f6d9996748a2d6c97dc5f03cde
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2442079
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
This argument isn't used and is in the process of being removed.
We need to remove it partially to unblock landing ANGLE tests in
Chrome. We can follow up later to remove it from the argument set.
Bug: angleproject:3162
Change-Id: I3f80eb1bc14fd93a2b6d9732e51f49873fabb27e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2441512
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
This adds new conditonal arguments --device-type and --device-os
(shortened as -t and -o) that specify an Android device type/OS.
In practice only -t is usually necessary. Also makes the GPU
dimension optional (-g or --gpu).
Bug: angleproject:5109
Bug: chromium:1133459
Change-Id: Id975c676db40e9eb104b73a4ed5858e6083cbd70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2439481
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This will make it easier for us to record GLES calls and log them with
Vulkan vkCmd*DebugUtilsLabelEXT()
Bug: b/162068318
Change-Id: I6bddf086ef39cbaca313409802bbb4f2da0d85cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2432193
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
In tiling GPUs, using two triangles means the tiles intersecting the
seam would be processed twice.
Bug: angleproject:4936
Change-Id: Ib10b77e6ab15bba932f0e4e970e10ed5a8399cdd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2372623
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Use the vertex conversion pipeline in VertexArrayVk to detect
static vertex data and convert float32 vertices to float16. This
feature is useful for determining if an allication is vertex
bandwidth bound and seeing what gains could be had by using smaller
attributes.
This feature could be implemented in ANGLE's frontend but new
infrastructure for converting and storing the converted attributes
would need to be added to gl::VertexArray. Our backends already
have the functionality needed to handle unsupported attribute formats
and this can be repurposed for compressing vertex formats.
Bug: b/167404532
Bug: b/161716126
Change-Id: I9a09656a72e8499faa4124adf876d7261c8341c9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2342285
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
This is the initial CL to start migrating to abseil in various places:
- formatutils.h
- FramebufferVk.h
- Program.h
- ProgramExecutableVk.h
- RewriteRowMajorMatrices.cpp
This intentionally hits a couple different places in the code to make
sure the abseil dependencies are added to the required targets.
Bug: angleproject:4873
Change-Id: Idd6084dff2ebce47833f304c605bbf3151b97414
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2402382
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
I'm going to add a non-ignored subdirectory so it behooves us to fix
our blanket suppression. This will also allow users to clean up stale
trace files.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I5b0879eb3eebf3b352bb78e3b927203f9483c89f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2426885
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
FormatID_autogen.h's enums' order was altered by CL
https://chromium-review.googlesource.com/c/angle/angle/+/2413165
However, Metal default shaders relied on old order thus the result
PBO related computation based on enum value has become wrong.
This CL reuse gen_angle_format_table.gen_enum_string() function to
generate format enums for both
- src/libANGLE/renderer/FormatID_autogen.h (used by C++)
- src/libANGLE/renderer/metal/shaders/format_autogen.h (used by Metal
default shaders)
Bug: angleproject:2634
Change-Id: I52fad168d1932e0386dcf789574f06d341dbd9c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2418500
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Note: contrib/optimizations/slide_hash_neon.h is inside zlib. It is
conditionally included which is why it needs to be in the exceptions.
Bug: chromium:1032721
Change-Id: I1da8bb2b12cfe44fca7ce8a423aa33c5e964f05f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2419043
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Update the .gn to remove forcing use_custom_libcxx = false. Instead, let
//build/config/c++/c++.gni determine the value, which should better
match Chromium.
In particular, this helps with Abseil integration by supporting Windows
component builds by better matching the contents of the .def files.
Bug: angleproject:4873
Test: CQ
Change-Id: If8c064f16459292bfb95113a4d78e14e8923f86f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2414739
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
The trace tests aren't strictly for performance. Since we'll be using
them for correctenss testing as well it makes sense to move them out
of the perf_tests/ folder.
Also renames RestrictedTraceTests.md to README.md so it'll load
automatically in gitiles.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I8be9f1d831489a9abf534d049a93441687850142
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2416913
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Was looking at the Chromium path instead of the ANGLE path.
Bug: skia:10572
Change-Id: I7f5dba011a5d446b8f1ef814f89421edfd0f7b95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2418420
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Leveraging the fact that there are only a handful of depth/stencil
formats, the last element of RenderPassDesc::mAttachmentFormats can
contain other information in addition to the depth/stencil format ID.
The FormatID enum is rearranged such that depth/stencil formats are
placed first, as a result occupying values in [1, 7]. These values take
up 3 bits in an element of RenderPassDesc::mAttachmentFormats (which
could be the last element if all color draw buffers are attached).
As a result, the upper 5 bits of the last element of
RenderPassDesc::mAttachmentFormats is unused. It is intended for these
bits to be used in the implementation of multisampled-render-to-texture
depth/stencil renderbuffers.
Bug: angleproject:4836
Change-Id: I0786e0712539cdbbf5494ec83aeee1dd93f936dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2413165
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
This also isolates headers for D3D9 / D3D11 from each other.
Bug: angleproject:3943
Change-Id: I04edbe7db68461ae4fc78ac7f9c22451debcb768
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2405807
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
This EGL extension will add support for creating EGLClientBuffer
backed by an Android window buffer (struct ANativeWindowBuffer)
which can be later used to create an EGLImage.
Bug: angleproject:5018
Tests: angle_end2end_tests --gtest_filter=ImageTest.SourceNativeClientBufferTarget*
Change-Id: If78ed7b80ad09629b8c5f5b5a0eb07a548e82e6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2404320
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
These were messing up the test runner when used in combination
with the test runner's specific args.
Make it an error if the arguments are used together.
Bug: angleproject:3162
Change-Id: I6fa1c0fb346a8c376ca455f7f4bf0492cfc0198a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2414931
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
These tables are used by both the GL and D3D11 back-ends. Also moves
them to renderer_utils to be in a shared place.
Bug: angleproject:3943
Change-Id: I1f5d79842396a87e795547fa03c6855d6f9c5e9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2405805
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
The current roll_aosp.sh is generating an invalid Android.bp by
including the local repo's .git file:
cc_genrule {
name: "angle_commit_id",
tool_files: [
"src/commit_id.py",
],
cmd: "$(location) gen $(location commit.h)",
srcs: [
".git/refs/heads/rollAngle",
],
sdk_version: "28",
out: [
"commit.h",
],
}
This is fixed by enabling the GN arg 'angle_enable_commit_id=false' in
the script:
cc_genrule {
name: "angle_commit_id",
tool_files: [
"src/commit_id.py",
],
cmd: "$(location) gen $(location commit.h)",
sdk_version: "28",
out: [
"commit.h",
],
}
Bug: angleproject:5050
Test: Manual verification in AOSP checkout
Change-Id: I08a08084c4c25411b29b22544c2ed8c06f6f54d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2412790
Reviewed-by: Geoff Lang <geofflang@chromium.org>
These tools are used by scripts/trigger.py and by the src-side testing.
Also adds .vpython and .vpython3 spec files which can't be easily
auto-rolled from the Chromium src/ repo.
Bug: angleproject:5040
Change-Id: Ie6384c176b391dae4fe19582ec59c2c1d6ec22d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2408717
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
glRenderbufferStorageMultisampleEXT is special in that it doesn't have
the same semantics as glRenderbufferStorageMultisample, but is aliased
in gl.xml for the sake of desktop GL (where it does have the same
semantics). This change special-cases this function so
multisampled-render-to-texture renderbuffers can be supported.
Bug: angleproject:4881
Change-Id: Iaa321dd0671dd82ea802df22a1ae935942789c21
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2405395
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
This will allow the Android test runner to work seamlessly with
the ANGLE GTest runner script.
Bug: angleproject:3162
Change-Id: Id20d2fd05eb01e90a5a884891d9a1aa609ca744d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2407837
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
This is the initial CL to start migrating to abseil in various places:
- formatutils.h
- FramebufferVk.h
- Program.h
- ProgramExecutableVk.h
- RewriteRowMajorMatrices.cpp
This intentionally hits a couple different places in the code to make
sure the abseil dependencies are added to the required targets.
Bug: angleproject:4873
Change-Id: I68c7d067b6912b0cc0ecde231501dbed92f0b189
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321735
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
1. Add third_party/abseil-cpp to DEPS so it can be used in ANGLE.
2. Add abseil directory to ANGLE overrides.
3. Add third_party/abseil-cpp to .gitignore.
4. Add third_party/abseil-cpp to roll_chromium_deps.py so it's
auto-rolled periodically.
Bug: angleproject:4873
Change-Id: Ic158bba844e88ec90ac56a2f8c817168c4bea17f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2321734
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Works around a bug in `gn desc` where values can sometimes be reported
as strings when we would expect them to be lists. This was causing
issues with the migration to abseil, as scripts/export_targets.py
did not have a workaround for this bug.
Bug: angleproject:4873
Change-Id: I69994e2cd68a563110fcb98072a24f59f70a06d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380716
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>