|
ab197a2b
|
2021-07-16T16:08:08
|
|
Skip GLSLTest_ES31.TypesUsedInDifferentBlockStorages AMD Linux
The following test is failing on AMD Linux bots:
GLSLTest_ES31.TypesUsedInDifferentBlockStorages/ES3_1_OpenGL
It is skipped on many platforms, so adding another.
Bug: chromium:1230024
Change-Id: Ie24aa04c1b8ab4d4ecdb5c4449d320ae180ecb54
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035864
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
232e5236
|
2021-07-08T15:08:35
|
|
Remove the explicit context extension.
This extension currently has no known users and doubles the
number of entry points that ANGLE exports which is a significant
binary size cost.
This saves about 130kb of binary size on Android.
Bug: chromium:1084580
Change-Id: Ib0fc4930b38a33bd61434f7d0030ba9fb9b93ba7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015518
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f4ce6d00
|
2021-07-15T11:07:25
|
|
Vulkan: SPIR-V Gen: Support bool in interface blocks
SPIR-V doesn't allow bool in interface blocks. Another type
specialization is added for this purpose, turning those bools to uint.
Bug: angleproject:4889
Change-Id: I803bffcf5ea58c913d4df6e7aae3386c67901b25
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3032021
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
48da1c35
|
2021-07-16T13:24:34
|
|
Vulkan: Prefer the local vulkan loader over the system one.
Load the Vulkan loader ourselves and give vkGetInstanceProcAddr to
volk. This allows us to always prefer loading from the current module
directory instead of using the platform-specific ordering.
Refactor angle::Library loading to use ModuleDir instead of
ApplicationDir.
CL originally authored by Geoff Lang.
Bug: chromium:1219969
Change-Id: I21d1926e90fd66e1c23cea7323991ae55f3d22d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035444
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
dd0e8a1f
|
2021-07-16T10:33:57
|
|
Capture/Replay tests: Enable dcheck_always_on.
This will enable release ASSERTs. ASSERTs were unintentionally
disabled when switching to release builds.
Bug: angleproject:5133
Change-Id: Ie19e9fd02624b10283192467c4e22e3cf2b382c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035521
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2a713d92
|
2021-07-15T14:58:54
|
|
Avoid recreating activity when rotating the display.
Reference:
https://developer.android.com/guide/topics/resources/runtime-changes#HandlingTheChange
Bug: b/193828422
Change-Id: I4caa80941e4d32bdf5c830985a19536efd041069
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3032150
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
966c6a9a
|
2021-07-15T12:50:09
|
|
Capture/Replay: Don't try to serialize compressed textures.
Instead we write out a simple string indicating compressed texel
contents. We in the future could implement a GetCompressedTexImage
API.
Bug: angleproject:6176
Change-Id: I6673ec85ac94d5268b24bda4d510247a63fa97e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3032022
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
ac61386d
|
2021-07-15T11:08:48
|
|
Capture/Replay Tests: Swap before TearDown.
Swapping before TearDown lets the capture and serialization logic
see all the test resources that will be cleaned up by the fixture.
This will increase coverage quite a bit because many tests do
automatic cleanup which would previously skip serialization.
Bug: angleproject:6175
Change-Id: I85aa3f6d9bcf2fd66836523e55862a2d5f0d8e32
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3031702
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
04485656
|
2021-07-15T13:46:54
|
|
Capture/Replay: Capture WaitSemaphore and SignalSemaphore
Enable tests that now pass, but keep tests that time out or
still crash on the skip list.
Bug: angleproject:6164
Change-Id: I39e56f0a1bfae09c74a54b06367f7eef41d1063c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024208
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
1e75181f
|
2021-07-15T13:39:08
|
|
Capture/Replay: redesign capturing of arrays passed by pointer
Instead of doing a lookup of the number of passes array when the
call is written, store the number of array values in the
ParamCapture when the call is captured.
Bug: angleproject:6164
Change-Id: I87b0e2f776a6884b999cc50844e0777cda26b380
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3031543
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
1d2c60da
|
2021-07-12T21:44:24
|
|
tests: GL_NUM_BINARY_FORMATS is a ES 3.0 property
Enable according test.
Bug: angleproject:6165
Change-Id: Idb0908024ebce485ac182463a02eba415f0ffec8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024207
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
106ed74c
|
2021-07-12T20:55:33
|
|
Capture/Replay: Capture FenceNV parameters
Enable according tests.
Bug: angleproject:6163
Change-Id: I4435a650530006997ed3f14315461060729b836a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024206
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
397fc145
|
2021-07-15T09:20:28
|
|
Fix the ext-texture-norm16 with RG16 failures
Don't apply the readPixelsUsingImplementationColorReadFormatForNorm16
workaround for Intel GPU. With this workaround, below error will be
printed:
GL_INVALID_OPERATION in glReadPixels(invalid format GL_RG and/or type
GL_UNSIGNED_SHORT)
in FramebufferGL.cpp, readPixelsAllAtOnce
Test:
conformance2/extensions/ext-texture-norm16.html
Bug: chromium:1208297
Change-Id: Ic9016c3afd8a0d2add61247adbf0d9434e8ce9f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028810
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
298fafd7
|
2021-07-14T13:57:30
|
|
[GLX] Allow usage of multiple visuals
When using AMGLE_x11_visual, a single visual is specified for the whole
session. This is limiting since windows can have different visuals.
For example, one window may want transparency and another window may
not. This CL makes it not-an-error to use a window with a visual other
than the one set with ANGLE_X11_VISUAL_ID. In this case, ANGLE will
fallback to using a child window, as if ANGLE_X11_VISUAL_ID had not been
specified.
Long term, a better solution would be to allow specifying
ANGLE_X11_VISUAL_ID per window.
Bug: chromium:1225953
Change-Id: Ibec411cfd1341c30b2842a7ddba3fea6023de2b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028803
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
9c6fb52c
|
2021-07-13T14:10:41
|
|
Vulkan: SPIR-V Gen: Assignment between mismatching SPIR-V types
In general, GLSL qualifiers translate to SPIR-V decorations on SPIR-V
variables. In the case of blocks (struct or interface block),
OpMemberDecorate is used, which due to its specification in SPIR-V, can
only apply decorations to direct members of a block. This makes it
impossible for example to decorate a nested member of a block through
its variable id.
As such, some decorations such as RowMajor and Invariant apply to
members of a block given its _type_ id. Unfortunately SPIR-V requires
ArrayStride to also be applied to a type directly, rather than a member
of a block. This implies that some types, such as structs used in
uniform/buffer interface block, or decorated with invariant or
row_major, as well as arrays (of any type) used inside and outside
interface blocks to produce different SPIR-V types from the same GLSL
type. The SpirvTypeSpec data previously introduced specialize these
types.
It's necessary to "cast" between these types when needed. The
translator handles casts at load/store boundary:
- Upon load, the value is cast to the type with the default
SpirvTypeSpec.
- Upon store, the value is cast from the default to the store target
SpirvTypeSpec.
- All intermediate results use the default SpirvTypeSpec.
Bug: angleproject:4889
Change-Id: I6fa28e518ec6b517ff163f44b6892859eb4b10fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3026145
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5e579a18
|
2021-07-13T01:22:48
|
|
Vulkan: SPIR-V Gen: Support row-major blocks
The SPIR-V type generation is refactored to contain all
type-differentiating properties in a specific struct that is passed
around. The following can lead to different SPIR-V types generated from
the same GLSL type:
- Block storage for blocks
- Invariant for blocks
- Row-major for blocks with matrices
- Row-major for matrix arrays in blocks
- Bool when used inside an interface block (not yet implemented)
Previously, block storage and invariant were passed around. Instead,
with this change the aggregate of all the above is passed around. The
row-major specialization is added in this change.
This change also refactors the uniform/buffer block encoding to use the
existing encoders in blocklayout.h.
Bug: angleproject:4889
Change-Id: I3cfa8bd96bb380a1f1f05fbbd6b3eebd702c9e24
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3021670
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
992a2f70
|
2021-07-15T14:32:11
|
|
Skip DrawRepeatUnalignedVboChange on Mac ARM Metal
SimpleStateChangeTest.DrawRepeatUnalignedVboChange/ES2_Metal
flaky on Mac FYI arm64 Release (Apple DTK)
Bug: angleproject:6171
Change-Id: I9fa8b39e172c6422d9430ab3a0aa8ce9e7558b9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3032024
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
4b47e8f3
|
2021-07-14T13:29:29
|
|
GL-CTS: Add option to run on D3D11 refrast.
Bug: None
Change-Id: Ia28afed48b3fddcd9725094f4892a1aa27957fd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3027540
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f46df397
|
2021-07-14T19:41:03
|
|
Vulkan: Suppress VVL errors triggered by external formats
Since several tests are hitting these and it may be a VVL bug,
moving to ignore rather than skips.
Bug: angleproject:6155
Bug: angleproject:6168
Change-Id: I38a5be8d792b8b13a490be895a68349bffe69c6e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028809
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
669acb00
|
2021-06-08T13:36:38
|
|
Add YUV format utils and validation code
1. Add YuvFormatInfo struct and a few YUV format helpers
2. Update ES3 validation code to account for YUV formats
Bug: angleproject:5773
Change-Id: I82ababe8bf2a065e7d5c4f868e4a512ba8c9d7d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947766
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
223cd0ac
|
2021-06-15T18:46:07
|
|
Capture/Replay: Refactor shared context handling
This is the initial CL to enable capture/replay of multi-context
applications.
This CL refactors FrameCapture and FrameCaptureShared to move much of
the functionality into FrameCaptureShared, since most everything is
shared by Contexts in the share group. For example, the setup of the
majority of the GL objects is done in the new SetupReplayContextShared()
function in the new $LABEL_capture_context_shared_frame001.cpp file. The
setup is performed by (for example):
void SetupReplay()
{
$LABEL::InitReplay();
$LABEL::SetupReplayContextShared();
SetupReplayContext2();
}
This performs the shared setup first, followed by the context-specific
setup, which may reference shared objects careated by
LABEL::SetupReplayContextShared().
No re-capturing is required with this change, since the external APIs
(i.e., SetupReplay()) are still the same.
Bug: angleproject:5878
Test: Manual MEC and replay of Magic Tiles 3, Candy Crush Soda Saga, Temple Run 2
Change-Id: Iab7bfe651437e9be1dee83514cd97acc20c61d1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2965780
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
db54b8dd
|
2021-06-08T21:44:10
|
|
Add YUV format support to frontend
Add GL_G8_B8R8_2PLANE_420_UNORM_ANGLE and
GL_G8_B8_R8_2PLANE_420_UNORM_ANGLE formats to InternalFormatInfoMap
Bug: angleproject:5773
Change-Id: Iaad4043f803c2702a5d41d3b9dc3a00c5f6aed73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947765
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
97987658
|
2021-06-06T11:36:49
|
|
D3D: Update format table with new YUV formats
They are currently mapped to angle::FormatID::NONE
Bug: angleproject:5773
Change-Id: I0cba77158ef06bf39fbb30702e0fa91a37f660a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947764
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e66e3344
|
2021-07-12T13:28:54
|
|
Vulkan: Add GL_ANGLE_yuv_internal_format extension
1. Add a new extension to support creation of immutable textures with
sized internal YUV formats
2. Rename YUV format enums from *_ANGLEX to *_ANGLE
3. Move YUV format enums from angleutils.h to glext_angle.h
Bug: angleproject:5773
Change-Id: Ibfe732f4c9a4a536be56481f33e4768f6227c212
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2820153
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cd73949c
|
2021-07-14T14:25:06
|
|
Skip SourceAHBTarget2DExternalCycleThroughYuvTargetsNoData P4+VK
New validation layers are triggering failures.
Test: SourceAHBTarget2DExternalCycleThroughYuvTargetsNoData
Bug: angleproject:6168
Change-Id: I4070bd028a598e8d91a3b8f2172b42f3e782c932
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3028802
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
3dda3afa
|
2021-07-14T16:11:01
|
|
Vulkan: SPIR-V Gen: Add missing SampleRateShading capability
Bug: angleproject:4889
Bug: chromium:1229324
Change-Id: I8782ea4b0f9967c12b205a8c48d5f85bd94e950c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3027044
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
715a49c7
|
2021-07-03T08:48:07
|
|
Vulkan: Handle incompatible immutable sampler formats
If the immutable sampler format of an active texture is not
compatible with those supported by the pipeline layout, recreate
the pipeline layout.
Bug: b/155487768
Bug: angleproject:5033
Bug: angleproject:5773
Test: ImageTest.SourceAHBTarget2DExternalCycleThroughYuvTargetsNoData*Vulkan
Change-Id: Iea78e1738ea2fb133a24dc88f5b68daf4cc1bdfe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2997289
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
31b06f5f
|
2021-07-12T10:06:04
|
|
Vulkan: Account for immutable samplers that need multiple descriptors
It is valid for immutable samplers to need more than 1 descriptor count.
Account for this possiblity while calculating descriptor pool size.
Bug: b/155487768
Bug: angleproject:5033
Bug: angleproject:5773
Bug: angleproject:6141
Change-Id: Ifb0ed3e4b3c01c61d81dd0c628101f31d4c8bd05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3005329
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
cfc8db0b
|
2021-07-14T10:37:11
|
|
Skip SimpleStateChangeTest.RedefineFramebufferTexture on NV+WIN
Bug: chromium:1229184
Change-Id: I68339ddf1bd3ac2ae04c1191045bd27c321131fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3027264
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
45965e72
|
2021-06-17T10:21:26
|
|
Vulkan: Translate border color's channel by image view format
ANGLE implementes some formats as other formats,such as ALPHA8 to R8,
this caused some tests failed due to missing border color's channel
translation,this change add a new textureBorderLoadFunction to
translate channels of border color by image view format.
Bug: angleproject:6046
Change-Id: I94ce719b4db3724ffd3dc862b51a412b5d9f3cce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2972328
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
07c39616
|
2021-07-08T17:01:31
|
|
Vulkan: SPIR-V Gen: Enable GLSLTest*
This change includes an assortment of small fixes to enable most of
GLSLTest* end2end tests.
- User-defined std140 storage buffers were mistakenly turned to std430.
- External and WEBGL samplers were redundantly redeclaring the sampler2D
type.
- `invariant` specified on a field of struct type didn't apply it to
said struct's members.
- Arrays of struct as a member of an interface block didn't have their
size aligned, producing incorrect stride
- Interpolation and auxiliary qualifiers are now generated
- Arrays of opaque uniforms are now correctly passed to functions when
indexed.
- atan(x, y)'s built-in Op is fixed
- early_fragment_tests is now generated
Additionally, the SPIR-V transformer didn't handle the Invariant
decoration applied to gl_PerVertex built-ins, which is possible as a
result of:
#pragma STDGL invariant(all)
This bug existed in the transformer due to two bugs:
- ANGLE didn't generate this line when generating GLSL to feed to
glslang. This is fixed by this change.
- glslang itself ignores this line:
https://github.com/KhronosGroup/glslang/issues/2689
Bug: angleproject:4889
Change-Id: I15ad9fcc178abc1eae944e7a58f4e6153fa5dfd9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016762
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2534ee4c
|
2021-07-02T12:18:07
|
|
Limit the size of declared variables in WebGL shaders.
Add an implementation-specific limit for the sizes of variables
(specifically arrays, structs, and arrays of structs) in WebGL 1.0 and
2.0 shaders, and interface blocks in WebGL 2.0 shaders, no matter
whether they're input, output, or local variables.
It is legal in the OpenGL ES and OpenGL ES Shading Language
specifications to fail to compile shaders for implementation-specific
reasons.
Add WebGLCompatibilityTests covering the new limit.
Bug: chromium:1220237
Change-Id: I6c1d24a5d9a382ba4454c2dfbb856ab9468f5409
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3023033
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2a668d92
|
2021-07-13T16:49:16
|
|
Fix iOS Simulator build after direct-to-Metal upstreaming.
Bug: angleproject:5505
Change-Id: I4e690099502be2f2404a25d67356d452cf63451b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3025240
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
15581f35
|
2021-07-13T15:01:56
|
|
Fix the INVALID_ENUM error
This PR fixes the GL_INVALID_ENUM error caused by framebufferTexture2D
in copySubTextureCPUReadback with TEXTURE_EXTERNAL_OES as the texture
target.
TEST
conformance/textures/video/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html
conformance/textures/video/tex-2d-luminance-luminance-unsigned_byte.html
conformance/textures/video/tex-2d-alpha-alpha-unsigned_byte.html
conformance2/textures/video/tex-2d-srgb8-rgb-unsigned_byte.html
conformance2/textures/video/tex-2d-rgb9_e5-rgb-float.html
conformance2/textures/video/tex-2d-srgb8_alpha8-rgba-unsigned_byte.html
conformance2/textures/video/tex-2d-rgb9_e5-rgb-half_float.html
conformance2/textures/video/tex-2d-rgb16f-rgb-float.html
conformance2/textures/video/tex-2d-rgb16f-rgb-half_float.html
conformance2/textures/video/tex-2d-rgb32f-rgb-float.html
Bug: chromium:1208297
Change-Id: Ic62ba95ad6fd70f293a7261dc640a95dcabe7ba2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3023666
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
4d9dbf9c
|
2021-07-13T15:23:30
|
|
Use "frameworks" rather than "libs" for iOS dependencies.
The angle_test_expectations static library has added this dependency
but it fails to build on the ios-simulator bot. Try using "frameworks"
instead.
Bug: angleproject:5505
Change-Id: Ia08240a042f241c7eefe0de730b6942a60047054
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3025238
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
4efcd10c
|
2021-07-13T15:37:43
|
|
Skip SourceYUVAHBTargetExternalRGBSampleInitData on Pixel4
Two new Vulkan validation errors are being triggered.
Test: SourceYUVAHBTargetExternalRGBSampleInitData
Bug: angleproject:6168
Change-Id: I11c86bcb8e47f0dbf8032652aae3988279478ace
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3025486
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
7c4404da
|
2021-07-09T13:37:29
|
|
Vulkan: update D/S state in ContextVk::onFramebufferChange
ANGLE needs to ensure that the stencil test is correctly handled
when framebuffers are cleared before stencil attachments are
configured.
Adds two stencil tests for clearing fbo before stencil attached
which fail before this change and which replicate the behavior of
CtsNativeHardwareTestCases's StencilAffectsDrawAcrossContexts.
BUG=b/192315789
TEST=newly added tests on Cuttlefish
Change-Id: I58d97af97d3f78787051b069d2594041ccd2bfba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018486
Commit-Queue: Jason Macnak <natsu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b202d5cf
|
2021-07-13T13:34:19
|
|
Suppress BlitFramebufferTest.MultisampleDepth on Metal
This test is failing on Intel as well, expand the suppression.
Bug: chromium:1228433
Bug: angleproject:5505
Change-Id: I98e240897b996d5d8d9a5977ef777f928b25c9dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024591
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
634d156f
|
2021-07-08T12:42:21
|
|
TracePerfTests: Add ScreenShotFrame option
Allows the user to specify a frame to capture instead
of defaulting to the first one.
Usage: --screenshot-frame <frame>
Bug: angleproject:4615
Change-Id: I000ee17aa9b3019188816aa6203f3266b39155b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016356
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
428d7c4d
|
2021-07-12T15:23:45
|
|
GL: Widen scope of disable_sync_control_support workaround.
Crashes and hangs are still happening on Linux/Intel/Mesa 20. This
should already not expose the OML_sync_control extension, so widen
the scope of the workaround to see if there is an issue detecting
Mesa version.
Bug: chromium:1187475
Change-Id: I6397f459cd58dba449913ef1c7ce897e8a06cbd1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3022222
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
a8e98a23
|
2021-07-10T15:25:20
|
|
Fix gl::Context::unMakeCurrent crashes
The crash is because Display::makeCurrent() may fail, in that case,
egl_stubs.cpp will not update the current context in global_state and
Thread accordingly. And then Context::refCount could be reach 0,
and be released, however egl_stubs.cpp still thinks the context is
current, and then user-after-free happens.
This CL fixes the problem by updating current context of Thread in
Display::makeCurrent, and reading the current context of Thread in
egl_stubs.cpp and setting it to global_state.
Bug: chromium:1171371
Change-Id: Ifc5fffb0e4902c9c72514839d03e5783d50fe283
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3017210
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
36eb2f14
|
2021-07-12T15:21:33
|
|
Metal: Populate feature list in the Metal backend.
The metal-specific features were not being populated when features
were queried (eg. by Chrome's about::gpu page). Only the frontend
features were populated.
Bug: angleproject:6161
Change-Id: I65703dfb5cf561d734b3698da66a8838187b0ef4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3022221
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
9274911d
|
2021-07-12T10:41:16
|
|
Vulkan: Update cube map array support check.
Bug: angleproject:5143
Change-Id: I0b774096ae762ae088a27ef1b4d52bf446562736
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3021283
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d33a2222
|
2021-04-26T16:56:15
|
|
Upstream Apple's direct-to-Metal backend: compile libANGLE.
This change is meant to merge the metal backend changes from Apple's
direct-to-Metal backend. Taken from Kyle Piddington's CL:
https://chromium-review.googlesource.com/c/angle/angle/+/2857366/
The goal of this CL is to merge the metal backend code in a state
that compiles, but not to switch the Metal backend over to using
the direct-to-metal backend yet.
Bug: angleproject:5505
Bug: angleproject:6127
Change-Id: If6783e06e0086b3a1dd25c6f53caca5cfc96cb86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2950067
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
04cb5e1d
|
2021-07-10T11:39:49
|
|
Disable -Wimplicit-int-float-conversion for gles1_conform.
Bug: chromium:989932
Change-Id: I0038440470a6816bb0c4198af2224b7b85aa42b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018692
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c6784c9c
|
2021-07-09T16:48:55
|
|
Vulkan: SPIR-V Gen: Fix size of matrix in std140 layout
Matrices are treated like arrays, so the size of each column should also
be expanded to the size of vec4, similar to how it's done for arrays of
smaller-than-vec4 elements.
Bug: angleproject:4889
Change-Id: I1f4d8d0e06922c4bb9261fbbf0f4565dfdec55c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018641
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e2710f59
|
2021-07-06T17:29:08
|
|
Vulkan: SPIR-V Gen: Fix image atomic built-ins
The `imageAtomic*` built-ins additionally include coordinate and
sample parameters that need to be fed to OpImageTexelPointer before the
atomic operation can be generated.
This change passes all *image*atomic* GLES31 deqp tests as well as:
GLSLTest_ES31.ArraysOfArraysOfR32fImages/ES3_1_Vulkan_DirectSPIRVGen
Bug: angleproject:4889
Change-Id: I9ed729d09914cb01467d4de504de38c931a9196e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011419
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8d0eb08c
|
2021-07-05T23:22:24
|
|
Vulkan: SPIR-V Gen: Take advantage of OpConstantNull
As part of fixing GLSLTest*.MissingReturn* tests, refactoring is done
such that complex null values are declared concisely with
OpConstantNull. The tests are fixed by making the SPIR-V generator
implicitly add a `return <null-value-of-correct-type>;` if the return
statement is missing from GLSL.
Bug: angleproject:4889
Change-Id: Iffd80c5e6ce66afcdbf3813bffade6928f292007
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010578
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a34f668d
|
2021-07-09T10:55:48
|
|
Skip BlitWithDepthUserToDefault for Linux+Intel+OpenGL
The test BlitFramebufferANGLETest.BlitWithDepthUserToDefault/ES2_OpenGL
is failing on Linux+Intel. This CL skips the test to unblock the
vulkan-deps roll into Chromium.
Bug: angleproject:6154
Change-Id: I098622ca23b79027e6166d3308c3c41948eca285
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018109
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
aa727b78
|
2021-07-09T11:26:36
|
|
Skip ImageTests generating VUID-vkCmdDraw-None-02699
The latest VVL roll is generating VUID-vkCmdDraw-None-02699 on Pixel 4
devices. This CL will skip the failing tests to unblock the roll while
the VVL error is investigated.
Bug: angleproject:6155
Change-Id: Ie9e21f7df13baa8b9252a3273d1985513404bdfe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018114
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
3a6e22d5
|
2021-07-09T12:09:53
|
|
Trace Tests: Update retracing script.
Adds an option to skip retracing traces that already exist. That makes
the script much easier to use on folders that already have traces
partially retraced. It also catches exceptions when running the traces
so that ANGLE crashes and ASSERTions don't need you to restart the
retrace.
Bug: angleproject:5133
Change-Id: I059ca545145eadc1aa8c373a2fde762bbeb52b55
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018302
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8c07f3c1
|
2021-07-09T12:35:31
|
|
Enable cube map arrays on SwiftShader.
Bug: angleproject:5142
Change-Id: I51c58d20da155b90980f27425a99cff2555345fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018303
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e3e7447a
|
2021-07-08T22:22:19
|
|
Vulkan: Fix flipXY for 180 degree prerotation and spec consts
The multiplier used for flipXY in this configuration was incorrect.
Bug: angleproject:5348
Bug: angleproject:5349
Bug: angleproject:5350
Change-Id: I0b3771f6a9da6ab2af02ed5ee5fe7b49d0415410
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016768
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
913eb916
|
2021-06-28T12:51:12
|
|
Vulkan: (Mostly) re-unify secondary command buffer interfaces
SecondaryCommandBuffer and CommandBuffer in vk_wrapper had diverged in
API, which this change helps alleviate to some extent.
Bug: angleproject:6100
Change-Id: I0d59b24c659afbaf58865b3d85f275c545e3acce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987872
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
17a4b6e7
|
2021-07-07T11:00:48
|
|
Fix that clear-srgb-color-buffer is not correct
This change removes the limitation that syncClearState/
syncClearBufferState is only for STANDARD_GL_DESKTOP so that it works on
chromeos.
Test:
conformance2/rendering/clear-srgb-color-buffer.html
deqp/functional/gles3/fbocolorbuffer/clear.html
Bug: chromium:1208297
Change-Id: I7c5fed3545f623cca3f2245c67fddaf3401388b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010630
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
b73eee71
|
2021-07-07T18:51:35
|
|
Reland: [Vulkan] Add DisplayVkNull
Currently all DisplayVk implementations depend on VK_KHR_swapchain and
VK_KHR_surface extensions. When running Chromium on Fuchsia these
extensions are never used (content is shown on the screen using
ImagePipe API without dependency on swapchain). ANGLE still depended
on these extensions for DisplayVkFuchsia.
This CL adds DisplayVkNull, which allows to run ANGLE without dependency
on swapchain. It's usable only offscreen and cannot present content on
a surface.
Bug: chromium:1203879
Change-Id: I5cadcdf46ed1cfb5ebb3cb69dbfef063e9e2b826
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3012368
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
89f2a619
|
2021-07-08T21:45:11
|
|
Revert "GL: Use glClear for robust init on Android."
This reverts commit 37c5d36fef783406c30a8ed8b8b4455f35374834.
Reason for revert: crashes on Pixel 4, see
https://chromium-review.googlesource.com/c/chromium/src/+/3016164
Original change's description:
> GL: Use glClear for robust init on Android.
>
> The allowClearForRobustResourceInit was used to work around driver
> bugs on other Windows and Linux and has a lot of CPU overhead.
>
> Re-enable it on Android (except some older Adreno).
>
> Bug: chromium:983167
> Change-Id: Ibfb4eb4fcdc7310fb6181c57f5c8d7a645ffad9d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011420
> Reviewed-by: Peng Huang <penghuang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bug: chromium:983167
Change-Id: I74e9a61484de77fd66e8dde8d50665fdbb470a95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016763
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
81ed8d40
|
2021-07-02T00:54:25
|
|
Vulkan: SPIR-V Gen: Support barrier* built-ins
This change enables the ComputeShaderTest suite and additionally
includes the following fixes:
- OpArrayLength was given the array type instead of variable.
- Struct arrays inside interface blocks were not decorated with
ArrayStride.
Bug: angleproject:4889
Change-Id: Ibae95371bcea10e58c86b8fe1d1e172a18d56a09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3001908
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dc2d76cd
|
2021-07-08T10:04:15
|
|
Trace Tests: Clean up mock ICD skip condition.
Bug: angleproject:6090
Change-Id: I943eb35da56a24c5a2c9961eb458b9b6e27ea83a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015515
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
62398e82
|
2021-07-08T14:06:04
|
|
Capture/Replay: Fix missing rpath on Linux.
This was causing the test script to fail to find angleutil.
Bug: angleproject:5133
Change-Id: I621da4e71c0b61161694d95263b7dad643a728ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015516
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
afdf378f
|
2021-07-01T21:55:58
|
|
Vulkan: SPIR-V Gen: Support == and != on complex types
In GLSL, == and != produce a bool. In SPIR-V, there are only
component-wise comparison operations. For ==, OpAll should be used to
reduce it to a single bool, and for !=, OpAny. For matrices, the
comparison is done column by column with a similar reduction for each
column, and one for the final result. For structs and arrays, the
comparison is similarly done field by field or element by element
respectively.
Bug: angleproject:4889
Change-Id: I8157c1931b7d1dedd74a3825967f5e212d346900
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3001905
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c9dcc553
|
2021-06-22T18:55:39
|
|
Move Objectlabel from Texture object to TextureState object.
Created a subscriber function onLabelUpdated in the storage base
class. The derived storage class will pass the label reference to
the base storage class in the constructor. Future changes will use
this label reference to update the label string with D3D.
Bug: chromium:1164111
Change-Id: Ic5ca73bac61427afe392bb5bcc6a6eab8e785941
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2981451
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
cb87d78c
|
2021-07-08T08:28:04
|
|
Enable -Wshadow with Clang.
Also fixes a few instances of variable shadowing in the code.
Bug: angleproject:6148
Change-Id: Ic51d722a3f953f246f51af6d74abb302f832cf44
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3014875
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
54ade715
|
2021-06-29T11:40:37
|
|
Enable passing tests out of BlitFramebufferANGLETest.*/*
Bug: None
Change-Id: I680f22bdc18af84547dcc51491923b0662e2b389
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987993
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0e1ed36c
|
2021-07-02T12:32:03
|
|
Trace Tests: Improve state serialization.
This encapsulates several colliding states into grouped scopes.
It also improves serialization of several of the resources by
including the resource ID in the serialization key. Also other
minor improvements.
This change should improve detection of state mis-management.
Bug: angleproject:5133
Change-Id: I6ee5c02bb3ba70e91a595db2408076b15e4a9e67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3003384
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
68d4e392
|
2021-07-02T14:18:54
|
|
Trace Tests: Add option for ASAN builds.
ASAN builds can detect OOB memory accesses. This is very useful for
diagnosing some kinds of flaky OOB crashes.
Removes a test that was calling BufferSubData with a null data
argument. This behaviour is undefined and we shouldn't be testing it.
Also includes some minor refactorings and script changes.
Bug: angleproject:5133
Change-Id: I5a7d9a5500c50a51f6369e944a5f0a533709f00d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3002510
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2c22e080
|
2021-06-28T10:43:47
|
|
Capture/Replay: Enable SRGBFramebufferTest.Validation/*
The test passes now.
Bug: None
Change-Id: I789f8fac225c42414bc8cc342138e1fd70a7f745
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988684
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5fb5f63b
|
2021-06-29T09:56:43
|
|
Capture: Write captured context for empty frames
When a frame is empty, still write the captured context for that
frame because the index file will contain the frame file, and the
replay will execute the according swapbuffer so that the replay will
query the context serialization when testing trace correctness.
With that enable RobustResourceInitTest.SurfaceInitializedAfterSwap/*
for capture/replay.
Bug: angleproject:5939
Change-Id: Ib280d55f739cc2bb8d2da0919e98c37a2cd576ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987991
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4964513a
|
2021-06-28T20:07:46
|
|
ANGLETest: When on WebGL compatibility then use index buffers
WebGL actually requires the use of index buffers, otherwise the
call is invalid, therefore explicitely request index buffers in
the according VertexAttributeOORTest tests.
In addition, assert on the indices when the glDrawElements call is
captured.
With that we can enable VertexAttributeOORTest.*
Bug: angleproject:6125
Change-Id: Id3855c78d4c5fcab5599f19dd74ce745d059fb1c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2999523
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2c8391b1
|
2021-06-28T17:53:10
|
|
Capture/Replay: Enable passing tests, disable flaky
Tests now passing:
UnpackAlignmentTest.*
UnpackRowLengthTest.*
VertexAttributeCachingTest.*
ViewportTest.*
These tests start to fail when run in the new batch layout
triggered by the new passing tests:
WebGLCompatibilityTest.
DrawElementsBufferOutOfBoundsInIndexBuffer/
DrawElementsBufferOutOfBoundsInVertexBuffer/
ES2_Vulkan_SwiftShader
Bug: None
Change-Id: I4902f2eca864ca8b371d915c89487943af54bc89
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987989
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
68d9f433
|
2021-06-28T15:39:04
|
|
Capture/Replay: capture param of glGetQueryiv
Enable TimerQueriesTest.* with that.
Add flaky test
WebGLCompatibilityTest.
DrawElementsBufferOutOfBoundsInVertexBuffer/
ES2_Vulkan_SwiftShader
that start to fail because the batches have changed.
Bug: angleproject:6114
Bug: angleproject:6136
Change-Id: I91617255a8e3e8783c8e70c17dedd32be421fd66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993092
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4b464dd4
|
2021-06-28T14:50:22
|
|
tests: Skip WebGL/EnableProgramBinaryExtension with no formats
If the extensions is exposed, but the backend doesn't support binary
formats, then the part of the tests loading and storing a binary shader
are skipped. With that also Capture/Replay of the test is fixed.
Bug: angleproject:6112
Change-Id: Iaa25860a9be69207e4dbd6213cf77e75fd87a766
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993090
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b3e920e2
|
2021-06-28T14:32:13
|
|
Capture/Replay: don't capture DrawElements with count zero
Usually Context::noopDraw would reject calls that doen't draw,
but FrameCapture::maybeCaptureDrawElementsClientData seems to be
called before Context::noopDraw, and since in ComputeTypedIndexRange
we would obtain the illegal range [0,0) (which is actually prohibited
by an ssertion "count > 0"), we have to exit early.
With that the test can be enabled.
Bug: angleproject:6111
Change-Id: I4c242712bd90602f84ad6072b02c3a13a26840f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993089
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
5d314b59
|
2021-06-01T03:03:22
|
|
Fix undefined behavior associated with Runescape Mobile
Bug: b/184287970
Change-Id: I5d3baf5e7a8a20c30e1b787b69597110226521d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2929352
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
37c5d36f
|
2021-07-07T13:15:13
|
|
GL: Use glClear for robust init on Android.
The allowClearForRobustResourceInit was used to work around driver
bugs on other Windows and Linux and has a lot of CPU overhead.
Re-enable it on Android (except some older Adreno).
Bug: chromium:983167
Change-Id: Ibfb4eb4fcdc7310fb6181c57f5c8d7a645ffad9d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011420
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
396518e0
|
2021-07-07T15:34:43
|
|
Skip SamplerMetadataUpdateOnSetProgram on Mac Metal
Blocking vulkan-deps roll.
Bug: chromium:1227129
Change-Id: Iaa7f4d18e80b8353dc0be001e1d2e229196f3186
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010469
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9f256d10
|
2021-07-07T02:14:13
|
|
D3D11: Fix incorrect bounds checking in Blit11
This could lead to blitting depthStencil buffer incorrectly.
Bug: angleproject:6140
Change-Id: I2c5786c0375f8e2fefe862da68929340844ce9ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3009736
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
daa19c0a
|
2021-07-06T16:19:57
|
|
Fix alpha setting of WebGL contexts with SwANGLE on MacOS
The emulation of the "alpha: false" setting was done with an
RGBA format under the hood, which caused some unexpected
results, which included non constant alpha values. Replacing
GL_BGRA8_EXT with GL_BGRX8_ANGLEX solves this issue.
This was discovered while debugging the following test:
conformance/context/context-no-alpha-fbo-with-alpha.html
but it may fix many other tests (I will update the
expectations file after this fix rolls into Chromium)
Bug: chromium:1099960
Change-Id: Ib7b2d352a8e920983d3398de28a8c1dde3b97130
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010579
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
|
|
51937ab3
|
2021-06-25T09:10:42
|
|
Re-land "Add SearchType to OpenSharedLibraryWithExtension."
This fixes a bug in SystemInfo_vulkan where we were using the
System search path for the Vulkan loader when we prefer using the
custom ANGLE loader.
Re-land fixes a bug where we would try to load the custom
libVulkan on Android and other platforms where we should be using
the system version.
Bug: chromium:1219969
Change-Id: I34b592fb87cbddfd02c837a17942cac54c85d9d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007265
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cfaaf2ab
|
2021-06-30T17:23:55
|
|
Vulkan: SPIR-V Gen: Fixes to std430 block definition
Bug: angleproject:4889
Change-Id: I18feff0916f348c8514cc97ba438d42fc00d0cba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2999023
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3b0fcf6a
|
2021-06-30T15:14:48
|
|
Vulkan: SPIR-V Gen: Support type casts in constructors
GLSL basic, vector and matrix constructors can convert between types.
This was already done for constants used in constructors. This change
implements the cast for non-constant expressions.
Bug: angleproject:4889
Change-Id: I0a8c1a6e97ffced0d1652032a41fb87c70be16ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2999022
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f8d5d5ed
|
2021-07-05T21:11:23
|
|
Revert "Add SearchType to OpenSharedLibraryWithExtension."
This reverts commit 18e99f4a2b37468b103da4a56c5b0fff25458062.
Reason for revert: breaks Mac, e.g.
https://ci.chromium.org/ui/p/chromium/builders/ci/mac-arm64-rel-tests/2197/overview
Original change's description:
> Add SearchType to OpenSharedLibraryWithExtension.
>
> This fixes a bug in SystemInfo_vulkan where we were using the
> System search path for the Vulkan loader when we prefer using the
> custom ANGLE loader.
>
> Bug: chromium:1219969
> Change-Id: Iedf0fd11fe9ed8cc020b445ea9e12a7936937361
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988791
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: chromium:1219969, chromium:1225040, chromium:1226675
Change-Id: I7a7e329181b69b0fb546e5245d8842723077126f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3006320
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
0beafe86
|
2021-07-05T16:12:10
|
|
Ignore VUID-VkSpecializationMapEntry-constantID-00776
New check added in
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/2903
Blocks VVL rolls.
Bug: chromium:1226682
Change-Id: Iaf12187c33a0c3736acae6e772277dbe6aa4c402
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007137
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
0461d8d4
|
2021-06-23T23:20:33
|
|
Vulkan: SPIR-V Gen: texture and image built-ins
GLSL contains a large number of built-in texture* and image* functions,
but these map to only a handful of SPIR-V instructions. The bulk of the
work to map these is to extract the arguments from the built-ins based
on their ordinal position.
Bug: angleproject:4889
Change-Id: I760d986bd9171ddde35f9f046c549ca53252df17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2992980
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d665593b
|
2021-07-05T15:02:11
|
|
Update TextureState::getEnabledLevelCount.
Instead of simply returning a count of all non-empty texture
desc levels, we iterate the levels from the base level and return
the count of levels that make a consistent mip chain. This will
fix edge cases where Textures are defined sequentially with
inconsistent mip levels, but valid rendering states.
Bug: angleproject:4780
Change-Id: Id3ebf2d7ad706070896cb5cdf2a311dba2c88949
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007135
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
955b4620
|
2021-07-01T22:55:59
|
|
Fix angle_commit.h dependency when git packs refs
If there are too many files in .git/refs/heads/, git packs them in
.git/packed-refs. This breaks the build as gen/angle/angle_commit.h
depends on .git/refs/heads/<branch-name>.
With this change, when gn is run and the dependency to this file is set
up, it's unpacked from .git/packed-refs if it's missing from
.git/refs/heads/.
One corner case not solved by this change is if a commit is amended with
no changes and git packs the refs (and so the
.git/refs/heads/<branch-name> file goes away), ninja doesn't rerun gn as
it doesn't believe there to be any changes, yet fails the build as the
dependency is now missing. Running `gn gen` manually fixes the issue.
The issue is automatically fixed when switching branches.
Bug: angleproject:6131
Change-Id: Ie2404e874a5cb3374a652b93faa143acb68eaa19
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3001906
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
1bffabe8
|
2021-06-29T18:13:39
|
|
Fix -Wunreachable-code-aggressive.
Bug: chromium:1066980
Change-Id: I1fa08a40dbf223d60a10681af33ca8a29b12bf8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2991094
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
16c993c3
|
2021-06-24T12:03:03
|
|
Capture/Replay: Only capture initialized renderbuffer content
Enable the DepthStencilTest.* that was failing before.
Bug: angleproject:6094
Change-Id: I8c69de4927c0e70143cd632e97f0abdb740a013f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982550
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
dba2e136
|
2021-05-13T20:33:46
|
|
Capture/Replay: Emit InitializeReplay() late
Only emit InitializeReplay() after all captured frames have been run,
so that the readBufferSize and the maxClientArraySize are really
sufficiently large for all frames.
To achieve this a layer of indirection is added, that is because
InitializeReplay() has to be called from SetupFrame() which is still
emitted with the first frame, a new function InitReplay() is added.
The call to this function is emitted with the first frame, buts its
body is emitted after the last frame has been captured.
Bug: angleproject:5965
Change-Id: Ic38791b4c02989594ec87d1ba3f031fd81471314
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2940841
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
d6202fce
|
2021-06-28T16:53:45
|
|
Vulkan: Disable GL_KHR_texture_compression_astc_sliced_3d
3D ASTC formats are not supported in Vulkan, sliced or not. The
non-sliced extension is already disabled, and this change disables the
sliced version.
Bug: angleproject:6038
Change-Id: I055838345ccb8ad77fe4c05e65dd8b10a8a4d36b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993459
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a8959a9b
|
2021-06-29T21:23:21
|
|
Tests: Add Toon Blast trace
Test: angle_project --gtest_filter="*toon_blast*"
Tbr: jmadill@google.com, timvp@google.com
Bug: b/192408760
Bug: angleproject:6121
Change-Id: Id301c48921a24164d4dccd7d53c1a4e51a0795ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993753
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
dc59772e
|
2021-06-22T22:37:26
|
|
Vulkan: SPIR-V Gen: Support switch
With the infrastructure to support this in place, switch is simply
implemented as a conditional with multiple blocks. Each block either
ends with a branch to the merge block or the next block, implementing
fallthrough.
Bug: angleproject:4889
Change-Id: I5831531d918ac06648cced7707d1d48ffeb6b1b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2983559
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a8c9cecf
|
2021-06-12T00:12:34
|
|
Vulkan: SPIR-V Gen: Support break and continue
This is simply done by issuing a branch to the merge or continue blocks
respectively.
Bug: angleproject:4889
Change-Id: I3e96a3b0f1a0533aa4eac519ab64a87600c0983b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957810
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e45682b4
|
2021-06-29T17:55:36
|
|
Tests: Add Township trace
Test: angle_perftests --gtest_filter="*township*"
Tbr: jmadill@google.com, timvp@google.com
Bug: b/192402770
Bug: angleproject:6120
Change-Id: I3ef0bb6e896a081c17a07f18037805be5494af2e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993882
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
1c39335a
|
2021-06-29T16:40:43
|
|
Tests: Add Farm Heroes Saga trace
Test: angle_perftests --gtest_filter="*farm_heroes_saga*"
Tbr: jmadill@google.com, timvp@google.com
Bug: b/192395241
Bug: angleproject:6119
Change-Id: Iebec311e37e5f84ad85e5a77aa36b3cffb55d2e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2995383
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
69c2d820
|
2021-06-29T11:58:41
|
|
Perf Tests: Register trace tests programatically.
Using testing::RegisterTests lets us filter out the disabled configs.
This helps sharding the tests because some shards were getting a very
uneven distribution of real tests vs skipped tests. A couple shards
were running 20 minutes, while most were about 6 minutes. More work
might be needed to even that out.
Bug: angleproject:6090
Change-Id: Ibdf35677cfea86dfc374a2b18bb57cd9f289ddee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2994726
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
dcfde515
|
2021-06-24T15:59:04
|
|
gl.xml: Add GL_FRAMEBUFFER_SRGB_EXT to EnableCap group.
Add GL_EXT_sRGB_write_control in registry_xml.py.
This makes FrameCapture write a GL_FRAMEBUFFER_SRGB_EXT
enum instead of it's hex value in glEnable/Disable calls.
Bug: angleproject:5857
Change-Id: Ifa01118c2958275c7623c6bfe29f015fa8875fce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988356
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
d2816b4e
|
2021-06-25T14:52:02
|
|
Fix a -Wdeprecated-copy warning.
Bug: chromium:1221591
Change-Id: Idbbb4aa16e58a9f4e7e25590667cf15706233de4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2989632
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c14e6b5f
|
2021-06-28T15:22:44
|
|
Capture/Replay: enable some more passing tests
Test:
PixmapTest.Clearing/*
StateChangeRenderTest.GenerateMipmap/
SyncQueriesTest.Basic/ES2_Vulkan
SyncQueriesTest.Validation/ES2_Vulkan
TextureLimitsTest.MaxCombinedTextures/
Bug: None
Change-Id: I3d3f36551b42ae24332d441c49f8a66f4df7d9a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993091
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
130d1987
|
2021-06-28T14:24:15
|
|
Capture/Replay: enable passing WebGLCompatibilityTest tests
Bug: None
Change-Id: I9b894e49766c8b840fc58470bd42f466bc138796
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988688
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|