|
2c4de3a7
|
2023-01-03T16:07:35
|
|
Trace Interpreter: Support Genshin Impact.
Includes a couple fixes:
- parsing hexidecimal values instead of enums
- support sharing strings and functions between modules
- support 32-bit int pointers
Bug: angleproject:7887
Change-Id: I6e20a64a862c45c17ccde78a58d6069d83b31867
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4135797
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2c582dcb
|
2023-01-03T10:27:03
|
|
Trace Interpreter: Support Manhattan trace.
Adds the following fixes and features:
- support transform feedback varying strings
- support infinity and NaN constants
- support for sampler and query resources
Bug: angleproject:7887
Change-Id: Ib01afe66e4fda9bc77d0cb5eed52fa83a694a7d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4126885
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f7b5d5d1
|
2022-12-15T10:52:07
|
|
Capture/Replay: Remove inline variable declarations.
This makes parsing easier for the "simplified C" interpreter.
We introduce a resource ID buffer as a way to manage a list
of resource IDs to replace the inline resource lists.
Turns on the Among Us trace in the interpreter tests.
Bug: angleproject:7775
Change-Id: I1bb9c0e9b087965a18691bc99b2e9947610b9eaf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4128719
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bf5a007a
|
2022-06-16T14:21:08
|
|
Metal: Ensure render pass has at least one valid render target.
Extend MTLRenderPipelineDescriptor validation to ensure that there is at
least one valid render target set for the the render pipeline. This is
required for certain families of metal devices to avoid a validation
failure inside the metal framework. Moving the failure here will cause
the app using ANGLE to return a GL error instead of crashing the
process.
Bug: angleproject:7436
Change-Id: I594d92492a22a61a720dbe7021843c8460b389b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4109310
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
48e40ef6
|
2023-01-06T13:35:21
|
|
Add per-heap memory allocation trackers
* For each member of MemoryAllocationType, we now have a per-heap
counter to keep track of the allocation size in each available heap.
* mActivePerHeapMemoryAllocationsSize
* mActivePerHeapMemoryAllocationsCount (debug mode only)
* Added the memory type index to onMemoryAlloc() and onMemoryDealloc()
as an input. It can then be used to determine the used memory heap
index for that allocation using the memory properties defined in the
renderer.
* checkForCurrentMemoryAllocations() will now log the heap index of the
current memory allocations in debug mode and during an OOM crash.
* logPendingMemoryAllocation() will now log the heap index of the
pending allocation during an OOM crash.
* Renamed constexpr values used for tracking for more consistency.
* kTrackMemoryAllocation -> kTrackMemoryAllocationSizes
* kDebugMemoryAllocationLogs -> kTrackMemoryAllocationDebug
Bug: b/262029018
Change-Id: I178a3556b3107edc0c72c6b23ea2f2d6b12da947
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4149431
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Ivan Neulander <ineula@google.com>
|
|
c0931807
|
2023-01-18T12:26:35
|
|
Fix flaky Capture/Replay FenceSyncTests.
These tests were flaky because of the window size.
Bug: angleproject:6510
Change-Id: Ib3fc9de75ab3ffa2c4ff95e6ac9fedea1055c993
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4178013
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
fdada9ee
|
2022-12-13T14:52:53
|
|
Re-land: "Make SyncIDs a packed type."
This re-land fixes the sync map size tracking.
This prepares syncs to use a simple resource map like other
types, which will make life easier in the trace interpreter.
Bug: angleproject:7775
Change-Id: If2114c51d5b68503890eacbf549182823667fedc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4178012
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
90b6d511
|
2023-01-13T10:06:12
|
|
Vulkan: Add support for AHB usage FRONT_BUFFER flag
AHB usage flags have been updated to include front buffer usage.
AHBs tagged with this flag need to be handled similar to single-buffered
window surfaces especially w.r.t glFlush semantics. Account for the
new usage flag when deferring flushes.
Bug: angleproject:7956
Test: Android VTS GraphicsFrontBufferTests.*
Change-Id: I79440d8447ac569c3d785de191815d2d2f3f069f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4167063
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
fb94622c
|
2023-01-18T14:47:56
|
|
Trace Tests: Clean up desktop skips.
These were confusing SwiftShader and ANGLE / Native drivers.
Fix these by using helper variables. This isn't an issue on
Android because our Android tests don't have SwiftShader.
Bug: angleproject:7887
Change-Id: I414f59a8eb1155aaf8b98bf5c3104273cbb5b72d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4178015
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2ce5a632
|
2023-01-18T11:01:41
|
|
Log screen state if log=debug.
Prints either of:
mScreenState=ON_UNLOCKED
mScreenState=ON_LOCKED
mScreenState=OFF_LOCKED
Oddly, there doesn't seem to be a standard way to do this on Android, so
using the nfc trick with "|| true" to ignore potential failures.
Also setup logging using the util in run_angle_android_test as the
current way seems to no longer be working.
Bug: chromium:1405504
Change-Id: I448be86e8f0d72905948e68ffb076605273fa958
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4178011
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
2550fe9a
|
2023-01-14T21:21:24
|
|
Vulkan: Drop usage of VK_EXT_debug_report
This extension has been deprecated for 6 years in favor of
VK_EXT_debug_utils.
Bug: angleproject:7959
Change-Id: I51923a6821a6a18854ef94e0ca85c328bc8c6da5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4167833
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8971a592
|
2023-01-18T14:35:09
|
|
Revert "Make SyncIDs a packed type."
This reverts commit 9de913077a5fcc3d2f2e327b56bbe30efe2fde96.
Reason for revert: Fails win-trace, somewhat flakily.
Original change's description:
> Make SyncIDs a packed type.
>
> This prepares syncs to use a simple resource map like other
> types, which will make life easier in the trace interpreter.
>
> Bug: angleproject:7775
> Change-Id: Ic2867f6133256f5ce2320eb2b322c1059266b201
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4103720
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Bug: angleproject:7775
Change-Id: I29534b14c973fa34a4cb7457d534cd6156f33cd2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4178010
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
9de91307
|
2022-12-13T14:52:53
|
|
Make SyncIDs a packed type.
This prepares syncs to use a simple resource map like other
types, which will make life easier in the trace interpreter.
Bug: angleproject:7775
Change-Id: Ic2867f6133256f5ce2320eb2b322c1059266b201
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4103720
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
82826be0
|
2023-01-06T11:20:14
|
|
Reland "Make ANGLE program version only dependent on data that matters"
This is a reland of commit 61728827d2e5ecce685578bc54bb2c744b65fc9a
Changes made on top of previous commit
1. In src/program_serialize_data_version.py,
fix the script error on Windows: anglebug.com/7918.
2. In BUILD.gn, replace the 'write_file' with
'response_file_content'. See
https://gn.googlesource.com/gn/+/main/docs/reference.md#var_response_file_contents
3. In scripts/generate_android.bp.py, add code to
handle the special GN build flag {{response_file_name}}.
The code writes the list defined in srcs
(identified by $(in) in Android blueprint) into a
temp file named 'gn_response_file', and replaces the
{{response_file_name}} with 'gn_response_file'.
Original change's description
> Changes made on top of original commit
> 1. Enable execution permission on python script
> program_serialize_data_version.py
> 2. Remove unused list in libGLESv2.gni
> 3. In angle/BUILD.gn, change file path from
> "relative to angle_root", to "relative to root_build_dir",
> so that inside the script program_serialize_data_version.py,
> we don't have to find the absolute path of the code files for
> hashing.
> Original change's description
> > This change introduces a new variable ANGLE_PROGRAM_VERSION
> > to track the version of ANGLE source files that affect shader
> > program serialization/deserialization. This change include more
> > source files than necessary, to serve the purpose of a conservative
> > jumping off point. We will narrow down the list of files for
> > ANGLE_PROGRAM_VERSION hash generation in the future.
> > Add a new script program_serialize_data_version.py that will
> > be triggered during the build when the related source files changed.
> > The script will generate a hash and the hash size from the related
> > source files. In program serialization/deserialization and cache
> > key generation, we will use this hash value instead of the entire
> > ANGLE git hash. When the hash value changed, we know that the
> > related source files changed, and we should invalidate the program
> > cache and re-generate the blob cache / program binary.
> > Bug: angleproject:4981
> > Change-Id: I2fb609416738d459d3289190c232c2d797ba58e3
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4072215
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Cody Northrop <cnorthrop@google.com>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Commit-Queue: Yuxin Hu <yuxinhu@google.com>
> Bug: angleproject:4981
> Change-Id: Iaa9eb0ab33439197bc30d03064fc245ea7ef1ea8
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113445
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Bug: angleproject:4981
Change-Id: Ib5bba199be6d08a1e19807026df0e7b747dbc8a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4144078
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
56eb961f
|
2023-01-17T17:03:39
|
|
Revert "Capture/Replay: Capture the attr locations as set by the program"
This reverts commit 585d2a9e5c546c7aa59b987da6c70d310cccd3ee.
Reason for revert: glBindAttribLocation calls added by frame capture, even when location was not set explicitly, are currently necessary for replay stability across different platforms. Example from a trace:
glGetAttribLocation(gShaderProgramMap[24], "position");
...
glVertexAttribPointer(0, 4, GL_FLOAT, GL_FALSE, 112, nullptr);
Note how "0" is hard-coded instead of using the value returned by glGetAttribLocation above, and that can be different on a different platform. This was resolved before this CL by calling glBindAttribLocation to map "position" to 0, and after this CL glBindAttribLocation calls are missing from the trace and we end up with inconsistent native replays (found in Android b/265429003)
Original change's description:
> Capture/Replay: Capture the attr locations as set by the program
>
> Setting the attribute location based on the input declaration
> results in a discrepancy with MEC when recording the context state,
> because if a location was never set explicitely, the captured
> context state will hold no attribute location information, but
> since calls were recorded to set the default attribute locations,
> the context state recorded during replay will contain these extra
> entries.
>
> To avoid this, only record the attribute locations that were
> explicitely set.
>
> Bug: angleproject:7564
> Change-Id: Ib9d6c7b098935d199921e0fe5c0ef985e6187f1b
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827345
> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Bug: angleproject:7564
Bug: angleproject:7964
Bug: b/265429003
Change-Id: I4f97c8162601cc1b749bbc8a06851561654205e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4172756
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
669e232a
|
2023-01-17T15:25:27
|
|
Revert "Suppress more VVL errors about vkCmdDraw*-None"
This reverts commit 0d34d4f8810aeb2297bf2814f8b1ca7f749decd9.
Reason for revert: Fixed upstream
https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/4628
Original change's description:
> Suppress more VVL errors about vkCmdDraw*-None
>
> * Suppressed the following VVLs:
> * VUID-vkCmdDrawIndexed-None-02686
> * VUID-vkCmdDrawIndirect-None-02686
> * VUID-vkCmdDrawIndirectCount-None-02686
> * VUID-vkCmdDrawIndexedIndirect-None-02686
> * VUID-vkCmdDrawIndexedIndirectCount-None-02686
>
> Bug: angleproject:7685
> Change-Id: I41390ee2a2a01509367a6e98697da3ad7e3cc2e5
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3910174
> Auto-Submit: Amirali Abdolrashidi <abdolrashidi@google.com>
> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Bug: angleproject:7685
Change-Id: Ibc79b34758a18ea0070edff4f200b7f8462c8e9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4174173
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
1f8bc491
|
2022-12-15T21:04:32
|
|
Make sure D3D11 textures never lose bind flags
We hit an issue where a texture was used alternatively as a UAV and a
render target. When used as a render target, ensureBindFlags created a
new storage with just the render target bind flag. When used as a UAV,
ensureBindFlags created a new storage again, this time with just the UAV
bind flag. And so on.
This change updates ensureBindFlags to ensure all previous bind flags
are preserved when creating a new storage.
Bug: angleproject:7855
Change-Id: I8c03c011e3df6eee5fbad22e45663e8fee731d57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4112763
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
734cf7ce
|
2023-01-16T20:32:35
|
|
Revert "DisplayEGL should support targeting specific EGL platforms"
This reverts commit 01c641d58c7b4e4809163e48f570145af89c4acc.
Reason for revert: Failing initialization on ChromeOS Kevin and possibly others.
Bug: b/265600434
Original change's description:
> DisplayEGL should support targeting specific EGL platforms
>
> DisplayEGL should use the EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE
> value, if provided, to target specific platforms when constructing the
> native EGL display.
>
> The value is retrieved from the display attributes map and propagated
> to FunctionsEGL::initialize(). If non-zero, and if the
> eglGetPlatformDisplayEXT entrypoint is successfully loaded, then a
> display object for the desired EGL platform is retrieved.
>
> Bug: angleproject:7942
> Change-Id: I3d8dd70c4c5c80259ae647dce039cfe741b0cf7d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4152531
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Bug: angleproject:7942
Change-Id: Ic9466f8ab7354fd14cbee74dcc454df07b568664
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4168456
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9bd37934
|
2023-01-12T00:00:00
|
|
Add EXT_polygon_offset_clamp entry points
Bug: angleproject:7957
Change-Id: Ida28b852b1db3e6017b6e91a9424381eb8fe29f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4169943
Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8964933f
|
2023-01-09T15:27:21
|
|
Add VirtIO vendor Id parsing to SystemInfo
VirtIO gpu on ChromeOS VM uses vendor Id 0x1AF4.
Bug: angleproject:7940
Change-Id: I202338ea3c24b952ef094f06d6f7ce8e3d70f3a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4148887
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
598b4824
|
2023-01-13T11:12:07
|
|
Vulkan: Broaden more syncval suppressions
The specificity of syncval error messages turned out to cause more churn
than good, with development in syncval changing the messages.
Recently, some messages with ..._STORAGE_READ were changed to correctly
output ..._SAMPLED_READ, which caused a lot of the messages to no longer
match.
This change broadens the syncval suppressions to make it not sensitive
to the above change, but also removes some other unnecessary details.
Bug: angleproject:7949
Change-Id: Ie834205e24dcde36637300c281aa1a18330e9517
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4162737
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e58e77f5
|
2022-11-10T12:49:03
|
|
Support timestamp behind flag enableTimestampQueries
All timestamp queries happen in the same disjoint query in one
Context11.
The whole design is that we start a disjoint query in D3D11 at the first
timestamp request and keep it continuously running in current context.
Only end it and read it back when the user queries if there is a
disjoint. We cache the frequency and assume it doesn't change. For the
first timestamp, we create a temporary D3D disjoint query and end it so
we have a frequency to convert the ticks to nanoseconds.
This task is taken over from
https://chromium-review.googlesource.com/c/angle/angle/+/3694732
Bug: angleproject:7367
Change-Id: I747c9b00e10ac58362df66332efd01a24aa395f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4021139
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
86800e3d
|
2022-11-10T17:07:29
|
|
Move disjoint status from RendererD3D to Context11
Make disjoint status per-context instead of one in renderer.
This is in preparation for timestamp query support.
Bug: angleproject:7367
Change-Id: I6380e55cac29b2d40edfbcd32e360e8da5546a80
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4018970
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
24527150
|
2023-01-12T12:55:59
|
|
Fix test teardown in ProgramPipelineTest31.
We were deleting objects in the test desctructor, which could
cause crashes in TSAN.
Bug: angleproject:7944
Change-Id: Ib9d4f236cc79bcb20c971feca86d053120440769
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4162557
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
01c641d5
|
2023-01-10T14:54:45
|
|
DisplayEGL should support targeting specific EGL platforms
DisplayEGL should use the EGL_PLATFORM_ANGLE_NATIVE_PLATFORM_TYPE_ANGLE
value, if provided, to target specific platforms when constructing the
native EGL display.
The value is retrieved from the display attributes map and propagated
to FunctionsEGL::initialize(). If non-zero, and if the
eglGetPlatformDisplayEXT entrypoint is successfully loaded, then a
display object for the desired EGL platform is retrieved.
Bug: angleproject:7942
Change-Id: I3d8dd70c4c5c80259ae647dce039cfe741b0cf7d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4152531
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
3f5fcf15
|
2023-01-11T16:52:28
|
|
Vulkan: Make feedback loop syncval suppressions more general
Bug: angleproject:7949
Change-Id: Ife0f7fb2692115874b32d4c1e7a8e505cdc614ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4158511
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
410d8ba5
|
2022-12-21T13:27:00
|
|
Vulkan: Cleanup ContextVk::hasStartedRenderPass APIs
ContextVk has a few hasStartedRenderPass APIs which interpret "start"
inconsistently. A RenderPassCommands' life should be notStarted,
started, requestEnd, and end (which is equivalent to notStarted). When
someone calls onRenderPassFinished on a started renderpass, it does not
immediate endRenderPass, but it will set DIRTY_BIT_RENDER_PASS dirty bit
so that next draw call will trigger endRenderPass and start a new
renderPass. We do not have a name for this state, which adds some
confusion. This CL renames the stage between start and
onRenderPassFinished to be "active" renderpass, when you have
mRenderPassCommandBuffer pointer being valid and you can actively adding
draw commands into the renderPass. For this purpose, I haves renamed
hasStartedRenderPass to hasActiveRenderPass. This CL also simplifies
hasStartedRenderPass implementation to only check
mRenderPassCommandBuffer and turned mRenderPassCommands.started as
assertion. This CL also changes hasStartedRenderPassWithQueueSerial to
actually check mRenderPassCommands.started instead of being "active", so
that name reflects what it is actually checking. This CL also changed
hasStartedRenderPassWithCommands to hasActiveRenderPassWithCommands to
make name and implementation consistent. One added benefit of this is
that after this CL we now allow load/store optimization on a started but
inactive renderPass as well (for example glInvalidateFramebuffer call
after glFenceSync call, or invalidate after FBO blit as demonstrated by
MultisampleResolveTest.ResolveD32FSamples tests).
Bug: angleproject:7903
Bug: angleproject:7551
Change-Id: I8c8ec4c0d54b9ad0a9e373108dfce6b151c8fe0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4119693
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
8f1a7190
|
2022-12-23T00:00:00
|
|
Accept clip distance enums for simple queries
State variables for which IsEnabled is listed as
the query command can also be obtained using any
of the simple queries.
Bug: angleproject:4452
Change-Id: I075db600b772e5370c72c0f4de9b35e007259987
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4158331
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3422358b
|
2023-01-11T00:17:04
|
|
Vulkan: Unsuppress fixed VUs
Bug: angleproject:5331
Change-Id: I0e42c157a4b14ab1309716c9f5432c664785cf28
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4153779
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
e21b95ed
|
2023-01-11T12:56:29
|
|
Fix bad ANGLE GL tests.
These tests were calling GLES functions in the destructor,
which would lead to nullptr deferences. This was only caught
in TSAN for some reason.
Bug: angleproject:7947
Change-Id: I47dd0edba19d029757c8ddb282ca06a7e1baab45
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4157174
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3a152dc7
|
2023-01-06T10:47:37
|
|
Clean up the memory allocation info log output
* For more readability, number formatting is added to memory size info
using stringstream::imbue(std::locale()).
* For more conciseness, removed the redundant heap budget info.
(No longer VK_MAX_MEMORY_HEAPS)
* Flags are updated to be logged in hex format.
* Changed the order of heap stats, so heap budget and usage numbers are
logged immediately after the available heaps.
Bug: b/262029018
Change-Id: I309bd43e7a236629308ae23320606122f29584a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4143979
Reviewed-by: Kaiyi Li <kaiyili@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
f1872822
|
2022-12-22T17:17:37
|
|
Vulkan: Fix imageless framebuffer VVL issue
In some tests, including some blink tests, there were cases of VVL
messages spamming the output log, even though they did not always
cause a failure. Investigation showed that in some cases, the call
to EGL_CreateImageKHR() was not setting all the attributes in the
ImageHelper object that is used later for an imageless framebuffer,
specifically the one created in VkImageImageSiblingVk::initImpl().
* Added the usage flags and view formats in the new image created in
VkImageImageSiblingVk.
* Added a Vulkan image test to make sure the error is fixed.
Bug: b/261473248
Bug: angleproject:7845
Change-Id: I1874b2930e9ce62e5b603cf7acff6fd78b957d5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117584
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
ecda6664
|
2023-01-11T00:20:03
|
|
Vulkan: Unsuppress fixed VU
Bug: angleproject:2796
Change-Id: I5e0975c7eef192a9d3a33490f777ea448dcb8884
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4153780
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
d0c936cf
|
2022-12-23T00:00:00
|
|
Check clip and cull distance storage qualifiers
When redeclared, these built-ins must be outputs in
vertex shaders and inputs in fragment shaders.
Bug: angleproject:4452
Change-Id: I811764009669ec358f05eb7a26297742baf2de63
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4120264
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
e6057341
|
2023-01-11T00:35:34
|
|
Add test coverage for CL 3906392
Test: angle_end2end_tests --gtest_filter="*ColorMaterialTest*"
Bug: angleproject:6201
Change-Id: Ic92a185f60180d6e88a5a414626e3d9b4585e2b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4152532
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Constantine Shablya <constantine.shablya@collabora.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
70b5620e
|
2023-01-10T17:16:41
|
|
Metal: skip out variable rewrite for array element references.
ANGLE_elem_ref already returns a reference which is incompatible with
the ANGLE_out and ANGLE_inout builtins. Skip the rewrite for this
builtin, similarly to swizzle_ref for which it was already skipped.
Add a small regression test which catches this bug.
Fixed: angleproject:7939
Change-Id: Iff8ead697220466ceb063ea2f8eebdb7d9e5896d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4152866
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5ac2d2e7
|
2023-01-11T04:51:42
|
|
Vulkan: Wait for job before destroying render passes
This was the case for render pass cache clear, but was missing from
destroy.
Bug: angleproject:7369
Bug: angleproject:7944
Change-Id: I7d0921507364db7ab570df13147bcdec351bd578
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4153136
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
173db16f
|
2023-01-11T13:52:17
|
|
Revert "Vulkan: Temporarily disable threaded monolithic pipelines."
This reverts commit 69c68ea8d84b8cad4edd54fb81ba3f0d781a9aae.
Reason for revert: Causes more crashes.
Original change's description:
> Vulkan: Temporarily disable threaded monolithic pipelines.
>
> These have a multithreading error. See issue for details.
>
> Bug: angleproject:7369
> Bug: angleproject:7944
> Change-Id: Icbb5e1eb7b026568fa3898d5a94bffd0186fa494
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4153011
> Reviewed-by: Roman Lavrov <romanl@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:7369
Bug: angleproject:7944
Change-Id: I76f35ee4c405dd634d3c0cbdc98b60e140dbaa55
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4155852
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
146defd2
|
2023-01-11T05:08:30
|
|
Revert "Suppress VUID-VkGraphicsPipelineCreateInfo-pStages-06896."
This reverts commit 992018c7bd18ed7fc4ab1220a511de7d36dbd764.
Reason for revert: Fixed upstream
Original change's description:
> Suppress VUID-VkGraphicsPipelineCreateInfo-pStages-06896.
>
> Bug: angleproject:7513
> Change-Id: I2877c069e33d2ec5e92cf759dc3ab1d270e1a414
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3776759
> Reviewed-by: Charlie Lao <cclao@google.com>
> Commit-Queue: Roman Lavrov <romanl@google.com>
Bug: angleproject:7513
Change-Id: I562081b24b92e493649fa13ead4d56673ab46102
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4153137
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
c4120465
|
2023-01-10T11:35:26
|
|
Explicitly initialize egl::Caps members.
Previously only call sites explicitly calling the zero-initialization
constructor would get zero-init behavior, leading to platform-specific
garbage.
Set textureNPOT cap to true in Metal backend.
Thanks to user Codec Flower for finding this.
Bug: angleproject:7943
Change-Id: Id812f835eb25c68ba7a05308ca0be64f49885428
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4151963
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
69c68ea8
|
2023-01-10T15:35:47
|
|
Vulkan: Temporarily disable threaded monolithic pipelines.
These have a multithreading error. See issue for details.
Bug: angleproject:7369
Bug: angleproject:7944
Change-Id: Icbb5e1eb7b026568fa3898d5a94bffd0186fa494
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4153011
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0d06cb47
|
2023-01-10T15:33:30
|
|
Disable ContextCompatibilityTests on TSAN.
Registering these tests causes issues with local runs on Linux.
Bug: angleproject:7944
Change-Id: I7ec9ac45bb0d66e3b934bab0d06dbfa3f1ab5d0d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4153010
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2b1bc4fd
|
2023-01-09T12:17:17
|
|
Upload angle metrics to the gs bucket in skia perf format.
ConvertToSkiaPerf converts the data format from angle_metrics.json
to what skia perf ingests. Injestion happens automatically when the
gs bucket is updated.
Example data from this CL on non-perf bots with upload enabled
(smoke mode so actual values aren't meaningful):
https://angle-perf.skia.org/e/?queries=buildername%3Dlinux-test%26metric%3Dwall_time%26test%3Dtrex_200
Bug: angleproject:7299
Change-Id: Ica700b586e08c205968fbc3c1d15cf742ad537f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4148167
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
bec220f6
|
2022-11-01T22:05:30
|
|
Translator: Fix operand component specifications
Before this change, TIntermConstantUnion::foldUnaryComponentWise always
used the first operand component for some operators. Use the operand
component corresponding to the result component.
Bug: angleproject:7801
Change-Id: I99a941a9eee0c10a4bcb3f515aa5cbf5accc0d52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3996520
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Auto-Submit: 小田喜陽彦 <akihiko.odaki@gmail.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
fa612d04
|
2023-01-09T19:38:42
|
|
Tests: Add MARVEL SNAP trace
Test: angle_trace_tests --gtest_filter="*marvel_snap*"
Bug: angleproject:7941
Change-Id: Ie028c3184966d2f10717ed6fd0fabe8ecad75c8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4149929
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
493f3f31
|
2022-11-11T17:01:40
|
|
Reland "Vulkan: Only allocate default attribute if needed"
This is a reland of commit 85c98a92bb763452133bd7b4580d80625bb2c75d
Original change's description:
> Vulkan: Only allocate default attribute if needed
>
> mDirtyDefaultAttribsMask has all bits set when starts.
> ContextVk::handleDirtyGraphicsDefaultAttribs() is looping all dirty bits
> and try to allocate buffer for it, which means we are looping 16
> times when app starts. This CL changes to allocate a buffer only if used
> by program.
>
> Bug: b/258862506
> Change-Id: I2f0a75d1fe141c9ac3101088fdc4ce4f60b0c4ee
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4024544
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
> Commit-Queue: Charlie Lao <cclao@google.com>
Bug: b/258862506
Bug: angleproject:7866
Change-Id: Iad0b6a6ce5ec42e48461a199773eb8dc9976265e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4144938
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
9d5d619c
|
2022-12-26T00:00:00
|
|
Adjust clip distance compiler state and validation
The internal uniform, which is used for passing GL state on
some platforms, could be removed by GL drivers when built-ins
are not accessed; this may lead to failed frontend assertions.
Refactored relevant compiler state and validation helpers to
avoid ambiguous usage.
Added ClipCullDistanceTest.Unused test.
Bug: angleproject:4452
Change-Id: I06fdf9a69e01afb2ad11fa12e0510d8b0421e4bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4143839
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6e3f4048
|
2023-01-09T11:13:34
|
|
Log free space on device (df -h) if log=debug.
Bug: chromium:1405504
Change-Id: I4c4f2e291bf10669b55adcd08bc57e338ca8ae62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4147388
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
4194dab4
|
2023-01-09T12:03:47
|
|
Capture/Replay: Test the correct context ID when emitting setup
Fixes: b432c84c2b8cb6d20873e2b33b6684bee76db90d (origin/chromium/5455)
Capture/Replay: Fix collecting the initialized contexts
Bug: angleproject:7805
Bug: angleproject:7938
Change-Id: Ia321179bef8fd33c7968177ffcb4da78103a99fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4143840
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1f997cef
|
2023-01-06T19:09:37
|
|
Skip crashing final_fantasy trace perf on Pixel 6 native
Bug: angleproject:7936
Change-Id: Ied2399e66052d3b3f2b26f39c32aaf3950579eea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4143838
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
ca0489f0
|
2023-01-06T13:13:55
|
|
Skip couple flaky trace perf tests on Win Intel
beach_buggy_racing on Vulkan
aliexpress on native
Bug: angleproject:7934
Change-Id: I78f78174e95aa0a4bab6685efb62b52f87e6e4f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4143158
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
1d2b20f5
|
2022-12-23T14:21:10
|
|
Metal: Fix Metal API deprecation warnings
macOS 13/iphoneOS 16 deprecated Metal APIs, causing warnings when
building ANGLE targeting Ventura as the minimum supported OS. WebKit
handles deprecated APIs by selectively silencing warnings around the
affected code.
This change adds ANGLE_APPLE_ALLOW_DEPRECATED_{BEGIN/END} and wraps code
generating warnings to silence the warning.
Bug: angleproject:7908
Change-Id: I7469652e0f4e0cf41ae3c295c2e3ae6bbd72e949
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4121822
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
26e28089
|
2023-01-04T15:15:46
|
|
Vulkan: Improve RPCommandHelper::isImageWithLayoutTransition()
RenderPassCommandBufferHelper::isImageWithLayoutTransition() was added
in crrev.com/c/3366014 to detect if there is a barrier inserted for the
renderPass. If yes, we have to endRenderPass before compute shader,
since compute dispatch goes into outsideRenderPassCommands, which writes
into primary command buffer before renderPassCommands. Otherwise the
compute dispatch will be using the image before the actual layout
transition occurs, which is wrong. But to detect if the image has a
layout/barrier transition in the renderPass, it maintains an
angle::FlatUnorderedSet. With recent change for per active context queue
serial, we can use the queue serial to detect this. This CL adds a
queueSerial for image layout/barrier change and compares it with
RenderPassCommands' queueSerial to decide if the renderPass has a
layout/barrier for the image.
This CL also did some minor clean ups: Removed unused API
ContextVk::getActiveImages(). Removed writtenByCommandBuffer() check in
CommandBufferHelperCommon::bufferWrite() before calling
setWriteQueueSerial, since the check is more expensive than set. Added
setQueueSerial call in OutsideRenderPassCommandBufferHelper::imageWrite
to be consistent with imageRead. (This might be fixing a bug here).
Replaces a few retainResource(image) to image->setQueueSerial for
consistency.
Bug: b/264472911
Change-Id: I74badd6b8a35f86640e42d330a1a709ccfb961c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4136948
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
c4b95929
|
2023-01-05T19:59:07
|
|
Revert "Reland "Make ANGLE program version only dependent on data that matters""
This reverts commit 61728827d2e5ecce685578bc54bb2c744b65fc9a.
Reason for revert: it breaks aosp build: https://android-review.git.corp.google.com/c/platform/external/angle/+/2374971. Build error: `FileNotFoundError: [Errno 2] No such file or directory: 'angle_code_affecting_program_serialize'`
Original change's description:
> Reland "Make ANGLE program version only dependent on data that matters"
>
> This is a reland of commit c303758fbc8d23266be578fae246e5687656b4c6
>
> Changes made on top of original commit
> 1. Enable execution permission on python script
> program_serialize_data_version.py
> 2. Remove unused list in libGLESv2.gni
> 3. In angle/BUILD.gn, change file path from
> "relative to angle_root", to "relative to root_build_dir",
> so that inside the script program_serialize_data_version.py,
> we don't have to find the absolute path of the code files for
> hashing.
>
> Original change's description
>
> > This change introduces a new variable ANGLE_PROGRAM_VERSION
> > to track the version of ANGLE source files that affect shader
> > program serialization/deserialization. This change include more
> > source files than necessary, to serve the purpose of a conservative
> > jumping off point. We will narrow down the list of files for
> > ANGLE_PROGRAM_VERSION hash generation in the future.
>
> > Add a new script program_serialize_data_version.py that will
> > be triggered during the build when the related source files changed.
> > The script will generate a hash and the hash size from the related
> > source files. In program serialization/deserialization and cache
> > key generation, we will use this hash value instead of the entire
> > ANGLE git hash. When the hash value changed, we know that the
> > related source files changed, and we should invalidate the program
> > cache and re-generate the blob cache / program binary.
>
> > Bug: angleproject:4981
> > Change-Id: I2fb609416738d459d3289190c232c2d797ba58e3
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4072215
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Cody Northrop <cnorthrop@google.com>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Commit-Queue: Yuxin Hu <yuxinhu@google.com>
>
> Bug: angleproject:4981
> Change-Id: Iaa9eb0ab33439197bc30d03064fc245ea7ef1ea8
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113445
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Bug: angleproject:4981
Change-Id: If7d3779c8f40dafa9a9c057f669ab53d0494526e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4140138
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
341f2908
|
2023-01-04T16:17:17
|
|
Vulkan: Remove the car_chase skip
This should now be fixed by crrev.com/c/4133548. Re-enable the test for
pixel6.
Bug: angleproject:7916
Change-Id: Ice0adc2c81c797f31354e086e5606744941de311
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137290
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
18950e64
|
2023-01-05T11:33:59
|
|
Capture/Replay: Fix unpack alignment inconsistency.
We were checking the current value of the unpack alignment in
the replay when we should have been comparing vs the set value
in the context.
Bug: angleproject:7816
Change-Id: Ib7e6ed785e07e06a7f55f4b727f640912b75b7a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4139299
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
|
|
2662f28f
|
2022-12-30T17:26:22
|
|
Vulkan: Fix imageRead from RP and outsideRP simultaneously
When a texture is been sampled from both fragment shader and compute
shader, you will have the same VkImageLayout. We will not try to end
renderPass, which means you end up running into similar situations with
OutsideRenderPassCommandBufferHelper::bufferRead where an image is
already read accessed by a started renderPass and now read accessed by
an outsideRenderPassCommands. Since renderPass has greater queueSerial,
we should not tag it with outsideRenderPassCommands' queueSerial.
This CL also adds two tests, one for color texture and another for
depth texture (which is car_chase uses). Both exposes the same bug.
Bug: angleproject:7916
Change-Id: I840ca8947caeb7a96c4c9ccb7c9eca2476837c9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4133548
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
2e086405
|
2022-12-23T00:00:00
|
|
Metal: Implement ANGLE_clip_cull_distance
Emulate clip distance varyings as they are not
available in Metal fragment shaders.
Drive-by: skip rewriting unused pipelines.
Bug: angleproject:7904
Change-Id: Iabc37ffe6e8c9e2d0fb34e508ae2512a200c8351
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4124235
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d88464de
|
2023-01-05T17:27:48
|
|
Skip 2 slow trace perf tests on Win Intel
five_nights_at_freddys on Vulkan
pubg_mobile_launch on native
Bug: angleproject:7929
Change-Id: Ie6ebcc3db616a55fdbb9f1a0d67c950b80dc2010
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4133268
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d0fa9fe2
|
2023-01-04T12:15:02
|
|
Capture/Replay: Fix GetProgramInterfaceiv write location.
This was mistakenly writing to the read-only binary data blob.
Instead properly write to the read buffer.
Bug: angleproject:7887
Change-Id: I039981b0bd03983542f6432d1091651c1d553479
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4135796
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
|
|
5f1ab1d1
|
2023-01-03T11:48:51
|
|
Fix Deferred Flush Bug On Android Hardware Buffer
When does app read from Android Hardware Buffer
is outside of ANGLE's control. If we defer glFlush,
it is possible that when the app is reading from
AHB, the commands have not been flushed and executed,
causing app to read unexpected data. This change
adds a check to not defer glFlush when the Framebuffer
draw attachment is Android Hardware Buffer.
Bug: b/262886794
Change-Id: Ie0606f71b1a4f4f20511b7327e7ffb8c096ac727
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4126700
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
32175d8a
|
2023-01-04T09:53:02
|
|
Address Visual Studio 17.4 build issues
The `SpirvType` is used as a key in a hash map. When using Visual Studio
17.4, the build fails as `SpirvType`'s equality operator is not defined.
This declares `SpirvType`'s equality overload on its header file.
Bug: angleproject:7925
Change-Id: If5013df36eb9c33bba88eebe8752df7808b02ff5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4136932
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
968c429e
|
2023-01-04T14:18:11
|
|
Tests: Use ISOLATED_OUTDIR for test artifact directory.
This should fix the missing CAS outputs on the bots.
Bug: angleproject:7926
Change-Id: Id09e5ccc19a454e2c0bf63076788187f3c7ef24f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4135158
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
056f8044
|
2022-10-11T11:58:20
|
|
Perf tests: write metrics to file and read from merge script.
The idea behind is to save metrics in a structured output with
full context so that we don't have to parse stdout and
reconstruct that context (e.g. which test was running when
the output was printed etc).
Note: we already have a "histogram" file (addHistogramSample)
written but it is structured using some UUID-based ids making its
digestion more complicated (https://anglebug.com/7299#c3).
This CL just writes events as one-json-per-line
simplifying downstream handling and debugging.
Just a sanity check / logging in the merge script for now.
Bug: angleproject:7299
Change-Id: I56dada643eceef180ce9bb1aa9ae6a641ea41e4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3945112
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
91ff986c
|
2022-12-19T14:30:25
|
|
Metal:Switch to NoWait in eglReleaseTexImage
Now that eglWaitUntilWorkScheduled is implemented in ANGLE
and called in Chromium we can set this to NoWait
Bug: angleproject:7890
Change-Id: Ib6fbda18b940873409653a968aa956bc728025a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117714
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
|
|
b354667e
|
2022-12-24T12:21:17
|
|
FrameCapture: Fix tracking of glCopyImageSubData
When tracking texture updates during glCopyImageSubData, choose
an enum supported by PackedEnum when looking up the textureID.
Also add a test for a common pattern used by the Unreal Engine that
trips up FrameCapture.
Test: CopyImageTestES31.CubeMapCopyImageSubData/*
Bug: angleproject:7913
Change-Id: I6c0fee69064cc6dc81177093ec9461dd5ccc152a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4126449
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
a0939325
|
2023-01-01T17:41:33
|
|
Tests: Add Catalyst Black trace
Test: angle_trace_tests --gtest_filter="*catalyst_black*"
Bug: angleproject:7921
Bug: angleproject:7924
Change-Id: I626d6790ef602f3ca09c9c9a4e03c5df32a985ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4133886
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
2256c548
|
2022-12-15T20:44:38
|
|
Map AHARDWAREBUFFER_FORMAT_R8_UNORM to GL_R8
Bug: b/259551816
Test: cvd start --gpu_mode=guest_swiftshader
Test: atest librenderengine_test
Change-Id: I32a7b83494426e291cc93fe2b5f245eab6a54b0a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4112149
Commit-Queue: Jason Macnak <natsu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
6fdac95a
|
2022-12-15T20:36:01
|
|
Mirror Android AHB formats in ANGLE owned enum
The existing code seems to try to keep all AHB formats defined in
android_util.cpp (potentially in an attempt to simplify format
conversions?). However, trying to avoid redefinition errors when
conditionally re-defining the AHB formats across builds/branches
is difficult.
IIUC, there are two levels at play when building for Android:
1) "target level": the level of the phone/device you are building
for.
2) "build level": the level of the repository/checkout you are
building from.
The "target level" (__ANDROID_API__) cannot be used to guard the
definitions in android_util.cpp because it is possible to build
for an older device in a newer branch. For example, suppose
AHARDWAREBUFFER_FORMAT_X was introduced in Android T. If ANGLE
tried to redefine AHARDWAREBUFFER_FORMAT_X in android_util.cpp
with the guard "if __ANDROID_API__ < T", re-definition errors
would still occur when building for Android S devices (
__ANDROID_API__ set to S) from inside of an Android T branch
because the format would still be defined in
android/hardware_buffer.h. A failure of this type can be seen in
aosp/2308065 which tried to guard AHARDWAREBUFFER_FORMAT_R8_UNORM
with "if __ANDROID_API__ < 33". Additionally, Android sets
__ANDROID_API__ to 10000 before releases are cut and it is
supposed to be fixed at release time. However, this has
been observed to not be fixed on some less maintained side
branches.
Detecting the "build level" seems to be quite difficult. When
building from outside of Android, this is the NDK level which
can be detected using __ANDROID_NDK__ and __NDK_MAJOR__.
When building from inside of Android, this is the latest level
available on your specific branch. I believe this can only be
found by incrementally checking for the existence of the various
__ANDROID_API_R__, __ANDROID_API_S__, etc defines. This alternative
can be seen in https://crrev.com/c/4039066. However, this is very
difficult to find and read.
Instead, let's just define ANGLE's own enum which mirrors the
Android enums which can be used without having to worry about
the current build system or release/branch.
Bug: b/259551816
Test: cvd start --gpu_mode=guest_swiftshader
Test: atest librenderengine_test
Test: ANGLE presubmit
Test: Android presubmit on aosp/master (aosp/2360445)
Test: Android presubmit on aosp/android13-gsi (aosp/2360447)
Test: Android presubmit on aosp/android11-gsi (aosp/2360520)
Change-Id: I62f12cb0e1cc4b3b24aab7b85f39360a2cd2e438
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4112148
Commit-Queue: Jason Macnak <natsu@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7c08f0a5
|
2023-12-03T00:00:00
|
|
Skip ClipCullDistanceTest.SizeCheckCombined on TSAN
Bug: angleproject:7922
Change-Id: I19c9ce729be8bf7a68517f340cd001332f22be08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4134844
Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
61728827
|
2022-12-14T15:29:15
|
|
Reland "Make ANGLE program version only dependent on data that matters"
This is a reland of commit c303758fbc8d23266be578fae246e5687656b4c6
Changes made on top of original commit
1. Enable execution permission on python script
program_serialize_data_version.py
2. Remove unused list in libGLESv2.gni
3. In angle/BUILD.gn, change file path from
"relative to angle_root", to "relative to root_build_dir",
so that inside the script program_serialize_data_version.py,
we don't have to find the absolute path of the code files for
hashing.
Original change's description
> This change introduces a new variable ANGLE_PROGRAM_VERSION
> to track the version of ANGLE source files that affect shader
> program serialization/deserialization. This change include more
> source files than necessary, to serve the purpose of a conservative
> jumping off point. We will narrow down the list of files for
> ANGLE_PROGRAM_VERSION hash generation in the future.
> Add a new script program_serialize_data_version.py that will
> be triggered during the build when the related source files changed.
> The script will generate a hash and the hash size from the related
> source files. In program serialization/deserialization and cache
> key generation, we will use this hash value instead of the entire
> ANGLE git hash. When the hash value changed, we know that the
> related source files changed, and we should invalidate the program
> cache and re-generate the blob cache / program binary.
> Bug: angleproject:4981
> Change-Id: I2fb609416738d459d3289190c232c2d797ba58e3
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4072215
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Bug: angleproject:4981
Change-Id: Iaa9eb0ab33439197bc30d03064fc245ea7ef1ea8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113445
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
b5a8cb42
|
2022-12-30T21:00:54
|
|
Tests: Add Cut the Rope trace
Test: angle_trace_tests --gtest_filter="*cut_the_rope*"
Bug: angleproject:5823
Bug: angleproject:7920
Change-Id: I6c607c593d828623afadff5677e0a8324e6b89f8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4129086
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
71e89320
|
2023-01-03T09:10:08
|
|
Tests: Support multiple filters with ":".
Now we can run multiple traces per invocation, e.g.:
"trex_200:among_us"
Bug: angleproject:7775
Change-Id: I8e8176d444f20ae97234469ab8c553543b81b331
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4132944
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e5efa2a7
|
2022-12-30T17:10:37
|
|
Tests: Add Portal Knights trace
Test: angle_trace_tests --gtest_filter="*portal_knights*"
Bug: angleproject:7919
Change-Id: Ie11fd45afdd2cb70d1caef2e0006ba26ac5fdf25
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4129107
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
8e2b87ac
|
2022-12-29T21:19:29
|
|
Tests: Add MU Origin 3 trace
Test: angle_trace_tests --gtest_filter="*mu_origin_3*"
Bug: angleproject:7917
Change-Id: Ic00a42d3c8b7c6c92a66c09c258a32d22e5f4805
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4129866
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
b9e38879
|
2022-12-28T21:00:57
|
|
Tests: Add Agent A: A puzzle in disguise trace
Test: angle_trace_tests --gtest_filter="*agent_a*"
Bug: angleproject:7914
Change-Id: I3be5192a64c400b341b313e92211126e3ad1fd38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4128940
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
e5e78ab4
|
2022-12-29T13:16:13
|
|
Trace Interpreter: Auto-gen ReplayCustomFunctionCall.
This makes it easier to add or remove fixture functions.
Bug: angleproject:7775
Change-Id: I1c56465cfa0580414715f562cadc916c4baf3d11
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4128718
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
4a8bc146
|
2022-12-29T17:26:05
|
|
Skip angle_restricted_trace_gold_tests.car_chase asserts on Pixel 6
Assert failed in setSerial
Bug: angleproject:7916
Change-Id: I05a91cfd29194e29e6c512c9001c064951dcf466
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4127959
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
fe704fb5
|
2022-12-27T18:34:43
|
|
Crash end2end tests when loading driver library fails
Switch from GTests's ASSERT_NE(),
which allowed to continue execution and hid the error from Swarming,
to ANGLE's ASSERT(), which makes bots to report this error.
Bug: angleproject:7885
Change-Id: I7937a9419f3fbfd9f6ab2d696e40771bde763a1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4126355
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
309269ce
|
2022-12-23T18:10:22
|
|
Fix ReadOnlyFeedbackLoopTestES31 not instantiated on iOS
Bug: angleproject:7899
Change-Id: I0641574cae2f74315297df8eac0268ab5676dd3d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116926
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6c41793f
|
2022-12-20T15:20:50
|
|
Vulkan: Use read/write depth/stencil layouts
This allows an application to have depth in read-only feedback loop
while stencil is being written to for example.
Bug: angleproject:7899
Bug: b/192477489
Change-Id: Ic2e11d32da7c7e3a7f3cd86dbafc5c56a0dbbfd7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116730
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
067ace47
|
2022-12-21T00:00:00
|
|
Add ANGLE_clip_cull_distance extension
Added an extension spec.
Trivially exposed it on GL, Vulkan, and D3D11.
Adjusted tests and validation to allow no cull
distance support for this extension string.
Removed extra built-in variable definitions.
Bug: angleproject:7904
Change-Id: Ic60772dfe28132c316eaa29aadc1afd66e3b0fa7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114290
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
295f6830
|
2022-12-21T10:56:03
|
|
Vulkan: bufferRead should accommodate deferred endRenderPass
ContextVk::onSyncObjectInit() will request end of current renderPass but
deferred (in this case, mRenderPassCommandBuffer is nullptr but
mRenderPassCommands->started() still returns true). The next draw call
will actually end current renderPass and starts a new renderPass. But if
next call is glCopyBufferSubData, it will not actually trigger
endRenderPass. This CL modifies
OutsideRenderPassCommandBufferHelper::bufferRead logic to accommodate
this deferred endRenderPass scenario by checking
mRenderPassCommands->started() instead of hasStartedRenderPass so that
the answer to "if this buffer been used by current renderPass or not"
will return correct result.
Bug: angleproject:7903
Change-Id: Ie5c9977ccf083e7d355a2cd8fd08e9077049ee9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4119692
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
216cd10b
|
2022-12-22T11:29:35
|
|
Vulkan: Dsiable enableAsyncPipelineCacheCompression
There was intermittent failure on bots due to this. Re-disable it for
now.
Bug: b/246683126
Change-Id: Iba5c0bcacb87336d187b952b47804885ce569f6d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4120245
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
cc34aa73
|
2022-12-19T14:03:27
|
|
Move BinaryStream to common and expose ShaderState to compiler
This is a refactor change in preparation for adding support for
glShaderBinary.
Move BinaryStream to common so that it is accessible by both libANGLE
and the Compiler.
Extract members that hold the result of compilation from ShaderState
and move into new CompiledShaderState struct.
Move helper functions & classes relevant to ShaderVar serialization to
the CompiledShaderState header.
Tests: EGLBlobCacheTest*
Bug: angleproject:7833
Change-Id: I7ec575247eccb3afbc6ab6bfa24d36e69d4576f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4080998
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
9bcb8f7d
|
2022-10-24T21:13:13
|
|
Tests: Add Grimvalor trace
Test: angle_trace_tests --gtest_filter="*grimvalor*"
Bug: angleproject:7787
Change-Id: I87768d0ca0fd97bc1239841dacdf6f7ae62e588d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3976065
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
|
|
7d8cbb60
|
2022-12-21T00:00:00
|
|
Fix typo in EXTClipCullDistanceForFragmentShaderTest
Bug: angleproject:5747
Change-Id: I26baa29302472821706c0354ea855183608ebc5d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116721
Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
626b10c1
|
2022-12-20T20:22:19
|
|
Vulkan: Add read/write depth/stencil layouts
This CL only adds the layouts in the list, but does not use them. The
layouts are renamed for consistency in this change.
Bug: angleproject:7899
Bug: b/192477489
Change-Id: I47986c7252d32626e9f26c6670c0a4e3496fe0c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116736
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
301ed545
|
2022-12-20T20:16:22
|
|
Vulkan: Pass context to layout getters
In preparation for a change that optionally uses read/write
depth/stencil layouts. Context is used to test for the
supportsMixedReadWriteDepthStencilLayouts feature to know whether those
layouts are supported or that a fallback must be chosen.
Bug: angleproject:7899
Bug: b/192477489
Change-Id: I1453dc9d060453a3806ad0f261b94368fe01fb29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116735
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
d6dea33b
|
2022-12-19T13:39:34
|
|
Vulkan: Remove CommandQueue::mGarbageQueue
With recent work of per active context queue serial, mGarbageQueue
behaves almost identical to normal mSharedGarbage now. This CL removed
mGarbageQueue and added garbage into Remove mSharedGarbage instead.
Bug: b/263166501
Change-Id: I6bce47b4535283e7bd0f0c8823b9629cc25f9d94
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117712
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
e4935563
|
2022-12-20T23:34:26
|
|
Tests: Add Wayward Souls trace
Test: angle_trace_tests --gtest_filter="*wayward_souls*"
Bug: angleproject:7905
Change-Id: Ib7922df51411140f71481a0d5bdb4f54274b6f05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117139
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
1e32988c
|
2022-12-21T15:53:15
|
|
Revert "Metal: expose Metal backend only on supported GPUs."
This reverts commit 9364246f08d34a378252e517210b68e97282f764.
Reason for revert: iOS build fails
Original change's description:
> Metal: expose Metal backend only on supported GPUs.
>
> Query all the GPUs on the system during ANGLE's initialization, and do
> not expose the EGL_ANGLE_platform_angle_metal client extension unless
> all of them support the required GPU families or feature sets.
>
> Tested locally on a 2015 MacBook Pro with dual Intel Iris Pro and AMD
> Radeon R9 M370X GPUs. The AMD GPU supports Metal GPU family macOS 2,
> but the Intel GPU, only family macOS 1. With this change, Chrome
> properly falls back to using ANGLE's OpenGL backend when
> --use-angle=metal is specified, and renders correctly.
>
> Bug: chromium:1365598
> Change-Id: I2c3533afe733e0d06d7755cae272bbd12aa9e676
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117716
> Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
> Reviewed-by: Gregg Tavares <gman@chromium.org>
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Bug: chromium:1365598
Change-Id: Iedbe8978f2a2d39a33359fa236a1d305c284266e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114291
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
9ded03b4
|
2022-12-20T07:09:36
|
|
Revert "Vulkan: Make available GLInternalFormatToGbmFourCCFormat"
This reverts commit 402e7f7a634b1170d0feae52a44168731a7489f9.
Reason for revert: Chromium android-binary-size build failed.
Original change's description:
> Vulkan: Make available GLInternalFormatToGbmFourCCFormat
>
> GLInternalFormatToGbmFourCCFormat() is not available on Linux
> because of the guard with the wrong definition, ANGLE_USES_GBM.
> This also fixes build errors that were occurred after enabling.
>
> Bug: angleproject:7829
> Change-Id: If7c7543270cc127945149927be0fc3ffdd49163b
> Signed-off-by: Sungyong Choi <sywow.choi@samsung.com>
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4022963
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jeff Vigil <j.vigil@samsung.com>
> Commit-Queue: mohan maiya <m.maiya@samsung.com>
> Reviewed-by: mohan maiya <m.maiya@samsung.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:7901
Bug: angleproject:7829
Change-Id: I256d51f78ff0d3ced9920c3ea1d2bfceba43a1ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4113577
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
9364246f
|
2022-12-19T16:28:44
|
|
Metal: expose Metal backend only on supported GPUs.
Query all the GPUs on the system during ANGLE's initialization, and do
not expose the EGL_ANGLE_platform_angle_metal client extension unless
all of them support the required GPU families or feature sets.
Tested locally on a 2015 MacBook Pro with dual Intel Iris Pro and AMD
Radeon R9 M370X GPUs. The AMD GPU supports Metal GPU family macOS 2,
but the Intel GPU, only family macOS 1. With this change, Chrome
properly falls back to using ANGLE's OpenGL backend when
--use-angle=metal is specified, and renders correctly.
Bug: chromium:1365598
Change-Id: I2c3533afe733e0d06d7755cae272bbd12aa9e676
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117716
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
91a5635a
|
2022-12-16T00:00:00
|
|
Support arbitrary clip and cull distance array sizes
Removed limitSimultaneousClipAndCullDistanceUsage cap.
Enhanced HLSL translator to support all valid combinations
of clip and cull distances.
Validate that these arrays are sized explicitly or by using
only constant indices; adjusted link program error message.
Enhanced tests to cover all possible combinations of
implicit and explicit array sizes for both built-ins.
Bug: angleproject:4452
Change-Id: I704db6dc3c8951e5ba482a3e4dad09e5b0182f9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4111645
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
28e7adca
|
2022-12-09T00:00:00
|
|
GL: Implement clip distance state emulation
Pass the current set of enabled clip distances
to vertex shaders via an internal uniform and
dynamically set disabled elements to zero.
Bug: angleproject:7880
Change-Id: I709d31dc7ca0606decf49adf674460a941837683
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4094314
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8668cac1
|
2022-12-17T20:24:13
|
|
Tests: Add My Friend Pedro trace
Test: angle_trace_tests --gtest_filter="*my_friend_pedro*"
Bug: angleproject:7898
Change-Id: Iae0427ac714704214dec292199cd1c5d2097b17f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114830
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
88e94b20
|
2022-12-19T12:20:51
|
|
Skip Flaky Timeout InstancingTestES3.LargeDivisor on Windows Swangle
Bug: angleproject:7900
Change-Id: Ic5522b54b53e3e2eca664a0b7050de0e586e7a51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4117133
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
b7ec9d03
|
2022-12-19T12:53:16
|
|
Vulkan: Create RenderPass2 by default
Previously, ANGLE created core Vulkan 1.0 render passes by default and
converted them to render pass 2 objects if necessary. However:
- More and more extensions used by ANGLE require this functionality,
- Upcoming use of VK_KHR_separate_depth_stencil_layouts makes this path
almost always taken.
It's time for ANGLE to default to render pass 2 objects instead,
especially as support for it is becoming practically ubiquitous.
Bug: angleproject:7899
Bug: b/192477489
Change-Id: I6970a017040a2fdc001d4f2e53c1a0d5968a37cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4116675
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b227cf2f
|
2022-12-19T12:43:37
|
|
Make pending memory allocation type atomic
* This is to prevent TSAN failures due to data race in
setPendingMemoryAlloc().
Bug: b/262029018
Change-Id: I5f2f13ecbe762102692bb910a5baa5b25fa42abe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4115479
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|