|
5d62c05e
|
2022-08-24T13:17:14
|
|
Use canonical Khronos registry XML files for auto-gen.
This switches ANGLE to use the upstream XML files for the CL, EGL
GLX and WGL APIs. Since gl.xml has a few more significant diffs
from the upstream version, that work will come in another CL.
This also removes an ANGLE EGL ext that was added upstream.
Bug: angleproject:6461
Change-Id: I29ead5edc13a4256d1f702c330a5d3d233502cd4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3854318
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b688c909
|
2022-08-11T13:14:49
|
|
Capture/Replay: save and restore UNPACK_ALIGNMENT in MEC
MEC replay requires an unpack alignment of one. When creating a
trace the call to set this alignment is emitted, but it is not
actually set in the context, so that the captured context state
records the actual unpack alignment. When replaying, the call
to set the unpack alignment to one is executed, and the context
state changed, so that comparing the captured context to the
replay context will fail if the original alignement was not one.
Restore the original alinment in the context setup functions to
ensure that the context state holds the same state information
when replaying like when the trace was captured.
Bug: angleproject:7564
Bug: angleproject:7180
Change-Id: I09d9bf77bc0193bdf9f41b6183f1ee8d66c5e563
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827346
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
a69e53c5
|
2022-08-22T16:23:08
|
|
Vulkan: Move vertex stride assert
Bug: fuchsia:107106
Change-Id: I82c34b5c450f39f2869c8fd6ae938b2cdfc5af13
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3846404
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
15b1678f
|
2022-08-19T13:13:42
|
|
FrameCapture: Add VertexArrayCaptureFuncs.
Analogously to FramebufferCaptureFuncs, append OES suffixes to vertex
array related functions on GLES1 contexts. These functions require the
GL_OES_vertex_array_object extension and will crash on certain native
drivers without the OES suffix.
This resolves the following validation error when replaying GLES1
traces captured using MEC on ANGLE:
glBindVertexArray: GL error: HIGH: OpenGL ES 3.0 Required.
Bug: angleproject:7596
Bug: angleproject:7608
Change-Id: I603efae4a8d61b84b7711effb2e7e1d8d52e3d83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3849477
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
efa9a4d9
|
2022-08-24T22:08:38
|
|
Rename README.angle to README.chromium
The extension needs to be `.chromium` for compatibility with
tools/licenses.py
Bug: chromium:1355665
Change-Id: Iabc26bd96ec8b71cf8546ff0ec05172fb8d82ca1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3855396
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
b9bc09cb
|
2022-08-24T13:15:45
|
|
Vulkan: Always enable mVirtualBlockMutex
Right now this is only enabled if async queue submission is enabled. I
think this is a bug that we have to always enable the lock, since
suballocation destroy could come from any threads.
Bug: b/236098131
Change-Id: I0fda61e5db3ff60f776b8d4917a9f10dafed6b1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3855203
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
d89c027e
|
2022-08-22T11:40:40
|
|
Add unimplemented GLX entry points to desktop GL
Test: Run glxgears and hit unimplemented in ANGLE
Bug: angleproject:7533
Change-Id: Ic7ed7506b6d0c5ef5022ae6899cbd6c4d351b178
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3852631
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Eddie Hatfield <eddiehatfield@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
28600f60
|
2022-08-21T21:51:19
|
|
Test: Add Antutu Refinery trace
Test: angle_perftests --gtest_filter="*antutu_refinery*"
Bug: angleproject:7590
Change-Id: I967c72a4109baf64cda1afc3d27407286253ea35
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3844790
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
3e9d8f43
|
2022-08-23T20:00:20
|
|
Fix build with -Wextra-semi
Change-Id: Ibda56f1c3ad3e2851997cba93de5bc32b4606300
Bug: chromium:1355871
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3851180
Auto-Submit: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
|
|
5317b778
|
2022-08-23T08:58:04
|
|
Enable desktop GLSL for desktop GL frontend
Bug: angleproject:7533
Change-Id: I91bd0c217880b05683b86449a9211b9844575ebc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3850471
Commit-Queue: Eddie Hatfield <eddiehatfield@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f7274de2
|
2022-08-24T14:26:50
|
|
Skip EGLMultiContextTest.ReuseUnterminatedDisplay on Pixel 4 GLES
Since it causes this combination of tests to crash there:
EGLMultiContextTest.ReuseUnterminatedDisplay/ES3_1_OpenGLES
ComputeShaderTest.ImageLoadMipmapSlice/ES3_1_OpenGLES
CopyTexImageTest.CopyTexSubImageFromCubeMap/ES2_OpenGLES_EmulateCopyTexImage2DFromRenderbuffers
Also tentatively skip on Win Intel Vulkan due to similar flakiness in:
Texture2DTest.CopySubImageFloat_RGB_RGB/ES2_OpenGL_EmulateCopyTexImage2DFromRenderbuffers
Texture2DTest.TexImageUnpackRowLengthPBO/ES2_OpenGL_EmulateCopyTexImage2DFromRenderbuffers
Texture2DTest.TexImageWithLuminancePBO/ES2_OpenGL_EmulateCopyTexImage2DFromRenderbuffers
Texture2DTest.TexImageWithRGBA4444PBO/ES2_OpenGL_EmulateCopyTexImage2DFromRenderbuffers
Texture2DTest.TexStorage/ES2_OpenGL_EmulateCopyTexImage2DFromRenderbuffers
Bug: angleproject:7602
Change-Id: I5be9e23bfabe6be345caaca3c5ca9bed19112903
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3854603
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
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>
|
|
94a23a4e
|
2022-08-21T19:52:50
|
|
FrameCapture: Fix separable shader uniform locs
Uniform locations are tracked by traced program ID, not remapped
program ID. This was creating code that used incorrect locations
and would immediately crash.
For instance, the following code:
glProgramUniform4fv(gShaderProgramMap[92],
gUniformLocations[gShaderProgramMap[92]][12], 1,
reinterpret_cast<const GLfloat *>(&gBinaryData[0]));
gShaderProgramMap[92] happens to remap to 54 during replay.
But if you look in UpdateUniformLocation, we track uniform locations
based on the trace program (92):
// Example call: UpdateUniformLocation(92, "fullmatrix", 0, 1);
void UpdateUniformLocation(GLuint program, const char *name, GLint
location, GLint count)
{
...
gUniformLocations[program] = programLocations.data();
}
So when gUniformLocations[gShaderProgramMap[92]] is used, it tries
to look up uniform locations for 54, which don't exist, and returns
nullptr.
To fix, don't use gShaderProgramMap when looking up locations of
uniforms. This only affects separable programs. Normal glUniform
calls use gCurrentProgram which is already the trace program (92).
The new code looks like this:
glProgramUniform4fv(gShaderProgramMap[92],
gUniformLocations[92][12], 1,
reinterpret_cast<const GLfloat *>(&gBinaryData[0]));
Test: Antutu Refinery MEC
Bug: angleproject:7590
Change-Id: I079923ec8d938356e72e929d61f80c7fc371a95b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3844642
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
429a7cab
|
2022-08-21T19:50:32
|
|
FrameCapture: Fix cube face as framebuffer
This fix is required for Antutu Refinery benchmark, which has cube
faces mapped as framebuffer attachments.
Test: Antutu Refinery MEC
Bug: angleproject:7590
Change-Id: I5eec5fcbe12ac7486499b047a4b7564b3bc2690f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3844641
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
aa2a558e
|
2022-08-23T09:47:02
|
|
Vulkan: Add support for setting timestamp surface attribute
On Android the EGL wrapper handles most of the functionality required
by EGL_ANDROID_get_frame_timestamps. However if for some reason the
swapchain is recreated, the timestamp state would be lost resulting in
stuttering.
Introduce EGL_ANGLE_timestamp_surface_attribute extension that adds
support for toggling the EGL_TIMESTAMPS_ANDROID attribute of a surface.
Cache this state and recreate the swapchain accordingly.
Bug: angleproject:7489
Test: EGLSurfaceTest.TimestampSurfaceAttribute*
Test: dEQP-EGL.functional.get_frame_timestamps*
Change-Id: I3660f7137c006d904164d243a682a4ff520eabd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3753396
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
f10625d3
|
2022-08-11T14:32:45
|
|
Enable Robustness Extension on ARM
These dEQP tests failed due to Robustness was disabled:
dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer#readn_pixels
dEQP-GLES31.functional.debug.negative_coverage.log.buffer#readn_pixels
dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer#readn_pixels
dEQP-GLES31.functional.debug.error_filters#case_12
dEQP-GLES31.functional.debug.error_groups#case_12
Re-enable the Robustness Extension on ARM to check if
mali driver supports GL_EXT_robustness extension now. If it does
we can enable the robustness feature in ANGLE so that the above
dEQP tests can pass.
Bug: angleproject:7351
Bug: angleproject:4823
Bug: angleproject:2330
Change-Id: Ifce20e410607f2d4b6b3b55235081fef690c983c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3828441
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
13456bfc
|
2022-08-23T13:33:13
|
|
Propagate device type in another eglGetPlatformDisplayEXT call.
Same as https://crrev.com/c/3759712 for another test.
Also use !platformSupportsMultithreading() to skip tests.
However, need to skip separately from capture/replay where
multi-threaded tests seem to run into issues.
Bug: angleproject:7494
Bug: angleproject:7423
Change-Id: Ief87b4163aedd26b440987540c06ceb7ae8a575b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3851166
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
f0b4e8b2
|
2022-08-23T17:12:44
|
|
Fix loading ANGLE libraries on iOS
Previously end2end tests would try to load
libEGL.framework/libEGL.framework instead of libEGL.framework/libEGL
Bug: angleproject:5417
Change-Id: Iccb9ad20df980dfd460219dbcaf9b273aef9c7dc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3851164
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
41c01134
|
2022-08-23T06:00:04
|
|
Extend the image test to verify RGBX AHB and GL_RGB upload
This changes updates the RGBXAHBImportThenUpload test to do texture
upload to the right side and adds a new helper to validate the render
result on both sides to check the upload respects the GL_RGB channels.
Bug: b/238460927
Test: ImageTestES3.RGBXAHBImportThenUpload
Change-Id: I61723e7db99dab78b7828b783bb7cdf062f39ad9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3849462
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
df946856
|
2022-08-22T20:36:52
|
|
Map RGBX AHB to GL_RGBX8_ANGLE and fix the load function
AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM was false mapped to GL_RGB8, which
will write back to the backing exteranl storage with 3 channel layout.
Angle actually has ANGLE_rgbx_internal_format to fix the mapping with
GL_RGBX8_ANGLE. However, the load function must align with GL_RGB8 if
the actual storage is 4 channel. This change also fixes that to use
LoadToNative3To4<GLubyte, 0xFF>.
Bug: b/238460927
Test: CtsNativeHardwareTestCases#SingleLayer_ColorTest_*_R8G8B8X8_*
Test: ImageTestES3.RGBXAHB* pass without VVL error
Change-Id: Ic5db4cb4adba252949d64e560ff32e492a045912
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3846413
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Lingfeng Yang <lfy@google.com>
|
|
b32091b4
|
2022-08-17T16:00:02
|
|
Vulkan: Bug fix related to pre-rotation code
Account for possiblity that the draw and read surfaces are different
when querying pre-rotation information. When updating
mCurrentRotationDrawFramebuffer and mCurrentRotationReadFramebuffer,
make sure to query pre-rotation information from current draw and
read surfaces.
Bug: angleproject:7581
Test: FramebufferTest_ES3.BlitWithDifferentPreRotations*
Change-Id: Ibe7a2450907e53aa5c33e13cff00059ab2f6602e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3836491
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
952d6e8f
|
2022-08-21T21:51:03
|
|
Vulkan: Workaround ARM driver bug with dynamic vertex strides
According to ARM, vkCmdBindVertexBuffers2EXT is broken when more than
one attribute binding is involved. In this change, the vertex strides
dynamic state is avoided altogether on ARM.
Bug: fuchsia:107106
Change-Id: Ie41fc07037083214d2dc99e4ed062485384911c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3844640
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bd1484f3
|
2022-08-22T13:53:35
|
|
Temporarily disable shader caching feature
This will be re-enabled when the BlobCache test flakes are resolved.
Bug: angleproject:7036
Change-Id: I38829ffcd5869679bf65017475e8a10d165f369b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3846403
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Eddie Hatfield <eddiehatfield@google.com>
Reviewed-by: Lingfeng Yang <lfy@google.com>
|
|
e22eb503
|
2022-08-22T11:46:53
|
|
Metal: Report Metal being available on iOS simulator
Make Metal backend always available on iOS simulator.
Currently the GPU family query is not useful as it
does not return anything that would enable Metal
ANGLE to be used. However, testing on iOS simulator
is still useful.
Bug: angleproject:7591
Change-Id: I0aa881bb7482fc63bbaa08d5efc10920b3c1af43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3845154
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
a8ffbef8
|
2022-08-19T21:02:14
|
|
Roll VK-GL-CTS from 5a93cd60f33b to 435ebaff9214 (5 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/5a93cd60f33b..435ebaff9214
2022-08-19 quic_mnetsch@quicinc.com Merge vk-gl-cts/opengl-cts-4.6.2 into vk-gl-cts/main
2022-08-18 piotr.byszewski@mobica.com Add coverage for MaxAtomicCounterBufferSize
2022-08-18 piotr.byszewski@mobica.com Check that image*Shadow are not reserved keywords
2022-08-18 piotr.byszewski@mobica.com Fix vkGetPhysicalDeviceProperties2 query
2022-08-18 quic_mnetsch@quicinc.com Merge vk-gl-cts/vulkan-cts-1.3.3 into vk-gl-cts/main
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-bots+autoroll-info@google.com,syoussefi@google.com on the revert to ensure that a human
is aware of the problem.
To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:7592
Change-Id: I87bd89dd6ad63e2fa28ae87cdd4a91555d56e203
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3842857
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
caf2b427
|
2022-07-01T18:17:30
|
|
Vulkan: Add feature to use PASS_THROUGH for EGL_NONE color spaces
This is a temporary solution to fix media tests until ANGLE
also has the ability to query the "preferred color space" from
Surfaces.
Bug: b/235995022
Test: Launch Cuttlefish with this change and the feature enabled
with aosp/2167231
Test: cts -m CtsMediaCodecTestCases
-t android.media.codec.cts.EncodeDecodeTest
Test: cts -m CtsMediaCodecTestCases
-t android.media.codec.cts.DecodeEditEncodeTest
Change-Id: I17d1a2c1701cd1707b34f5bf2f222e9ad57c7a61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3770291
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Jason Macnak <natsu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Lingfeng Yang <lfy@google.com>
|
|
f30cfd18
|
2022-08-16T16:50:33
|
|
Perf and gold tests detect test SKIPs from json results.
Make angle_test_util.RunTestSuite() gets and returns json results
(using --isolated-script-test-output).
perf tests has an additional special case
(filed https://anglebug.com/7578):
Previously when metrics were missing it was assumed that this was due to
tests being skipped - which seems to currently be the case except for
the special case of GLMark2Benchmark* tests. Those produce .fps/.score
metrics instead of the metrics expected by this script. This CL keeps
those tests running (once) but then marks them as SKIP in test results
when no metrics are found (which is the behavior before this CL; it
might actually make more sense to count this as PASS because everything
matches our expectations).
We're still running them once, so if they FAIL we'll get notified.
gold tests:
Use json results file instead of checking for '[ SKIPPED ]' in stdout.
Bug: angleproject:7299
Bug: angleproject:7578
Change-Id: Ia751784ad1aa94dc855c8b58ebfe5ba3e06e462f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3826167
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
31ac3fef
|
2022-08-21T21:30:53
|
|
Lift suppression of passing test
Bug fixed in
https://chromium-review.googlesource.com/c/angle/angle/+/3835168, but a
suppression for the test landed in the meantime
Bug: angleproject:7583
Change-Id: I14a3e59a6270bfee8288dd733938a18cbf491c20
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3844638
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
b9c3c5d6
|
2022-08-18T13:38:49
|
|
Metal: Fix MTLArgumentEncoder leak in InitArgumentBufferEncoder
Patch by David Kilzer <ddkilzer@apple.com>
Metal functions with "new" prefix return objects with refcount +1.
Adopt the ref to the ObjCObj smart pointer.
Bug: angleproject:7577
Change-Id: I57b1ac031aa9cf179288879359d3c88dbd168caa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3834820
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
9a258281
|
2022-08-17T17:47:22
|
|
Fix submit-count perf counter test on ARM
On ARM, the preferSubmitAtFBOBoundary feature causes extra submissions
that need to be taken into account.
Bug: chromium:1337538
Change-Id: Id545ee3e65fc943aff51ea3721e9c19bc0afd4a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3835168
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
4330a827
|
2022-08-19T02:59:26
|
|
Reland "Vulkan: Use VK_EXT_primitive_topology_list_restart"
This reverts commit 29d18b303189bf31b3af3a85c3df6013114eebc8.
Reason for revert: Fixed VVL suppressions not working
Original change's description:
> Revert "Vulkan: Use VK_EXT_primitive_topology_list_restart"
>
> This reverts commit e79c9cd63053b6cb7c33235f3a0a0310255df073.
>
> Reason for revert: Causing timeouts on some headless tests: anglebug.com/7579
>
> Original change's description:
> > Vulkan: Use VK_EXT_primitive_topology_list_restart
> >
> > From ANGLE's point of view, there is nothing to do with this extension
> > other than enable a feature that silences a validation error.
> >
> > Bug: angleproject:3832
> > Change-Id: I094343d09c322e2848a65a5bc775d0f21388fb46
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3562380
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: mohan maiya <m.maiya@samsung.com>
>
> Bug: angleproject:3832
> Change-Id: Ifec7c9eaea1d3a949f15e0b6d868742f53cf8377
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3838391
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Bug: angleproject:3832
Change-Id: Ia79b1f3b716f0df1991f605704135b4af48fb639
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3841366
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6d153b7d
|
2022-07-06T12:34:22
|
|
Implement BaseInstanceEXT Capture Entry Points
In order to support Capture/Replay of apps that use GL_EXT_base_instance
functions, their GLES EXT Capture functions should be implemented.
Bug: angleproject:7477
Change-Id: Idb96b66ca5a7c96f1883402e62934acc33bd24c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3749796
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
29d18b30
|
2022-08-18T18:18:04
|
|
Revert "Vulkan: Use VK_EXT_primitive_topology_list_restart"
This reverts commit e79c9cd63053b6cb7c33235f3a0a0310255df073.
Reason for revert: Causing timeouts on some headless tests: anglebug.com/7579
Original change's description:
> Vulkan: Use VK_EXT_primitive_topology_list_restart
>
> From ANGLE's point of view, there is nothing to do with this extension
> other than enable a feature that silences a validation error.
>
> Bug: angleproject:3832
> Change-Id: I094343d09c322e2848a65a5bc775d0f21388fb46
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3562380
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: mohan maiya <m.maiya@samsung.com>
Bug: angleproject:3832
Change-Id: Ifec7c9eaea1d3a949f15e0b6d868742f53cf8377
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3838391
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
eb8488e1
|
2022-08-18T15:43:49
|
|
Skip end2end failures on Pixel 6 Android 13 TP1A.220624.021
Bug: angleproject:7583
Change-Id: Ib9a44c222207b6f2c70733738f1c440c6d6a7ce8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3838857
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
|
|
955adb77
|
2022-08-12T10:14:48
|
|
Cache compiled shader
By storing the compiled shader in the blob cache, the time to
recompile the same shader is reduced.
Based on work by <hckim.kim@samsung.com>
Bug: angleproject:7036
Change-Id: I884ae40e715c49a9ccd12903012e8327811e3557
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3808235
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2965f81b
|
2022-08-16T15:26:22
|
|
Remove suppression of previously crashed deqp test
dEQP-GLES31.functional.shaders.linkage.es31.tessellation.varying.rules#internal_different_precision
was fixed in a recent check-in at https://crrev.com/c/3780874.
Remove the suppression in the test expectation file.
Bug: angleproject:6908
Change-Id: I41025c2555e0c21ff8faaa888842201d26499205
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3828139
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
266d0a83
|
2022-08-09T22:08:03
|
|
Skip glObjectLabel in replay capture
Similar entry points are also skipped, so it's likely the list was just
missing this one.
Bug: angleproject:7567
Change-Id: I1d7e37b35960fd71fdec9143d9193dee6f97e1f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3824777
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
eb535deb
|
2022-08-17T16:59:57
|
|
Don't set the framebuffer read buffer dirty bit on ES2.
glReadBuffer is not added until ES3. Make sure we don't tell the
backend to synchronize the read buffer state unless it's supported.
Bug: chromium:1346132
Change-Id: I9836d6baac5a250c1fddf5d3ec6d395228e118db
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3835167
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
7a87e90d
|
2022-07-16T11:39:08
|
|
An inactive but alive thread shouldn't prevent cleanup
1. Acquire EGL global lock before thread cleanup and remove
all clean up related mutexes
2. Mark contexts that are not current as invalid during terminate
3. During thread exit, if there are other active threads, terminate
with TerminateReason::InternalCleanup. This gives an opportunity
for well behaved threads to cleanup up invalid objects.
Bug: angleproject:6723
Bug: angleproject:6798
Test: EGLContextSharingTestNoFixture.InactiveThreadDoesntPreventCleanup*
Change-Id: I418e5f8b486d3d309bd58c4cfb04b7dc1149ffc1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3768667
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
|
|
6a8bd801
|
2022-08-17T11:18:31
|
|
Add process_angle_perf_results.py to perf tests data.
analyze step doesn't currently trigger angle_perftests on changes to
process_angle_perf_results.py
Example:
https://crrev.com/c/3835162/2
https://ci.chromium.org/ui/p/angle/builders/try/linux-test/7791/overview
(so I had to https://crrev.com/c/3835162/3)
Bug: chromium:1346781
Change-Id: Id991facedd48036a5c072d910aeb8488712516f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3835163
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
213a1ee6
|
2022-08-16T12:44:35
|
|
Vulkan: Enable VK_EXT_primitives_generated_query
Added a test to make sure PGQ works with indirect draws too.
Bug: angleproject:5430
Change-Id: Ic91e11906ca34c4f9a50f3442709e544f7f6744c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3826165
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
a216cfe8
|
2022-08-08T21:05:00
|
|
Adding angle_perftests test case names in logcat
Overview:
In logcat, we want to know which test is being executed.
The CL
1. makes *ANGLEPerfTest* print the test name
2. wire the trace names in *TracePerfTest* as test names to
*ANGLEPerfTest*
Local Test:
==== Test 1 ====
- use this build args: http://go/paste/5111738277036032
- ```autoninja -C out/Android && ./out/Android/angle_perftests
--gtest_filter="*angry_birds*" --verbose```
- Wait for the test to complete, then run ```adb logcat -d | grep
running```
- 4 tests were executed:
```
solti@solti:~/angle$ adb logcat -d | grep running
08-11 18:13:49.757 7690 7721 I ANGLE : running test:
TracePerf_Run/vulkan_angry_birds_2_1500
08-11 18:13:59.914 7690 7721 I ANGLE : running test:
TracePerf_Run/native_angry_birds_2_1500
08-11 18:14:21.265 7690 7721 I ANGLE : running test:
TracePerf_Run/vulkan_angry_birds_2_launch
08-11 18:14:48.030 7690 7721 I ANGLE : running test:
TracePerf_Run/native_angry_birds_2_launch
08-11 18:14:58.296 1525 1525 E JobScheduler.Quota:
<0>com.google.android.apps.docs has 0 EJ quota without running anything
08-11 18:14:58.296 1525 1525 E JobScheduler.Quota:
<0>com.google.android.apps.docs has 0 EJ quota without running anything
08-11 18:14:58.297 1525 1635 E JobScheduler.Quota:
<0>com.google.android.apps.docs has 0 EJ quota without running anything
solti@solti:~/angle$
```
==== Test 2 ====
- follow
http://docs/document/d/1W3E7e-YcR5noim_poM0f7Dc0W8AdQDbJ2tFSPXgjpH0?
resourcekey=0-VmGDLI3x0q4-sdpQ0n8GSA
- setup out/AndroidPerformance
- run cmd: ./out/AndroidPerformance/angle_perftests
--gtest_filter="*angry_birds*" --verbose --local-output
--verbose-output --shard-timeout 100000 --max-steps-performed 1
- then, run cmd: ```adb logcat -d | grep running```
- confirmed the test names are printed
```
solti@solti:~/angle$ adb logcat -d | grep running
08-11 18:22:50.698 8496 8525 I ANGLE : running test:
TracePerf_Run/vulkan_angry_birds_2_1500
08-11 18:22:51.599 8496 8525 I ANGLE : running test:
TracePerf_Run/native_angry_birds_2_1500
08-11 18:22:51.917 8496 8525 I ANGLE : running test:
TracePerf_Run/vulkan_angry_birds_2_launch
08-11 18:22:52.362 8496 8525 I ANGLE : running test:
TracePerf_Run/native_angry_birds_2_launch
solti@solti:~/angle$
```
==== Test 3 ====
- build a Linux build, using the args: http://go/paste/5953043785842688
- run the same test with cmd: xvfb-run ./out/Debug/angle_perftests
--gtest_filter="*angry_birds*" --verbose | grep "running test"
- confirmed the message is printed: http://go/paste/5800151735074816
Bug: angleproject:6353
Change-Id: I6118a75f54b1648923cb5fe541633d7dd52b20bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3817409
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
7c66d77d
|
2022-08-16T15:06:29
|
|
Avoid logging None introduced in https://crrev.com/c/3831885
Currently prints:
Test 5/97: DrawCallPerfBenchmark.Run/gles_null_uniform: None
Wasn't printing anything before, so this CL goes back to that.
Bug: angleproject:7299
Change-Id: I8270129958a93e5c3fbb6cac321fe7e2396a6376
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3834068
Commit-Queue: Roman Lavrov <romanl@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
c5efd2b5
|
2022-08-15T16:20:25
|
|
Improve Ctrl-c handling.
1. Restore original handlers after subprocess terminates. Otherwise the
installed handlers persist and will swallow sigint outside of
subprocess invocations.
2. Raise KeyboardInterrupt when subprocesses terminate to interrupt the
script itself. run_perf_tests.py allows for some subprocess failures
(--max-errors, with non-zero default). This results in ctrl-c
interrupting subprocesses but the script just marks the test as FAIL
and keeps running.
Bug: angleproject:7299
Change-Id: I2917008baa389491c7591596fc14ee139fa6417e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3831887
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
e79c9cd6
|
2022-03-30T23:06:54
|
|
Vulkan: Use VK_EXT_primitive_topology_list_restart
From ANGLE's point of view, there is nothing to do with this extension
other than enable a feature that silences a validation error.
Bug: angleproject:3832
Change-Id: I094343d09c322e2848a65a5bc775d0f21388fb46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3562380
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
|
|
428b6788
|
2022-08-15T17:54:27
|
|
Update CHROMIUM_copy_texture.txt to match the code
[Overview]
The internal format list in the code mismatches the one in the spec txt.
see the link below for the missing formats in the spec txt:
- http://screen/vDkHo3MFXpE3eQF.png
Therefore the CL is matching the spec txt to the code.
[Test]
CQ DRY RUN completed and passed
Bug: angleproject:4228
Change-Id: Ib66fb00b65ce2164779ca7649ec0652910a8e467
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3830892
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8878366f
|
2022-08-15T11:51:00
|
|
Refactor to reduce main loop complexity.
Bug: angleproject:7299
Change-Id: I157e84b7a6718d59eecb00471d4ec7ae5b3317cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3831885
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
ad6513fe
|
2022-08-16T16:06:19
|
|
Unconditionally enable EGL_ANGLE_iosurface_client_buffer on macOS
EGL_ANGLE_iosurface_client_buffer does not depend on
VK_EXT_external_memory_host. Locked IOSurface memory gets copied to/from
staging images instead of being imported as device visible host memory.
Bug: chromium:1352481
Change-Id: I904e6af53e169ef04446181de91db6f3cdc31530
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3826164
Auto-Submit: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2089943b
|
2022-08-13T21:48:33
|
|
Tests: Add Lumino City trace
Test: angle_perftests --gtest_filter="*lumino_city*"
Bug: angleproject:7571
Change-Id: I206b965712b8f833874069bbcec0c93fc7ee5087
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3829135
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
b9fd47b8
|
2022-08-12T10:55:49
|
|
Not use Android TLS slot for chromium
In the profile, GetGlobalContext() & GetValidGlobalContext() have
extra overhead for checking angle::gUseAndroidOpenGLTlsSlot.
Since angle::gUseAndroidOpenGLTlsSlot is always false for now,
so add a build flag to disable it for chromium build.
In the profile, with angle_use_android_tls_slot = false,
GetValidGlobalContext() is reduced from 0.153% to 0.044%.
Bug: chromium:1336126
Change-Id: Id5e1752b0a03289fb299e8de2ed6e962e35291c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827955
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
64c652d7
|
2022-08-12T18:14:39
|
|
Use stdout instead of (default) stderr in logging.StreamHandler
Currently logging output appears before stdout on bots,
makes logs so confusing as subprocess logs get out of order with logs
from python. Using StreamHandler(stdout) seems to be the common practice
in other python scripts in code search.
Note: subprocess's stderr is redirected to stdout:
https://crsrc.org/c/third_party/angle/src/tests/py_utils/angle_test_util.py;drc=2de8bb42a9ef93dfafe476e7dc81643285fa7ef1;l=92
Bug: angleproject:7299
Change-Id: I825f16d9c479f33a280d8fdbafb8297cda0c18b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827957
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
4c941149
|
2022-08-12T11:42:07
|
|
External Texture Support In MEC
Bug: angleproject:4964
Change-Id: I5cfbadf515a30fb20d75b2d745fdecdafa12268f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812378
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Faye Zhang <ffz@google.com>
Commit-Queue: Faye Zhang <ffz@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
02d79c32
|
2022-08-12T11:21:04
|
|
Skip kotor trace on Swiftshader due to flakiness
After changing the driver uniforms to push constants, the kotor
trace became flaky on Linux/Swiftshader. In this CL, the flaky test
is skipped.
Bug: angleproject:7565
Change-Id: Ia3deb1344ce2dfb8cec443d197b0f95788a12599
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3829907
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
44791792
|
2022-08-12T00:13:45
|
|
Use angle::FlatUnorderedSet for ImageSibling::mSourcesOf
As my test with Chromium on Android, ImageSibling::mSourcesOf only
contains one item, so change it to angle::FlatUnorderedSet with
default size 2.
Bug: chromium:1336126
Change-Id: Ie1ba3ebb195170ad5c9f4713b599a91de5052702
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3828444
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a9fac249
|
2022-08-12T07:01:42
|
|
Use FixedVector for Framebuffer::mDirtyColorAttachmentBindings
Bug: chromium:1336126
Change-Id: Ie997af106de09468c8520187190a857db099dff9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3829144
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
|
|
afdd5106
|
2022-08-11T21:14:23
|
|
Use angle::FlatUnorderedMap in Display.cpp
Bug: chromium:1336126
Change-Id: I57d97d37749de2abbba88b6558bde31fa8346764
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3828442
Commit-Queue: Peng Huang <penghuang@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2ebd5100
|
2022-08-11T10:43:32
|
|
Add gl::Context as a parameter to Shader::resolveCompile
This prepares us to access the Context's shader cache in resolveCompile
in the next commit.
Bug: angleproject:7036
Change-Id: I7995c54b290a5a48f0c8985cb56ea0048598ab2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827642
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
61a17ba9
|
2022-08-11T11:23:10
|
|
Use angle::FlatUnorderedSet for ImageState::targets
In mose cases, chrome only needs 1 or 2 targets for an EGLImage,
so using angle::FlatUnorderedSet with 2 default size instead of
the std::set for targets.
Bug: chromium:1336126
Change-Id: Ieff3cfbd5d020fda3aaecb162ddb354def14d962
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827681
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
58392791
|
2022-04-07T16:14:12
|
|
Translator: Fix crashes with monomorphizing loops
Monomorphize functions crashes when trying to deep-copy a while loop,
and a continue statement. Null check these values before performing
a copy, as this is still valid AST syntax.
Bug: angleproject:7190
Change-Id: I822c0aa062ed844f86aa2b603899d73cbd48255e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3573079
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
4c6f7d8e
|
2022-08-10T15:21:57
|
|
Vulkan: Never stage update for EGLImage
EGLImage could be shared between contexts in different share groups. If
we stage any update in the ImageHelper for such EGLImage, then you may
run into threading bugs when two textures are trying to flush out the
staged update at the same time. There is no evidence showing we are
running into this issue, but this CL forces this requirement.
Bug: b/169868803
Change-Id: Ie26542225705ee4638ca1b3cf3cc5af499685137
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3824159
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c9360ccb
|
2022-08-10T16:05:49
|
|
Reflect TextureD3D label updates with storage object
When developers change a label with the KHR_debug extension,
TextureD3D calls TextureStorage::onLabelUpdate. However, onLableUpdate
was still using the out of date member variable (mTextureLabel) that
was set in the constructor.
This change adds a setLabel method to the TextureStorage class which
properly updates the texture label member variable. Calls to
onLabelUpdate now retrieve the most up-to-date label.
This change also renames TextureStorage::mTextureLabel to
mKHRDebugLabel to make it more clear which label was being stored.
Bug: angleproject:7569
Change-Id: I6bc65c35dfb2237b5da88a6ed0e2d872a14857ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3825357
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4a636cdd
|
2022-07-20T22:44:30
|
|
Require all PLS formats to consume exactly 4 bytes of storage
D3D 11.0 UAVs only support R32_FLOAT, R32_UINT, R32_SINT formats.
EXT_shader_pixel_local_storage explicitly states that all PLS variables
consume exactly 4 bytes.
ESSL images can only have both read and write access if their format is
r32f, r32i, r32ui. (We were able to circumvent this via aliasing, but it
was a huge source of bugs.)
There is a large precedent for only supporting 4 bytes of storage in the
capabilities we use for PLS, so this CL removes support for all PLS
storage formats that are not 4 bytes. It also implements an "R32" mode
for PLS, that does manual packing and unpacking of r32* image formats.
If the application wants larger formats, it can always define multiple
PLS planes and piece them together.
Next up we ought to be able to support rg16* types with more
packing/unpacking.
With aliasing gone, and with a bit of tweaking, the PLS tests now pass
on the Pixel 4 GLES bot.
Bug: angleproject:7279
Bug: angleproject:7388
Bug: angleproject:7524
Bug: angleproject:7527
Change-Id: I6b8f62c2428ade6cb5413e33360d734e55dda0eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3782579
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
|
|
badfeecd
|
2022-08-10T14:38:43
|
|
Vulkan: Destroy fb1 should not affect fb2 with same attachments
If two FBOs has the same attachments. they will share the same
VkFramebuffers. Destroy one fbo should not cause trouble for the other
fbo.
Bug: chromium:1351170
Change-Id: I032da8cc12eb8556c3e325c8fd7a3de9974ae909
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3824302
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
fa3d7d5c
|
2022-08-05T00:57:40
|
|
Make PLS coherent on Vulkan
Uses the VK_EXT_fragment_shader_interlock extension to make the shader
image implementation of PLS coherent on Vulkan.
This extension is supported on AMD, Apple, NVIDIA, and Intel.
Bug: angleproject:7279
Change-Id: Ic0253eb20932eb6be0b1f433ba454e48b57be2f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3813816
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
aef9603f
|
2022-08-02T18:30:08
|
|
Separate Struct declarations earlier
Metal translator backend asserts with compound struct definitions.
Move SeparateCompoundStructDeclarations before
SeparateCompoundExpressions. This change does revert some changes
for angleproject:6386, but the tests fixed there continue to pass.
Bug: angleproject:6489
Change-Id: I6adc606ac0b14453eb5e3e90f6501bf02c2d2768
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3806616
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Commit-Queue: Kyle Piddington <kpiddington@apple.com>
|
|
4cab7f38
|
2022-08-10T20:33:07
|
|
Fix EGL_ANGLE_program_cache_control for eglCreateContext
EGL_CONTEXT_PROGRAM_BINARY_CACHE_ENABLED_ANGLE is an attribute for
creating EGL context, but ANGLE reads it from mAttributeMap which is
not the attribs passed to eglCreateContext().
Bug: chromium:1336126
Change-Id: Id3ea1955f927a7e051285c79b590dcf1f11f22ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3823621
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
87ed2c9d
|
2022-08-11T11:19:17
|
|
TestSuiteTest: Generate more unique result file names.
Speculative fix for flaky runs of TestSuiteTest. Flakes appear to read
the results of other tests suggesting rand is not unique enough to
protect against tests generating the same results file.
Bug: chromium:1352134
Change-Id: Icadf64c557e23e6d87fd18aa60aa48373ecec9fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827144
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
3d0faa02
|
2022-08-09T16:48:06
|
|
Remove workaround affecting --list-tests --gtest_filter=X.
One of the multiple workarounds added in https://crrev.com/c/3062240.
It makes `--list-tests --gtest_filter=X` behave as if it was just
`--list-tests`. Not sure why this was necessary, bots appear to work
without it?.. Could be something that changed since that CL?
Bug: angleproject:7508
Change-Id: I9988add40ddf3168e00cea2739e5a9209f633161
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3821374
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
876da4ae
|
2022-08-09T22:30:24
|
|
Vulkan: Query support for VK_KHR_imageless_framebuffer
In preparation for using it.
Bug: angleproject:7553
Change-Id: I579af8ce2c0dd1d58bf750ee494e06a071b798fa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3823620
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
f7d4c614
|
2022-03-30T23:33:27
|
|
Vulkan: Use VK_EXT_primitives_generated_query
This Vulkan extension implements OpenGL's primitives generated query.
The heavy lifting in ANGLE's implementation was done when this query was
emulated with pipeline statistics query. This change simply switches
pipeline statistics query usage to this dedicated query when available.
Bug: angleproject:5430
Change-Id: I5d2c7d64e4627bcbd33d428d6a7c836b1129e5fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3813815
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
6d0452b7
|
2022-08-10T13:34:29
|
|
Fix ANGLE_HAS_HISTOGRAMS following crrev.com/c/3817602
Bug: angleproject:7299
Change-Id: I1d6f97e61dfdbea04009cc08a17344a59e438e51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3823618
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
493b5aff
|
2022-08-09T14:57:24
|
|
Vulkan: Workaround ARM bug with stencil write mask
Bug: angleproject:7556
Change-Id: I0aa17c178071cc15d8ee15f700b0c4932819c72a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3821367
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
dc82ff15
|
2022-08-08T16:06:13
|
|
Add config angle_maybe_has_histograms to angle_perftests_common.
ANGLE_HAS_HISTOGRAMS wasn't consistently defined in compilation targets.
I was working on a prototype and ran into crashes due to an inline
function in TestSuite (where this class is used) getting invalid
offsets in some cases due to this :-O
Shabi:
"""
angle_source_set makes something the equivalent of a temporary .a,
so objects are not recompiled for every target that links to it
"""
Also change ANGLE_HAS_HISTOGRAMS to =1 or =0 as Yuly suggested so that
we can check if it's defined in the header to avoid inconsistency.
Bug: angleproject:7299
Change-Id: I907184a6ca2bc673f5bffc473b584d78625a11c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3817602
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
408c5a56
|
2022-08-09T09:07:41
|
|
Mark FormatPrintTest as potentially uninstantiated.
Vulkan is not an available backend on iOS.
Bug: angleproject:5417
Change-Id: I92afff13bc10a1b6a3faa51a1620fd250972cab0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3819902
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Geoff Lang <geofflang@chromium.org>
|
|
2c351351
|
2022-08-07T22:31:40
|
|
Vulkan: Don't break render pass on read-only buffer updates
When uploading to a buffer that is in use by the GPU, we either acquire
a new buffer and copy the contents over, or stage the update and do a
GPU copy.
Ignoring all other conditions, this decision was made based on whether a
small or large part of the buffer is being updated; small updates where
staged.
However, if the current render pass uses the buffer in read-only mode,
the staged update would break it (to apply the update). In this change,
this situation is detected and the acquire-and-update path is chosen
even for small updates.
Bug: angleproject:7534
Change-Id: Ie2c0989449dcc7d03695a003cf6f353920f8fb65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812566
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8050079c
|
2022-08-08T16:35:10
|
|
Vulkan: Remove basicGLLineRasterization
* Removed basicGLLineRasterization from the ANGLE features.
* Removed "viewport" from the extended driver uniform classes.
Bug: angleproject:2830
Bug: angleproject:7558
Change-Id: I289b1e2b536a6bd0c1ab24844835221e617a296d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3818165
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
52719c9f
|
2022-08-05T14:23:24
|
|
[fuchsia] Migrate angle_end2end_tests to component framework v2.
Bug: chromium:1256503
Change-Id: I28d76dfa721fd6a65e029833050140c487e8006d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812043
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Juan Muraira <jpmuraira@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Greg Thompson <grt@chromium.org>
|
|
6f80f0f0
|
2022-08-06T02:29:19
|
|
Translator: Clean up the compile flag passing interface
Historically, compile flags were sent to the translator as a bitmask.
Recently, we were getting close to running out of bits. Additionally,
direct-to-metal work had started to introduce constants to be passed to
the translator, which were misplaced in ShBuiltInResources and Caps.
Recent work on Pixel Local Storage adds even more constants, aggravating
the situation.
In this change, the interface to passing compile flags is reworked. A
struct is passed (instead of a bitmask) that has one bit for each flag.
This can be indefinitely extended. Additionally, the constants needed
by metal and PLS are also placed in this struct. In turn, the backends
can set these options directly, and don't have to hack them into Caps to
further get hacked into ShBuiltInResources.
Bug: angleproject:7559
Change-Id: If93f1e1b8818ad3a0ac708ab04ab93b4b397d114
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812562
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8474a95e
|
2022-08-05T22:15:04
|
|
Translator: Don't validate structs on non-root nodes
Struct validation needs to know about structs that may have been defined
outside the scope of the node, so this validation (similar to variable
and function call validation) is disabled when validation a subtree of
the AST.
Bug: angleproject:7531
Bug: b/239207278
Change-Id: Id6dcee041a40f09f0c36a9ef3bfc238433b69c58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812047
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
7fe0694c
|
2022-07-14T16:42:30
|
|
Vulkan: Use push constants for driver uniforms
* Updated the driver uniforms so they would be defined as push
constants in SPIR-V. Their data would be updated via
pushConstants() when handling the driver uniform dirty bits.
* Updated TOutputVulkanGLSL to be able to generate the push
constants as required.
* When handling the driver uniform dirty bits, we no longer
allocate a buffer.
* Removed the driver uniform descriptor set from the pipeline
layout.
* Removed the binding-related functions and flags for the driver
uniforms.
* In invalidateGraphicsDescriptorSet(), DIRTY_BIT_DESCRIPTOR_SETS
is used instead of DIRTY_BIT_DRIVER_UNIFORMS_BINDING. (Same for
invalidateComputeDescriptorSet())
* DIRTY_BIT_DRIVER_UNIFORMS_BINDING is replaced with
DIRTY_BIT_DRIVER_UNIFORMS in other places.
* Removed mDriverUniform and DriverUniformsDescriptorSet from
ContextVk.
* Added mSupportedVulkanShaderStageMask to RendererVk, which is used
in creating the pipeline layout and updating the push constants.
* Added a TODO note for driverUniformsDescriptorSetIndex.
Bug: angleproject:6858
Change-Id: I91037d378528962a816b12ff3f21249ee17b7652
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3782570
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c554b92b
|
2022-08-08T10:08:33
|
|
Apply memory qualifier decorations in SPIR-V
Bug: angleproject:7279
Change-Id: I9390261aa572fe4b39152a6f7bdd2b100b34f616
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3818162
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2cf9b1d6
|
2022-08-05T10:25:27
|
|
Encapsulate prevTexture pointer in a class
* Encapsulated mPrevUploadedMutableTexture from ShareGroupVk into
the new TextureUpload class.
Bug: chromium:1346808
Change-Id: Ied52071d4e7f624fc2c497c4086b2589b840561d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3813032
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
52b18311
|
2022-08-08T07:51:21
|
|
Use angle::HashSet to replace std::set in Display.h
The std::set uses heap allocation for each item, so change it to
angle::HashSet for ContextSet, SurfaceSet, ThreadSet, ImageSet,
StreamSet, SyncSet and EglDisplaySet. angle::HashSet is a flat set,
all items are in one memory allocation. It should has better
performance for small size set container.
Ideally, it is better to use angle::FlatUnorderedSet which doesn't
need heap allocation at all in most cases. However FlatUnorderedSet
doesn't support common std container methods. So we can only use
angle::HashSet for now. Maybe improve angle::FlatUnorderedSet in
follow CLs.
Bug: chromium:1336126
Change-Id: I18b3afd8722d222183c88f876b792c1af23bc195
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3816401
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f5de8e01
|
2022-08-05T10:23:37
|
|
Vulkan: Disable texture upload if texture sharing
* Disabled mutable texture upload in cases of display-level texture
sharing.
Bug: chromium:1346808
Change-Id: Ia54496521d151ca7f273845fb40c56b5322470af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812386
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2de8bb42
|
2022-08-03T18:15:52
|
|
Converge run wrappers into angle_test_util.RunTestSuite
Bug: angleproject:7299
Change-Id: Ifa882028a6f49579b4a9c6893053cb3bee8d83fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3808302
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
a2ad517f
|
2022-08-06T07:54:16
|
|
Replace std::vector with angle::FixedVector in FramebufferState.
Using std::vector causes heap allocation for all new framebuffers,
so change it to angle::FixedVector.
Bug: chromium:1336126
Change-Id: I2e059324d14d59ba2a42b2bb4cd5c569a439a87a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812563
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
|
|
6491396c
|
2022-08-06T19:49:37
|
|
Use angle::FlatUnorderedMap as storage for AttributMap
AttributeMap was using std::map which allocates storage from heap
it is not ideal for small map like attribute map. So replace it
with angle::FlatUnorderedMap with 2 default size (Chromium creates
a lot of gl fence with 2 attributes on Android).
Bug: chromium:1336126
Change-Id: I129fe603df2fd475ae1b0e35b63d4d0171bbae09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812565
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
6b248a68
|
2022-08-06T10:20:41
|
|
Use angle::FastVector in ImageEGL::initialize to avoid heap allocation
Bug: chromium:1336126
Change-Id: I40349c618b648f3a96c19b2f2b032275af90086b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812564
Auto-Submit: Peng Huang <penghuang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0c8c4ca0
|
2022-08-02T19:53:55
|
|
Remove not used mImageLastUseFences in ImageVk
Bug: chromium:1349118
Change-Id: I6db245198ae2ebdbb73add47f522583f0a50e217
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3806559
Commit-Queue: Peng Huang <penghuang@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0d5ba4dc
|
2022-08-05T19:43:54
|
|
Minor performance improvement
Use angle::FixedVector to replace std::vector in SyncEGL::initialize()
Use std::move() to avoid copy in Display::destroyInvalidEglObjects
Bug: chromium:1336126
Change-Id: If4c13babb14ed9995caf3c3dd3cfc362124b24cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812561
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
928c5016
|
2022-08-04T12:28:12
|
|
Vulkan: Fix garbage collection vs outside-RP-only flush
In https://chromium-review.googlesource.com/c/angle/angle/+/3379231, an
optimization was implemented such that the excessive recorded texture
uploads would get flushed early and submitted. This caused a
use-after-free bug in the following situation:
* Draw with pipeline A
* Delete A <--- this puts A in the Context garbage list
* Upload a lot of data
At this point, the flush threshold could pass and the commands recorded
outside of the render pass up to this point would be submitted.
Associated with this submission was the current garbage, including
pipeline A. However, the render pass that uses pipeline A is still not
submitted.
Now if after some time the render pass is still open, but the "completed
commands" are checked (another set of uploads causing another
submission, a query status check, etc), the garbage can be cleaned up.
When the render pass closes next and is submitted, the implementation
attempts to use the pipeline, which is already deleted.
In this change, outside-render-pass-only submissions no longer reference
the current garbage. This has the side effect that the temporary
buffers used for uploading texture data won't be released early. A
future optimization may want to separate the garbage list in ContextVk
to render pass and outside render pass garbage.
Bug: chromium:1337538
Change-Id: I4d31edc53916785d44420f4d6b4b2578ca3996e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812555
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
d5308602
|
2022-08-05T15:46:29
|
|
Test for ARM bug with dynamic stencil write mask
Bug: b/240755039
Change-Id: If7025f3b2450735a099da3cc11524f778f2ac654
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812559
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
146329b8
|
2022-08-05T15:51:18
|
|
run_perf_tests: Allow passing flags to the test.
Bug: None
Change-Id: I0260bafd91d371d653248ea278b80bd579a12a5a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812560
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
123bd542
|
2022-08-04T12:56:28
|
|
Add Variable Initialization in Base Instance Tests
Bug: angleproject:7547
Change-Id: Ic01b933fb1e0291b42c48a6b5bf2ed3bd9267c0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3811873
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Faye Zhang <ffz@google.com>
|
|
de5c6c79
|
2022-08-03T13:56:11
|
|
Remove unused ANGLE histograms
This CL removes the following histograms:
GPU.ANGLE.D3DCompileMS
GPU.ANGLE.DisplayInitializeMS
GPU.ANGLE.ProgramCache.CacheResult
GPU.ANGLE.ProgramCache.LoadBinarySuccess
GPU.ANGLE.ProgramCache.ProgramBinarySizeBytes
Bug: chromium:1317194
Change-Id: Iad01cff591df83c015bc79fe4e7b7c094357f02a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3807767
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
861149c7
|
2022-08-03T15:43:29
|
|
Make PLS coherent on desktop OpenGL
Implements ANGLE_shader_pixel_local_storage_coherent using fragment
shader synchronization extensions:
NV_fragment_shader_interlock
INTEL_fragment_shader_ordering
ARB_fragment_shader_interlock
With these extensions combined, we get coherency all 3 big desktop
vendors: NVIDIA, Intel, and AMD.
Bug: angleproject:7279
Change-Id: Ie20b251fb772898e89994b799640f1f2806581eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3773990
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c0818a18
|
2022-08-02T16:20:21
|
|
Protect ImageState::targets with a std::mutex
The ImageState::targets could be accessed cross shared groups,
so it is not protected by share context lock, so we have to
protect it with this std::mutex.
Bug: chromium:1349118
Change-Id: I886eed7a7405d01f01f1806b4d71db79d449e421
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804750
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
|
|
9f0cec14
|
2022-08-03T15:59:45
|
|
dEQP: Fix X11 display config name.
The name is "x11", not "window", which is a surface type.
Bug: angleproject:7396
Change-Id: Ic2ad1f215729bd28d29e921c1712121b9b86e4af
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3808294
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
|
|
c54ed790
|
2022-07-21T10:38:47
|
|
Get desktop GL conformance tests to build
The target for these tests is angle_deqp_gl_tests.
Bug: angleproject:7533
Change-Id: I290822671d99da020f9a6a1f02bee43987644bf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3766435
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Eddie Hatfield <eddiehatfield@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
448e2275
|
2022-07-21T16:40:59
|
|
(Reland) [Metal] Disable ANGLE's Metal backend on older GPUs.
Disable creation of EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE displays on:
iOS: MTLGPUFamilyApple2 and older (A8 and older GPUs)
macOS and Mac Catalyst: MTLGPUFamilyMac1 and older
This is a partial integration of this recent WebKit fix:
https://bugs.webkit.org/show_bug.cgi?id=242764
Refactored to eliminate duplicate copies of this code between libANGLE
and the test suites.
Changes since initial landing:
- Explicitly link the angle_common static library against
Metal.framework for the definition of MTLCreateSystemDefaultDevice,
which was missing on the iOS Simulator.
Fixed: angleproject:7514
Change-Id: I25028a298f1235db5b717ac6a1999552121d60c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3806252
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
57ccd974
|
2022-06-30T16:47:52
|
|
Make limit_max_texture_size_to_4096 webgl only
Bug: chromium:1319451
Change-Id: I7dedeb8d738c1070e650650e893d57984a9e7956
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3739439
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|