|
14f8918c
|
2021-04-16T09:17:29
|
|
Migrate more scripts to python3
Test: python3 scripts/run_code_generation.py
Bug: angleproject:5707
Change-Id: I5abae69c1c6bf03cc418f10beaabc80288fa1c94
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2828979
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
f2aa9d5d
|
2021-04-11T14:55:19
|
|
Reland: Metal: Support importing external metal textures
This relands I4d4a88cfbb77d8b7508b787c7fec44073d3b11b0.
Fixes:
- uninstantiated ImageTestMetal error
- failed ImageTest.ANGLEExtensionAvailability on ARM mac.
Bug: angleproject:5763
Bug: angleproject:5814
Change-Id: I906fe52baefd6be3c6e00f594795bd527df01616
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2820178
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
|
|
0c77f3ad
|
2021-03-10T15:58:00
|
|
Vulkan: Implement shader buffers descriptor cache.
Implements a descriptor set cache for UBOs, SSBOs, and atomic counter
buffers. Storage Images and framebuffer fetch input attachments are
not yet included. Requires moving the buffer barrier handling into
ContextVk, similarly to how we handle the barriers for Textures.
The packed description key for the descriptors uses a "fast" vector
with a basic minimum size. For most cases of a few buffers this will
fit easily in stack memory, but for larger programs with many buffers
we fit this into heap memory. The key has a large upper bound due to
the high ES 3.2 requirements and the need to index several values such
as the offset and binding size.
We use dynamic offsets for uniform buffers when possible. This ensures
applications like Manhattan 3.1 that use sets of common buffers with
changing offsets hit the cache most of the time.
Because of resource limits we pick at compilation time whether to use
dynamic or static descriptor sets. Mostly this applies to tests that
use a large number of uniform buffers. A future implementation could
be smart and would recompile the program with heuristics to use a
minimal number of dynamic indices.
Reduces the number of descriptor set updates from ~300 -> ~30 per frame
in Manhattan 3.1 and in Asphalt 9 from 900+ to as low as 0 per frame.
Bug: angleproject:5736
Change-Id: I5c2a3881bec90d301dab15cc86c8a70e60674ad7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2757515
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fbfecbe2
|
2021-04-07T11:26:13
|
|
Capture/Replay: Add PPO/glProgramUniform support
Command and Conquer: Rivals requires additional frame capture API
support:
- Program Pipeline Objects
- glProgramUniform*
Bug: angleproject:5830
Change-Id: I159086f92d2dfead0a513cd17fadeda7df92f408
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809891
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
fb288312
|
2021-04-12T12:38:03
|
|
Vulkan: Consolidate mReadOnlyDepthStencilMode to mRenderPassUsageFlags
Since now ImageHelper object has a mRenderPassUsageFlags tracking how it
is been used by current RenderPassCommands, we can consolidate
mReadOnlyDepthStencilMode into a bit in the mRenderPassUsageFlags. The
read only mode is just a special attachment mode, so this makes code
more consistent and able to get rid of the extra dword for
mReadOnlyDepthStencilMode.
Bug: b/181797383
Change-Id: Ie9b7be1c18c392e5b2712bdae6ab6506de8d6d34
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821942
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5eac3169
|
2021-04-09T15:54:11
|
|
Vulkan: Support sample/render to depth texture with different LOD
Previously we supported read only depth attachment that attachment and
sample are using the same texture. It was always assuming it will be
read only if the same texture is attached to FBO and same time bound to
texture unit. But we never supported if it actually writing to depth
texture, but at the different level with sampling. This is supported
OpenGL operation as long as the levels render to is outside [base_level,
max_level]. Later on, we added support of the above operation, but
limited to color buffers. This CL extends the same support of render and
sample to the same depth texture with non-overlapping levels. Android
game black desert mobile is running into this usage case.
Bug: b/181797383
Change-Id: I7ee1d52f27603f933102ad1b098684309449c406
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819487
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
6362dcf1
|
2021-04-14T22:47:31
|
|
JsonSerializer: Add tests for sorting and non-unique keys
Bug: angleproject:5853
Change-Id: I85e64900a58a2706087b71769470bb33fb4e8522
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824434
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
212849e9
|
2021-04-13T22:54:10
|
|
Capture: store some array values as vector
This reduces the number of values that are added with
the same key.
Bug: angleproject:5853
Change-Id: Ie13408cc7ad419dec06746dc38b753f76292fae6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824433
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
3116c91c
|
2021-04-13T18:02:49
|
|
JsonSerializer: Sort group members before writing them out
Use a multimap to accumulate the values added to a group and
then add them to the Json group when it is finished.
Bug: angleproject:5853
Change-Id: Idbe82acc5f9a9671063f02bd1af039575aa52e87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824432
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
90d18b03
|
2021-03-10T10:31:39
|
|
Upgrade overlay fonts generator to Python 3
Bug: angleproject:5707
Change-Id: I809669d7a7de16ed2e098f59067c8e1d9c44a75c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2773292
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
9254eb8e
|
2021-04-13T18:00:49
|
|
Capture: Fix storing strings instead of scalars
Bug: angleproject:5853
Change-Id: Id63922d881ce7778236e4ab3417bf9414fc0e59b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2824431
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fdfb2b82
|
2021-04-09T15:42:12
|
|
Capture/Replay: Support non-binary GLboolean
This CL contains two changes. One to how we print out GLboolean
values, and another to how we capture GLbooleans.
According to the spec, anything non-zero can be considered
GL_TRUE when setting state:
When the type of internal state is boolean, zero integer or
floating-point values are converted to FALSE and non-zero values
are converted to TRUE.
Dota Underlords is using 0xFF for GL_TRUE.
Before the change, this manifested as:
// logcat
glColorMask(context = 4, red = kUnknownGLenumString,
green = kUnknownGLenumString,
blue = kUnknownGLenumString,
alpha = GL_FALSE)
// trace
glColorMask(GL_INVALID_ENUM, GL_INVALID_ENUM, GL_INVALID_ENUM, GL_FALSE);
After:
// logcat
glColorMask(context = 4, red = 0x00FF,
green = 0x00FF,
blue = 0x00FF,
alpha = GL_FALSE)
// trace
glColorMask(0xFF, 0xFF, 0xFF, GL_FALSE);
Test: MEC for Dota Underlords
Bug: b/185192780
Bug: angleproject:5857
Change-Id: Ie53aeba8d8a40f91ee375467b325d8e6be053a98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821947
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7a95a620
|
2021-04-09T16:00:26
|
|
Capture/Replay: Support glGetQueryiv
Test: MEC for Dota Underlords
Bug: b/185192780
Bug: angleproject:5857
Change-Id: I59ced20117bde50b5b734a82cb2e5966d1b27227
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821946
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
4f723d2c
|
2021-04-09T15:42:36
|
|
Capture/Replay: Support glBufferStorageEXT
Add the entrypoint, and when a buffer is immutable, recreate it
with glBufferStorageEXT.
Test: MEC for Dota Underlords
Bug: b/185192780
Bug: angleproject:5857
Change-Id: I29b934bdff4185d19594e49e9387dd79c6031aa5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821945
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9c51f93d
|
2021-04-12T16:49:53
|
|
Don't call {begin|end}DebugUtilsLabelEXT() when not enabled
The ContextVk::handleDirtyEventLogImpl() and ContextVk::endEventLog()
methods called the {begin|end}DebugUtilsLabelEXT() methods when the
VK_EXT_debug_utils extension is not enabled. This manifests when
enabling/using VVL stand-alone (i.e. when the the debug-utils
extension is not also present).
Bug: b/183133198
Change-Id: I043b174d457a8796831184c092661f24b33c1db4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821943
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
fb3173b9
|
2021-04-13T15:05:44
|
|
FrameCapture: write the float values with high precision
Because values might be the result of calculations that require some
accuracy, writing the float values with the default formatting may
not be sufficient to replay correctly, therefore format the values
so that they carry more digits.
In addition, enable the test that are now passing.
Bug: angleproject:5846
Bug: angleproject:5847
Change-Id: I305552a1ffa3cded6326df59883912e14c95f5f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822257
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2d873e0c
|
2021-03-01T14:38:39
|
|
GL: Workaround to sanitize amdgpu renderer strings.
On Linux with the amdgpu driver, the GL_RENDERER string contains
precise kernel and DRM version info. We should sanitize this info
before using these strings for user privacy.
Bug: chromium:1181193
Change-Id: I047d1abf5b51412b4258a021761cc450385ef0fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2727658
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c8ee13c7
|
2021-04-02T12:19:33
|
|
Vulkan: Fix a validation bug in glBeginTransformFeedback
Add logic to check the program or the pipeline before erroring out when
validating glBeginTransformFeedeback.
Bug: angleproject:5557
Test: ProgramPipelineXFBTest31.VaryingIOBlockSeparableProgramWithXFB*
Change-Id: I0df8a8d87b3632745bc91dc2673f2fac31c6cdb1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2743440
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
18c6d628
|
2021-03-09T13:46:13
|
|
GL: Support VAOs without native VAOs.
Share the default VAO state between all frontend VAO when
there is no native VAO support. Forcefully sync state every
time a new frontend VAO is bound.
Bug: angleproject:5577, chromium:1167179
Change-Id: Ieaedb5108ad28fc78e7e58b74495639c5246bb05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2665266
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
065c2329
|
2021-04-08T11:59:43
|
|
Reland "Vulkan: Add features to modify sampling parameters"
This reverts commit a51b57fa2dc73f8bc8acdf0b818cc0315fb23d75.
Original change's description:
> Revert "Vulkan: Add features to modify sampling parameters"
>
> Bug: b/167404532
> Change-Id: Iae19dfe165074e8c01216312bddd744c4fb504a4
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2510012
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: b/167404532
Change-Id: I2c756b8eb0f61701ef6e33275e557bc199a4d3b4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815259
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
faa86bc9
|
2021-04-13T14:19:59
|
|
Capture/Replay: Serialize only a hash of the shader binary
It doesn't make much sense to keep the actual values and it makes
the diff needlessly large when the binaries differ.
Bug: angleproject:5856
Change-Id: I55664d6cb60ef680669c1243c2eabcb67cd4db23
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822256
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6d2f9cb4
|
2021-04-13T13:56:13
|
|
JsonSerializer: add method to store only a hash for vectors
This can be used to make the Json comaprison less noisy.
Bug: angleproject:5856
Change-Id: I57df41eed3926647aaf8bcf97a7aea050e1c3d51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822255
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
79402fbd
|
2021-04-13T14:15:19
|
|
JsonSerializer: Fix rapidjson define usage
The correct define is ANGLE_HAS_RAPIDJSON
Bug: angleproject:5858
Change-Id: I21e3f3e632d5ceb4fce43f1d6be34e4fbbdafbc6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822254
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
15f4925a
|
2021-04-12T15:38:10
|
|
Restore EGL_EXT_buffer_age for SwiftShader Vulkan
EGL_EXT_buffer_age was previously disabled for SwiftShader Vulkan
because of an Android test timing out on Cuttlefish when the buffer
age is queried. aosp/1672445 addresses the root cause of the timeout,
so EGL_EXT_buffer_age can be supported again.
Bug: b/182521420
Bug: angleproject:3529
Change-Id: I5949f721316855d9138eb9f657a6df4e7b49ed71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821750
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@google.com>
|
|
3813c361
|
2021-04-12T11:45:46
|
|
Vulkan: More perf warning for vertex format conversion
The perf warning was previously only issued when a GPU buffer had to be
converted. This change adds a warning when client data needs to change
format too.
Bug: b/184355822
Change-Id: I3539e22f277593d60e5e1ce172baf7b8db0477fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2821751
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
fdba40fe
|
2021-03-31T12:52:00
|
|
Reland "Fix multithreaded crash on draw commands on D3D11 backend."
This is a reland of 8b9889bf62272fea2495331b622bde1f7c781bd0
The previous CL relied on a define which now only exists in
a specific gn configuration. This reland removes D3D11 as a
multithread-supported platform in the test configuration.
Original change's description:
> Fix multithreaded crash on draw commands on D3D11 backend.
>
> A crash can occur if thread A is executing eglDestroyContext while
> thread B issues a draw call, if the threads are interleaved in such a
> manner that a makeCurrent occurs without triggering a change to the
> global context and a dirtyAllState call. We handle that case by
> explicitly making current the proper contexts in the eglDestroyContext
> call.
>
> A test has been added that triggers a crash without this fix when
> running on the D3D11 backend. In addition, all of MultithreadingTest
> is enabled for the D3D11 backend.
>
> Test: Ran MultithreadingTest. Test exhibits a crash before this
> change, and does not after this change. Also ran:
> dEQP-EGL.functional.sharing.gles2.multithread.*
> dEQP-EGL.functional.multithread.*
>
> Bug: b/183756357
> Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Doug Horn <doughorn@google.com>
Bug: b/183756357
Change-Id: I5be9a011ea99a69730eddc9e4da23bcf92ed3bf2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815243
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Doug Horn <doughorn@google.com>
|
|
923f6a6f
|
2021-04-06T15:30:26
|
|
Ignore internal format attribute for YUV D3D11 EGLImages
Internal format doesn't play any role in this case, and causes confusion
due to mixing sized and unsized formats resulting in more complicated
code in Chromium.
Bug: angleproject:5538, chromium:1116101
Change-Id: Ie200026f014850053108aa0416e1da15bcda7b84
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2808855
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f92eb43c
|
2021-03-25T18:33:19
|
|
Vulkan: All builtins of gl_out needs to be considered as active
All builtins of gl_out, like gl_out[].gl_Position need to be
considered active as well.
Bug: angleproject:5557
Test: dEQP-GLES31.functional.tessellation.shader_input_output.gl_position_tcs_to_tes
Change-Id: I74aeef86be573dc8df17472b88acd521032d7921
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2786630
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0273ea3f
|
2021-04-06T16:23:39
|
|
Vulkan: Use RGBA16_FLOAT for buffer format fallback
... instead of RGBA32_FLOAT. VK_FORMAT_R16G16B16A16_SFLOAT has
mandatory support for vertex buffers.
Bug: b/184163871
Change-Id: I7ef2933cd15e46bb984e6fd1b020d2ec15b9c60e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2807780
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b17a9317
|
2021-04-09T14:39:37
|
|
Vulkan: damage rectangles must never be pre-rotated
Remove the SurfaceVk::present() code that rotated damage rectangles
and the feature flag that controlled that rotation.
The Vulkan specification was changed so that the rectangles provided
to the VK_KHR_incremental_present extension must never be pre-rotated.
The spec change requires the same behavior on all platforms (just in
case), even though Android is the only platform known to support
rotation.
FYI: the Vulkan spec change was merge request 4442.
Bug: b/182930524
Change-Id: I5128fd76e718f3d964c9091830bcc5886d265543
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818826
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
fedb85b7
|
2021-04-07T16:25:54
|
|
Vulkan: Warn for unsupported vertex attrib format
Provide both a performance warning and a debug-util label (for AGI)
when loading a vertex attribute requires a format conversion.
Bug: b/184355822
Change-Id: Id8cbb34f70214327e1f5cc96559e4ea66dc17889
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2801154
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
af58be7e
|
2021-04-08T17:07:53
|
|
Add TextureType::Buffer to RecordBindTextureTypeError()
Bug: b/184767884
Change-Id: I67098de503748c86f2b957db76539e73c87bd179
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818818
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
ba7531da
|
2021-04-07T12:51:17
|
|
Add tests that use, then update, then use buffers
This triggers vk::DynamicBuffer allocations in BufferVk.
Bug: angleproject:5719
Change-Id: Ida855b23618497f76102e55f89ab1678f9c08753
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809856
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e249239c
|
2021-04-08T09:46:48
|
|
Vulkan: Add featue flag to force highp to mediump in fragment shader.
Adding feature flag that forces highp in fragment shader to mediump. It
is disabled by default. You can enable it for experiment.
Bug: b/184850002
Change-Id: I73980be4ad160eb1b17a3a3ecfc09f2e4aeb468c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815240
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
fc189386
|
2021-04-08T21:51:46
|
|
Revert "Fix multithreaded crash on draw commands on D3D11 backend."
This reverts commit 8b9889bf62272fea2495331b622bde1f7c781bd0.
Reason for revert: Breaks CI
Original change's description:
> Fix multithreaded crash on draw commands on D3D11 backend.
>
> A crash can occur if thread A is executing eglDestroyContext while
> thread B issues a draw call, if the threads are interleaved in such a
> manner that a makeCurrent occurs without triggering a change to the
> global context and a dirtyAllState call. We handle that case by
> explicitly making current the proper contexts in the eglDestroyContext
> call.
>
> A test has been added that triggers a crash without this fix when
> running on the D3D11 backend. In addition, all of MultithreadingTest
> is enabled for the D3D11 backend.
>
> Test: Ran MultithreadingTest. Test exhibits a crash before this
> change, and does not after this change. Also ran:
> dEQP-EGL.functional.sharing.gles2.multithread.*
> dEQP-EGL.functional.multithread.*
>
> Bug: b/183756357
> Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Doug Horn <doughorn@google.com>
Bug: b/183756357
Change-Id: I2e9d6385576330f84623d7dafbf690642fcb441f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815242
Commit-Queue: Doug Horn <doughorn@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
0261b1d3
|
2021-03-31T10:48:08
|
|
PPO: Fix updating sampler uniforms between draws
Updating sampler uniforms when using PPOs is currently broken, since the
Context/State use the currently bound ProgramExecutable which belongs to
the PPO, but the updates only happen to the Program's executable that
the uniform belongs to.
This change updates Program::updateSamplerUniform() to update any PPO
ProgramExecutables with the updated texture information when a Program's
sampler uniforms are updated, so the Context/State use the correct data.
Bug: b/182409935
Test: ProgramPipelineTest31.SampleTextureAThenTextureB
Test: SamplersTest31.SampleTextureAThenTextureB
Change-Id: I3c4e156c6e0c781e706f321f0bd12baf484ff42a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2797951
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8b9889bf
|
2021-03-31T12:52:00
|
|
Fix multithreaded crash on draw commands on D3D11 backend.
A crash can occur if thread A is executing eglDestroyContext while
thread B issues a draw call, if the threads are interleaved in such a
manner that a makeCurrent occurs without triggering a change to the
global context and a dirtyAllState call. We handle that case by
explicitly making current the proper contexts in the eglDestroyContext
call.
A test has been added that triggers a crash without this fix when
running on the D3D11 backend. In addition, all of MultithreadingTest
is enabled for the D3D11 backend.
Test: Ran MultithreadingTest. Test exhibits a crash before this
change, and does not after this change. Also ran:
dEQP-EGL.functional.sharing.gles2.multithread.*
dEQP-EGL.functional.multithread.*
Bug: b/183756357
Change-Id: Ic6f76a062868b2f3b4e60d29dc087ec180bfb7cd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2798591
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Doug Horn <doughorn@google.com>
|
|
d3e1a7ff
|
2021-03-29T16:21:23
|
|
Reset mCurrentGraphicsPipeline in ProgramExecutableVk::reset
ContextVk::mCurrentGraphicsPipeline should be reset during
ProgramExecutableVk::reset() since programInfo.release() frees the
PipelineHelper that it's pointing to. This has resulted in several
use-after-free errors, which this CL will prevent in the future.
Bug: angleproject:5624
Bug: b/182409935
Change-Id: I847bb7eb5b593c89b84f0fbbca23ea5367f5f55c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2792861
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
5af6306a
|
2021-03-31T23:23:52
|
|
Vulkan: Update layer provoking vertex for geometry shaders
Set the GS layer provoking vertex value to
GL_LAST_VERTEX_CONVENTION if the provoking vertex extension
is enabled. Otherwise, use GL_FIRST_VERTEX_CONVENTION as
vulkan follows this convention for provoking vertex.
Tests: dEQP-GLES31.functional.geometry_shading.layered.layer_provoking_vertex_*
Bug: angleproject:5452
Change-Id: Ie385f3b713486c54114dbfcefd799d180701bb60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2799033
Commit-Queue: Brandon Schade <b.schade@samsung.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d49f7351
|
2021-04-07T08:46:16
|
|
Capture/Replay: Ignore deletes of buffer 0
Per the spec for DeleteBuffers:
> Unused names in buffers are silently ignored, as is the value zero.
Haven't seen an app delete unknown buffers yet, but just hit one that
deletes 0 a lot.
Test: MEC for Disney Tsum Tsum
Bug: b/184770989
Bug: angleproject:5835
Change-Id: I2070b753d89fdcf390203072cd7ec2c9f915089c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2811643
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
efc53d0f
|
2021-04-03T21:30:15
|
|
Vulkan: Refactor to descriptor offset array.
This is in preparation for using dynamic offsets for other sets than
the default descriptors.
Bug: angleproject:5736
Change-Id: I546e688ad57a35b380f8d7f303ffc0c62773ac18
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2804813
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
2ef1e0fc
|
2021-04-06T23:07:41
|
|
perf_test_runner: Enable all trace tests.
Will allow running "null" Mock ICD tests.
Also fixes a crash running the Mock ICD with the overlay.
Bug: angleproject:5736
Change-Id: I42e3943a0de00dbab3ee125f1946afd22b38fec6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809096
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6a606231
|
2021-04-06T19:55:47
|
|
Add Mesa Vendor ID
ANGLE doesn't recognize the Mesa vendor ID, leading to a crash in
GetVendorString(). This is exposed when trying to capture traces of
ANGLE captures with RenderDoc.
Bug: angleproject:5824
Change-Id: I6c45a01dba78fa6057df26b38ca3db89cacf865e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809878
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
fddbc9c7
|
2021-03-04T20:45:01
|
|
capture: Implement capturing GLES1 vertex pointers.
Implement capturing glVertexPointer, glTexCoordPointer, glNormalPointer,
glColorPointer and glPointSizePointerOES using a new
CaptureVertexPointerGLES1 helper function.
This is done by using fixed indices for gClientArrays that are retrieved
from the GLES1Renderer.
Bug: angleproject:5751
Change-Id: I6c774ff21942ea3422c4c77a615f88299901c0ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2773288
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
2489a0c1
|
2021-04-06T14:55:11
|
|
Fixed OpenCL headers for Windows
Bug: angleproject:5761
Change-Id: I29d1fd3bf862728a3e78418a4f98219828394452
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2807717
Commit-Queue: John Plate <jplate@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6d905c76
|
2021-04-01T13:58:42
|
|
Vulkan: Remove initImmutableImage and use initImage instead
This is follow up of crrev.com/c/2368038. There was concern that
initImmutableImage and initImage are a bit duplicated. This CL gets rid
of initImmutableImage and uses initImage instead.
Bug: b/181800403
Change-Id: I2c73c7ce979792cc762214f1e5ef9978eeab6212
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2800422
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
92d3912d
|
2021-04-01T10:49:14
|
|
Vulkan: Remove maxLevel and immutable from ImageHelper::initExternal
Now that we have removed mBaseLevel and mMaxLevel from ImageHelper class
in previous two CLs. The initExternal function can be modified to not
pass in base/max level information. This CL also removes immutable from
argument and let caller directly pass in firstLevel to it.
Bug: b/181800403
Change-Id: I595c1faffabc7582af35a9578b2ecdf00c39207f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2800414
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f34b40da
|
2021-04-06T17:56:48
|
|
Vulkan: Suppress draw-time push constant VVL warnings.
VUID-vkCmdDraw-None-02698
VUID-vkCmdDrawIndexed-None-02698
VUID-vkCmdDrawIndirect-None-02698
VUID-vkCmdDrawIndirectCount-None-02698
VUID-vkCmdDrawIndexedIndirect-None-02698
VUID-vkCmdDrawIndexedIndirectCount-None-02698
VUID-vkCmdDispatch-None-02698
Bug: angleproject:5821
Change-Id: Ic8ca6178ce50b409ac8d256848654f43f91fae8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2808854
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
afd32d8e
|
2021-03-30T15:50:57
|
|
Vulkan: Remove mMaxLevel from ImageHelper class
This CL removes mMaxLevel from ImageHelper class. Instead, it now uses
front end's max level information when possible.
Bug: b/181800403
Change-Id: Ie0f6bd11e3ca0d4ddfc98f21261396c4d71b7140
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2796153
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
4756d5e6
|
2021-03-22T17:28:30
|
|
Mark most draw modes valid when no program is bound
gpu_angle_passthrough_fuzzer discovered a crash when glDrawArrays() is
called without a program bound. This was caused by assuming it's an
error to draw certain primitive types without a program bound, which is
incorrect. This fix is to mark all draw modes except Patches valid when
there is no program bound. Patches is handled separately by TS
validation.
Bug: chromium:1185267
Bug: angleproject:5483
Test: gpu_angle_passthrough_fuzzer
Test: SimpleOperationTest31.DrawWithoutProgramBound
Test: KHR-GLES31.core.draw_indirect.basic-mode-*adjacency
Change-Id: I294078b8695e0b8f36d3b7ad3c1aa71d2a275038
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2780971
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
5ee3826e
|
2021-04-01T16:23:27
|
|
Support GL_EXT_texture_type_2_10_10_10_REV on D3D backend
Bug: angleproject:5817
Change-Id: Ie572a252946f87d125f9074f2144928bb43d78b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802861
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
|
|
08b7c55c
|
2021-03-30T13:51:04
|
|
Vulkan: Remove mBaseLevel from ImageHelper class
This removes mBaseLevel from ImageHelper class. With the
mFirstAllocatedLevel tracking exactly which GL level has been allocated,
this cached mBaseLevel is no longer needed.
Bug: b/181800403
Change-Id: I99d66c93b0c8f1bd20a5811b51f512a27927201e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2795275
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
41a34d6b
|
2021-04-03T16:43:58
|
|
Vulkan: Use constants for descriptor types.
This will make it easier to substitute in the future.
Bug: angleproject:5736
Change-Id: I0686c4c396e9f12cfb71253ccd9aa491a7942826
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2804812
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ad55bdbe
|
2021-04-02T22:59:07
|
|
GL: Align emulated ETC1 handling with other backends
Use emulatedEtc1 limitation to hide it from WebGL.
Bug: chromium:1048244
Change-Id: Id2fd6b5d934f3caeb455e8f0fc198445e8c00084
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2803136
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
b5a71140
|
2020-08-20T17:24:21
|
|
Vulkan: Make storage actually immutable for immutable textures
The immutable textures are intended to be "immutable". Right now we are
still re-allocating VkImage object based on base_level and max_level.
This causes a problem for rendering to a level that is beyond
[base_level, max_level], which is totally within OpenGL spec. This CL
makes an immutable texture always allocate from 0 to max levels that are
specified by a glTexStorage call. Changing base_level will not trigger
re-allocation of VkImage object.
Bug: b/181800403
Change-Id: I4b4ddea17b7f6f7bfd8f36bfe8bb3a35b5c180b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2368038
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
969b8f31
|
2021-03-25T12:40:47
|
|
Vulkan: Fix geometry shader validation with vertex shaders
Added validation to disallow usage of geometry shaders
without a vertex shader
Bug: angleproject:5579
Test: KHR-GLES32.core.geometry_shader.api.fs_gs_draw_call
Test: KHR-GLES32.core.geometry_shader.api.pipeline_program_without_active_vs
Change-Id: Ieeec544d514ac772416ab0427c1c1c5058276f98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2796151
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
4cdbdf90
|
2021-03-25T18:54:50
|
|
Vulkan: Assign XFB location first then assign varying location
Varying location is determined based on XFB location. If the transform
feedback stage is Vertex, there is no problem. But if the transform
feedback stage is GS or TES, previous implementation can cause shader
interface mismatch.
Bug: angleproject:5557
Test: KHR-GLES32.core.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_in
Change-Id: I1ecc7913a178c9e674307c528d1bdf13aabcb665
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2784713
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
78dde332
|
2021-03-29T17:31:52
|
|
Move restricted traces to CIPD.
All traces are now stored as DEPS entries in CIPD. The auto-generation
script generates the DEPS entries. Note that we don't include DEPS in
the list of generated outputs to simplify other rollers. Also we update
auto-generation to include full sources list to allow 'gn analyze' to
work successfully.
Usees a trace fixture for common code. This will enable a more compact
trace without as much repeated code. We must land a set of re-trace
traces to avoid breakage.
Also includes a python script for uploading new traces to CIPD. The
script first checks if traces are already present in the cloud, and if
so it skips the upload. It will take a while to complete as the number
of traces grows larger as it takes a few seconds per trace.
The traces in this patch are also re-traced to use the common fixture
code instead of including duplicated code in each trace. They now form
a simple common interface and the autogenerated cpp is now simply a list
of properties.
I've also updated the capture/replay tests to use the simpler common
entry point integration. There is less auto-generated glue code now.
We now use a new serialized string query extension instead of calling
directly into ANGLE's internals.
Also includes a docs update. The capture/replay sample is broken and
we'll need to update it in a follow-up CL. Also includes a few necessary
fixes to the retracing script.
Bug: angleproject:5811
Change-Id: I977bc6dc56843c8966377fc445ae97e91e17319a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2797833
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
323c5f24
|
2021-03-29T17:47:53
|
|
Validate PPO sampler uniforms
"Command & Conquer: Rivals" uses PPOs and was hitting the following
assert:
angle::Result ContextVk::updateActiveTextures(const gl::Context *context)
{
...
for (size_t textureUnit : activeTextures)
{
gl::Texture *texture = textures[textureUnit];
gl::TextureType textureType = textureTypes[textureUnit];
ASSERT(textureType != gl::TextureType::InvalidEnum);
This is the same assert that is generated by the test
ProgramPipelineTest31.DifferentTextureTypes which is currently being
skipped since it's known to fail.
This CL refactors sampler validation into the ProgramExecutable to allow
PPOs to take advantage of the shared code and behave correctly, since
the necessary data is already copied into the PPO's ProgramExecutable
via ProgramExecutable::updateActiveSamplers(). This also takes advantage
of the subject/observer pattern that's already established between
programs and PPOs to ensure only the PPOs that the program is a part of
are updated when a program's sampler uniforms are updated.
Bug: angleproject:3570
Bug: b/182409935
Test: ProgramPipelineTest31.DifferentTextureTypes
Change-Id: I3d34efd66dc85e7ff23a8422cb14d5f90a5f7085
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2792862
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
9b0911a0
|
2021-04-02T12:46:37
|
|
Add GL_ANGLE_get_serialized_context_string.
This will provide a front-door entry point where we can get
a serialized string representing the context state. Previously
we would have to call ANGLE internal directly.
This will enable a refactor of the replays to work more like
standalone plugin libraries.
Bug: angleproject:5811
Change-Id: I5a97d7aa3cd70c49199264c2eb7ca953943ac3c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2803391
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
67e4aff5
|
2021-04-02T13:17:00
|
|
Fix rapidjson build error in Skia.
Instead of using defines in the header, use the same approach as we do
with frame capture by defining a stub "mock" cpp file.
Bug: angleproject:5805
Change-Id: Ief1cb6497ddafc9656bb0e7d6a921eff3610a7fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2801695
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f54191ab
|
2021-03-25T12:27:02
|
|
Vulkan: Add YUV G8_B8R8_2PLANE_420_UNORM support.
Add support for YCbCr_420_888 and YCrCb_420_888 formats,
more commonly known as NV12 and NV21.
Bug: angleproject:5773
Change-Id: I1568d543c221ad110e7f199eb2ffd5df23a6134e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2787251
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b3a8033d
|
2021-03-31T09:34:00
|
|
JsonSerializer: use stubs when building without rapidjson
Bug: angleproject:5805
Change-Id: Ibf51b8b75c3feb6efdef969effb3f50e2474c6b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2795772
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
256100b2
|
2021-04-02T01:45:14
|
|
Revert "Metal: Support importing external metal textures"
This reverts commit 2ec3e0a1e6890da56de9dfd3da5c9f31a3f7fbb7.
Reason for revert: Test suite ImageTestMetal never instantiated https://anglebug.com/5814
Original change's description:
> Metal: Support importing external metal textures
>
> via KHR_image_base and ANGLE_metal_texture_client_buffer
>
> Bug: angleproject:5763
> Change-Id: I4d4a88cfbb77d8b7508b787c7fec44073d3b11b0
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2757811
> Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:5763, angleproject:5814
Change-Id: Ia862aa37a6c914f6e21f9b3121c7c36d449475ea
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2801155
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
2ec3e0a1
|
2021-03-13T22:17:49
|
|
Metal: Support importing external metal textures
via KHR_image_base and ANGLE_metal_texture_client_buffer
Bug: angleproject:5763
Change-Id: I4d4a88cfbb77d8b7508b787c7fec44073d3b11b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2757811
Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
46769f82
|
2021-03-30T15:57:02
|
|
Don't append newline to empty InfoLog stream.
Users were seeing different behavior when querying GL_INFO_LOG_LENGTH
with ANGLE because ANGLE was always adding a newline to the InfoLog.
Bug: chromium:1191293
Change-Id: I50f56326871cdd2f6614f5b1622257845721244c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2795164
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4ac6ea2a
|
2020-07-18T21:05:37
|
|
Metal: implement ANGLE_device_metal extension.
Allow user to query internal MTLDevice used by Metal back-end.
Bug: angleproject:2634
Change-Id: I9b0a6eaad8c634069f43e47d5f4f88f61da35f74
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2757810
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e1ff28d4
|
2021-03-12T13:35:42
|
|
GLX: Always call XSync on creation/destruction of WindowSurfaces
ANGLE was checking that it had opened the connection before calling
XSync upon initialization. However, clients may pass in a connection
and ANGLE must sync after creating a GLXWindow with the connection.
This wasn't happening and was causing issues in Chrome.
Bug: chromium:1172803
Change-Id: Ieb2cbfaa226f6d066030f42d8e25b1d9c34779f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2757507
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fd3b8faf
|
2021-03-30T11:55:49
|
|
Vulkan: Split fragment shader from ColorAttachmentAndAllShadersRead
Even though it is not common usage case that the same texture is used as
attachment and texture, but aztec ruins is using it. And earlier version
of gfxbench's T-Rex also running into this. So performance is still
important. This CL splits the texture from fragment shader usage case
out so we can have lighter barrier.
Bug: angleproject:5780
Change-Id: Ifdcbfe24488fdac62826c5af6ecfbb05f87c0499
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2795269
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
aac1b494
|
2021-03-26T21:52:30
|
|
Vulkan: Remove spam output regarding pipeline cache
The warning regarding pipeline cache not having been found in the blob
cache is of little utility. Between emitting it once and not at all,
concensus was on the latter.
Bug: angleproject:4722
Change-Id: I6d6b2758035e8c5e880b77c5f5be84772cb58a18
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2788812
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ae937aae
|
2021-03-19T20:10:42
|
|
Detach separable shaders
This effectively reverts the following CL:
Vulkan: Don't detach separable shaders in Program::detachShader()
https://chromium-review.googlesource.com/c/angle/angle/+/2084399
Bug: angleproject:3570
Bug: b/182409935
Test: ProgramPipelineTest31.DetachAndModifyShader
Change-Id: Id69f732d1d4f3eea70b2de8c008452878eaf1682
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2776267
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fe3a9ffb
|
2021-03-17T18:05:40
|
|
Support linking PPOs without attached Shaders
The application "Command & Conquer: Rivals" uses the following pattern:
// Create and link VS, save binary data
glCreateProgram()
glAttachShader()
glLinkProgram()
glGetProgramBinary()
// Create and link FS, save binary data
glCreateProgram()
glAttachShader()
glLinkProgram()
glGetProgramBinary()
...
// Create VS, load binary data
glCreateProgram()
glProgramBinary()
// Create FS, load binary data
glCreateProgram()
glProgramBinary()
...
glUseProgramStages(GL_VERTEX_SHADER_BIT)
glUseProgramStages(GL_FRAGMENT_SHADER_BIT)
glBindProgramPipeline()
Later, when issuing the draw command that uses the PPO, the PPO must be
linked with the Programs that were loaded via binary data. Those
Programs don't have any Shaders attached, just linked. This CL adds
support for linking Programs without attached Shaders.
Bug: b/182409935
Test: ProgramPipelineTest31.ProgramBinary
Change-Id: Ic5a4776e1374322665f45fbbcbf955838d093d02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2770685
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
416eb8a3
|
2021-03-25T13:27:33
|
|
Check return value of allocateResource instead of asserting
allocateResource can fail if the device has been removed or there
is no more video memory. Hence, the return value needs to checked
for errors instead of simply asserting that the result doesn't equal
angle::Result::Stop.
Bug: chromium:1192771
Change-Id: I794f288f16917ef50e45f6f3ab60ee3ebc5941d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2787249
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
e3b9dbef
|
2021-03-17T18:01:02
|
|
Update PPO's executable when attached program is re-linked
When a program that's being used by a PPO is successfully re-linked, the
PPO's ProgramExecutable needs to be updated. This takes advantage of the
subject/observer pattern that's already established between programs and
PPOs to ensure only the PPOs that the program is a part of are updated.
Bug: b/182409935
Test: ProgramPipelineTest31.ModifyAndRelinkShader
Change-Id: Idcc11e7e819b4a9bef02bdd71afc8ea58111acc6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2770684
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0af8cfa7
|
2021-03-17T17:43:03
|
|
Reland "Save/Load missing members"
This is a reland of b2e76cf58fc012b068aab4716a432bb8951e93e3
Always call saveLinkedStateInfo() so we fill in the necessary values
with valid data for monolithic programs also.
Original change's description:
> Save/Load missing members
>
> There are several class/struct members that are missing when a program
> is serialized/deserialized. This leads to errors when attempting to link
> programs that have been deserialized. For example, when drawing with a
> PPO that contains programs which were created with glProgramBinary().
>
> This CL adds saving/loading the missing members.
>
> Bug: b/182409935
> Change-Id: I637c6cd8c174acd6da8d51433893323a32e5d7c0
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2770683
> Commit-Queue: Tim Van Patten <timvp@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Bug: b/182409935
Bug: angleproject:5793
Change-Id: I07ca8f5dfed8c0a9eac3a0defb1602d2ba021c5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2782189
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
cee0bfd6
|
2021-03-15T14:39:30
|
|
Capture/Replay: serialize context to JSON
Bug: angleproject:5715
Change-Id: Ibc6897d7567fedab4a2ba7bf8d2bd5a7e496bd4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2760325
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b88fade2
|
2021-02-23T22:10:55
|
|
capture/replay: impl CaptureGetRenderbufferImageANGLE_pixels
Bug: angleproject:5646
Change-Id: I378a72dc944f8b8ef3d61a724eedecdbb725ee2e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2718173
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f16fd9ea
|
2021-03-25T21:33:31
|
|
Only enable framebufferMultisample with framebufferBlitANGLE
Based on [1], GL_ANGLE_framebuffer_multisample requires
GL_ANGLE_framebuffer_blit, so only enable framebufferMultisample with
framebufferBlitANGLE.
[1] https://www.khronos.org/registry/OpenGL/extensions/ANGLE/ANGLE_framebuffer_multisample.txt
Bug: chromium:1192060
Change-Id: I44e8310d5a94578c0bb7e1d30a7276657965366c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2785394
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
37d9a2f4
|
2021-02-23T21:08:01
|
|
capture/replay: implement CaptureGetTexImageANGLE_pixels
Bug: angleproject:5646
Change-Id: Ia4ae0fc76eae4f9c8c133b0501eb792e794c4cfc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2718172
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9a025fd4
|
2021-03-13T22:48:13
|
|
Capture/Replay: add frontend feature to force capture limits
Some of the limits set when FrameCapture is enabled are reflected in
the serialized context. In order for capture/replay tests to pass
these limits may also be needed to be enforced when replaying. Add a
fronten feature enable_capture_limits for this and use it in the
capture replay test script.
Patch authored by gert.wollny@collabora.com.
Bug: angleproject:5750
Change-Id: I3d333d22fe65c12dd5aa5f263d19a2c1568541c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2790301
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e0b9d4f7
|
2021-03-15T11:25:39
|
|
libAngle: Add Json context serializer library
Bug: angleproject:5715
Change-Id: I42319fe30e42d49d7e817b14c211b5ba82a94a42
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2760324
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
51886f57
|
2021-03-17T12:41:10
|
|
context: Remove endl, since INFO already adds them.
Removes redundant std::endl.
Bug: angleproject:5751
Change-Id: Ia7e0d7c4550c2565a3787d433ea245db95856b30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2773291
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8114ca19
|
2021-03-09T15:50:22
|
|
capture_gles_3_2: Set read buffer for glGetPointerv.
As required by the GLES1 VertexPointerTest.
Bug: angleproject:5751
Change-Id: I889d136a2f76b0b9c256ffc9176c08a8c2b03a08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2756534
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
58502aa5
|
2021-03-04T20:31:31
|
|
capture_gles_1_0: Implement capture functions.
Implement various capture functions as required by the GLES1 tests
and GLES1 applications like Dr. Driving.
Implements glMultMatrixf, glTexEnvxv, glLightxv, glLoadMatrixf and
glGetFixedv.
Bug: angleproject:5751
Change-Id: Id22899d755a9126f91b37eeea4619d6a03636f8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2756533
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
776c6015
|
2021-02-26T00:00:57
|
|
Vulkan: Call glslang at compile time
With this change, the ANGLE translator immediately compiles the
generated GLSL into SPIR-V with glslang and discards the source. This
is in preparation for generating SPIR-V directly, by making the frontend
and backend already able to digest it.
This change also allows the expensive glslang calls to be parallelized,
improving the following perf test by about 20%:
LinkProgramBenchmark.Run/vulkan_compile_and_link_multi_thread
Previously, the test was run as such in the Vulkan backend:
Main Thread 1 Thread 2
Compile1 --->
Compile2 --------------------->
Translator Translator
<---
<---------------------
Link
glslang
for
shader1
glslang
for
shader2
Done
With this change, it is run as such:
Main Thread 1 Thread 2
Compile1 --->
Compile2 --------------------->
Translator Translator
glslang glslang
<---
<---------------------
Link
Done
glslang_wrapper_utils no longer interacts with glslang! A rename will
follow.
Bug: angleproject:4889
Change-Id: If4303e8ba0ba43b1a2f47f8c0a9133d0bee1a19a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2721195
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f28d63e9
|
2021-03-24T11:14:24
|
|
Vulkan: Enable glBlitFramebuffer for EXT_sRGB_write_control
Implements support for the glBlitFramebuffer edge case in the
EXT_sRGB_write_control spec, and fully exposes this extension.
Bug: angleproject:5075
Test: SRGBFramebufferTest*.*Vulkan*
Change-Id: I05f044abbc5cb272825d1fc4b9028217f18e63c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2785641
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
9a79ee78
|
2021-03-22T17:56:28
|
|
Vulkan: Add A few other *-None-04584 VVL error to skip list
If app uses textureLoad to fetch a texture level and mean time renders
to the same texture but with different level, this will generate vulkan
validation errors. Previously we are only skipping
VUID-vkCmdDraw-None-04584, but it is necessary to skip all other-04584
VVL error that stem from other draw calls as well. Aztec ruins can run
into VUID-vkCmdDrawIndexed-None-04584 on QComm GPU, for example.
Bug: b/175584609
Change-Id: I2da6945415975350e36f533f007ae1e2a5feddfd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2780563
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
525fde75
|
2021-03-22T14:55:21
|
|
Fix potential mod by 0 with invalid formats.
If the format passed to MakeValidSize is invalid, there
is potential for a mod by 0 which can result in a crash.
Test: Verify no crash when format is invalid.
Bug: b/182823289
Change-Id: I7f538be5d984070984f5581a5cc7ea47264109f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2780557
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Doug Horn <doughorn@google.com>
|
|
1fb7f648
|
2021-03-18T16:17:25
|
|
Compression of the data from vkGetPipelineCacheData.
The size of pipelineCacheData sometimes is greater than
64k which cannot be saved because of the Android blob cache
limitation (single cache data size should be < 64k).
Implement the compression to store more cache data.
Re-land this patch before fixing the performance regression
of big pipeline cache.
Bug: angleproject:4722
Change-Id: I4bc05a88334c3e7e9e945d1a0877429db1750422
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2771840
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3fd439c2
|
2021-03-23T21:40:11
|
|
[Fuchsia] Add ifndefs to vulkan_fuchsia_ext.h
This allows chromium to build with upstream headers that
include these extension. The old TEMP enums and structure
types are used until drivers have been updated to support
upstream header values.
Bug: chromium:1191605
Change-Id: I25d2991204ca34956298013138af8f48e0aaefaf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2782765
Commit-Queue: David Reveman <reveman@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d1462228
|
2021-03-09T11:25:36
|
|
Vulkan: Use VK_EXT_multisampled_render_to_single_sampled
Additionally, makes the emulation path not require
independentResolveNone. This was only used to select the NONE resolve
mode when the attachment format doesn't have either of depth or stencil
aspects, but it's ok to specify the same resolve mode for both aspects
even if one aspect is missing.
Bug: chromium:1088005
Change-Id: Ifc37cbf5331145179c5927853b996a0d62b871ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2743666
Reviewed-by: David Reveman <reveman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d809147f
|
2021-03-22T18:00:00
|
|
Enable D3D11 debug names in ANGLE release builds
Previously, D3D11 debug names were only output in debug builds. This
change enables them in release builds so we can debug GPU memory
consumption given traces or full memory dumps.
Where it made sense, existing names were shortened for brevity.
A future CL can shorten the names further by removing the words
texture, SRV, DSV, etc since D3D already outputs this type
information.
Bug: chromium:1164111
Change-Id: Iadd6222c29dd945115e844ec28ee395ce16c139f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2780564
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
90e3d86c
|
2021-03-22T12:49:26
|
|
Disable timestamp queries for Mali-G31 and older GPUs
Bug: chromium:1178333
Change-Id: I8f21cd1c8f815a5cd7344778d2d1b28710dc6763
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2779211
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
|
|
2a43f43a
|
2021-03-23T15:35:30
|
|
Revert "Save/Load missing members"
This reverts commit b2e76cf58fc012b068aab4716a432bb8951e93e3.
Reason for revert: Causing MSan failures on Linux. See bug.
Bug: chromium:1191344
Original change's description:
> Save/Load missing members
>
> There are several class/struct members that are missing when a program
> is serialized/deserialized. This leads to errors when attempting to link
> programs that have been deserialized. For example, when drawing with a
> PPO that contains programs which were created with glProgramBinary().
>
> This CL adds saving/loading the missing members.
>
> Bug: b/182409935
> Change-Id: I637c6cd8c174acd6da8d51433893323a32e5d7c0
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2770683
> Commit-Queue: Tim Van Patten <timvp@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Bug: b/182409935
Change-Id: I1209257ed6bb55ba2d01d92bd3305d5e3ad6ee28
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2780015
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
572fd801
|
2021-03-22T16:14:34
|
|
Vulkan: Rename Uniforms/XFB descriptor desc.
The new name is more consistent with the other names.
Refactoring change only.
Bug: angleproject:5736
Change-Id: Idc47fef29040e3a422267795c4536163a6f8eb4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2779953
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b2e76cf5
|
2021-03-17T17:43:03
|
|
Save/Load missing members
There are several class/struct members that are missing when a program
is serialized/deserialized. This leads to errors when attempting to link
programs that have been deserialized. For example, when drawing with a
PPO that contains programs which were created with glProgramBinary().
This CL adds saving/loading the missing members.
Bug: b/182409935
Change-Id: I637c6cd8c174acd6da8d51433893323a32e5d7c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2770683
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2be71410
|
2021-03-19T14:07:02
|
|
Handle inactive structure type varyings correctly
Correctly handle inactive varyings of structure type when collecting
transform feedback varyings. Previously, all varyings of structure type
were marked as active by mistake.
Bug: angleproject:5557
Test: TransformFeedbackTest.InactiveStructureVarying*
Change-Id: Ica1cbce5c551cdbb97999eeac59d09a961937615
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2770680
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
81432c24
|
2021-03-19T14:03:02
|
|
Vulkan: Rename onImageHelperRelease to finalizeImageLayout
Make the API name reflect what it does. With recent changes, this get
called from places that are not releasing ImageHelper object, but is try
to reference the current layout. This new name makes more sense than
onImageHelperRelease (at that time when this API was introduced, it was
only called when ImageHelper is being released).
Bug: b/175584609
Change-Id: Ie5f5fcdbd97436724d7eb016374d8b4178e7ba1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2776261
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
02acc5ee
|
2021-03-18T16:08:59
|
|
Vulkan: More cleanups to perf counters.
This refactors the pipeline type in the ContextVk class to also use
a packed enum map. It also expands the object perf counters to store
both a specific and cumulative version for use in different cases.
Bug: angleproject:5736
Change-Id: I6ff78e38065eb577f2b95b1d9c4f9cc31d7f325f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2774184
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7fe44a53
|
2021-03-20T09:39:09
|
|
Vulkan: Don't acquire new BufferHelper for external buffers
EXT_external_buffer spec -
This extension allows the data store for an immutable buffer to be
sourced from an external EGLClientBuffer, allowing sharing of EGL
client buffers across APIs, across processes, and across different
processing cores such as the GPU, CPU, and DSP.
The intent is for a single backing memory to be reused across various
processes and processors. Ensure that a glBuffer backed by external
memory does not orphan the memory when glBuffer APIs like
glBufferSubData or glMapBufferRangeEXT modify the glBuffer.
Bug: angleproject:4380
Bug: angleproject:5073
Tests: ExternalBufferTestES31.*DoesNotCauseOrphaning*Vulkan
Change-Id: I4e88f80d93ee1ba1208378121412926351d10af8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2776192
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|