|
0be285c6
|
2021-07-20T11:36:22
|
|
Vulkan: Flush read RT if color attachment is the read buffer
Prior to this change, the following sequence:
* eglMakeCurrent(..., draw=surface1, read=surface1, ...);
* glClear(...);
* eglMakeCurrent(..., draw=surface2, read=surface1, ...);
* glBlitFramebuffer(...);
* eglMakeCurrent(..., draw=surface1, read=surface1, ...);
* glReadPixels(...);
would end up with the `vkCmdClearColorImage()` on surface1
occuring after the `vkCmdBlitImage()`.
This CL updates flushColorAttachmentUpdates() to flush any staged
updates to both the read and draw attachments, since they can be
different if different read and draw surfaces are bound.
Adds a test which is a small repro of
android.opengl.cts.FramebufferTest#testBlitFramebuffer failure.
Bug: b/192327017
Test: EGLSurfaceTest.BlitBetweenSurfaces/*
Change-Id: Iabad26dfcd8633e9dcfcee2fb16ba352bc3931d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3078980
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4aedb71f
|
2021-08-11T17:00:41
|
|
Capture/Replay: Force count and length in CaptureShaderSource
The problem ist that there is a mix on how the captured shader
source is written out, in some cases one string is written, e.g.
with the test ZeroShaderLength, and in others case an array if
strings is written, a with MixedShaderLengths.
Be constistent about it and capture the shader source always as
one string and handle it like this, and override the count to be 1
to reflect this and set the length to {-1} to use the new
accumulated shader strings automatically.
Bug: angleproject:6268
Change-Id: Ide927db1a6e4facdbab4d35c023b9bce4b6c30d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3087448
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
d20afde4
|
2021-08-05T23:06:44
|
|
Vulkan: Retain precision of uniform variables
When gathering in a uniform block, the precision of default uniforms was
dropped.
Bug: angleproject:4889
Bug: angleproject:6132
Change-Id: Ie6a8e2e7cef7cd3808cee08d20f886fc4e762cd5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076124
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1fb846cb
|
2021-08-03T01:57:49
|
|
Validate texStorage dimensions with compressed formats
Bug: angleproject:6230
Change-Id: I501ec1e6974bdc7e6731dcb88045edb0aa22b888
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067329
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d8cb9967
|
2021-08-04T18:15:51
|
|
In WebGL, constrain base level of compressed textures.
Enforce that if a mipmap level > 0 is specified for a compressed
texture, that it implies that the size of the base level of the
texture is a multiple of the format's block size.
Makes the test changes in
https://github.com/KhronosGroup/WebGL/pull/3304 largely pass. There
are some needed follow-on fixes to that PR, and this CL changes a
sub-test result in the existing S3TC and S3TC-sRGB tests which will
need to be suppressed Chromium-side first.
Bug: angleproject:6245
Change-Id: I7723d7882091b78a353d8d273e80b819dd384021
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3072568
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
728baa50
|
2021-08-13T18:47:50
|
|
Revert "Skip UpdateRenderTargetCacheOnDestroyTexStorage on Metal"
This reverts commit bf4eb2636ebae19cfa8d3edb9828bdb464360df5.
Reason for revert: branch created before
angle_end2end_tests_expectations.txt existed,
need to use the old-fashioned suppression method.
Original change's description:
> Skip UpdateRenderTargetCacheOnDestroyTexStorage on Metal
>
> Fails in M92 branch, e.g.
> https://ci.chromium.org/ui/p/chromium-m92/builders/try/mac_optional_gpu_tests_rel/67/overview
>
> Bug: chromium:1234829
> Change-Id: I74b9694a16fccc4ba358db5dc1168cf9e21ecab0
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3094707
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bug: chromium:1234829
Change-Id: Ifd01947e0ae79619cec3290e4afe1489933a650e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3093248
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
bf4eb263
|
2021-08-13T14:09:14
|
|
Skip UpdateRenderTargetCacheOnDestroyTexStorage on Metal
Fails in M92 branch, e.g.
https://ci.chromium.org/ui/p/chromium-m92/builders/try/mac_optional_gpu_tests_rel/67/overview
Bug: chromium:1234829
Change-Id: I74b9694a16fccc4ba358db5dc1168cf9e21ecab0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3094707
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
26cf48c1
|
2021-08-13T11:27:36
|
|
Roll VK-GL-CTS from bf3d63599bad to 7103920041db (7 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/bf3d63599bad..7103920041db
2021-08-13 alexander.galazin@arm.com Merge pull request #276 from Ella-0/master
2021-08-12 ilkka.saarelainen@siru.fi Add missing items to android cts mustpass list
2021-08-12 soroush.kashani@imgtec.com Fix bug in compressed PixelStorageModes tests
2021-08-12 david.emett@broadcom.com Work around bogus GCC 9 warnings
2021-08-12 antto.makinen@siru.fi Fix a GraphicsFuzz coverage test
2021-08-06 ari.suonpaa@siru.fi Added layered AHB EGL tests
2021-08-06 rgarcia@igalia.com Improve buffer to buffer copy tests
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC ynovikov@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Manually suppressing some newly added tests in
dEQP-EGL.functional.image.*android_native*
Bug: angleproject:6277
Tbr: ynovikov@google.com,angle-bots+autoroll-info@google.com
Change-Id: I8c942b49e5e8216695d449b8d1ef38d0f1198d0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3093790
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
fa74421d
|
2021-08-06T18:30:57
|
|
Capture/Replay: Add LoadEGL()
Add LoadEGL() to gen_restricted_traces.py. This is a pre-requisite to
frame capture being able to generate EGL calls, which is required for
multi-context support.
Bug: angleproject:5878
Change-Id: I210035aecad42173626834588bae51019deaa076
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3078994
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ff64d2c7
|
2021-08-06T21:24:09
|
|
Choose direct-to-Metal translator through a feature.
Define directMetalGeneration in FeaturesMtl.h. If
ANGLE_ENABLE_METAL_SPIRV is defined to 1 (still the default),
directMetalGeneration defaults to false. It can be overridden via the
standard ANGLE mechanism:
ANGLE_FEATURE_OVERRIDES_ENABLED=directMetalGeneration
It can also be overridden by instantiating angle_end2end_tests with
the directives:
WithDirectMetalGeneration(ES2_METAL())
WithDirectMetalGeneration(ES3_METAL())
These directives aren't working properly yet though. The
direct-to-Metal compiler is instantiated, but the _DirectMetalGen
versions of the tests fail. They pass when switching the Metal
backend's default behavior using the above environment variable. This
will be debugged in follow-on CLs.
Thanks to syoussefi@ for the prototype of this CL:
https://chromium-review.googlesource.com/3076129
Bug: angleproject:5505
Change-Id: I188ab89abc75bf89c5ed2d90102af311feaa1960
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3079083
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
331be08f
|
2021-08-11T11:28:29
|
|
Tests: Add Sonic The Hedgehog trace.
Test: angle_perftests --gtest_filter="*sonic_the_hedgehog*"
Bug: angleproject:6181
Change-Id: I40a5affe804a747445ef620c4f78e842c1eed1ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3087444
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
d3031c65
|
2021-08-11T12:30:01
|
|
Capture/Replay: Update expectations with bug IDs
In addition, update two tests that are just failing and no longer
crashing.
Bug: angleproject:6166
Change-Id: I9f19bf411c79c39f4f1f3156a9f8682609d6b3d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3087445
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
392ba63f
|
2021-08-10T19:20:47
|
|
Suppress 2 dEQP GLES3 tests on Win SwANGLE
functional.shaders.operator.unary_operator.minus.lowp_uvec3_vertex
functional.shaders.operator.unary_operator.minus.mediump_uvec3_vertex
Fails on x86 when llvmorg-13-init-15561-gf98ed74f Clang rolled.
Unfortunately, expectation file doesn't support architecture,
so suppressing on both x86 and x64 Windows, keeping the test running on
x64 Linux.
Bug: angleproject:6265
Change-Id: I15f8955eaf38c95d0d3036378d97afdb1871d44e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3088016
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
6136620b
|
2021-03-25T15:43:06
|
|
Reland "EGL: GLES: Implement GL_EXT_protected_textures"
This is a reland of 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa
This removes changes in gl backend.
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: Id36d697c53afc0f0dadf92bda4565f9157f4fc2a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076825
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0bd5cac2
|
2021-08-06T17:56:58
|
|
Allow BufferSubData with persistently mapped buffers
Per the GL_EXT_buffer_storage extension:
What commands are affected by the relaxed errors for persistently
mapped buffers?
RESOLVED: In GL 4.5 the following commands have the relaxed
language BufferSubData, ClearBufferSubData, CopyBufferSubData,
GetBufferSubData and InvalidateBufferSubData. Of these commands
the only ones that apply to ES 3.1 are BufferSubData and
CopyBufferSubData. However, if additional extensions add any of
the other commands and EXT_buffer_storage is supported, they
would have the same behavior in ES.
Therefore we need to allow BufferSubData and CopyBufferSubData on
persistently mapped buffers.
Current we fail these scenarios in validation. This was detected when
running Fortnite on Android using the game's GLES backend.
Also added two tests:
- StorageCopyBufferSubDataMapped to recreate the exact Fortnite
scenario using glCopyBufferSubData.
- StorageBufferSubDataMapped is a contrived case to cover
glBufferSubData
Test: BufferStorageTestES3.StorageCopyBufferSubDataMapped/*
Test: BufferStorageTestES3.StorageBufferSubDataMapped/*
Bug: b/180418810
Bug: angleproject:5658
Change-Id: Ib678e84f367934656ec10f0f4ad0d35ac687f0b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3078316
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
d25c9d7f
|
2021-07-07T12:15:12
|
|
Add perf tests runner script.
This script will be responsible for running the perf tests
multiple times to try and stabilize measurements. We'll use it on
the bots instead of just running the perf tests directly.
Because the script invokes the binary multiple times, this slows
down execution. Most significantly on Android, where we now need
to use 20 shards, up from 6.
Also marks one test as flaky on OpenGL.
Bug: angleproject:6090
Change-Id: I5280035cb0bdb290a68dc6961a384eaf4b40dd4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011422
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
06b19ed8
|
2021-08-06T17:02:36
|
|
Framecapture: Update file naming
Update the file naming to add "shared" and remove the unnecessary frame
numbering:
angle.angledata.gz
angle_capture_context1.cpp
angle_capture_context1.h
angle_capture_context1_files.txt
angle_capture_context1_frame001.cpp
angle_capture_shared.cpp
angle_capture_shared.h
Bug: angleproject:6256
Change-Id: I6454a3dc412896557f29faee1269dfa55146d43b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3078908
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
4686da27
|
2021-08-06T18:13:14
|
|
Add GetImage test with RGB.
This test covers a case in T-Rex with an unused RGB texture that
was tripping up serialization. It isn't currently possible to make
the test fail but it does cover some new code paths.
Bug: angleproject:5133
Change-Id: I87c066779f270752bed3c1c1882951c71f16d378
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076133
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
6c415487
|
2021-07-26T13:08:46
|
|
Capture/Replay: Add option to override test disabling
In order to be able to easily run disabled tests, add a flag
--force-run-capture
that makes it possible to ignore the SKIP_FOR_CAPTURE designation.
Bug: angleproject:6166
Change-Id: I195248045d5c928d965f16b5ae17681d78686374
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3053363
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
af35fd22
|
2021-07-12T14:58:01
|
|
Capture/Replay: rework test runner to use expectations
This CL changes the test runner to use a expectation
file for all the tests including failing tests.
The expectation file is also used to disable running certain
tests. e.g. because they are known to crash or result in
compilation failures, which then take down all the test
in the corresponding batch.
The capture_replay_tests.py script will report failure if the
test result doesn't meet the expectation. In order to keep
the current behaviour to run subsets of tests in tact, the
test filter is also applied to the expectation.
In addition to the "normal" expectations, FLAKY was added to
tag tests that can be captured and compiled correctly but have
unstable results.
This CL also adds the expectation for ES2_Vulkan_SwiftShader
and ES2_Vulkan
Bug: angleproject:6166
Change-Id: Ica05303e6ae3b7c6d2b6749c2c9c6593b659cc1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3024209
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
e70a1444
|
2021-08-05T12:49:21
|
|
Vulkan: Fix draw FBO1 followed by resolve FBO2
When syncing the framebuffer for blit/resolve, the render pass was not
closed. This would be done later when necessary, except that
onFramebufferChange called from FramebufferVk::syncState attempted to
adjust the render area of the render pass (as it considered it open). If
FBO2 is larger than FBO1, this would cause the render area of the
previous render pass to become larger than the framebuffer size.
This change makes sure that onFramebufferChange considers the render
pass closed no matter what.
Test is based on patch from steven@valvesoftware.com
Bug: angleproject:6244
Change-Id: Iaec04232cfd2af04ba2564fd2de1dd5f08a40df6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076620
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c664601d
|
2021-04-26T17:08:06
|
|
Allow drawing if a fragment shader isn't present
According to the OpenGL ES 3.1 spec:
7.3 PROGRAM OBJECTS
If there is no active program for the vertex or fragment shader
stages, the results of vertex and fragment shader execution will
respectively be undefined.
If there isn't an active program for only one of these shader
stages, the results of the other shader stage are still defined.
To handle this, we no longer no-op the draw call if one of these
is missing. We only no-op the draw if there's no vs.
This allows for transform feedback to be captured when there's only
a geometry and vertex shader.
Tests: KHR-GLES32.core.geometry_shader.api.program_pipeline_vs_gs_capture
Tests: KHR-GLES32.core.separable_programs_tf.geometry_active
Tests: ProgramPipelineTest31.PipelineWithoutVertexShader*
Tests: ProgramPipelineTest31.PipelineWithoutShaders*
Bug: angleproject:5579
Change-Id: If9849cc398c307232435b167ab12431fa4258201
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2906723
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
934ffac6
|
2021-08-05T15:43:32
|
|
Vulkan: Propagate BufferData changes to shader storage buffer binding
This CL adds context to the observer list of shader storage buffer. When
BufferData is called on the current bound shader storage buffer, context
gets notified and DIRTY_BIT_SHADER_STORAGE_BUFFER_BINDING gets set.
Bug: b/195678877
Change-Id: Id8a5266942e33f0a834d7c57fdde75f57e93d347
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076177
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
63248e7f
|
2021-08-05T23:49:23
|
|
Translator: Fix dead-code-elimination corner case
The DCE code had a corner case bug where a switch case containing
multiple DCE'ed `break`s followed by another case would cause some of
the DCE'ed statements in the first case to be doubly pruned, failing on
an assertion.
This was due to the fact that visitBlock() was asking traversal to
continue if a new case was visited while pruning nodes, but the
traversal does not take into account that some statements need to be
skipped and so would also visit the pruned statements. If the pruned
statements contain a branch instruction, they get re-pruned.
The visitBlock() function that does the pruning is reworked so that it
more clearly traverses the statements.
Bug: chromium:1237200
Change-Id: Ib078c2ea73ade756c7d7ef5a5c489fa53c39f352
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3077659
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0cd99779
|
2021-08-05T10:35:10
|
|
Translator: Propagate precision to children nodes
Similarly to glslang, when the precision of a node is determined,
propagate that precision to any of its children that doesn't already
have a precision. Ultimately these should only include
TIntermConstantUnion nodes.
Bug: angleproject:4889
Bug: angleproject:6132
Change-Id: I121231d04c7cf92fc3f07716019ffe88eca48b88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3075126
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
16a61bbb
|
2021-08-05T23:06:22
|
|
D3D: Fix not notifying RenderTarget release in TextureD3D
This could lead to use-after-free for the RenderTarget object.
Bug: chromium:1234829
Change-Id: I73d4547b8f09f2f2cf3f7f8394f7f573fe5a4ef5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3063858
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c5fa9a44
|
2021-08-05T15:27:47
|
|
Vulkan: Add test for BufferData change is propagated to SSBO properly
When BufferData is called while previous reference is still pending,
ANGLE may allocate a new storage. When this happened, we need to ensure
context gets notified so that it can pick up new buffer storage.
Bug: b/195678877
Change-Id: Idb591ed49e7d2c9e2dc5803f65d00894687ae1d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076820
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
e28fb127
|
2021-08-05T14:32:16
|
|
Vulkan: Propagate BufferData changes to atomic counter binding
This CL adds context to the observer list of atomic counter buffer
so that it gets notified when BufferData is called on atomic counter
buffer and set dirty bit accordingly.
Bug: b/195678877
Change-Id: I924cf12ef54b5986d5c56b9e3b71584039490206
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076170
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
52aae056
|
2021-08-05T14:22:26
|
|
Vulkan: Test for buffer storage propagate to AtomicCounter properly
When BufferData call result in storage change, it should propagate the
change to atomic counter buffer binding properly. This CL adds a test to
call BufferData on the same buffer while the previous usage of buffer is
still pending (thus may trigger reallocation of buffer storage) and see
if shader reads correct atomic counter buffer data.
Bug: b/195678877
Change-Id: Iac94c3bd0a73573da0bfc814d33b5cd43475772d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076819
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
4a841e6a
|
2021-07-27T13:30:26
|
|
PerfTests: Replay EGL color spaces.
Add EGL_GL_COLORSPACE_KHR to the EGLWindow's surface attributes if
EGL_KHR_gl_colorspace is available.
Require the extension to be available if the color space differs from
the default EGL_COLORSPACE_LINEAR value.
Bug: angleproject:5857
Change-Id: Ib33cbed7d4b115979bd847418cb5cd2b96f4f173
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3056374
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
89dbbb2a
|
2021-08-05T13:14:12
|
|
Skip validation of stderr in TestSuiteTest.RunFlakyTests
There is a bug (crbug.com/1234124) causing the profile runtime to print
errors about failing to write the profraw file. Don't validate stderr in
these builds until that is fixed.
Bug: chromium:1234124
Change-Id: Ie1e3a3eaf7dc0e2c20064822f774cc85fe79d3bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3076479
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9b646c13
|
2021-08-04T17:24:18
|
|
Tests: Add Final Fantasy trace
Test: angle_perftests --gtest_filter="*final_fantasy*"
Bug: b/195607411
Bug: angleproject:6246
Change-Id: Ie0f02d082d408a6eb18555741ab01cccc446d01f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3073380
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
061188a7
|
2021-08-04T10:07:47
|
|
Translator: General clean up
General clean up done as part of other changes, split to simplify
review.
Bug: angleproject:4889
Bug: angleproject:6132
Change-Id: Iade9954d187a759be9edd0e3754be007f4133c56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3071598
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6fe91881
|
2021-08-02T11:13:13
|
|
Translator: Simplify RecordConstantPrecision
Just before ESSL output, this transformation made some constants
specified through temp variables such that their precision can be
specified. This was done in cases where the precision actually affected
the expression being evaluated.
This transformation is simplified by declaring constants more
conservatively as variables, and not stringently attempting to identify
whether that's necessary. This is still not done in trivial cases.
This change is in preparation for another change that overhauls
precision propagation through the nodes. This change removes all
references to TIntermTyped::getPrecision() outside the precision
promotion code itself.
Bug: angleproject:4889
Change-Id: I135b2b3241aa2f76219b209241c3844f1d09ccd2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067948
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9da4e52b
|
2021-08-04T09:13:33
|
|
Tests: Add PUBG Mobile battle royale trace
Test: angle_perftests --gtest_filter="*pubg_mobile_battle_royale"
Bug: b/180418573
Bug: angleproject:6087
Bug: angleproject:6240
Change-Id: I722f249a7aafdd52be96f214d56b7cfa650ae778
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3071662
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
1ce78397
|
2021-07-30T16:51:45
|
|
Remove support for WEBGL_debug_shader_precision
This extension was rejected, and the implementation was hacky. This
clean up is part of an ongoing work to improve precision handling.
Bug: angleproject:6059
Change-Id: If08581ec6f19cf1698ffa3dd6d248dc5e68a1d31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3064303
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7c072f7e
|
2021-08-04T09:02:30
|
|
Tests: Add PUBG Mobile skydive trace
Test: angle_perftests --gtest_filter="*pubg_mobile_skydive"
Tbr: jmadill@google.com, timvp@google.com
Bug: b/180418573
Bug: angleproject:6087
Bug: angleproject:6240
Change-Id: Ibcc7a5e84676d7e7e0df3fdad7aada0e23482bf2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3071661
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
09d5047b
|
2021-08-03T01:31:03
|
|
GL: Remove the rewriteVectorScalarArithmetic workaround
This workaround was implemented for a bug in Nvidia driver 387 which is
end-of-life. More recent driver branches (390 and 4XX) are fixed, and
so this workaround is no longer required. The implementation of the
workaround itself could introduce bugs.
Bug: chromium:772651
Bug: chromium:1201084
Change-Id: I3db179eb90d9124235bdad2daacc712302906d8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067952
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
215d00b1
|
2021-08-03T23:34:02
|
|
D3D11: Add validation for storages size in updateBufferStorage
The source/dest BufferStorage used by the updateBufferStorage
may have a raw buffer ptr value of null.
Add size validation to prevent null crashes.
Bug: angleproject:6235
Change-Id: I57ed1ae0e558bd2f61273c64ed067958a1603425
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3069000
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
217acac2
|
2021-07-21T12:42:56
|
|
Vulkan: Add support for EXT_primitive_bounding_box
1. Added support for EXT_primitive_bounding_box extension
2. Renamed shader variable gl_BoundingBoxEXT[] to ANGLEBoundingBox[]
Bug: angleproject:3576
Test: dEQP-GLES31.functional.primitive_bounding_box.*
Change-Id: I15fa9af50c6fd8e86d225670ddd8eb39f6e65d35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3053618
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
747d5323
|
2021-07-27T13:30:59
|
|
gen_restricted_traces: Add kReplayDrawSurfaceColorSpace.
Use default color space if the trace doesn't specify one.
Use Python 3.6 f-strings for the possibility to have default
values at all positions and remove the now redundant defaults string.
This breaks Python 2 compatibility for gen_restricted_traces.py.
See PEP 498: https://www.python.org/dev/peps/pep-0498/
Bug: angleproject:5857
Change-Id: I532014e8e64ea792604a96a42ad998564882d801
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3056372
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
61517a16
|
2021-08-02T16:49:32
|
|
Remove extra angle:: uses from ANGLEPestTest.cpp.
Bug: None
Change-Id: I7101398504c547b97b9184c56b252bef5198cecb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067510
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fc6ce9ba
|
2021-08-02T13:47:36
|
|
Fix unreachable case in test instantiate.
This error would only trigger when the "null" back-end was
disabled. This would happen on official builds of Chrome.
Bug: chromium:1235656
Change-Id: Icd516513fe28b2b6d6a451503fc690093371acb3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067759
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
26329cb9
|
2021-07-30T09:55:24
|
|
Test Runner: Allow listing tests on Android.
Because of quirks with the Chromium-provided Android test runner,
we need to use a few tricks to get the test list output. We add
placeholder output for a single test to trick the test runner into
thinking it ran the tests successfully. We also add an end marker
for the tests list so we can parse the list from the more spammy
Android stdout log.
Will enable a Python wrapper script to list and run performance
tests outside of the GTest harness.
Bug: angleproject:6090
Change-Id: I810d4722e9a6efa03ef94208e516401890af1c37
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3062240
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
0ce5f85f
|
2021-08-02T12:05:17
|
|
Capture/Replay Tests: Skip crashing test.
PBOCompressedTextureTest.PBOCompressedSubImageWithUnpackRowLength/*
Was added in a CL that didn't test win-trace-rel.
Bug: None
Change-Id: I91b056b50b53a302816564d6f12a0ef0f765e675
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067758
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aca9f2e2
|
2021-07-29T17:49:26
|
|
Vulkan: SPIR-V Gen: Fix constructors with uniform parameters
When the constructor contains parameters from interface blocks, they may
have SPIR-V type specializations that was not previously accounted for.
The code is made more robust by retrieving the column/component types
when generating constructors through TTypes instead of modifying
SpirvTypes directly.
Bug was caught by the WebGL CTS.
Bug: angleproject:4889
Change-Id: I6c9df17a97fac8622dea55ed67c7bae1ce16d1bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3061640
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3a6a0e91
|
2021-08-02T08:01:33
|
|
Remove ASSERT in computeRowPitch about row length.
Compressed texture image uploads ignore unpack parameters. So it's
not an error if these parameters have non-default values. We just
ignore them anyway. This ASSERT was causing a crash in some edge
cases in debug and dcheck builds.
ASSERT introduced in https://crrev.com/c/348064
Bug: chromium:1235031
Change-Id: I1db6ebc9f5572a92ab16bb13da4c236f6fcb8ce2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3064986
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ae8ef039
|
2021-07-30T00:43:14
|
|
Translator: Correctly respect precision of gl_FragColor/Data
These builtins are declared with a mediump precision. However, during
translation to Vulkan GLSL, the precision was not output and as such
glslang treated them as highp.
Discovered through comparison with SPIR-V output from ANGLE which
included more RelaxedPrecision operations.
Bug: angleproject:4889
Change-Id: I7974478e87ad20115345d679f8f035492be1f349
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3062204
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
246e95a5
|
2021-07-30T21:40:48
|
|
Disable Precise unittests without SPIR-V gen enabled
Half the tests fail with glslang, which have the expectations set
appropriately. When SPIR-V gen is disabled in build, when the unittest
attempts to run the SPIR-V gen path it will use glslang instead and
cause test failures. The whole suite is disabled temporarily when
SPIR-V gen is disabled (i.e. non-dcheck builds).
Bug: angleproject:4889
Change-Id: I8686eafef6821c6207c94f991cd8af2fb65a87ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3063943
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
ebe943e2
|
2021-07-29T11:19:33
|
|
Vulkan: SPIR-V Gen: Fix gl_Clip/CullDistance
These built-ins can be redeclared in the shader. The translator took
these redeclarations (and gl_LastFragData) as UserDefined symbols.
There were a number of hacks such as in name generation and
CollectVariables, to special-case these redeclarations.
This change instead makes sure that these variables continue to be
considered built-ins with the appropriate qualifiers. A number of fixes
are made accordingly:
- Hacks are removed.
- In fragment shaders, ANGLEClipDistance was initialized with
gl_ClipDistance for further use by the shader. The code generation
however mistakenly produced `gl_ClipDistance[0] =
ANGLEClipDistance[0];`, which caused compilation failures by glslang,
but passed the tests accidentally because they expected link failures
(see next item).
- CollectVariables is fixed to correctly collect gl_Clip/CullDistance
in fragment shaders; previously they were collected as output
varyings, and therefore the aforementioned link error was not produced
in the tests after the compilation error was fixed.
Additional fixes:
- The transformation of gl_Clip/CullDistance was always ever done on one
of them due to misplaced breaks in the loop that detected their
presence.
- The transformation of gl_CullDistance was skipped when it was not
redeclared.
Validation is added to make sure these built-ins always have the correct
qualifier even when redeclared. SPIR-V gen support for these variables
have been fixed as well.
Bug: angleproject:4889
Change-Id: Ic8bf2c508357035cb937ef41a28ae22ffc533ebe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3059921
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a83c9108
|
2021-07-29T17:13:41
|
|
Vulkan: SPIR-V Gen: Fix nested ternary operators
The OpPhi instruction used to implement ternaries referenced to the
blocks pregenerated for the true and false cases. However, if there
were other code nested inside that could generate blocks (other
ternary expressions or short-circuits), that would be wrong.
Instead, the last block id is taken every time the true or false case is
entirely visited (similar to how it's done in the short-circuit
implementation).
Bug was caught by the WebGL CTS.
Bug: angleproject:4899
Change-Id: I71be86989dfe9596a13940ce657a7e67849e86bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3061639
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2b23aae4
|
2021-07-29T16:39:28
|
|
Vulkan: SPIR-V Gen: Support vec(..., mat)
Matrices specified in vector constructor arguments were not correctly
handled w.r.t to casting (caught by the WebGL CTS).
Bug: angleproject:4889
Change-Id: I70253f049a651fc5f439b56d1e4d8f785813b605
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3061638
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
aec5e65c
|
2021-07-28T00:36:12
|
|
Get direct-to-Metal backend to run angle_end2end_tests.
Cherry-pick nameless struct fix from Apple in
https://bugs.webkit.org/show_bug.cgi?id=227482 .
Fix SeparateCompoundStructDeclarations pass to stop generating
multiple declarations; thanks syoussefi@ for advice.
Incorporate additional passes from TranslatorVulkan
(MonomorphizeUnsupportedFunctionsInVulkanGLSL,
RewriteArrayOfArrayOfOpaqueUniforms,
SeparateStructFromUniformDeclarations) needed by RewriteStructSamplers
pass in TranslatorMetalDirect. Fixes many assertion failures in GLSL
tests. Moved these passes out of tree_ops/vulkan. Thanks again to
syoussefi@ for advice and help.
Disable a validation check related to the RewritePipelines pass. Skip
two tests that were failing for other reasons.
With these changes, angle_end2end_tests runs to completion when the
direct-to-Metal backend is turned on. There are still ~1300 failures
of the ~4000 tests which will be investigated next.
Bug: angleproject:5505
Change-Id: Ibca77822543e8e8e8d2a8c862e92cdf74bfa3545
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3058524
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
22ae4ce0
|
2021-07-28T16:06:49
|
|
Revert "Disable RunAppAsync and RunAppAsyncRedirectStderrToStdout"
This reverts commit f4f866ce289423d691a0edc0d44d13f4de16f897.
Reason for revert: These tests should not be disabled. The culprit is
fixed per crbug.com/1233361
Original change's description:
> Disable RunAppAsync and RunAppAsyncRedirectStderrToStdout
>
> The tests are blocking the CQ due to flakiness.
>
> Bug: chromium:1233361
> Change-Id: Ib0283e201c271379364a177bea130d63322eee53
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3058233
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: chromium:1233361
Change-Id: I24682f74d790d40f58a9526aaaaa842c3df23ec0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3058502
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
96ccf3f4
|
2021-07-29T12:38:21
|
|
Translator: Consolidate EvqFragDepth and EvqFragDepthEXT
They were the same thing. Fixes SPIR-V generation which only handled
EvqFragDepth.
Bug: angleproject:4889
Change-Id: Id2c35f4c5a26e43ad16a420cc0306756a1add082
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3059922
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3036e090
|
2021-07-29T15:55:39
|
|
Vulkan: Direct SPIR-V Gen: Support the precise keyword
The precise keyword is different in GLSL in that it defines what
arithmetic operations _that have led to the value being assigned to a
variable_ should be done precisely (i.e. not "contracted").
A tree traverser is implemented that detects precise access chains and
applies precise-ness to the right hand side of assignment expressions to
said access chains. This is only done if the shader uses the precise
keyword in the first place. The algorithm for this is inspired by the
implementation in glslang.
This change additionally:
- Fixes parser to allow precise on function parameters
- Fixes GLSL code generation to output precise on struct members and
function parameters.
Bug: angleproject:4889
Change-Id: Ie3808c3c8c08da308e88af20f5f90379d9d14d47
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3056369
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e74638fe
|
2021-07-28T19:03:43
|
|
Disable Metal shader cache again in angle_end2end_tests.
This hooking was removed in
https://chromium-review.googlesource.com/3010486 and sped up local
test runs, but seems to have reintroduced flakiness on the Mac AMD
Retina bots.
Bug: chromium:1233864
Bug: angleproject:5505
Change-Id: I46d95545fbbedc0e881e3a2832a5ac5d5384f405
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3057823
Commit-Queue: ccameron <ccameron@chromium.org>
Reviewed-by: ccameron <ccameron@chromium.org>
|
|
b8e8c822
|
2021-07-27T11:19:59
|
|
Suppress Mac 11.4 failures
Suppresses several Mac 11.4 AMD failures that were found after we
started testing the configuration.
Bug: angleproject:6222, angleproject:6223
Change-Id: I4f0f5ac0ab14d2645bb76def3e4ec55d999940fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3056839
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
|
|
8593e0a2
|
2021-07-28T13:52:06
|
|
TestSuite tests: Don't validate stderr until fixed
Bug: chromium:1233361
Change-Id: Ibcd66520d7b842211eafb26f9188298c281cbe64
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3058503
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0d06c3cf
|
2021-07-26T04:30:39
|
|
Fix some instances of -Wunused-but-set-variable.
Bug: chromium:1203071
Change-Id: I144165ae5ec47aba88658030a6ba3e371bf31ee7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3053616
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bd19620f
|
2021-07-27T23:45:11
|
|
Revert "VulkanExternalHelper: Use VK_KHR_image_format_list extension."
This reverts commit 4222d5e5a03f85ca07253d54f3087684fe9447b3.
Reason for revert: errors on multiple builders when rolling into Chromium
https://chromium-review.googlesource.com/c/chromium/src/+/3057227
e.g.
https://ci.chromium.org/ui/p/chromium/builders/try/linux_chromium_asan_rel_ng/924126/overview
Original change's description:
> VulkanExternalHelper: Use VK_KHR_image_format_list extension.
>
> To retrieve correct size requirements when the VK_KHR_image_format_list
> extension is enabled, it must be used to match VkImages created in
> vk_helpers.
>
> RendererVk: Fully enable VK_KHR_image_format_list.
> Enable the extension on non-AMD and non-ARM platforms.
>
> Bug: angleproject:5281
> Change-Id: I3ca60bf6efcf9d9c10d4d96a3fe91b999eb044f7
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035047
> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Bug: angleproject:5281, chromium:1233561
Change-Id: I3b15bb2fc2fb779adac8bbf5d805727a25b5795c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3057071
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
4222d5e5
|
2021-07-16T16:26:17
|
|
VulkanExternalHelper: Use VK_KHR_image_format_list extension.
To retrieve correct size requirements when the VK_KHR_image_format_list
extension is enabled, it must be used to match VkImages created in
vk_helpers.
RendererVk: Fully enable VK_KHR_image_format_list.
Enable the extension on non-AMD and non-ARM platforms.
Bug: angleproject:5281
Change-Id: I3ca60bf6efcf9d9c10d4d96a3fe91b999eb044f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035047
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
|
|
dbe986d7
|
2021-07-26T01:43:44
|
|
Vulkan: SPIR-V Gen: Fixes to tessellation shader support
- TCS barrier() built-in is correctly looked up
- Patch decorations are fixed
Bug: angleproject:4889
Change-Id: I1befcaca85a965c9d46b1b41ec74597de44bf2b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3052687
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
acfd63a4
|
2021-07-26T01:02:11
|
|
Translator: Remove GLSL rules from the ESSL-only symbol table
Shaves ~36KB off of ANGLE's binary size on Android.
Bug: chromium:1084580
Change-Id: I4711c6bd28437a43b7dc63be4cfcdaed7ae11ba2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3052686
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
715bab1f
|
2021-07-25T23:35:17
|
|
Vulkan: SPIR-V Gen: Fixes to geometry shader support
- max_vertices=0 is invalid in SPIR-V and is fixed (similarly to
anglebug.com/5411)
- gl_PrimitiveID used in fragment shaders requires the Geometry
capability.
Bug: angleproject:4889
Change-Id: If8c6a9d455d0582d61c3c52b5f773bcb5ca64b53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3052684
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
3bd2273b
|
2021-07-16T12:33:11
|
|
Capture/Replay: Only perform call updates on valid calls.
Bug: angleproject:5133
Change-Id: Ib1a6ae1ca9ff9717c4e51f8908f5a4ee132d72ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035443
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Gert Wollny <gert.wollny@collabora.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d67cab22
|
2021-07-12T13:48:22
|
|
Capture/Replay: Handle missing context serialization
Some ContextLost* tests do weird things with the context
serialization which results in a mis-match of available context
serializations.
In this case check whether both serializations are missing, if so
consider this to be an equal contexts states, otherwise, if only
one serialization is available, report failure.
While touching this code, also remove an unused parameter from
the context serialization compare function.
Disable tests that still fail with this change.
Bug: angleproject:6157
Change-Id: Iee6cc7d65437112e38919cff59804e2b7f9467da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3021061
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
a5b7655c
|
2021-07-23T22:46:35
|
|
Vulkan: Unsupress fixed test
Fix landed in glslang.
Bug: angleproject:6178
Change-Id: Ie3d2a9535b4ed0d484c97e08be069ff9e27cdde1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3051313
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8bf2e5ec
|
2021-07-23T16:54:16
|
|
Vulkan: SPIR-V Gen: Fix switch with default at the end
A minor bug was making a switch with default at the end to jump to the
merge block instead of the default block.
Bug: angleproject:4889
Change-Id: Ied434fab949b10d45a0db1242c1b8535a5f4f773
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3048321
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
24610ba6
|
2021-07-23T22:46:11
|
|
Suppress failing SPIR-V gen tests
Bug: angleproject:4889
Change-Id: Ie5a5cb5c8f947e2d90861371893367b9ec341f19
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3051312
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d0c03ff4
|
2021-07-22T14:55:51
|
|
Vulkan: SPIR-V Gen: Fix lvalues passed to in/inout parameters
In GLSL, these values are semantically copied when passed to a function
as an in or inout parameter. For example in:
bool f(inout vec4 a, inout vec4 b)
{
a = vec4(0);
return all(equal(a, b));
}
var = vec4(1);
bool result = f(var, var);
result is expected to be false. In SPIR-V, every parameter is
semantically passed by "reference".
glslang conservatively uses temporaries to pass to functions. An
optimization in ANGLE didn't create temporaries for unindexed lvalues,
which did not take into account the above fact. This optimization is
limited to out parameters now.
Bug: angleproject:4889
Change-Id: Ie1b4b1cecba847ba63d5810d01d0856823b89ddc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046103
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cc69d861
|
2021-07-22T12:49:39
|
|
Vulkan: SPIR-V Gen: Fix textureProj's coordinate adjustment
The OpCompositeInsert's parameters were given in the wrong order.
Additionally, some instructions were not having RelaxedPrecision applied
correctly; this is fixed by deriving the decorations from the type of
the argument that's passed in a function instead of the type of the
parameter itself.
Bug: angleproject:4889
Change-Id: I34a54fcc0ef1699e554f9e1abb94c93a5b34b6d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046102
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9d23ae62
|
2021-07-22T12:32:44
|
|
Vulkan: SPIR-V Gen: Fix conditionals with pruned blocks
Rewored the visitIfElse function to simplify the logic and correctly
handle if-else constructs where the true block is pruned.
Bug: angleproject:4889
Change-Id: Ib968a2fe65f4b6463158fd76e7d67757115ee832
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046101
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
ad8c3257
|
2021-07-22T11:40:01
|
|
Vulkan: Fix bresenham line emulation in shaders with return
RunAtTheEndOfShader should have been used to ensure that the appended
code runs at the end of the shader no matter if the shader includes
return statements.
Bug: angleproject:4889
Bug: angleproject:6206
Change-Id: I848eafdf3c7bc63206a7f82cdf0badad335fa3bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3046100
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
02c5cdbd
|
2021-07-21T23:08:17
|
|
infra: Enable gles2 deqp tests with direct SPIR-V generation
Enabled on Linux/Nvidia, Windows/Nvidia and Pixel4.
Bug: angleproject:4889
Change-Id: I50c5e31097bd7e1539caf7b229a249cbfa62b93d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3042557
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
fbffcf7b
|
2021-07-23T14:15:18
|
|
dEQP: Suppress two tests with undefined behaviour.
dEQP-GLES3.functional.shaders.operator.unary_operator.minus.lowp_uvec4_vertex
dEQP-GLES3.functional.shaders.operator.unary_operator.minus.mediump_uvec4_vertex
See bug for more details.
Bug: angleproject:6214
Change-Id: Ibc69dbcd1524470da620c31d41da20f69dfbaae2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3049254
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
62628799
|
2021-07-21T22:55:22
|
|
Vulkan: SPIR-V Gen: Support dEQP
A temporary condition for direct SPIR-V generation is added to test
expectations while this work is in progress, so test suites can be
partially enabled. 32 tests are currently failing.
Bug: angleproject:4889
Change-Id: Icf0f6ef80d30fdb7564d8ecf928e67ca58ace86f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3042556
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
951b04bb
|
2021-07-21T12:20:13
|
|
Vulkan: SPIR-V Gen: Support scalar constructors
In GLSL, the scalar constructor can be given a vector and matrix, in
which case the first element is selected. This case was not previously
handled.
Bug: angleproject:4889
Change-Id: Ibf276883fc7396b750981a4e469ff9b152c6e700
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3042554
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7f199d75
|
2021-07-20T00:11:23
|
|
Vulkan: SPIR-V Gen: Support geometry shaders
Geometry shader built-ins are implemented. A bug in
DeclarePerVertexBlocks is fixed w.r.t to gl_PerVertex arrays and a new
AST validation option is added to catch that sort of error.
Bug: angleproject:4889
Change-Id: I40b2929e450eac8ae840bbf1a1583e6c4c047c88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3041623
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c408926f
|
2021-07-22T12:00:59
|
|
Revert "EGL: GLES: Implement GL_EXT_protected_textures"
This reverts commit 6210a9b34a721df2c84cf69170ad9bf7ba40e4aa.
Reason for revert: Suspected for breaking ANGLE->Chrome roller.
Bug: angleproject:6204
Original change's description:
> EGL: GLES: Implement GL_EXT_protected_textures
>
> Implement EGL_EXT_protected_content Images
> Add protected member to Images and Textures
> Add error when creating objects if not supported or
> does't match native buffer
> When creating siblings pass protected state
> Add extension caps
> Add Validation
> Add GetTexParameter and SetTextparameter
> Add protected to Texture and state
> Expand tests for images and textures
>
> Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
>
> Bug: angleproject:3965
> Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:3965
Change-Id: Ia3ef260a17097b474189ccad5b235a9db99ee00b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3043889
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
03cf7888
|
2021-07-22T08:32:25
|
|
Test Runner: Remove extra quotes from histograms.
We were double-quoting the test names.
Bug: angleproject:6090
Change-Id: I69ce089ef20068b408de7156bdbade922cdefe95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3043890
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6e261453
|
2021-07-20T22:34:33
|
|
Vulkan: SPIR-V Gen: Fix I/O block arrays
Since the qualifier on intermediate nodes are EvqTemporary, the code
that autodeduced the block storage of I/O blocks was incorrectly
assigning them std140 when an indexed I/O block array was encountered.
This resulted in duplicate types in the SPIR-V. This is generally
benign (other than creating an unnecessary type) except for gl_PerVertex
as it adds BuiltIn decorations. gl_PerVertex may be an array in
geometry and tessellation shaders.
Bug: angleproject:4889
Change-Id: Iaa8e414ae01a4be127dc52df0e9406546b23d24c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3041621
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f9dbd4ef
|
2021-03-29T16:31:26
|
|
Vulkan: Add Validation checks in FramebufferTextureEXT
This change makes FramebufferTextureEXT set a validation error
if <level> is not a supported texture level.
This change also makes FramebufferTextureEXT set a validation error
if <texture> is the name of a buffer texture.
Test: KHR-GLES32.core.geometry_shader.layered_fbo.fb_texture_invalid_level_number
Test: KHR-GLES32.core.geometry_shader.layered_fbo.fb_texture_argument_refers_to_buffer_texture
Bug: angleproject:5579
Change-Id: Iedba8adc8faec02822374c3c1862b7abd031fcc2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2796152
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
e9decf0c
|
2021-07-19T14:29:21
|
|
Vulkan: SPIR-V Gen: Support framebuffer fetch
Bug: angleproject:4889
Change-Id: Ia75b45b5d0f6cb3b6ca8a8f8a987bb857e45ad33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3040120
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
05eb0a32
|
2021-07-19T16:14:34
|
|
Translator: Allow subpassLoad in AST in ESSL
subpassLoad is available to desktop GLSL, but not GLSL ES. With this
change, subpassLoad is made available internally to the AST so that
framebuffer fetch's use of this built-in can be simplified.
Additionally, this makes the tree more consistent in that there's no
function call without a corresponding function declaration.
A follow up change will add an AST validation to enforce this.
Bug: angleproject:4889
Bug: angleproject:5454
Change-Id: I3fa502dc4b29eab7f34940466e283cffd218d746
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3040118
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
6210a9b3
|
2021-03-25T15:43:06
|
|
EGL: GLES: Implement GL_EXT_protected_textures
Implement EGL_EXT_protected_content Images
Add protected member to Images and Textures
Add error when creating objects if not supported or
does't match native buffer
When creating siblings pass protected state
Add extension caps
Add Validation
Add GetTexParameter and SetTextparameter
Add protected to Texture and state
Expand tests for images and textures
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: I35a89b4e80bba6d9b6831c68e71630eef304dacb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802852
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d2b659f9
|
2021-03-25T15:40:58
|
|
EGL: implement EGL_EXT_protected_content Context
Add Validation check to Contexts and Surfaces
Add Vulkan protected memory features and properties
Add protected member to Surfaces and Contexts
Implement hasProtectedContent in Vulkan
Add QueueFamily helper, extent DeviceQueueMap
Protected Swapchains always on for Android
Add EGLProtectedContentTest
Test: angle_end2end_test --gtest_filter=EGLProtectedContentTest
Bug: angleproject:3965
Change-Id: I9352b1e594f71bb4e89cee7137a468940d186b1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2800413
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a8807cbf
|
2021-07-17T00:00:27
|
|
Vulkan: SPIR-V Gen: Support interpolateAt*
The interpolateAt* builtins take their first argument as a pointer, so
only the OpAccessChain result should be given to the corresponding
SPIR-V instruction.
A test is written in this change to handle interpolateAt* when given a
swizzled lvalue, which is not representable in SPIR-V. This can be
supported by having the AST transform:
interpolateAtX(value.zy)
to:
interpolateAtX(value).zy
which can be done right when the function is parsed and the AST node for
it is created (by taking the swizzle out of the parameter and applying
it to the node). However, swizzled lvalues as parameter to
interpolateAt* is only allowed in desktop GLSL, and so the test is
disabled. From the GLSL ES3.2 spec:
> Component selection operators (e.g. .xy) may not be used when
> specifying interpolant.
Bug: angleproject:4889
Change-Id: I043969f22011e6171c7ae225ded3a5013e8cfa4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035588
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
e635f6c2
|
2021-07-20T08:41:07
|
|
Add -Wno-implicit-fallthrough to GLES 1 CTS.
Bug: angleproject:6198
Bug: chromium:995993
Change-Id: Ib8eb640d567c63d85645f64cc870a286227fb9c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3040160
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
32196d8f
|
2021-07-16T14:49:08
|
|
Vulkan: SPIR-V Gen: Support built-ins with out parameters
Some built-ins have out parameters; modf, frexp, uaddCarry, usubBorrow,
umulExtended and imulExtended. In SPIR-V, they are translated as such:
- modf and frexp: Returns the same result as GLSL, with a pointer to
store the output parameter. Since SPIR-V cannot create pointers to
swizzles, a temp variable is used in that case.
- uaddCarry, usubBorrow, umulExtended and imulExtended: These return a
struct in SPIR-V, which contains the two output parameters; with lsb
in field 0 and msb in field 1.
Bug: angleproject:4889
Change-Id: Ic5114f74b9c1013093007e91939f78d5218f2a07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036088
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
60d76ec1
|
2021-06-25T17:35:22
|
|
Trace Tests: Autodetect Goma.
Checks for the existence of the compiler_proxy process.
Bug: angleproject:6102
Change-Id: I58848dc7cd62aeb65c28990212f29df6ff66db1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2989672
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
b3cbfd55
|
2021-07-07T12:31:57
|
|
Fix multiple end2end crashes in direct-to-MSL compiler.
This set of changes:
- Adds a single place (CompilerMtl::useDirectToMSLCompiler) where the
direct-to-MSL compiler can be enabled, still at compile time rather
than run time. It is still disabled by default.
- Initializes MTLWaitableCompileEventImpl::mShader, without which all
shader compiles crash.
- Fixes a mismatch of the ANGLERasterizerDisabled variable name in
the generated MSL.
- Removes the transform feedback bindings as an argument to the
vertex shader's main0(). Transform feedback support needs to be
reimplemented in this compiler backend.
- Added an option to the DriverUniform class to emit as either an
interface block or a struct. The direct-to-MSL backend assumes it
is a struct.
- Disable variable reference validation when referencing either
sample mask or rasterizer discard functionality in the shader.
- Disable struct usage validation when inserting references to
ANGLE_TextureEnv. This occurs during pipeline rewriting and it's
infeasible to disable it at that point, so disable it during
pipeline rewriting - which means it's disabled for all shaders.
- For angle_end2end_tests, disable the file API hooking which
disables the Metal shader cache. This speeds up the tests
significantly - by roughly a factor of 5.
With these changes, several hundred angle_end2end_tests run without
any assertion failures, though still with many test failures. The next
crash is in:
GLSLTest.NamelessScopedStructs/ES2_Metal
and will likely require a larger bug fix, or more changes to be
upstreamed from WebKit's repository.
Bug: angleproject:5505
Change-Id: Ia1ea9a13867f00035d4aeccf907fd032255588e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010486
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
2b86e2d6
|
2021-07-19T10:30:57
|
|
GN: Update dcheck/assert conditions.
In preparation for a Chromium change that makes dchecks enabled
by default in Release builds, we'll keep ASSERT disabled in
Release by default. We add a new flag 'angle_assert_always_on'
for controlling ANGLE ASSERT behaviour.
Also slightly refactors the direct SPIR-V generation GN.
Chromium CL: https://crrev.com/c/2893204
Bug: chromium:1225701
Change-Id: I01a6def28d7c21e771e9800889a6b9c274972de2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035447
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d84d1288
|
2021-07-16T12:08:03
|
|
android: Explicitly specify exported activities.
Android 12 requires all components with an <intent-filter> to explicitly
specify whether they are exported, instead of being exported by default.
Update various remaining cases in our tests/sample code/tools.
Bug: chromium:1223110
Change-Id: Iab37881d947da25d771bf757d2f7581ad782c73f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035442
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
5c8bf081
|
2021-06-08T13:12:24
|
|
Vulkan: Add support for YUV internal format extension
1. Add a function to upload YUV image data to textures
2. Modify stageSubresourceUpdate method to account for YUV images
3. Create VkSamplerYcbcrConversion when initializing ImageHelper
4. Update hasImmutableSampler to account for native YUV format support
5. Skip initializeNonZeroMemory for YUV formats
Bug: angleproject:5773
Test: Texture2DTestES3.TexStorage2D*Yuv*Vulkan*
Change-Id: I270f04bbf903cf2bf19f100eb95f32953d491c39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2947767
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0a83d958
|
2021-07-19T09:52:13
|
|
Capture/Replay tests: Fix missing usage of ApplicationDir.
This was changed to ModuleDir in http://crrev.com/c/3035444
Fixed the capture/replay self-tests.
Bug: chromium:1219969
Change-Id: Iaada421e9748db1e8afe17acf0705d5a89db6edb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035248
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5fb3a549
|
2021-07-18T22:15:12
|
|
Skip GLSLTest_ES31.BoolInInterfaceBlocks/ES3_1_OpenGL AMD Linux
Bug: angleproject:6192
Change-Id: I853864cfce5edb78be940c6f59f22187dce7e47b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3037629
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
4d9e1f23
|
2021-07-18T21:15:41
|
|
More skips for GLSLTest_ES31.TypesUsedInDifferentBlockStorages
Also disable the test on the Linux AMD OpenGL backend.
Bug: chromium:1230024
Change-Id: I9ff2d798cf7410db55802fb86635b5d833d32284
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3037628
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9ddaa686
|
2021-07-16T14:57:13
|
|
Call getNearestSamples() in Framebuffer::setAttachment()
The app jp.garud.ssimulator uses the same sample count of '2' for both
glRenderbufferStorageMultisampleEXT() and
glFramebufferTexture2DMultisampleEXT(). However, when
glRenderbufferStorageMultisampleEXT() is called,
Renderbuffer::setStorageMultisample() calls
TextureCaps::getNearestSamples() which rounds up the sample count from
'2' to '4'. Later, when the app tries to draw with the framebuffer,
an error is generated by ANGLE:
Framebuffer is incomplete: Attachments have different sample counts.
The fix is to also call TextureCaps::getNearestSamples() in
Framebuffer::setAttachment() to make sure the sample count passed
into glFramebufferTexture2DMultisampleEXT() is also rounded up to
match the renderbuffer.
Bug: angleproject:6183
Test: MultisampledRenderToTextureTest.FramebufferCompletenessSmallSampleCount
Change-Id: I58be9986077257f4767f2e528c2f87e496d9d774
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036254
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
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>
|