|
dba2e136
|
2021-05-13T20:33:46
|
|
Capture/Replay: Emit InitializeReplay() late
Only emit InitializeReplay() after all captured frames have been run,
so that the readBufferSize and the maxClientArraySize are really
sufficiently large for all frames.
To achieve this a layer of indirection is added, that is because
InitializeReplay() has to be called from SetupFrame() which is still
emitted with the first frame, a new function InitReplay() is added.
The call to this function is emitted with the first frame, buts its
body is emitted after the last frame has been captured.
Bug: angleproject:5965
Change-Id: Ic38791b4c02989594ec87d1ba3f031fd81471314
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2940841
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
d6202fce
|
2021-06-28T16:53:45
|
|
Vulkan: Disable GL_KHR_texture_compression_astc_sliced_3d
3D ASTC formats are not supported in Vulkan, sliced or not. The
non-sliced extension is already disabled, and this change disables the
sliced version.
Bug: angleproject:6038
Change-Id: I055838345ccb8ad77fe4c05e65dd8b10a8a4d36b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993459
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a8959a9b
|
2021-06-29T21:23:21
|
|
Tests: Add Toon Blast trace
Test: angle_project --gtest_filter="*toon_blast*"
Tbr: jmadill@google.com, timvp@google.com
Bug: b/192408760
Bug: angleproject:6121
Change-Id: Id301c48921a24164d4dccd7d53c1a4e51a0795ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993753
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
dc59772e
|
2021-06-22T22:37:26
|
|
Vulkan: SPIR-V Gen: Support switch
With the infrastructure to support this in place, switch is simply
implemented as a conditional with multiple blocks. Each block either
ends with a branch to the merge block or the next block, implementing
fallthrough.
Bug: angleproject:4889
Change-Id: I5831531d918ac06648cced7707d1d48ffeb6b1b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2983559
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a8c9cecf
|
2021-06-12T00:12:34
|
|
Vulkan: SPIR-V Gen: Support break and continue
This is simply done by issuing a branch to the merge or continue blocks
respectively.
Bug: angleproject:4889
Change-Id: I3e96a3b0f1a0533aa4eac519ab64a87600c0983b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957810
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e45682b4
|
2021-06-29T17:55:36
|
|
Tests: Add Township trace
Test: angle_perftests --gtest_filter="*township*"
Tbr: jmadill@google.com, timvp@google.com
Bug: b/192402770
Bug: angleproject:6120
Change-Id: I3ef0bb6e896a081c17a07f18037805be5494af2e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993882
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
1c39335a
|
2021-06-29T16:40:43
|
|
Tests: Add Farm Heroes Saga trace
Test: angle_perftests --gtest_filter="*farm_heroes_saga*"
Tbr: jmadill@google.com, timvp@google.com
Bug: b/192395241
Bug: angleproject:6119
Change-Id: Iebec311e37e5f84ad85e5a77aa36b3cffb55d2e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2995383
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
69c2d820
|
2021-06-29T11:58:41
|
|
Perf Tests: Register trace tests programatically.
Using testing::RegisterTests lets us filter out the disabled configs.
This helps sharding the tests because some shards were getting a very
uneven distribution of real tests vs skipped tests. A couple shards
were running 20 minutes, while most were about 6 minutes. More work
might be needed to even that out.
Bug: angleproject:6090
Change-Id: Ibdf35677cfea86dfc374a2b18bb57cd9f289ddee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2994726
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
dcfde515
|
2021-06-24T15:59:04
|
|
gl.xml: Add GL_FRAMEBUFFER_SRGB_EXT to EnableCap group.
Add GL_EXT_sRGB_write_control in registry_xml.py.
This makes FrameCapture write a GL_FRAMEBUFFER_SRGB_EXT
enum instead of it's hex value in glEnable/Disable calls.
Bug: angleproject:5857
Change-Id: Ifa01118c2958275c7623c6bfe29f015fa8875fce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988356
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
d2816b4e
|
2021-06-25T14:52:02
|
|
Fix a -Wdeprecated-copy warning.
Bug: chromium:1221591
Change-Id: Idbbb4aa16e58a9f4e7e25590667cf15706233de4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2989632
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c14e6b5f
|
2021-06-28T15:22:44
|
|
Capture/Replay: enable some more passing tests
Test:
PixmapTest.Clearing/*
StateChangeRenderTest.GenerateMipmap/
SyncQueriesTest.Basic/ES2_Vulkan
SyncQueriesTest.Validation/ES2_Vulkan
TextureLimitsTest.MaxCombinedTextures/
Bug: None
Change-Id: I3d3f36551b42ae24332d441c49f8a66f4df7d9a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993091
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
130d1987
|
2021-06-28T14:24:15
|
|
Capture/Replay: enable passing WebGLCompatibilityTest tests
Bug: None
Change-Id: I9b894e49766c8b840fc58470bd42f466bc138796
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988688
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
65a94128
|
2021-05-21T15:18:39
|
|
Capture/Replay: enable IndexBufferOffsetTest.* tests
With robustResourceInit in place we can enable the the tests.
Bug: angleproject:5974
Change-Id: I53911ebf9aed1ef537ebf4c539eca7b284a17e98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2912676
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
e793a027
|
2021-06-28T11:17:01
|
|
Capture/Replay: Capture TexSubImage2DRobustAngle, enable tests
The tests RobustClientMemoryTest.* now all pass.
Bug: angleproject:6108
Change-Id: I980c1fd9e065cb5c4ed575770f86e09faeb19d4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988685
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
433e3921
|
2021-06-28T10:39:41
|
|
Capture/Replay: enable passing UniformTest.Sampler/*
Bug: None
Change-Id: Ib32e27ea7c767e1251f18f6e8e7fb80289110e9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988683
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e70c21f4
|
2021-06-28T09:27:36
|
|
Tests: Add Beach Buggy Racing trace
Test: angle_perftests --gtest_filter="*beach_buggy_racing*"
Tbr: timvp@google.com, jmadill@google.com
Bug: b/192237726
Bug: angleproject:6113
Change-Id: I16fa42bd1af632daf90f857c453e70218225b4f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2992574
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
a25f0f2c
|
2021-06-28T14:56:26
|
|
Suppress flaky TSAN TLS false positive.
Introduces "ANGLE_NO_SANITIZE_THREAD" which works the same way as
"ANGLE_NO_SANITIZE_MEMORY".
Bug: chromium:1223970
Change-Id: I9409771f7c4748bbc186da3fc38031d3b1d1e4d8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987875
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8513e538
|
2021-06-28T10:38:03
|
|
Capture/Replay: enable passing DrawBuffersTest.*
Bug: None
Change-Id: Ib857194d701372322ebf458bf00ac9aa681c079a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988682
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3fa51867
|
2021-06-28T07:44:45
|
|
Capture/Replay: Disable GL_OES_depth32 during capture
Depth32 is not a renderable format on native mobile GLES drivers.
Disabling GL_OES_depth32 during capture provides a more portable trace.
Apps fall back to Depth24, i.e.:
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT32, 760, 360);
Becomes:
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, 760, 360);
Test: Beach Buggy Racing MEC
Bug: b/192237726
Bug: angleproject:6113
Change-Id: Id188ca0186c67d2584f8ad7070cdc8c9baaf2aaa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2992573
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
5a2bd6fd
|
2021-05-03T14:43:35
|
|
Disable shader cache for PowerVR Rogue GPUs.
We disable shader cache for Validating decoder in chrome, so port this
workaround into ANGLE to see if it can fix crbug.com/1203652.
Bug: chromium:1203652,chromium:480992
Change-Id: I08611c148217abc9c32d11fefe8a7d15873f3b30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2867269
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e2881e25
|
2021-06-27T10:45:41
|
|
Vulkan: Handle incompatible pipeline layouts
It is necessary that a pipeline layout be compatible with active
textures. Make sure to recreate the pipeline layout otherwise.
Bug: b/155487768
Bug: angleproject:5033
Bug: angleproject:5773
Test: ImageTest.SourceAHBTarget2DExternalCycleThroughRgbAndYuvTargets*Vulkan
Change-Id: Iab371a9035b6cd143585e5000e2e68c7302ef447
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2992056
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5f869b74
|
2021-06-28T18:02:42
|
|
Revert "Vulkan: Load custom Vk Loader."
This reverts commit e6e99c5472d2fe9beaa12840fa4a71191667b9a4.
Reason for revert: Seems to be flaking on linux-clang-rel:
https://ci.chromium.org/ui/p/angle/builders/try/linux-clang-rel/22602/overview
Original change's description:
> Vulkan: Load custom Vk Loader.
>
> Uses a GN copy rule to duplicate the loader. Also updates volk to
> load using the new custom loader. Once both are in place we can
> go back and remove the copy.
>
> Bug: chromium:1219969
> Change-Id: I8c48d168a842539f7cdba1ebfdaf3b08c3e1990d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982499
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Bug: chromium:1219969
Change-Id: Ib29014e728c1ce63c5e5bf7136ce19de7692964d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987874
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3d8d1b77
|
2021-06-28T10:35:42
|
|
Capture/Replay: enable passing OcclusionQueriesTest.*
Bug: None
Change-Id: I445ff7a25a7e91663a61e1cd4d32861497140055
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988681
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
aec47ff6
|
2021-06-22T15:47:43
|
|
Capture/Replay: Update CopyImageSubData params
The parameters to glCopyImageSubData are flexible and
can take a TextureID or a RenderbufferID as a GLuint.
Our replay needs to remap those values, so we'll convert the GLuint
based on the target. This leads to a change like the following.
Before:
glCopyImageSubData(138, 0x0DE1, 0, 0, 0, 0,
642, 0x0DE1, 1, 0, 0, 0,
256, 256, 1);
After:
glCopyImageSubData(gTextureMap[138], 0x0DE1, 0, 0, 0, 0,
gTextureMap[642], 0x0DE1, 1, 0, 0, 0,
256, 256, 1);
Test: PUBG Mobile MEC
Bug: angleproject:6087
Bug: angleproject:6104
Change-Id: I5cd422e41ffbb4f08c8909e520bdce63e3008c5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2981464
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
5fb6baef
|
2021-06-28T10:33:28
|
|
Capture/Replay: enable passing IndexedPointsTest* tests
Bug: None
Change-Id: Ie4f5c50985c5c3e403e0be8e806e461572b04e42
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988680
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dbc7cb5a
|
2021-06-11T14:38:42
|
|
Capture/Replay: capture GetMaterialfv parameters
Enable according tests
Bug: angleproject:6052
Change-Id: I67bc4d74c997afecf9ed16c7af217de273557587
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2954265
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
153240b2
|
2021-06-11T16:36:32
|
|
Vulkan: SPIR-V Gen: Support loops
Loops are similar to if-else in that they generate a number of blocks
where the first block specifies divergence (OpLoopMerge) and the merge
block. Differently from if-else, there is a block where the condition
is evaluated and a block which `continue;` leads to (this last block is
the only one allowed to back-jump to the beginning of the loop).
Bug: angleproject:4889
Change-Id: Ic59f4bf3e05fbf93cb5af85acd3bc4b0da8412af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957809
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
8cf6d8cc
|
2021-06-28T10:00:54
|
|
Capture/Replay: Handle Gen/Delete Semaphores and fix map emit
Add capturing of the handles used in GenSemaphores and
DeleteSemaphore, fix the emission of the gSemaphoreMap. and
enable capture/replay tests.
Change-Id: Iabb88bd1d6c22c08271d0883607efb72de9d3d0c
Bug: angleproject:6107
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988679
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
e6e99c54
|
2021-06-23T08:25:58
|
|
Vulkan: Load custom Vk Loader.
Uses a GN copy rule to duplicate the loader. Also updates volk to
load using the new custom loader. Once both are in place we can
go back and remove the copy.
Bug: chromium:1219969
Change-Id: I8c48d168a842539f7cdba1ebfdaf3b08c3e1990d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982499
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
18e99f4a
|
2021-06-25T09:10:42
|
|
Add SearchType to OpenSharedLibraryWithExtension.
This fixes a bug in SystemInfo_vulkan where we were using the
System search path for the Vulkan loader when we prefer using the
custom ANGLE loader.
Bug: chromium:1219969
Change-Id: Iedf0fd11fe9ed8cc020b445ea9e12a7936937361
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988791
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
971ba359
|
2021-06-23T16:45:33
|
|
Add angle::BitMask for creating bit masks
angle::BitMask(n) implements the common pattern of angle::Bit(n)-1.
Bug: angleproject:6048
Change-Id: Icd56ef1504804add59d0804a7249b3035c96f9c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2984099
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
27e9883b
|
2021-06-22T12:20:08
|
|
Capture/Replay: Limit number of compile processes based on load
When replaying, for each batch a limited number of compile processes
is launched, but no all-over limit is set, so that on computers with
a low processor count and/or limited working memory the machine may
become un-responsive. Therefore, tell ninja to not spawn new processes
when the load is larger than the number of available processors.
Bug: angleproject:6078
Change-Id: I9982a139ef2346d0cf25fbd510c7aff038e48071
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2976658
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
da523f6b
|
2021-06-25T17:25:24
|
|
Trace Tests: Use hermetic depot_tools.
We no longer need to use the depot_tools in the system path.
Bug: angleproject:6102
Change-Id: I6772ceeb4c61e686d15b2638fb4348e93179e321
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2989671
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f8d2c429
|
2021-06-24T11:22:59
|
|
Capture/Replay: Add test to capture an uninitialized buffer
Handle the serialization in case the buffer is not yet set up.
Bug: angleproject:6093
Change-Id: I06a8e15d181c4ec514a334f952ce29a4026970a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982549
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e833128d
|
2021-06-24T11:20:53
|
|
Capture/Replay: Enable BufferDataTests.*
With the robustResourceInit in place these tests now pass.
Bug: angleproject:5973
Change-Id: I7b5fd991b86ede8cf85cc298d61a60d86ef07bc9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982548
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
52c47e94
|
2021-06-24T11:02:59
|
|
Capture/Replay: SimpleOperationTest.* pass now
With robustResourceInit and the hadling of the serialization
of uninitialized attachments these tests pass now.
Bug: None
Change-Id: I86af69f7e928d32570fde90b106e34d21617f0f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982547
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
8767ec15
|
2021-06-27T19:28:28
|
|
Tests: Add Bricks Breaker Quest trace
Test: angle_perftests --gtest_filter="*bricks_breaker_quest*"
Tbr: jmadill@google.com, timvp@google.com
Bug: b/192195614
Bug: angleproject:6106
Change-Id: I5301256c34d2552f1107e5718acb2faa09576fc2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2991680
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
a84ec2cf
|
2021-06-25T16:06:13
|
|
Tests: Add Mario Kart Tour trace
Test: angle_perftests --gtest_filter="*mario_kart_tour*"
Tbr: jmadill@google.com, timvp@google.com
Bug: b/192102888
Bug: angleproject:6103
Change-Id: I7b96d96144391873c6fa5a7b4b795030d9daeefd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988362
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
c3c934a3
|
2021-06-25T01:40:54
|
|
Translator: Better group ES100 texture builtins
The ES100 texture built-ins are now (similarly to ES300 ones) grouped
based on whether they include a Bias, or Lod.
Bug: angleproject:4889
Change-Id: I495af48644c68286b1b0cc2a5580566fdd22cfc9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987859
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5fc3fa9a
|
2021-06-25T10:18:06
|
|
Fix -Wimplicit-int-float-conversions.
Bug: chromium:989932
Change-Id: Id7a49a4bd925508ea0362d1e6b9d853bf860ddb9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987733
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
da17d561
|
2021-06-23T13:50:15
|
|
Trace Tests: Use xvfb consistently on Linux.
Previously there were two places where we missed the xvfb script.
This was causing the replay to fail.
Bug: angleproject:6085
Change-Id: I833916fa0cdacc163ec2bdd08831249807f319c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2979353
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bd797f75
|
2021-06-14T11:27:27
|
|
D3D11: Fix OOB write in Blit11.
This could happen for specific values of the 'dest' target.
Bug: chromium:1219082
Change-Id: Ic19a5dc4a95531f9513403ad9c97a4b4c5dc5a6f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2961070
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c75a1d6f
|
2021-06-11T23:27:33
|
|
Vulkan: SPIR-V Gen: Support the ternary operator
Bug: angleproject:4889
Change-Id: I3ac193e08fc74cc784b688cc049fb786ab68657d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957808
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7d023dac
|
2021-06-10T00:13:41
|
|
Vulkan: SPIR-V Gen: Basic support for fragment shaders
Fragment shader built-ins are implemented in this change and direct
SPIR-V generation for fragment shaders is enabled.
Bug: angleproject:4889
Change-Id: I6f92a5585f242122a81c97a9b1aa2763009161a0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2951625
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c2449441
|
2021-06-24T13:06:08
|
|
Capture/Replay: Make sure EGLImageKHR is a parsable number
For some reason on win-trace-rel the pointer value us written
as a hex number but without the leading "0x", so the number gets
interpreted as octal, and compilation fails.
Fixes: cb4f8a79a4def3dd8fd9f941d6674939e1731860
Capture: Add a specialization for TGLeglImageOES
Bug: angleproject:6036
Change-Id: I949ace542a0ad257b47fbe539893a56c1c32b0b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982551
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
|
|
e5276ca3
|
2021-06-12T17:25:12
|
|
Capture: Add capturing of framebuffer and renderbuffer IDs
Also enable the FramebufferObjectTest/* tests
Bug: angleproject:6058
Change-Id: Ia82c935e614ccc4ad2c69ccc08544ce2d302fbca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957954
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c8677c73
|
2021-06-12T17:23:42
|
|
Capture: Add a specialization for const GLuint *
Bug: angleproject:6058
Change-Id: I31cad1dd23d313aae625874e140c406747e0f4c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957953
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
78437770
|
2021-06-12T15:48:26
|
|
Capture: read four values for GL_TEXTURE_CROP_RECT_OES
This texture parameter describes a cropping region x,y, width, height.
Bug: angleproject:6057
Change-Id: I2c71f6aec1e536f42e06c19cb025889094b57a35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2956510
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
79d3a5a1
|
2021-06-12T15:27:42
|
|
Capture/Replay: Capture (Get)TexParameterxv
Bug: angleproject:6056
Change-Id: I094d80e5d6a981c01f572e0fba9b578269200bde
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957952
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f20d2b95
|
2021-06-12T15:19:42
|
|
Capture/Replay: Capture params of (Get)TexEnv calls
Bug: angleproject:6055
Change-Id: I44a7bd4b339d7834f9306a0de7baa400c640dda4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957951
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
11489df0
|
2021-06-12T15:07:25
|
|
Capture/Replay: implement CapturePointParameterfv_params
Enable tests that are now passing
Bug: angleproject:6064
Change-Id: I22d7a41b3e11556c929e4701e0c6c339e3aa7b6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957950
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
228af3ec
|
2021-06-12T14:56:45
|
|
Capture/Replay: Enable MatrixModeTest.InitialState
It simply passes
Bug: None
Change-Id: Id2388c99993aeb48d36ed96817b501c3d7bb1f36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957949
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|