|
b96d1955
|
2023-01-20T16:06:34
|
|
Implement GL_ARM_shader_framebuffer_fetch
GL_ARM_shader_framebuffer_fetch allows fragment shaders to read
gl_LastFragColorARM. The extension is similar to
GL_EXT_shader_framebuffer_fetch, but is more limited in its
capabilities.
GL_ARM_shader_framebuffer_fetch was removed from HasFramebufferFetch()
because it acts differently from GL_EXT_shader_framebuffer_fetch in
significant enough ways that it should not be included in that
single-use function.
Tests: FramebufferFetchES31.*_ARM
Bug: b/242419750
Bug: angleproject:7882
Change-Id: Id3a25c8ee50ca3e2a4c30a2261f507b0b53511ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4083108
Commit-Queue: Sean Risser <srisser@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
60ad92e4
|
2023-01-27T11:53:05
|
|
Tests: Add Goddess Of Victory: Nikke trace
Test: angle_trace_tests --gtest_filter=TraceTest.goddess_of_victory_nikke
Bug: angleproject:7982
Change-Id: Id4b49dce6be91bdca85c493d36dec2616be3392c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4199070
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
54f44639
|
2023-01-17T13:07:57
|
|
Vulkan: Make RendererVk only have one CommandQueue object
Right now RendererVk have two CommandQueue objects: one owned by
RendererVk (used for synchronous submission) and another owned by
CommandProcessor (used for async submission). Since async submission is
a feature flag that will never change once RendererVk initialized, we
are only using one CommandQueue. This CL changes CommandProcessor's
mCommandQueue to a pointer that points to RendererVk::mCommandQueue.
The added benefit of this is that it allows me to remove bunch of
CommandQueue property query APIs from CommandProcessor since these
property has nothing to do with "command". CommandProcessor class is
actually reduced to command processing.
Bug: b/266605181
Change-Id: I1f33db14ee29e2c0aa7850de98b2d7c3823126b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4174874
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
06720c9b
|
2023-01-25T11:46:16
|
|
Add binding to DescriptorInfoDesc.
Otherwise we're hitting the cache falsely https://anglebug.com/7974#c1
(repro in test added in this CL)
UpdatePreCacheActiveTextures now gets the binding using the same calls
as updateFullActiveTextures, updateExecutableActiveTexturesForShader
There might be a better way to do this but it's more complicated.
Filed https://anglebug.com/7974 to track.
Test credit of Shahbaz Youssefi syoussefi@chromium.org
Bug: b/242887117
Bug: angleproject:7974
Change-Id: I481147336437ee4bdce040a3ae81f168e5dffe29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4104121
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
0931b679
|
2023-01-26T13:20:22
|
|
FrameCapture: Update shader capture for CRLF
Shaders with CRLF were breaking the way we capture strings after the
move to C format, causing compile failures.
To fix, strip out carriage returns ("\r") before splitting the string.
See previous patchsets on this CL to see other approaches we tried.
Test: LIMBO and Pokemon Masters EX traces
Bug: angleproject:7945
Bug: angleproject:7953
Change-Id: Ia15d3a098cb4fcad85a7d7dbd365acdbff8346ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4159055
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
1d9b8d80
|
2023-01-24T16:50:32
|
|
Reland "Add support for glShaderBinary"
This is a reland of commit 228973e73135924ddf6116e0b63eff5a1ccbf232
with the following fixes -
1. Apply patch from Yuly to fix chromium build errors
2. Fix ShaderBinaryTest instantiation call
3. Add ShaderBinaryTest to expectations file for IOS
Original change's description:
> Add support for glShaderBinary
>
> This patch adds the following -
> 1. ANGLE_shader_binary extension and GL_SHADER_BINARY_ANGLE token.
> 2. Compiler support to generate shader binaries.
> 3. Update compiler to use SH_SPIRV_VULKAN_OUTPUT as output type for
> Vulkan translator.
> 4. Support to load GL_SHADER_BINARY_ANGLE binaries.
> 5. end2end tests for glShaderBinary.
>
> Tests: ShaderBinaryTest*
> Bug: angleproject:7833
> Change-Id: I191d5ba7c4d5304696f5e743c851dc945fa57858
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137306
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: mohan maiya <m.maiya@samsung.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: angleproject:7833
Change-Id: I21135c52e2bae955342a99aff5631ba0e687eff1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4195852
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
17ac6943
|
2023-01-20T12:09:44
|
|
Move d3d11 BCX textures to the "UNREACHABLE" section for clears
BCX textures can't be rendered to or cleared.
Bug: angleproject:7855
Change-Id: Id2564e92db692aeae9a0da47d55a8ef18b66c4d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4184938
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6938b883
|
2023-01-26T13:57:00
|
|
Tests: Add Dragon Ball Z Dokkan Battle trace
Test: angle_trace_tests --gtest_filter=TraceTest.dragon_ball_z_dokkan_battle
Bug: angleproject:7980
Change-Id: If7a69d81d7256a90420fad65739ff61e907f5d16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4198477
Commit-Queue: Mike Schuchardt <mikes@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
081764c8
|
2023-01-23T16:18:23
|
|
Remove checks for A8 devices
iOS 13 and above dropped support for A8.
We do not need this code anymore.
Bug: angleproject:7971
Change-Id: Ie1fca5d93be902605ce989c213df4f2677fe1597
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4190138
Reviewed-by: Dan Glastonbury <djg@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
6eb6cb2e
|
2023-01-26T15:48:35
|
|
Declare size_t in Constants.h by including stddef.h
Patch by: mcatanzaro@gnome.org
Constants.h uses size_t. The include stddef.h is defined to declare
size_t, so include it in Constants.h.
Fixes some compile failures on some gcc compiles in WebKit.
Bug: angleproject:7976
Change-Id: Ibe84e9f58379558ee573aebc3a7679a154d6fe51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4194173
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
128eb01d
|
2023-01-25T15:55:04
|
|
Vulkan: Only call checkCompletedCommands if needed.
SyncHelper::getStatus() is always calling checkCompletedCommands. This
CL makes it only call RendererVk::checkCompletedCommands if sync is not
finished. If it is already finished, we could just immediate return
"signaled".
Bug: b/266220198
Change-Id: Ie7be9ea9c07d40984945ae3f20a5276c10b3322d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4195834
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bed19c47
|
2023-01-26T10:41:23
|
|
Tests: Add Bubble Shooter and Friends trace
Test: angle_trace_tests --gtest_filter="*bubble_shooter_and_friends*"
Bug: b/266823872
Change-Id: I6dfec3b3349675791e3cb7c41bed52b146cb7bee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4195848
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
226fd666
|
2023-01-20T10:26:34
|
|
Vulkan: Make CommandProcessor::checkCompletedCommands immediate check
This checkCompletedCommands() method is trying to do immediate
mLastCompletedSerials update. For async command submission, there is no
point to insert a token for CommandProcessor::checkCompletedCommands
since it is not waiting for all queued commands to be submitted. And
even worse, for async submission, it is also not doing immedidate queue
serial update. For example, SyncHelper::getStatus() we do call
checkCompletedCommands to ensure the queue serials are up to date, but
with async submisison, this has no immediate effect, which may cause
test like FenceNVTest.BasicOperations/ES3_Vulkan_AsyncCommandQueue to
fail because queue serial is not kept up to date even though we did wait
for fence to finish. This CL removes CustomTask::CheckCompletedCommands
token and just calls mCommandQueue.checkCompletedCommands() immediately.
This CL only affects asynchronous command submission code path.
Bug: b/266220198
Bug: angleproject:7884
Change-Id: I3226bc9b337b516e28695008295358d00103eeb9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4174876
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
63d9675f
|
2023-01-25T18:07:54
|
|
Add documentation for enabling Metal validation layers.
Bug: angleproject:7952
Change-Id: I05b03d8db2b97b23616a7e41860e063eb992dc48
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4195840
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kenneth Russell <kbr@chromium.org>
|
|
ef0fe638
|
2023-01-16T00:00:00
|
|
Implement EXT_polygon_offset_clamp
* Added polygonOffsetClamp to the RasterizerState
* Adjusted State::setPolygonOffsetParams
* Added PolygonOffsetClampTest end2end tests
* Added StateChangeTestES3.PolygonOffsetClamp test
* Suppressed the affected dEQP test as it has a bug
Capture
* Updated serialized rasterizer state
* Updated CaptureMidExecutionSetup
OpenGL
* Rely on the EXT extension defined both
for desktop and ES contexts
* On desktops, might as well use the ARB extension
or GL 4.6 once ANGLE supports them
D3D11
* Requires FL10_0 or higher
* Maps to D3D11_RASTERIZER_DESC.DepthBiasClamp
* Drive-by cleanup of extensions init code
Vulkan
* Requires depthBiasClamp physical device feature
* Maps to the depthBiasClamp parameter
of the vkCmdSetDepthBias command
Metal
* Maps to the clamp parameter
of the setDepthBias command
Bug: angleproject:7957
Change-Id: If6b28df4084f0a81db29f75fb434e75d394c8730
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4169945
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
9edc4686
|
2023-01-26T09:26:41
|
|
Vulkan: Fix SharedFence::mRefCountedFence leak
This was introduced in crrev.com/c/4159871. mRefCountedFence itself is
not been properly deleted.
Bug: b/261106868
Change-Id: I91b620d96064cc0a8a155327336881d26a5bc33b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4198475
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0133b6f1
|
2023-01-20T16:02:27
|
|
Add GL_ARM_shader_framebuffer_fetch builtins
Bug: b/242419750
Bug: angleproject:7882
Change-Id: I85582ad21e58e448b740789ec88f783c8b95ee01
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4189028
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Sean Risser <srisser@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
18657894
|
2023-01-25T13:05:56
|
|
Add features to dump and replace shader source.
dump_shader_source writes shader source strings to files named
with the hash of the source and shader type.
enable_shader_substitution allows subsituting the shader source
with the strings contained in a file. The same file naming scheme
as dump_shader_source is used so shaders can be dumped in one run,
modified and subsititued in the next run.
Use the ANGLE_SHADER_DUMP_PATH and debug.angle.shader_dump_path
environment variables to control where files are written. If they
are unspecified, write to the temp directory.
Based upon Cody's CLs:
https://chromium-review.googlesource.com/c/angle/angle/+/2755841
https://chromium-review.googlesource.com/c/angle/angle/+/3961670
Bug: angleproject:7760, chromium:1385510
Change-Id: I43b9827b977079b88daa794e867637f7a126b080
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4192347
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
862e3e95
|
2023-01-26T10:01:23
|
|
Skip failing capture/replay multithreaded test
Bug: angleproject:7423
Change-Id: If193d7d2cdbec661c4d73cd039341333f8f1936d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4197835
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
dfcdae3b
|
2023-01-23T15:59:49
|
|
FrameCapture: Add blend state updates to resetCalls.
Adds calls to ResetReplay if modified during capture, for example:
glBlendEquationSeparate(GL_FUNC_ADD, GL_FUNC_ADD);
glBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE, GL_SRC_ALPHA, GL_ONE);
glBlendFunc and glBlendFuncSeparate need to be "merged" into a single
path to avoid both being tracked while using the same underlying state,
so I mapped them both to glBlendFuncSeparate.
Also handling glBlendEquation the same way, previously only
glBlendEquationSeparate calls were tracked.
Test: Bubble Shooter with Friends MEC
Bug: b/266244734
Change-Id: I02c4a0da46f35aa496308bf9df6ac15f3297de27
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4189035
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
0c9cbf39
|
2023-01-26T12:07:51
|
|
Revert "Add support for glShaderBinary"
This reverts commit 228973e73135924ddf6116e0b63eff5a1ccbf232.
Reason for revert: breaks compile on ANGLE into Chromium roll
https://cr-buildbucket.appspot.com/build/8790942326644064097
https://cr-buildbucket.appspot.com/build/8790942759045412865
https://cr-buildbucket.appspot.com/build/8790942417069789217
Leaks detected on ASAN
https://cr-buildbucket.appspot.com/build/8790946657703508337
Original change's description:
> Add support for glShaderBinary
>
> This patch adds the following -
> 1. ANGLE_shader_binary extension and GL_SHADER_BINARY_ANGLE token.
> 2. Compiler support to generate shader binaries.
> 3. Update compiler to use SH_SPIRV_VULKAN_OUTPUT as output type for
> Vulkan translator.
> 4. Support to load GL_SHADER_BINARY_ANGLE binaries.
> 5. end2end tests for glShaderBinary.
>
> Tests: ShaderBinaryTest*
> Bug: angleproject:7833
> Change-Id: I191d5ba7c4d5304696f5e743c851dc945fa57858
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137306
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: mohan maiya <m.maiya@samsung.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: angleproject:7833
Change-Id: Ice19576acbc1351810ff0cd769ac17ad6c0abdf3
No-Try: true
No-Presubmit: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4197375
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
b64b573b
|
2023-01-25T18:25:27
|
|
Capture/Replay: disable more multi-threaded tests.
EGLMultiContextTest tests similar to the already-disabled tests in
MultithreadingTestES3
Something flaked in
https://ci.chromium.org/ui/p/angle/builders/try/win-trace/4839/overview
Bug: angleproject:7423
Change-Id: I4a484954bca727a053437d1d6e52562f2b1344a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4191998
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
00b94fda
|
2023-01-17T11:12:14
|
|
Vulkan: CommandProcessor::WaitForWorkComplete only if needed
When async command queue enabled, there is another queue (mTask) in
CommandProcessor object. When we wait for a queueSerial to finish, right
now we always flush everything from CommandProcessor (i.e, wait until
mTask is empty), even though the work in mTask is unrelated to this
queueSerial that waiting for. With the work of previous CLs, now we can
actually wait for mTask to empty only if there is still pending
submission of queueSerial.
This CL also renames ComandProcessor::ensureNoPendingWork to
waitForQueueSerialToBeSubmitted to reflect what it does (it does not
wait for GPU to finish).
Bug: b/261098465
Change-Id: I0114dadd86a84f75bf8b71735f0adc0dbb9b6bf2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4174873
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
1e3197f4
|
2023-01-25T15:17:42
|
|
Metal: Remove the UNIMPLEMENTED from setBinaryRetrievableHint
It spams Chrome's output. It's valid to no-op this function.
Bug: chromium:1385510
Change-Id: I63476d94bbd4c075444fa260f5eed9b70b807703
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4195176
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
228973e7
|
2023-01-24T16:50:32
|
|
Add support for glShaderBinary
This patch adds the following -
1. ANGLE_shader_binary extension and GL_SHADER_BINARY_ANGLE token.
2. Compiler support to generate shader binaries.
3. Update compiler to use SH_SPIRV_VULKAN_OUTPUT as output type for
Vulkan translator.
4. Support to load GL_SHADER_BINARY_ANGLE binaries.
5. end2end tests for glShaderBinary.
Tests: ShaderBinaryTest*
Bug: angleproject:7833
Change-Id: I191d5ba7c4d5304696f5e743c851dc945fa57858
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137306
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
1d9984bd
|
2023-01-12T16:56:02
|
|
Vulkan: Make CommandProcessor use ThreadSafeCommandQueue
This CL switches CommandProcessor's mCommandQueue to
ThreadSafeCommandQueue. This allows us to utilize ThreadSafeCommandQueue
implementation of wait for GPU to finish while CommandProcessor's async
submission thread continue to submit.
By doing this, CommandQueue is only used by ThreadSafeCommandQueue, thus
some public APIs can now removed.
This CL also implements wait APIs of ThreadSafeCommandProcessor directly
and remove these APIs from CommandProcessor class.
Bug: b/261106868
Change-Id: I8c2e1de95a37fab21b7018db484976c447f1dcad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4163743
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
6a5e61cd
|
2023-01-11T16:49:52
|
|
Vulkan: Make ThreadSafeCommandQueue's wait without lock
This CL makes all wait functions in ThreadSafeCommandQueue class to wait
without holding the lock, so that other contexts can still submitting
commands or make calls into CommandQueue. To make this work,
Shared<Fence> has been refactored into SharedFence class which is RAII
and manages refcounted VkFence object. It's copy constructor simply adds
a reference to the underline fence object, so that the local copy of a
SharedFence object guarantees underline vkfence will remain valid. RAII
makes sure that local copy of SharedFence will not leak refcount. The
ThreadSafeCommandQueue wait functions makes a local copy of SharedFence
so that it can unlock and wait and then relock.
This CL also adds a new test for this:
EGLMultiContextTest.ThreadBCanSubmitWhileThreadAWaiting
Bug: b/261106868
Change-Id: I96ecfa1d9f7a3dc646ff2287d789313a9f8fb75d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4159871
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c9094ca6
|
2023-01-25T11:46:44
|
|
Skip flaky tests dEQP-GLES31.functional.image_load_store.buffer*
Skip these flaky tests on OpenGL backends
on Windows and Linux:
dEQP-GLES31.functional.image_load_store.buffer.atomic.
comp_swap_r32i_return_value;
dEQP-GLES31.functional.image_load_store.buffer.atomic.
comp_swap_r32ui_return_value
Bug: b/266710445
Change-Id: I78684e661ec789ff116658c06c8c341b4db8aa9e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4194034
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
11608a8b
|
2023-01-23T00:00:00
|
|
Adjust STENCIL_INDEX8 caps
* Fixed a typo in GetSizedFormatInternal
* Required texturing for OES_texture_stencil8
* Marked all depth/stencil formats as not blendable
* Fixed frontend and GL texture caps for GL_STENCIL_INDEX8
Bug: angleproject:3231
Change-Id: Ie91e4bb4e8ab56d39dc1270487380b0bfce25b08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4194169
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
660e4a7c
|
2023-01-20T15:42:29
|
|
Don't override D16_UNORM to D32_FLOAT on Apple GPUs.
Local testing of:
dEQP-GLES3.functional.polygon_offset.fixed16_render_with_units
on M1 indicates that depth bias works correctly with
MTLPixelFormatDepth16Unorm on this GPU type, indicating that previous
workarounds only need to be applied to non-Apple GPUs.
Reimplement d24s8_fallbacks_mac as depth_fallbacks_mac, add this
workaround there, and move the conditions to the JSON file per review
feedback from Alexey Knyazev. Avoid emitting duplicate depth formats
in gen_mtl_format_table.py.
Leave the iOS Simulator alone - the workaround is likely still needed
there, and difficult to test.
Tested via:
./out/Release/angle_deqp_gles3_tests \
--gtest_filter=\
dEQP-GLES3.functional.polygon_offset.fixed16_render_with_units \
--use-angle=metal
Bug: angleproject:6597
Change-Id: I52a99b3f710bb88e1f43ed17862f6e6f2e6471ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4184943
Auto-Submit: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
9a72a98e
|
2023-01-19T13:17:42
|
|
Vulkan: Fix the VVL error for shaderRead to shaderRead barrier
When we use image from fragment shader read to vertex shader read, we
detect the case (same layout with only shader stage change) and just
merge the barrier into one. But that can only done if these two usages
are for the same render pass. If it is different render pass, then you
still have to issue a new barrier. Previously there is no way to detect
that the barrier was issued for which render pass. With the fix in
crrev.com/cl/4136948, we now know which render pass issued the last
barrier. With that we are able to limit the shader stage consolidation
only if they are for the same render pass, thus fixing the VVL errors.
Bug: angleproject:6663
Change-Id: I3d884336e8cf1f3cf16fc3e5a3423357ae2ed3c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4182542
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ab334105
|
2023-01-23T10:09:56
|
|
BuiltInResourcesString is no longer a part of shader cache key
The stringified version of `ShBuiltInResources` is poorly
maintained and has a large overhead while computing hashes.
Instead use the `ShBuiltInResources` blob directly.
The shader object now computes and caches its key, refactor
MemoryProgramCache to query the shader object for its key
instead of recomputing it.
Tests: EGLProgramCacheControlTest*
Bug: angleproject:7833
Change-Id: I67a22f9460cee10ab0f7571df7d6525b476a5a78
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4185759
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
13aee254
|
2023-01-13T14:01:56
|
|
Move memory allocation info vars to separate class
* Moved the RendererVk variables related to memory allocation to a new
class, MemoryAllocationTracker.
* Note: The existing variable "mMemoryAllocationTracker" has been
renamed to "mMemoryAllocationRecord" to avoid confusion.
* Added a custom locale using the class MemoryLogNumberFormat, since
the original method did not include formatting on some Android
devices.
Bug: b/262029018
Change-Id: I23acf37119da02e6430de6b5d360307982ecf9bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4174738
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ivan Neulander <ineula@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
77d19e39
|
2023-01-11T14:03:18
|
|
Vulkan: Add ThreadSafeCommandQueue class
This is preparation CL for the next few CLs. Instead of having
RendererVk owns mCommandQueueMutex and takes lock before calling
CommandQueue APIs, this CL creates a ThreadSafeCommandQueue wrapper
class that wraps CommandQueue class' public APIs with a mMutex. Right
now this is purely a mechanical change, expecting no real functional or
behavior differences. But in the future CLs, we are going to implement
some APIs without holding lock while doing the wait. This also
conceptually cleaner that a mutex lock should protect data not methods.
Because of this, this CL also adds OneOffCommandPool class to wrap
around all oneoff command buffers with its own lock. The same change
also applied to CommandProcessor class by adding a
ThreadSafeCommandProcessor class (this will be removed in later CLs).
This CL also removes CommandQueueInterface base class and made all these
virtual functions no longer virtual, thus reduces the overhead associate
with calling virtual functions.
Bug: b/261106868
Change-Id: Ifdc0085cef7f00d840b4ef3fa602172fed3c0fb1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4156637
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
6338909e
|
2023-01-19T13:18:41
|
|
EGL: Remove protected content test case
Remove Protected content test:
Protected context with unprotected texture since it is a
spec violation to render to an unprotected texture from a
protected context
Bug: angleproject:7967
Change-Id: I40ce205a962614fe726417b0ed921b3a5133c079
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4182560
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Jeff Vigil <j.vigil@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
057997e4
|
2023-01-20T16:47:00
|
|
Tests: Add CSR2 Drag Racing trace
Test: angle_trace_tests --gtest_filter="*csr2_drag_racing*"
Bug: b/266249089
Change-Id: I61e4d44fa9ed4bfc5cce1177189d93397cc8a8ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4184944
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
39450a0f
|
2023-01-19T18:29:45
|
|
Add memory qualifier decorations for uniform buffer members
During the parsing of GLSL shader code, we set
memory qualifier on each individual member
of the buffer struct:
http://go/cs-angle/src/compiler/translator/ParseContext.cpp;l=4957.
However, when generating the SPIR-V instructions,
we did not add the corresponding
OpMemberDecorate SPIR-V instructions.
This change adds the missing OpMemberDecorate
SPIR-V instructions for each field in
uniform buffer struct.
Bug: b/261634197
Change-Id: Id930e11f62a0e04e1b151b7d073cca6944474c87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4179065
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
77e995c0
|
2023-01-20T15:03:45
|
|
Tests: Add Family Island trace
Bug: b/266228507
Change-Id: I077236dad048662f093f65a7702a27b09205bdd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4185155
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
134acaba
|
2023-01-20T11:34:55
|
|
Tests: Add Royal Match trace
Test: angle_trace_tests --gtest_filter="*royal_match*"
Bug: b/266220659
Change-Id: I7fcc81611dd2a566ba9b6f7cc97ea6efdc345339
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4184935
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
5ff1298c
|
2023-01-10T15:02:13
|
|
Metal: Fix MTLBarrierScope type availability
Latest SDK doesn't provide MTLBarrierScopeRenderTargets for iOS and is
very specific for macOS versions:
MTLBarrierScopeRenderTargets API_AVAILABLE(macos(10.14), macCatalyst(13.0)) API_UNAVAILABLE(ios) = 1 << 2
This fixes MTLBarrierScopeRenderTargets availability according the
latest SDK.
Test: build ANGLE with Metal renderer enabled on iOS.
Bug: None
Change-Id: I101ccfe6ab77d7241ac4a925aeebce8801782428
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4126578
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Chris Dalton <chris@rive.app>
Auto-Submit: Tiago Vignatti <tvignatti@igalia.com>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
c98a413c
|
2022-11-28T13:56:10
|
|
Vulkan: Use deferred allocation for swapchains when possible
Bug: angleproject:7878
Change-Id: I539027f4fabe7a56f05280baee3772bc536791e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4088906
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jeff Vigil <j.vigil@samsung.com>
|
|
ffbb65bc
|
2022-11-28T13:31:48
|
|
Vulkan: Use VK_EXT_swapchain_maintenance1 for present fences
Bug: angleproject:7878
Change-Id: Ic3a43c663789a6489cff261848d9ad4a408ca53a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4088905
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
d2be1163
|
2023-01-18T23:10:26
|
|
Tests: Add Words of Wonders trace
Test: angle_trace_tests --gtest_filter="*words_of_wonders*"
Bug: angleproject:7965
Change-Id: I6fa9176a1ae90a85421aed6ed5a2101155bbe87b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4179705
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
d859ed39
|
2023-01-19T10:54:54
|
|
Vulkan: Disallow INPUT_ATTACHMENT usage on sampled image views
Input attachments have similar requirements to draw attachments w.r.t
swizzling.
Bug: b/265647457
Change-Id: I7ff007b2b2ae2d8615b4b339bc621835888eebde
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4178023
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9afe8b2d
|
2023-01-17T17:08:11
|
|
Disable the Metal backend on Mac GPU family < 2.
Devices that don't support at least Mac GPU family 2 are not
supported by the Metal backend.
Bug: chromium:1365598
Bug: angleproject:7952
Change-Id: If6b467549c3fe713377c9d74363a560f889e094d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4175533
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
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>
|