|
fb42cbab
|
2021-06-11T14:30:49
|
|
Capture/Replay: Capture glGetLightfv parameter
Enable the according capture/replay tests.
Bug: angleproject:6051
Change-Id: I916e6d10756bc24bb3e0644c2b290f55b2066fd0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2954264
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
b82da851
|
2021-06-11T13:57:47
|
|
Capture/Replay: Add capture for Fogfv parameters
Enable FogTest* tests for capture/replay.
Bug: angleproject:6050
Change-Id: Ic183ef550f57a790a3d113f20f67946487006166
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2954263
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e543ad94
|
2021-06-08T10:42:01
|
|
Capture/Relplay: Enable most of ImageTest.*
Keep *External/* disabled, because capturing of external
textures is not supported.
Bug: angleproject:6034
Bug: angleproject:6035
Bug: angleproject:6036
Bug: angleproject:6041
Change-Id: Id5eb9dc7c651240d0ba094be964d8bd141d08ff9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2944957
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d42df5c7
|
2021-06-08T11:42:50
|
|
Capture: Only capture texels of initialized textures
If a texture is not yet initialized then it may contain random
pixels, and since it doesn't make sense to capture this random
data, skip its serialization and only mark the data as not
initialized in the capture.
This also avoid the texture syncronization that would lead to a crash
for incomplete cube maps.
Bug: angleproject:6034
Change-Id: I0cb30a03a29aecd605f3c61b6df4cd897e1f9093
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2944954
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
22716d31
|
2021-06-11T13:51:41
|
|
Capture: Add specialization for ParamType::TGLubyte
Also enable "CurrentColorTest.Set/*" tests.
Bug: angleproject:6049
Change-Id: I65e62b6c0805687ad6744a12217e0c08bc97ca1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2954262
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
90f9ddd9
|
2021-06-10T14:35:13
|
|
Capture: Add support for capturing (Get)ClipPlanef equation
In addition, correctly handle "const GLfloat *" when replaying,
and enable the according capture/replay tests
Bug: angleproject:6047
Change-Id: I5dd7510d1b621d4c941490c9d0261559a96dd681
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2951133
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
4375d6c7
|
2021-06-18T23:51:23
|
|
Vulkan: Support multiview queries
When using queries with multiview, Vulkan specifies that N queries are
actually produced (N being the number of views) which must be summed by
the application.
Bug: angleproject:6048
Change-Id: I5ea615536f1a357806b7ea8093280b9122f1d66a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2971562
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
977a28f3
|
2021-06-22T12:30:07
|
|
No-op glGenerateMipmap on zero-sized textures
The spec says:
> Otherwise, ... if any dimension is zero, all mipmap levels are left
> unchanged. This is not an error.
Bug: chromium:1220250
Change-Id: I45e007c1f8e9b80f405d3d096eb896a7246f7c8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2979853
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5b314268
|
2021-06-15T17:37:45
|
|
Vulkan: Support OVR_multiview and OVR_multiview2
Multiview is supported in Vulkan simply by specifying the number of
views in the render pass, and creating the appropriate image views. A
number of changes to the way image views and render targets are stored
are made to support those that don't cover the entire range of layers.
One particular detail that is not implemented in this change is the use
of queries in combination with multiview. Vulkan specifies that N
queries are actually produced (N being the number of views) which must
be summed by the application, but this is not currently done.
Bug: angleproject:6048
Change-Id: I1d4a9894c232d3a93d7a97c9fa0eedc334e57469
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2967625
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
9bad7a19
|
2021-06-15T23:39:52
|
|
Vulkan: Unpack RenderPassDesc
Upcoming multiview support needs to add 2~3 more bits to this struct,
but this struct is already fully packed. As the combination with
emulated multisampled render to texture is not planned, some bits used
for MSRTT can be aliased with multiview. However, that makes the
packing of this struct even more unwieldy.
Since only tens of render passes are expected per frame, increasing the
size of the render pass cache key should not have a dramatic effect.
Bug: angleproject:6048
Change-Id: I5c9a0d155f23a37e2787b38525d3ce721b54ec1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2966218
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b6009f64
|
2021-06-17T14:53:03
|
|
Capture/Replay: Add feature for robust resource init
Query the feature when creating the display and the context, and
pass the flag to the created context and also to durfaces.
With that we create surfaces that will be marked "MayNeedInit" and
are initialized if the resource is cleared or invalidated.
Bug: angleproject:6041
Change-Id: I292f2e3f931736a18db93695441407e17d2265b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2976656
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
13ac4dfb
|
2021-06-23T12:19:40
|
|
gl_tests:DrawArraysThenDrawElements: glFinish instead of swap
Later in the test we read from the backbuffer to confirm that the
triangles were drawn correctly, but without EGL_BUFFER_PRESERVED
the content of the backbuffer is undefined.
Since glReadBuffer is not supported in GLES2 don't swap, instead to
a glFinish to force the drawing in each iteration.
Bug: angleproject:6088
Change-Id: Iac485cc6ec92626a74a4428bcdb32cc535a2691f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982112
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
15623ada
|
2021-06-23T08:46:21
|
|
Test Runner: Omit results files when too many failures.
This will cause the test shards to be re-tried due to an invalid
result. The goal is to retry flaky configs where whole shards fail.
Bug: angleproject:6075
Change-Id: I76d0f08da29ffc4bcad7f282f7be38618c384bce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982500
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
41f86f35
|
2021-06-22T11:02:08
|
|
Capture: Serialize only the content of initialized attachments
If a resource is marked MayNeedInit, then we don't serialize it but
mark the data as not initialized.
Bug: angleproject:6041
Change-Id: If3d3431a58848f7835692fe10b30fab68c901d8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2976657
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
ac795859
|
2021-06-23T11:17:36
|
|
Disable warning on invalid feature name.
Because we don't have a centralized feature list, we would fire
this warning every time we use a feature override. Disable it
until we have a centralized list we can check.
Bug: angleproject:6085
Change-Id: Ia5c3f2ae8337141e963e67e1d71243a3d0a01c9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982505
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1b104dd9
|
2021-05-26T14:29:01
|
|
Finish switch to angle_version.h.
Bug: b/168736059
Change-Id: I1232c8284f37aadb374840aca8f40e4569382c7b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2920490
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b6adeb2f
|
2021-06-21T11:11:30
|
|
Vulkan: Use pipeline statistics query to emulate primitives generated
The VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT query produces
the same result as the GL primitives generated query. One caveat is
that in combination with rasterizer discard this query may not work.
This is emulated by disabling rasterizer discard when this query is
active and applying an empty scissor instead.
When VK_EXT_primitives_generated_query is released and supported, a
similar issue with rasterizer discard persists so this change will
facilitate using that extension as well.
Bug: angleproject:5430
Change-Id: Id45b6f058c5cb6837e04aa64b1efde28c104e4cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2976181
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
09bd5578
|
2021-06-21T23:47:15
|
|
Test runner: Capture test stderr
With this change, stderr is also output when a test fails, including
logs such as those originating from UNIMPLEMENTED().
Bug: angleproject:6077
Change-Id: Ice1e1f9aff26acfb630aef99865503643f0a9658
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2976184
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
72d2bd0c
|
2021-06-21T09:59:21
|
|
Allow capturing process stdout and stderr interleaved
The test utils are enhanced to allow redirecting stderr to stdout. This
is in preparation for a change that makes the test runner capture stderr
together with stdout. Currently, on failure logs originating from
UNIMPLEMENTED() and other such macros are not captured.
Bug: angleproject:6077
Change-Id: I7a3c6c4732a59dac3ff0cc20a7835d5ed6f0f22e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2976183
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dbfc119a
|
2021-06-22T08:56:33
|
|
Fix overflow in gl::ValidateES2TexImageParametersBase
Bug: chromium:1222516
Change-Id: I532dc6e1c80c442af2c35d1facc262c48222def3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2978251
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
64ce506d
|
2021-06-18T14:48:29
|
|
Vulkan: SPIR-V Gen: Support most non-texture/image built-ins
Most GLSL built-ins map directly to some SPIR-V operation. texture*()
and image*() built-ins are not implemented as well as a handful of other
built-ins that require special-handling.
Bug: angleproject:4889
Change-Id: I72abfb4692c3d66a3c8be43ce44ba6808efe6255
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2971646
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b80f1377
|
2021-06-22T14:42:00
|
|
Trace Tests: Print serialization diff on failure.
Instead of only printing this with the "verbose" flag, print the
diff of the serialization as an "info" message. This will make the
diff show up on the bots.
Bug: angleproject:5715
Change-Id: Ic9684b43cdf2d6ae248b5beab4317b0e939567c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2979854
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
4194d400
|
2021-06-21T13:08:56
|
|
Test Runner: Add maximum failure count.
This will make the test runner early exit after a certain count
of failures. This will prevent the bots from running tens of
thousands of tests when the whole test run is corrupt.
Bug: angleproject:6075
Change-Id: I8f5c19ea694a5ad3a5d5df1429d2ba4b1fe868e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2976179
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
3d37a374
|
2021-06-22T00:37:22
|
|
Add regression test for GL bug w.r.t cached programs
Bug: angleproject:6073
Change-Id: I22ffabea8a686e2ae615e99607cb557324c23c78
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2976185
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
96dd515a
|
2021-03-31T14:21:16
|
|
Update glColorspace(EGL_KHR_gl_colorspace) enable logic
1. Enable glColorspace if VK_EXT_swapchain_colorspace is
supported, remove dependency on VK_KHR_image_format_list.
2. Enable VK_KHR_image_format_list support on Mali GPU.
3. Fix PbufferTest.ClearAndBindTexImageSrgbSkipDecode
test tolerance issue.
Bug: angleproject:2514
Bug: angleproject:5281
Change-Id: I2ed54a14afc7c3aee5a5980bd300ab052ebab3d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2793852
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7df7fc7f
|
2021-06-20T00:05:28
|
|
Tests: Add support for --renderdoc
This change adds support for a new flag namely `--renderdoc` to end2end
and deqp tests. With this flag, each test automatically starts and ends
a frame capture in renderdoc, working around an issue where renderdoc
refuses to capture a test frame that doesn't start or end with a swap.
With end2end tests, the capture starts before test set up, and ends
after test tear down. With deqp tests, it starts before init, ends and
restarts after each test iteration and ends after deinit.
Bug: angleproject:6072
Change-Id: Ib41b816aff121bf922d9147044cc363c33a62181
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2971835
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
44a5c913
|
2021-06-17T09:29:29
|
|
CL: Make CL front end and back end thread-safe
Add locking to all mutable variables of the CL objects in the
front end and pass-through back end to make them thread-safe.
This fixes a crash in a multi-threaded CTS test.
Bug: angleproject:6015
Change-Id: I1d6471c851217639411c434c82acd32d14035291
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2967468
Commit-Queue: John Plate <jplate@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1891af05
|
2021-06-16T10:20:32
|
|
CL: Refactor TRY macro and fix more conformance bugs
Bug: angleproject:6015
Change-Id: Id54be19822fec2ac5584ffe1d1cf5bb8f00c9094
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2967467
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: John Plate <jplate@google.com>
|
|
3706f9eb
|
2021-06-10T18:45:15
|
|
Vulkan: Fix AGI hierarchy crash for noop'd clears/queries
The ASSERT in ContextVk::endEventLogForClearOrQuery() was wrong.
Certain glClear*, glBeginQuery*, and glEndQuery* commands may exit
early (e.g. noop). When this happens, mQueryEventType will be set to
NotInQueryCmd. In such cases, return without trying to finish a
non-started debug-util-marker hierarchy.
Bug: b/191489405
Change-Id: If40ed00fdc6e420ae6a11c2aeaced19e5aa45a5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2973342
Reviewed-by: Trevor David Black <vantablack@google.com>
Reviewed-by: Mark Lobodzinski <mark@lunarg.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
c51c59c7
|
2021-06-15T13:43:50
|
|
Test for missing index dirty bit bug
Bug fixed in
https://chromium-review.googlesource.com/c/angle/angle/+/2961690
triggers only in the following situation:
- Context 1: draw indexed -> clears index dirty bit
- Context 1: change state in such a way that closing the render pass is
deferred to dirty bit handling (for example, change FBO)
- Context 1: issue a non-indexed draw call. This closes the render pass
and starts a new one -> bug was that the index dirty bit
was not set
- Context 2: flush the command buffer, which submits the previous render
pass of context 1 (which contained vkCmdBindIndexBuffer).
The primary command buffer is now reset.
- Context 1: issue an indexed draw call. Since the index dirty bit was
not set, this was missing the vkCmdBindIndexBuffer call.
This change implements a regression test based on the above scenario.
Bug: chromium:1183068
Bug: chromium:1190493
Change-Id: I729bd48cd6df2621ca763f6231023a52ac08b0fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2963836
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
851fbedb
|
2021-06-10T21:27:01
|
|
Vulkan: Switch viewport and scissor to dynamic state
Heavily based on http://crrev/c/1316888
Some apps are creating a large number of viewport combinations and
are running out of graphics memory. This CL drops their graphics
pipeline use from tens of thousands to tens.
Performance testing shows little impact to application traces.
Bug: b/190026813
Bug: angleproject:3143
Change-Id: Ib7415be1128f8fedae4a7ca72e067b2815201223
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2954925
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4e1fd371
|
2021-06-17T10:26:26
|
|
Ensure GLES1 state is cleared on context switch.
GLES1 support in multi-context D3D mode is broken prior to this
change as state in the GLES1Renderer is not being properly
dirtied on context switch. The immediate result is a crash on
draw commands due to a null program.
Introduce a new dirty bit to specify that the program is dirty
and should be re-initialized.
Test: GLES1 applications work with the D3D11 backend in multi-context
mode.
Bug: b/191158936
Change-Id: Ib53c1471514ff2cf36ef9fc0d6bfb99a8bb7cf66
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2969789
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Doug Horn <doughorn@google.com>
|
|
24155b13
|
2021-06-17T18:09:29
|
|
Vulkan: Free DynamicBuffer buffers after dip in allocation size
In a pattern like this:
- allocate 100 bytes
- allocate 200 bytes
- allocate 50 bytes
- allocate 100000000 bytes
- allocate 100 bytes
- allocate 200 bytes
- allocate 50 bytes
The DynamicBuffer class switches to making 100MB allocations even if
that allocation was a one-off. A small future allocation would then tie
up 100MB in memory for future allocations. Another 100MB is also left
tied up in the free list.
With this change, if an allocation is made that's less than a quarter of
the DynamicBuffer's current allocation size, it's taken as a sign that
the previous large allocation was a one-off and the size is moved back
to the DynamicBuffer's original initial size.
Bug: b/187757166
Change-Id: I0c6f00eec7c81298f9dc41a41cc308510ce76623
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2971004
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
69562546
|
2021-06-11T19:12:11
|
|
CL: Refactor info structs and fix conformance bug
- Remove variable name prefix from Info structs to be more consistent
with other ANGLE structs.
- Fix CL object validation check with magics, since the Mesa solution
doesn't work without RTTI.
- Add support for some extensions required by OpenCL 1.1 and for some
optional extensions.
- Fix more conformance bugs.
Bug: angleproject:6015
Change-Id: I41b1c45d95059a9994f5dc78bf9b74476cc6f2d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2956349
Commit-Queue: John Plate <jplate@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ecf27c71
|
2021-06-16T13:13:31
|
|
GL: Fix bug with: Skip redundant flushes.
The ANGLE-into-Skia autoroller is blocked because of the following CL:
https://chromium-review.googlesource.com/c/angle/angle/+/2956453
Michael Ludwig, a Skia engineer, found that this change fixes the
problem and will unblock the auto-roller.
Bug: chromium:1181068
Change-Id: I514b2762f6643e25b36aab0290a57af4abf3c660
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2965615
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
b77a6c25
|
2021-06-16T11:01:14
|
|
Vulkan: Avoid using VK_WHOLE_SIZE when using dynamic offsets
Binding descriptor sets that use VK_WHOLE_SIZE with a dynamic offset
results in the VUID-vkCmdBindDescriptorSets-pDescriptorSets-01979
validation error.
Updated the updateDefaultUniformsDescriptorSet function to use the
uniform's size instead of using VK_WHOLE_SIZE.
Bug: angleproject:5924
Tests: dEQP-GLES31.functional.shaders.multisample_interpolation.*
SimpleStateChangeTest.UniformUpdateTest*Vulkan
UniformTestES3.MatrixUniformUpload*Vulkan
Change-Id: Ie4633af61d59a9401f599d336a5b9040cdf18004
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2950309
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
99a98963
|
2021-06-10T16:11:13
|
|
Vulkan: SPIR-V Gen: Support discard
This is simply done with OpKill. If-else blocks now check if the block
is already terminated (through return, discard, continue or break)
before adding the branch to merge block.
Bug: angleproject:4889
Change-Id: I713286cf38e40f9048486d2914a4355ddbc686ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2953369
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
9c500951
|
2021-06-10T15:48:57
|
|
Vulkan: SPIR-V Gen: Fix user-defined blocks
The _u prefix was missing from blocks and their fields.
Bug: angleproject:4889
Change-Id: I31f3b393bc81352c8cf7a433dd652692833fc3f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2953368
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
5a737833
|
2021-06-10T15:19:59
|
|
Vulkan: SPIR-V Gen: Fix row-major matrices
Prior to this change, row-major and column-major matrices generated
different types. That is not correct. With this change, the same type
is generated for both. Row-major only comes into account when
calculating the alignment and offset of fields in a block.
Bug: angleproject:4889
Change-Id: Ifa03e1799a2510b90323d9d4fc2f681a3184069b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2953367
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
e48f2210
|
2021-06-10T13:23:34
|
|
Vulkan: SPIR-V Gen: Support short-circuiting && and ||
When short-circuiting is necessary (because the right-hand side has side
effects), the following code is generated in SPIR-V:
// For left && right:
result = left
if (left)
result = right
// For left || right:
result = left
if (!left)
result = right
Bug: angleproject:4889
Change-Id: Id87b56dc4a1463ed781852a23d2ba6eb2015d700
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2953366
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
a76f224f
|
2021-06-16T00:43:55
|
|
Fix build
Two CLs went in at the same time, causing a build breakage.
Bug: angleproject:4889
Change-Id: I0dacda7263959014fb4ad9bd83733f58a5e98fe6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2965319
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: John Plate <jplate@google.com>
|
|
8b869a95
|
2021-06-13T01:09:27
|
|
Translator: Generate Ops for all built-in functions
EOpCallBuiltInFunction is removed in this change, as well as the
"op": "auto" property in builtin_function_declarations.txt. Instead,
gen_builtin_symbols.py automatically generates Ops for every built-in
function and generates the TOperator enum accordingly.
This simplifies SPIR-V code generation by allowing switches to be used
on operators instead of string comparisons.
Bug: angleproject:4589
Bug: angleproject:4889
Change-Id: Ia351524400b0e12a10a5572e27e9b88c6ec2e61c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2958869
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
64ca25f1
|
2021-06-08T17:15:49
|
|
Vulkan: SPIR-V Gen: Unary operators
The line raster emulation coded uses round() which was previously not
translated. This change implements all operations supported by
TIntermUnary nodes. Bresenham line emulation is now allowed.
Bug: angleproject:4889
Change-Id: I1ffbe3f9bf0299f7efa2c6d1e8f011fefdbb2ddb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2951624
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
0297779c
|
2021-06-08T01:06:21
|
|
Vulkan: SPIR-V Gen: Handle invariant variables
The Invariant decoration is applied to variable declarations and block
members as necessary. When invariant is applied to a gl_PerVertex
built-in, it's applied to the appropriate member in
DeclarePerVertexBlocks.
Bug: angleproject:4889
Change-Id: Idaa8d4ab92f975381a0237d372f0a4044ff983e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2946116
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
f33a41be
|
2021-06-15T16:59:57
|
|
Another fix for -Wc++11-narrowing.
Bug: chromium:1216696
Change-Id: I65955fe818917a1909c3d1af391718aaa82652bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2965535
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3f9dcb00
|
2021-06-12T01:37:32
|
|
Translator: Prune trivial dead code
Code after discard, return, break and continue is discarded with this
change. This simplifies SPIR-V generation as no code is allowed after a
branch instruction and no special handling is necessary after this
change.
Bug: angleproject:4889
Change-Id: Ife9c8de8a6d0db9d682561daf44366aad9b1cf61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957811
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a1d43971
|
2021-06-12T23:11:48
|
|
Translator: Pack TSymbol and TFunction fields
Shaves ~45KB off of binary size in an ANGLE build on Linux, coming from
the built-in TVariable and TFunction variables.
Bug: angleproject:4889
Change-Id: I5466c9e26b069a07bf52d00fc2a9c5d49f3c0feb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2958868
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
18ddd131
|
2021-06-07T14:59:43
|
|
Vulkan: SPIR-V Gen: Support mediump/lowp
The mediump and lowp precisions translate to a RelaxedPrecision
decoration in SPIR-V. This change implements this decoration and
enables SPIR-V generation when emulating Bresenham lines. Prior to this
change, Bresenham line emulation resulted in a validation error due to
the vertex shader output being without RelaxedPrecision but the fragment
shader input (translated by glslang) with it.
The function that produces a new id is given a list of decorations to
apply, which itself is automatically deriven from the TType where
applicable, to minimize the risk of any id missing this decoration.
Bug: angleproject:4889
Change-Id: I30cc5a278634c5d83d63cd65b057336f9f573baa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2946113
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
af1eed2e
|
2021-06-10T01:55:59
|
|
Vulkan: Generate gl_FragColor/Data declarations in AST
gl_FragColor and gl_FragData are not available in Vulkan. Prior to this
change, their declaration as webgl_FragColor and webgl_FragData was done
in text. This change implements an AST transformation that declares a
normal fragment output variable and replaces all references to these
built-ins with those variables.
Bug: angleproject:4889
Change-Id: If224e089dec25e4aa580beb135e1be2890de7887
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2953042
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4fbb6f43
|
2021-06-14T18:20:06
|
|
Vulkan: Fix accessing index buffer with uninitialized memory
This was discovered by Clusterfuzz on MacOS. The issue was
that is index buffer of a draw indexed call was missing,
causing SwiftShader to access uninitialized memory, leading
to the ASAN crash. The missing index buffer was caused by
DIRTY_BIT_INDEX_BUFFER not being set. This was in turn
caused by ContextVk::flushDirtyGraphicsRenderPass() not
setting dirty bits not included in the dirtyBitMask,
despite needing to be set for future processing.
Bug: chromium:1183068
Bug: chromium:1190493
Change-Id: I65b398d8737b3df5fd51a03a2c8074a774a94a81
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2961690
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8333d061
|
2021-06-14T11:01:35
|
|
GL: Respect TexSubImage upload limits for robust init
The chunked_texture_upload splits texture uploads for glTexSubImage
calls but ANGLE uses glTexSubImage internally for robust resource
initialization. Also chunk those uploads.
Bug: chromium:1181068
Change-Id: Ia6eaac8117173946630f420b396cbc54c163b7ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2961230
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
2c8d9a9a
|
2021-06-09T16:09:35
|
|
CL: Remaining functions for OpenCL 1.2
Add support for the remaining functions for OpenCL 1.2 for the
front end and pass-through back end.
Also fix several bugs discovered by the conformance tests.
Bug: angleproject:6015
Change-Id: I1dca1c3f4c1d9aea7f0501094c171116ea01381f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2954259
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: John Plate <jplate@google.com>
|
|
222a81cf
|
2021-06-11T14:34:52
|
|
Reland: GL: Skip redundant flushes.
Skip flushes when there is no work submitted since the last
flush.
Bug: chromium:1181068
Change-Id: Iab31f8949f7eb07dffb7b0930069cbb3ca69ef57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2956453
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ebf75698
|
2021-06-10T18:55:04
|
|
Vulkan: Fix AGI clear hierarchy bug for clear commands
This approach properly handles outside-render-pass clears.
Bug: b/190622922
Change-Id: Ia4a9d6ec13d7da8c4a445af1127e82c03f37e8b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2951960
Reviewed-by: Mark Lobodzinski <mark@lunarg.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
55df3ec1
|
2021-06-08T18:57:15
|
|
CL: Add remaining enqueue commands
Add support for remaining OpenCL 1.2 enqueue commands to front end
and pass-through back end.
Bug: angleproject:6015
Change-Id: Iab650e42d51e2105dc826088d3606c56d5cd0fd5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2944966
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: John Plate <jplate@google.com>
|
|
1fcbf77c
|
2021-06-10T16:02:31
|
|
Vulkan: Fix AGI hierarchy for query commands
Treat glBeginQuery* and glEndQuery* commands the same as glDraw*
commands, generating a hierarchy. This results in vkCmdBeginQuery and
vkCmdEndQuery commands being nested under gl*Query*, instead of being
a peer of glDraw* commands.
This change necessitated plumbing some of the existing "end" path to
return angle::Result.
Bug: b/190512191
Change-Id: I898d3fdd9b4b7d86e76dfae2ffc5d6f7316a55ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2950926
Reviewed-by: Mark Lobodzinski <mark@lunarg.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
29227eef
|
2021-06-05T22:25:01
|
|
Vulkan: SPIR-V Gen: Specialization constants
With specialization constant qualifier and ids set in the node types,
the SPIR-V generation for these variables are trivially handled.
This is in preparation for enabling line raster emulation as well as
fragment shaders in general.
Bug: angleproject:4889
Change-Id: Ie4d4e47b222ac66d1e0eee29f55ac09990313580
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939337
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
ac704c80
|
2021-06-10T17:51:07
|
|
Roll VK-GL-CTS from d17a353c6cd4 to 7f2ec8531b64 (15 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/d17a353c6cd4..7f2ec8531b64
2021-06-10 siglesias@igalia.com Check resource limits properly
2021-06-10 rgarcia@igalia.com Capture early errors on instance creation
2021-06-10 ilkka.saarelainen@siru.fi Add depth execution mode tests
2021-06-10 alexander.galazin@arm.com Merge vk-gl-cts/opengl-es-cts-3.2.7 into vk-gl-cts/master
2021-06-09 rgarcia@igalia.com Test instance matrix update after command recording
2021-06-09 rgarcia@igalia.com Test null miss shader group handles work
2021-06-09 rgarcia@igalia.com Test tracing rays from inside AABBs
2021-06-09 siglesias@igalia.com Fix wait semaphore count value
2021-06-09 marcin.kantoch@amd.com Fix internal error for fragment stage in RT tests
2021-06-09 alexander.galazin@arm.com Add GL_ARB_separate_shader_objects requirement
2021-06-09 alexander.galazin@arm.com Raise glsl version to 420 for compute shaders
2021-06-09 alexander.galazin@arm.com Raise glsl version to 410 core for shaders with GL_ARB_shader_atomic_counters
2021-06-09 alexander.galazin@arm.com Remove shaders.switch from the Khronos mustpasses
2021-06-07 zzyiwei@google.com Add a test for VK_EXT_global_priority_query
2021-06-07 alexander.galazin@arm.com Update Vulkan headers
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 syoussefi@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human
is aware of the problem.
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/master/autoroll/README.md
Bug: None
Tbr: syoussefi@google.com,angle-bots+autoroll-info@google.com
Change-Id: Iac5faae807430cb114617f77543768ea6047f3a2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2953060
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
31641b8e
|
2021-06-05T02:17:47
|
|
Declare specialization constants in the AST
A new qualifier (EvqSpecConst) is added so that specialization constants
can be declared in tree.
This enables TVariable references to specialization constants to be
validated, which were in fact invalid as every reference declared a new
variable. That is fixed.
Bug: angleproject:4889
Change-Id: I1711e41cbc5a1260843d2d004d3568bdae11e963
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2941451
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
82654e5d
|
2021-06-06T15:46:53
|
|
CL: Add program build commands
Add program build commands to front end and pass-through back end.
Bug: angleproject:6015
Change-Id: I1175646d35ff050796b718d7f0e269520292b319
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2940839
Commit-Queue: John Plate <jplate@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2e772e04
|
2021-06-04T14:01:42
|
|
CL: Add image enqueue commands
Add image enqueue commands to front end and pass-through back end.
Bug: angleproject:6015
Change-Id: I133e84020975679fafd29432c965cd19f086d2b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2940837
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: John Plate <jplate@google.com>
|
|
c670917c
|
2021-06-02T14:43:03
|
|
[Fuchsia] Cleanup vulkan_fuchsia_ext.h
Removed defintions of fuchsia-specific vulkan types from
vulkan_fuchsia_ext.h . Instead, the types provided by vulkan_fuchsia.h
are used now.
Also re-enabled vulkan validation on Fuchsia.
Bug: chromium:1215736
Change-Id: I795347b7fb61d90033749533cefd42cf180730fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2934718
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
eb882040
|
2021-06-08T11:17:59
|
|
test/ImageTest: Clear back buffer when test cleanup
Many tests don't actually use the back buffer, so uninitialized data
is used when capturing leading to failure. Hence, clear the back buffer
when the test ends and before swap is called triggering the capture.
Bug: angleproject:6035
Change-Id: I0a500ae9f5203feaf0b492dc18e84c5a92ee1497
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2944953
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
d769742c
|
2021-06-03T19:43:58
|
|
Vulkan: SPIR-V Gen: Default uniforms
Default uniforms are gathered in a uniform block, so treat them like
other nameless uniform block fields.
Bug: angleproject:4889
Change-Id: If340040ab4c59f3243c40de7daba530b2289e147
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939333
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
cb4f8a79
|
2021-06-08T10:39:47
|
|
Capture: Add a specialization for TGLeglImageOES
When writing out the parameter TGLeglImageOES an additional cast is
needed.
Bug: angleproject:6036
Change-Id: I7470a58a6ae17b0185d0c2e3fe1184b698f3efaf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2944952
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
19209666
|
2021-06-09T07:55:04
|
|
Fix -Wc++11-narrowing in ANGLE.
This adds a few explicit casts where necessary and changes some double
constants to floats to avoid truncation.
Bug: chromium:1216696
Change-Id: Ie1a3ad94284185fb20a6feff75290cabb7ee09e8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2950320
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
69f2fb00
|
2021-03-08T10:49:31
|
|
Vulkan: Expose OES_geometry_shader extension
Modify the symbol table generation script to accept a list
of supported extensions. This allows for the EXT and
OES versions of the geometry shader extension to be exposed.
Test: angle_deqp_khr_gles31_tests --deqp-case=*geometry_shader*
Bug: angleproject:3571
Change-Id: Ia7127a03dbd3fce78957f0505d3ce0c9bab6cb15
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2765011
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ac2fc259
|
2021-06-03T17:11:14
|
|
Vulkan: SPIR-V Gen: Support function forward declaration
The generation of function-related ids is moved to
visitFunctionPrototype to support forward declarations. The
DeferGlobalInitializers AST transformation produces such code.
Bug: angleproject:4889
Change-Id: Iefee534575092ca25ff86e416e35703d7022bc07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939332
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
013613ea
|
2021-06-08T01:33:30
|
|
Translator: Allow invariant on I/O block members
The GLSL ES 3.2 spec says:
> Only variables output from a shader can be candidates for invariance.
And:
> All uses of invariant must be at global scope or on block members, and
> before any use of the variables being declared as invariant.
As a result, it's possible to specify `invariant` on a member of an
output I/O block.
Bug: angleproject:4889
Change-Id: I8822ed214813db8424d6a67dfef7f069a448b19d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2946115
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4bafc503
|
2021-06-01T10:59:17
|
|
Vulkan: Fix AGI hierarchy for clear commands
Treat mid-render-pass glClear* commands the same as glDraw*
commands, generating a hierarchy. This results in
vkCmdClearAttachment commands being nested under glClear, instead of
being a peer of glDraw* commands.
Bug: b/183547523
Change-Id: Ibc6900b0485fd174d79c8fe6c94ea17dbefa520b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2941364
Reviewed-by: Mark Lobodzinski <mark@lunarg.com>
Reviewed-by: Mike Schuchardt <mikes@lunarg.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
7c253fca
|
2021-06-02T13:18:44
|
|
D3D11 additional context-loss logging
This makes logging more consistent when we encounter context loss.
In Renderer11::testDeviceLost, note DXGI_ERROR_INVALID_CALL is a
valid GetDeviceRemovedReason, but was not detected prior.
SwapChain11::resize and SwapChain11::reset added more logging,
likewise with Context11::handleResult.
This covers everywhere d3d11::isDeviceLostError is invoked, though that
might not be exhaustive of all cases we detect device loss.
Bug: b/188291915
Test: Manually trigger conditions to test logging.
Change-Id: Idd57363101b53bc2d3c4c306ee78a42012a1a320
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2935696
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Doug Horn <doughorn@google.com>
Commit-Queue: Michael Yu <warty@google.com>
|
|
df977aaf
|
2021-06-08T01:04:32
|
|
Translator: Validate global qualifier declaration's symbol
Global qualifier declarations (invariant, precise) apply to
already-declared variables. This is now validated.
Bug: angleproject:4889
Change-Id: I9889f2d68dcd6a2fc0de2b20a1291899397982d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2946114
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0c26ff11
|
2021-06-03T17:09:22
|
|
Vulkan: SPIR-V Gen: Support initializers in declarations
If the initializer is a constant, it's specified directly in the
OpVariable instruction. Otherwise an OpStore is generated where the
declaration is visited.
Bug: angleproject:4889
Change-Id: I79291552ecc50c0878f921aff9f6d8618be34116
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939331
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c3e397c6
|
2021-06-07T17:25:59
|
|
Use float clamp unconditionally for indirect index clamping
Suspecting a Qualcomm driver bug with integer clamp affecting WebGL2
tests.
Bug: chromium:1217167
Change-Id: I6b323a9de5828b3a11cbe2650d66c7627b90a9f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2946111
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6746e5dd
|
2021-06-01T22:48:14
|
|
Vulkan: SPIR-V Gen: Basic support for compute shaders
This change enables direct SPIR-V generation for compute shaders and
enables a few tests. A handful of built-in functions are translated to
support said tests.
Bug: angleproject:4889
Change-Id: I8fd6dc50ff31559a738ba680a993fb197e29fcf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939330
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
1ab6d214
|
2021-06-07T08:49:09
|
|
Capture: Create group variable for BlockMemberInfo
Also declare GroupScope as NO_DISCARD.
Bug: angleproject:6016
Change-Id: I738f137727d52a0930cd8c400fbc05f1cc8cfdad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2943927
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ee4a5266
|
2021-06-01T14:57:24
|
|
Vulkan: SPIR-V Gen: Function calls
This change implements function calls. As a result, transform feedback
tests are enabled as well as support for transform feedback emulation
(which contains functions and if blocks).
`const` and opaque uniform function arguments take intermediate values,
while the rest take memory objects. If the argument being passed is an
unindexed lvalue, it can be directly given to the function. Otherwise a
temporary variable is made which is initialized by the parameter if
necessary (in and inout parameters) and later overwrites the parameter
if necessary (out and inout parameters).
Bug: angleproject:4889
Change-Id: I8976cdd17870c35d5a2daeed3c38de57ada931d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2930363
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c1932fb5
|
2021-06-07T12:25:47
|
|
Serializer: Print FBO attachment name instead of a number
Bug: None
Change-Id: I419a0ca6d1c2e3c47dc84b106baf40dc0abb85cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2943930
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d99864c0
|
2021-06-07T12:48:01
|
|
Gold Tests: Fix flaky test handling.
Indead of just retrying the batch, retry individual tests.
This should correctly handle the Intel flake pattern.
Bug: angleproject:5415
Change-Id: I029c2514ff8e7a45184c5c105bf2d0350171da29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2940049
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
0a6c6c00
|
2021-06-01T10:59:17
|
|
Vulkan: Submit Dispatch commands outside renderpass
Compute dispatch commands must be submitted outside a renderpass,
but their associated debug event markers were being submitted
on the renderpass commandbuffer. The dispatch debug event markers are
now handled separately from those for draw calls and are now submitted
on the correct commandbuffer.
Failure manifested in malformed AGI traces for Ragnarok M:
Eternal Love
Bug: b/181611786
Change-Id: I768eeccd76be38818fc99d6d56f5899290c8fc5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2930818
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
052713da
|
2021-06-07T12:25:53
|
|
Lift OpenGL Win/Intel test expectation.
This was fixed in a prior patch.
Bug: angleproject:5444
Change-Id: I6df4b71b8dabd66eb151d94d757f89d88a864dab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939468
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7231c705
|
2021-06-07T14:03:45
|
|
Tests: Skip genshin_impact on Intel Linux
Bug: angleproject:6029
Change-Id: I2f25dcedf36d9f341d134baeb9752fb3e3aada6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2944621
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
77831a6d
|
2021-05-31T22:41:58
|
|
Vulkan: SPIR-V Gen: If-else blocks
This change implements if-else blocks as well as a few simple binary
operations (equality, less-than etc). It builds on prior work to
generate the function in separate blocks and introduces a "conditionals"
stack to support nesting of if-else blocks, switches and loops.
Bug: angleproject:4889
Change-Id: If7694000487811837ed5946753568b41d67199f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2929660
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
1b680b77
|
2021-06-02T22:04:45
|
|
Reland "Make SH_CLAMP_INDIRECT_ARRAY_BOUNDS do proper AST transformation"
This is a reland of a474fd7de769ae817db83490d410510cdbed75b2
The integer clamp used in this transformation is not available in es100
shaders, and float clamp is used instead.
Original change's description:
> Make SH_CLAMP_INDIRECT_ARRAY_BOUNDS do proper AST transformation
>
> This translator flag adds a clamp to non-literal indices to arrays. Two
> strategies were provisioned, using the clamp intrinsic or a hand-written
> function. The latter is ununsed in angle, chromium, firefox and
> webkit, so this change removes this option and uses the clamp intrinsic
> unconditionally.
>
> The clamp itself was added at output generation time with special flags
> set on the index node. This is changed such that a proper AST
> transformation is done and no-special handling would be necessary.
>
> Bug: angleproject:4361
> Bug: angleproject:4889
> Change-Id: Ieccfd2c1c347563fb5282e9fa66d39304e62f2ca
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2935041
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:4361
Bug: angleproject:4889
Change-Id: I9397ec7e6bdfb706c2a891b33fd3b2b79e883ccc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2940902
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
26a54260
|
2021-05-26T16:53:29
|
|
Reland "Vulkan: Handle immutable sampler state change in TextureVk"
This is a reland of 349c08300e08bc809c448d62e0ad969ecb17c047
Skip YUV tests on Pixel2
Original change's description:
> Vulkan: Handle immutable sampler state change in TextureVk
>
> Transitioning between sources in RGB and YUV colorspace or between
> YUV formats with different layout should force the recreation of
> pipeline layout and the invalidation of texture's sampler.
>
> Only textures that are EGLImage targets are handled for now.
>
> Bug: b/155487768
> Bug: angleproject:5033
> Bug: angleproject:5773
> Test: ImageTest.SourceAHBTarget2DExternalCycleThrough*Vulkan
> Change-Id: I02d5763e7f89b910313e14b57bfc5403113dfbb2
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2924415
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Bug: b/155487768
Bug: angleproject:5033
Bug: angleproject:5773
Change-Id: Ie3791bc6f6e9b53eb0db23759a14fdc038c8f5b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2939354
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
03d8e7c9
|
2021-06-04T21:22:52
|
|
Revert "Vulkan: Handle immutable sampler state change in TextureVk"
This reverts commit 349c08300e08bc809c448d62e0ad969ecb17c047.
Reason for revert: anglebug.com/6028
Original change's description:
> Vulkan: Handle immutable sampler state change in TextureVk
>
> Transitioning between sources in RGB and YUV colorspace or between
> YUV formats with different layout should force the recreation of
> pipeline layout and the invalidation of texture's sampler.
>
> Only textures that are EGLImage targets are handled for now.
>
> Bug: b/155487768
> Bug: angleproject:5033
> Bug: angleproject:5773
> Test: ImageTest.SourceAHBTarget2DExternalCycleThrough*Vulkan
> Change-Id: I02d5763e7f89b910313e14b57bfc5403113dfbb2
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2924415
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Bug: b/155487768
Bug: angleproject:5033
Bug: angleproject:5773
Bug: angleproject:6028
Change-Id: Ib8b3b54ff61f26910df2af4a6b894b3d2d5906bb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2941547
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
|
|
046f70a3
|
2021-06-04T15:40:16
|
|
Revert "Remove unused code from ValidateES2CopyTexImageParameters"
This reverts commit fcd7affb6bfd9e17d6c12e836158f8f0fc634b14.
Reason for revert: Differences in format checks make the validation
logic trip a newly added ASSERT.
Bug: chromium:1216276
Original change's description:
> Remove unused code from ValidateES2CopyTexImageParameters
>
> Compressed formats are rejected earlier with
> ValidateCopyTexImageParametersBase
>
> Bug: angleproject:5731
> Change-Id: I7809140af84f2c565008e211adf0f998a0e57e91
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2741580
> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:5731
Change-Id: I7734d9bce538e5679c8ee672f547941f5f693261
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2940904
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fafd64a6
|
2021-06-01T17:08:07
|
|
Vulkan: SPIR-V Gen: Matrix decorations
Matrices in blocks require MatrixStride and one of ColMajor or RowMajor
decorations.
Bug: angleproject:4889
Change-Id: I14ddb32fd3dbc977bf41703b016dc6d1c0722475
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2930368
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
349c0830
|
2021-05-26T16:53:29
|
|
Vulkan: Handle immutable sampler state change in TextureVk
Transitioning between sources in RGB and YUV colorspace or between
YUV formats with different layout should force the recreation of
pipeline layout and the invalidation of texture's sampler.
Only textures that are EGLImage targets are handled for now.
Bug: b/155487768
Bug: angleproject:5033
Bug: angleproject:5773
Test: ImageTest.SourceAHBTarget2DExternalCycleThrough*Vulkan
Change-Id: I02d5763e7f89b910313e14b57bfc5403113dfbb2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2924415
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
135d1483
|
2021-06-03T13:24:16
|
|
Tests: Skip flaky capture_replay_tests
Several VulkanExternalImageTest* tests are timing out locally,
but not consistently.
Bug: angleproject:5721
Change-Id: Iffb6d319bb31206af3287a70259a47857b64f434
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2937736
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
683064b7
|
2021-06-02T02:59:55
|
|
Vulkan: Fix missing operand list in OpExecutionMode parser & builder
Bug: angleproject:4889
Change-Id: Ie864031caeddfcf5202044b0f9c197b3883ceaf7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2934782
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
16b10a54
|
2021-05-21T15:35:00
|
|
Revert "Capture/Replay: Emit SetupReplay() late"
This reverts commit 54ba6f0135715737a55f2dc4fc1cb86874fb98f9.
Reason for revert: breaks MEC.
Bug: angleproject:5999
Original change's description:
> Capture/Replay: Emit SetupReplay() late
>
> Only emit SetupReplay() after all captured frames have been run,
> so that InitializeReplay() is called with values of
> readBufferSize and the maxClientArraySize that are sufficiently
> large for all frames.
>
> Bug: angleproject:5965
> Bug: angleproject:5895
> Change-Id: Ic59597dc27f733fb210d7cc5a144a86e54cd2040
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2894486
> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Bug: angleproject:5965
Bug: angleproject:5895
Change-Id: Ia901183b2052fa2b4552ad2e09818a2894fbdf6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2911878
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9ba86e06
|
2021-06-03T13:41:39
|
|
Revert "FrameCapture: Write the frame cpp file even if frame is empty"
This reverts commit 6619c464e5f6237d7465ec945d24164372aa4196.
Reason for revert: breaks MEC.
Bug: angleproject:5999
Original change's description:
> FrameCapture: Write the frame cpp file even if frame is empty
>
> The index file will add a reference to this file, and the replay will
> also expect that the frame execution function and the context function
> exist, so write the file even if the frame is empty
>
> Bug: angleproject:5939
> Change-Id: I265d061fdae51b86131d145116ad1c0f9ca8c93f
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2882581
> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:5939
Change-Id: I759d44ba847c69faf1caf97a9818836d1be3b058
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2937737
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
cf853b30
|
2021-06-03T13:54:44
|
|
Add missing buffer validation to BeginTransformFeedback.
A change to Vulkan exposed this missing validation. In the Vulkan
back-end we do some caching on BeginXFB, which would perform an
invalid memory access. Adding the missing validation correctly
traps the error before we reach the back-end.
Bug: chromium:1171685
Bug: angleproject:4622
Change-Id: I5c92575a07149e431c4f260a4555ff196822c64e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2937022
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
05d5e0d3
|
2021-06-03T09:34:12
|
|
Roll VK-GL-CTS from 2e0ecf9812ba to c25238228ea4 (11 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/2e0ecf9812ba..c25238228ea4
2021-06-03 jari.komppa@siru.fi Static code analysis fix for bounding box test
2021-06-03 jari.komppa@siru.fi Add timer query handle reuse test for opengl es
2021-06-03 boris.zanin@mobica.com Invalid VkPipelineRasterizationLineStateCreateInfoEXT chained
2021-06-03 mika.vainola@siru.fi Fix vertex count calculation in XFB query tests
2021-06-03 pdaniell@nvidia.com Set the recursion depth for chit and miss cases
2021-06-03 siglesias@igalia.com Add depth-stencil tests that do vkCmdCopyImage() with both image aspects
2021-06-03 marcin.zajac@mobica.com Test for fragment shading rate in FragCoord.zw
2021-06-03 siglesias@igalia.com Add tests for vkCmdCopyQueryPoolResults and pipeline statistics
2021-06-02 alexander.galazin@arm.com Update glslang, SPIR-V Tools/Headers
2021-06-02 zzyiwei@chromium.org Check return code for vkGetAndroidHardwareBufferPropertiesANDROID
2021-06-02 venni.ihanakangas@siru.fi Add script for comparing dEQP SwiftShader runs
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 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/master/autoroll/README.md
Bug: None
Tbr: ynovikov@google.com,angle-bots+autoroll-info@google.com
Change-Id: I664cd69b0e4a594077d193fa4f81c47b8812f2c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2934721
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
c2ad5824
|
2021-05-31T12:20:27
|
|
Vulkan: SPIR-V Gen: Code blocks
This change lays the foundation for implementing branches and loops. In
SPIR-V, every block starts with an OpLabel (which identifies the block
and serves as the branch target to that block), and ends in a branch.
An `if` for example implies the existence of four blocks, the header
including code leading up to the if, the true and false blocks and the
"merge" block, including the code following the if-else blocks.
This change includes support code for generating function code split in
blocks, even though only one block is currently used.
Bug: angleproject:4889
Change-Id: I10f96b78b6f00c20bc7f9c81e854ab5543bf8fde
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2929659
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bc9d5223
|
2021-06-02T18:19:08
|
|
Experimental fix for stdout freopen race.
Bug: chromium:1213184
Change-Id: I2e2741f4100b2a5516210f2250dc82511fafd05b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2933602
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
10f15011
|
2021-06-03T19:22:53
|
|
Revert "Make SH_CLAMP_INDIRECT_ARRAY_BOUNDS do proper AST transformation"
This reverts commit a474fd7de769ae817db83490d410510cdbed75b2.
Reason for revert: breaks GLES2ConformTest, see roll into Chromium:
https://chromium-review.googlesource.com/c/chromium/src/+/2935093
Original change's description:
> Make SH_CLAMP_INDIRECT_ARRAY_BOUNDS do proper AST transformation
>
> This translator flag adds a clamp to non-literal indices to arrays. Two
> strategies were provisioned, using the clamp intrinsic or a hand-written
> function. The latter is ununsed in angle, chromium, firefox and
> webkit, so this change removes this option and uses the clamp intrinsic
> unconditionally.
>
> The clamp itself was added at output generation time with special flags
> set on the index node. This is changed such that a proper AST
> transformation is done and no-special handling would be necessary.
>
> Bug: angleproject:4361
> Bug: angleproject:4889
> Change-Id: Ieccfd2c1c347563fb5282e9fa66d39304e62f2ca
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2935041
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:4361
Bug: angleproject:4889
Change-Id: I911cfe0199b04dbc3d6d4265775b6c2de00a9777
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2937024
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9193a909
|
2021-05-26T15:07:54
|
|
Tests: Add Genshin Impact trace
Test: angle_perftests --gtest_filter="*genshin_impact*"
Bug: b/181794064
Bug: angleproject:6023
Bug: angleproject:6024
Change-Id: Ic0debb1e284d672b8ab179ac24cd711c9e5d7e9d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2921069
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
a474fd7d
|
2021-06-02T22:04:45
|
|
Make SH_CLAMP_INDIRECT_ARRAY_BOUNDS do proper AST transformation
This translator flag adds a clamp to non-literal indices to arrays. Two
strategies were provisioned, using the clamp intrinsic or a hand-written
function. The latter is ununsed in angle, chromium, firefox and
webkit, so this change removes this option and uses the clamp intrinsic
unconditionally.
The clamp itself was added at output generation time with special flags
set on the index node. This is changed such that a proper AST
transformation is done and no-special handling would be necessary.
Bug: angleproject:4361
Bug: angleproject:4889
Change-Id: Ieccfd2c1c347563fb5282e9fa66d39304e62f2ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2935041
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|