src


Log

Author Commit Date CI Message
Jamie Madill dd686e48 2021-05-11T19:08:01 Test Runner: Add test expectations parser. Moves the test expectations from dEQP into the test runner. Also updates angle_end2end_tests to take an expectations file. Includes some very simple angle_end2end_tests expectations. Note that the expectations in the file are less expressive than the skips we use in the cpp. Bug: angleproject:5951 Change-Id: Ib92235575bc3ea5f3a977ce416b0e78fe806e39b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2892274 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jonah Ryan-Davis c8c414b0 2021-05-05T11:51:00 Reland Change to module directory when loading swiftshader ICD. This is a reland of commit 3b10dda6a479612a07673b5c87d3560e0941d41b. Extra changes: Be explicit about calling GetModuleHandleA Do not use the general GetModuleHandle, which may use wide strings GetModuleDirectory should return the full path, not relative. ANGLE wasn't able to locate the vulkan ICD file because it was searching down an invalid relative path. This can be fixed by ensuring the module directory is always the full path. on some platforms. Original change's description: > When loading vulkan, we can be running from any directory. We need > to change to the module directory to ensure the swiftshader ICD is > loaded properly. For example, in some Chrome releases, libGLESv2.dll > and libvk_swiftshader.dll are in a subdirectory relative to chrome.exe > > Bug: chromium:1198567 > Change-Id: I9e68927e512b239728fb2903d1a04702508a4948 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2873452 > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: chromium:1198567 Bug: angleproject:5949 Change-Id: Ib34067002c788f00b5ae2fa11d1e465f57bd7be8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2893503 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Sergey Ulanov cbbaf76b 2021-04-29T16:09:09 [Vulkan] Add DisplayVkNull Currently all DisplayVk implementations depend on VK_KHR_swapchain and VK_KHR_surface extensions. When running Chromium on Fuchsia these extensions are never used (content is shown on the screen using ImagePipe API without dependency on swapchain). ANGLE still depended on these extensions for DisplayVkFuchsia. This CL adds DisplayVkNull, which allows to run ANGLE without dependency on swapchain. It's usable only offscreen and cannot present content on a surface. Bug: chromium:1203879 Change-Id: I4d1307060967ffa68877c4300ea4d5590eeb2152 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2861313 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
angle-autoroll f871545d 2021-05-14T10:44:13 Roll VK-GL-CTS from 6498f4042d9f to 1c4a387382ea (19 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/6498f4042d9f..1c4a387382ea 2021-05-14 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master 2021-05-13 juha.heiskanen@siru.fi Add test for PBO bounds 2021-05-13 pdaniell@nvidia.com Fix Windows MSVC build regression from GitHub!261 2021-05-13 piotr.byszewski@mobica.com Portability: use triangle strips in amber tests 2021-05-13 piotr.byszewski@mobica.com Portability: handle mutableComparisonSamplers 2021-05-13 srisser@google.com Require geometry shaders for adjacency topologies 2021-05-13 jari.komppa@siru.fi Static code analysis fixes 2021-05-13 toni.salmivalli@siru.fi New SSBO corner case test 2021-05-13 siglesias@igalia.com Add more spir-v tests with empty structs 2021-05-13 alexander.galazin@arm.com Fix GL compatbility mustpass file names 2021-05-13 ari.suonpaa@siru.fi Add dynamic indexing test using gl_VertexID 2021-05-13 tapani.palli@intel.com Fix to GL 4.5 geometry shading provoking vertex tests 2021-05-13 alexander.galazin@arm.com Support GL 4.5 in the Linkage Tests 2021-05-13 alexander.galazin@arm.com Support GL 4.5 in the Arrays of Arrays Tests 2021-05-13 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2021-05-13 ilkka.saarelainen@siru.fi Update Amber 2021-05-13 lars-ivar.simonsen@arm.com Fix use of binary semaphore in signaled state 2021-05-13 slawomir.cygan@intel.com Fix condition for checking support of XFB streams other than 0 2021-05-13 siglesias@igalia.com Make sure minImportedHostPointerAlignment in a power of 2 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 timvp@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: None Tbr: timvp@google.com,angle-bots+autoroll-info@google.com Change-Id: I12e13ac730ce2ac1989feeb382a70e99d5a2f447 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2895922 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Cody Northrop ec362f9b 2021-05-14T11:46:48 Tests: Update capture_replay_expectations Bug: angleproject:5974 Change-Id: If8f210f569bdd1bf4e81c74cac894049b8c9cb7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2896905 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao 09dad082 2021-05-07T17:28:15 Vulkan: Add feature flag to flush at framebuffer boundary Testing shows most app traces seeing performance improved on ARM GPU when we flush at FBO boundary instead of one submit per frame. This likely due to more frequent submission means less chance of GPU starvation. This also helps ANGLE to detect GPU finish at finer grain since the queue serial is per submission. Finer grain detection of object completion means memory gets recycled quicker and mapBufferRange able to hit fast code path more often. With this CL, manhattan 3.1 offscreen score also score improves 7%. This may also helps onscreen performance if frame time is on the edge of 16ms by submit FBO rendering earlier instead of been blocked by vkAcquireNextImage. Bug: b/187993625 Bug: angleproject:5295 Change-Id: I2946a7159231d36019ace89805a69ac8e906ce94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2888709 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Lubosz Sarnecki 6f35e366 2021-05-12T18:10:20 TracePerfTests: Don't call framebuffer functions on GLES1. Skip unbinding the framebuffer on GLES1, where the function does not exist. This caused a crash when recording screenshots on native GLES1 implementations on Android. Bug: angleproject:5961 Change-Id: I7a35474154a4a8d56b36df02629944de7660dcd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891567 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
John Plate 83689e32 2021-05-13T17:32:56 CL: Add symbol version map to libOpenCL Bug: angleproject:5904 Change-Id: I4a5859ea172c9d17cfd84ef219ddd9a71fb3b927 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2894428 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
John Plate 48b835cf 2021-05-09T22:47:00 CL: Implement context for front end and passthrough Bug: angleproject:5904 Change-Id: I23b764bba87be3a51a1b5b44b13968fc572efde9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2883773 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: John Plate <jplate@google.com>
Shahbaz Youssefi 39ee3640 2021-05-11T22:27:08 Translator: Fix struct/uniform separation w.r.t to arrays When a uniform of struct type was redeclared, the arrayness information was not transferred. Bug: chromium:1204861 Change-Id: Ic3f461a4aa349a73bc48568ee14b5418f0556238 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2889599 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Ian Elliott b0c217ba 2021-05-13T13:56:27 Disable GL_EXT_shader_framebuffer_fetch_non_coherent on Arm/QCOM Thie is a shorter-term work-around to games not checking extensions properly. Bug: b/177320565 Bug: b/186643966 Bug: b/186783762 Change-Id: Ic348396db1d081925cd9747cdd9406f5929313b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2894407 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Ian Elliott <ianelliott@google.com>
Jamie Madill e601181d 2021-05-11T21:23:17 Allow specifying GPU config on expectation check. When we load the expectations we can now specify the config at a later point. This will make it easier to run test suites that use multiple APIs, like angle_end2end_tests. We can instead specify the config when we check the expectation. Bug: angleproject:5951 Change-Id: I9607db093e4a459550a7cd6864b17adfa55e17f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2892273 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi c5e344b1 2021-05-11T22:13:38 Translator: Fix local var inits vs struct/uniform separation The declarations outside the global scope were being skipped in this transformation, but if the initializer of a declaration referenced a uniform struct that's being replaced, it should have been visited too. Bug: chromium:1204861 Change-Id: Ie2a743126c785eb7d6e3542ba80faa4defc3509f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2889598 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Gert Wollny ee2f3302 2021-05-12T12:07:42 Capture/Replay: recreate the EGL window if contexts don't match In addition enable affected tests. Bug: angleproject:5955 Change-Id: I4fb72e38a633daa4565d3c0ae7cddb6ace7226f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891775 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Geoff Lang bccb0d56 2021-05-11T13:53:05 Add messages for framebuffer completeness errors. This also creates a common code path for all framebuffer completeness errors (FramebufferStatus::Incomplete) which helps for adding a debug breakpoint. Bug: angleproject:5949 Change-Id: Ib102dbf86e020777e56c6dc6b78dda8ebdba2127 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2888110 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi e354ff1a 2021-03-05T04:07:21 Vulkan: Allow DynamicBuffer suballocation in BufferVk When allocations are made from DynamicBuffer, they suballocate from a possibly larger BufferHelper. In BufferVk, the offset of the suballocation was discarded, which limited the use of DynamicBuffer to a pool of small buffers. This change applies any such offset that may arise from suballocations everywhere, and makes BufferVk use a larger buffer size when the GL_DYNAMIC_* buffer usage hints are provided. Bug: angleproject:5719 Change-Id: I3df3317f7acff1b1b06a5e3e2bb707616a7d0512 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2738650 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi cb69b46a 2021-05-12T17:01:27 Remove teglAndroidUtil.cpp override The file was fixed in https://gerrit.khronos.org/c/vk-gl-cts/+/7296. Bug: angleproject:5870 Change-Id: I46410985ef0e66f886a6ee2ba321725242e01ce7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2892288 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 1d019f49 2021-05-13T10:33:06 Test Runner: Fixes to skipped tests. Uses a different token for skipped and not run tests in the json. The token isn't standard but should only be visible when batches report to the parent process that a test wasn't run. It shouldn't be visible to the scripts that consume test results on the bots. Also fixes the expected result for skipped tests to also be "SKIP". Bug: angleproject:5951 Change-Id: I0bd7d13b2b25b583f9c42718786cb588bacd4bc6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2894524 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
John Plate b300dc52 2021-05-09T00:35:24 CL: device partitioning for front end and passthrough Partitioning is the creation of sub-devices. Also add reference counting for CL objects, which is needed now for sub-devices. Also fix CL print format strings, since cl_ulong is actually always 64 bit and not unsigned long. Bug: angleproject:5904 Change-Id: I006699fad2f953ce312bca87c9b6362b5d77a18a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880665 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Alexis Hetu b0d39ba2 2021-05-12T16:06:15 Add array bounds checks for WebGL shaders WebGL shaders may contain OOB array accesses which in turn cause undefined behavior, which may result in security issues. This was detected as an UNKNOWN READ by UBSAN while testing with SwANGLE. Bug: chromium:1189110 Change-Id: I00f56e771ed0c675abb465fc3a3dc9d62ea8ed51 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2892286 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Gert Wollny 25b53ceb 2021-05-12T10:09:58 Revert "Change to module directory when loading swiftshader ICD." This reverts commit 3b10dda6a479612a07673b5c87d3560e0941d41b. Bug: angleproject:5954 Change-Id: I6199dc099dbf42605bbfc549e39cb6477e67442c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891771 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 9a219a14 2021-05-12T09:52:16 Test Runner: Handle skipped gtests. GTEST_SKIP() allows us to skip tests using the GoogleTest APIs. This CL updates our test runner code to handle these skips. Bug: angleproject:5951 Change-Id: Idef5802c7c81bd92226f5a93281a1cea0f1b24ee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2892272 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Lubosz Sarnecki 1d1c4518 2021-05-11T12:00:05 Tests: Add Dr. Driving trace. Test: angle_perftests --gtest_filter="*dr_driving*" Bug: b/181871119 Bug: angleproject:5944 Change-Id: I0a95f91d68957840da7c99580db60472e44467a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2887286 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Lubosz Sarnecki 51d02ca0 2021-05-06T15:16:16 FrameCapture: Use gl*Separate functions only when required. Use non-separate stencil and blend functions that do not distinguish between front and back buffers or color and alpha, if they apply. This prevents capturing GLES2 functions on GLES1 contexts. Bug: angleproject:5893 Change-Id: I8303ee5b279268ea9c21e2c6465e1b155d1cc54d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877238 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Lubosz Sarnecki 8af704bd 2021-05-11T11:27:17 Tests: Add Summoners War trace. Skip the trace on Windows/Intel since it produces GL_INVALID_ENUM. Test: angle_perftests --gtest_filter="*summoners_war*" Bug: b/181870341 Bug: angleproject:5943 Change-Id: I99b551294eeb267311728fd6f566cd549f97e90d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2887285 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
angle-autoroll 14365e1d 2021-05-11T21:08:16 Roll VK-GL-CTS from dab93ea8f88c to 6498f4042d9f (9 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/dab93ea8f88c..6498f4042d9f 2021-05-07 alexander.galazin@arm.com Merge vk-gl-cts/vulkan-cts-1.2.6 into vk-gl-cts/master 2021-05-06 alexander.galazin@arm.com Merge vk-gl-cts/github-master into vk-gl-cts/master 2021-05-06 juha.heiskanen@siru.fi Add TexSubImage2D format compatibility tests 2021-05-06 piotr.byszewski@mobica.com Rename all OperationId enum values 2021-05-06 juha.heiskanen@siru.fi Fix validation error 'InputNotProduced' in Amber tests 2021-05-06 rgarcia@igalia.com Decrease 3D image size in image atomic op tests 2021-05-06 venni.ihanakangas@siru.fi Fix interfaceTypeMismatch validation errors in Amber tests 2021-05-06 antto.makinen@siru.fi Add a batch of GraphicsFuzz coverage tests 2021-05-06 jari.komppa@siru.fi Cover array input to interpolateAtCentroid 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 timvp@google.com,angle-bots+autoroll-info@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: angleproject:5952 Change-Id: Ic3a29ba2ae65ef1660c02b765a8fd767c6a5e133 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2890549 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Yuly Novikov 859ed396 2021-05-11T16:58:55 Follow up on Vulkan headers update to 1.2.177 Removing duplicate definitions in ANGLE. Bug: angleproject:5905 Change-Id: Ie62ad39a1ebc0d8b0d2c005723f461bc7309eade Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2889831 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
John Plate 93aff937 2021-05-08T16:46:22 Refactor CL platform object Move GetPlatformInfo implementation from stubs to cl::Platform, because stubs are meant to be small. Also move CLPlatformImpl::Info instance to cl::Platform as it is more efficient to be accessed from there, and more consistent with cl::Device. Bug: angleproject:5904 Change-Id: I4c0ba6390467d6ef357e38a5ef08f54b0a88d423 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880663 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
John Plate e369a282 2021-05-08T14:08:28 Implement CL device object for front end and passthrough Bug: angleproject:5904 Change-Id: I17f6d10ed59c62fe9126d29b7de2c127c5d0039a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880662 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: John Plate <jplate@google.com>
Lubosz Sarnecki 4901ac64 2021-05-06T15:15:57 FrameCapture: Capture GLES1 specific states. Implement capturing GLES1 specific state by checking the difference to the default state using getEnableFeature. When getEnableFeature is called from a context version higher than 1 and a GLES1 state is requested, an assertion is hit. Therefore the context version needs to be determined before calling getEnableFeature. Use the available isTextureTargetEnabled function to determine GL_TEXTURE_2D and GL_TEXTURE_CUBE_MAP states in getEnableFeature. Return false in isTextureTargetEnabled when mTextUnitEnables is empty, so the vector is not accessed when not initialized, which was the case for a default state. Bug: angleproject:5893 Change-Id: I66ee41c3bf7a8e1f04a8a4ce0461fddc16f9a013 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877237 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Charlie Lao 46a139ad 2021-05-06T11:20:51 Vulkan: set DS layout before using it in the endRenderPass In CommandBufferHelper::endRenderPass(), we are checking depth stencil's initialLayout to change storeOp to None if the layout is read only. But the layout was set after that check, which essentially voids the optimization. This CL moves the finalizeDepthStencilImageLayout() call before the layout is used. This CL also moves the depth stencil loadOp/storeOp to a new function finalizeDepthStencilLoadStoreOp(). When depthImage gets deleted before renderpass ends, we could also apply the same load/store optimization just like we did at endRenderPass() time. Bug: b/187425444 Change-Id: I89814274352f09cbf1f7b58a91bbaf131b983fb1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877933 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Tim Van Patten e19182ce 2021-05-11T09:53:47 Suppress MultithreadingTest.MultiContextClear on Linux+Nvidia MultithreadingTest.MultiContextClear/ES3_Vulkan_NoVirtual is flaky on linux-clang-rel NVIDIA, so it's being suppressed for now. Bug: angleproject:5945 Change-Id: I9ef142c57b3fcf5224732edcea1650634ecc18ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2887905 Commit-Queue: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jonah Ryan-Davis 3b10dda6 2021-05-05T11:51:00 Change to module directory when loading swiftshader ICD. When loading vulkan, we can be running from any directory. We need to change to the module directory to ensure the swiftshader ICD is loaded properly. For example, in some Chrome releases, libGLESv2.dll and libvk_swiftshader.dll are in a subdirectory relative to chrome.exe Bug: chromium:1198567 Change-Id: I9e68927e512b239728fb2903d1a04702508a4948 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2873452 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Lubosz Sarnecki 83e5bb97 2021-05-06T15:15:42 FrameCapture: Don't capture shader functions on GLES1. Since an internal default shader is created and captured here in the GLES1 case, we need to check for the context version to skip capturing glUseProgram and emit an update call in GLES1 traces. Bug: angleproject:5893 Change-Id: Iac9bc05234fbc87c1f64264b5c12b9b117522bad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877236 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Lubosz Sarnecki 078ebbcf 2021-05-06T17:07:14 FrameCatpure: Move capturing default vertex attribs to function. Don't capture these on GLES1, due to the unavailability of glVertexAtrrib4fv. Bug: angleproject:5893 Change-Id: Iafbc9219cfc0a0c1d0a55e112ee88d7180ed94f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877235 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Lubosz Sarnecki e40edf92 2021-05-06T17:06:58 FrameCapture: Add GLES1 support to CaptureVertexArrayData. Implement CaptureVertexPointerES1 that captures specific GLES1 vertex pointer functions depending on the attribute index. Use GLES1 capture functions in CaptureVertexArrayData by detecting the current context version. Implement VertexArrayType function in GLES1Renderer to get a ClientVertexArrayType enum from a vertex attrib index. Bug: angleproject:5893 Change-Id: I442b2e29475ca817860388cafc120db90a0fb9c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2846838 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Gert Wollny 2ba3763e 2021-05-10T10:08:27 Capture/Replay: reset CWD after the test ends As suggested by Jamie Bug: angleproject:5849 Change-Id: I3e548935a9119b7ca7ca392c50bcb0f58ae3e974 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2882578 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 2e84e59a 2021-05-10T17:37:28 Skip EndWithDifferentProgram() on Vulkan+Pixel 2 Skip the the test TransformFeedbackTest::EndWithDifferentProgram() on Vulkan + Pixel 2 since it appears to be flaky. Test: TransformFeedbackTest::EndWithDifferentProgram() Bug: chromium:1207380 Change-Id: Iedfe1e96a204eca5954097be9e61820b775eb0b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2886358 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Cody Northrop 913bc473 2021-05-07T11:37:01 Tests: Add --fixed-test-time option Similar to --max-steps-performed, don't do any calibration and just run flat out for a fixed amount of time. Also rename --test-time to --max-trial-time to reflect what the parameter actually does, limiting each trial to a ceiling. Also remove a redundant check in doRunLoop. Test: angle_perftests --fixed-test-time 20 Test: angle_perftests --max-trial-time 2 Bug: angleproject:5935 Change-Id: I854799a734cd6c019399f5a1444b4ef5f659ddf4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2878937 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 74177f31 2021-05-09T21:15:09 Tests: Run Android tests fullscreen In order to hide the status bar and hopefully prevent any layers from rendering on top of our traces, make all Android tests run fullscreen. Test: angle_perftests Bug: angleproject:5937 Change-Id: I649104a7d95b7f056b411e180632524a85b7c4f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880335 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi daeac238 2021-05-08T22:09:38 Translator: Ensure structs and blocks are uniquely defined A new AST validation is added to ensure that the same TStructure or TInterfaceBlock is not redundantly defined. This helps with SPIR-V generation by allowing the id to be used as key in a hash map that looks up the corresponding SPIR-V type id. A bug is fixed where the Vulkan driver uniform declaration created two identical declarations for ANGLEDepthRangeParams. A number of other bugs are also fixed in this change, where if a variable declaration is eliminated (for example due to constant folding, or inactive interface variable removal) and it contained a struct specifier, the struct declaration was also removed. OutputGLSLBase had a hack where structs were declared on first encounter, which was incorrect as the scope of the declaration could change. Those bugs are fixed and this hack is removed. Bug: angleproject:2733 Bug: angleproject:4889 Bug: angleproject:5936 Change-Id: I8e13748c0bf552ae8b052249282769a1f0775603 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2881942 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 84d22197 2021-04-26T17:11:27 Vulkan: Add device local fallback in findCompatibleMemoryIndex(...) When finding a compatible memory index for an external buffer, we need to have a fallback path that requires just the VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT property. Bug: angleproject:5909 Change-Id: Id3faffb3e357be2e5e6f5fce9e64f0f2889d199a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2862561 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Lubosz Sarnecki c0d42fd9 2021-05-06T14:44:24 TracePerfTest: Delete offscreen objects only when initialized. Delete Textures, Renderbuffers and Framebuffers that were created in the SurfaceType::Offscreen case, when they were initialized. This caused a crash when replaying traces using GLES 1 contexts on native GLES Android implementations. Bug: angleproject:5932 Change-Id: Ice4bcec620a6c3530044986ce39230b030a901ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877234 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Lubosz Sarnecki a83fe36d 2021-03-09T12:51:27 Capture/Replay: Add GLES1 test expectations. Add failing OpenGL ES 1.0 capture / replay tests to expectations list. The remainging 65 test pass on ES1 SwiftShader. Test: python3 src/tests/capture_replay_tests.py --gtest_filter="*/ES1_Vulkan_SwiftShader" Bug: angleproject:5751 Change-Id: If5157a3ac0ccebc904316ae08c54e670119384e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877233 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev bca7c408 2021-05-09T15:09:45 Update entry points for GL_EXT_texture_sRGB_RG8 Bug: angleproject:4932 Change-Id: Ie210a9dd342581adb71af4782383be2bb3ffd6a3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2880667 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Lubosz Sarnecki 78fb9314 2021-04-29T18:05:12 FrameCapture: Capture GLES1 vertex buffer pointers. CaptureVertexPointerGLES1 was expecting only client-side vertex arrays and not checking whether a vertex buffer was bound. This patch fixes offsets in vertex buffers for GLES1, which can be seen in apps like Dr. Driving. The mClientVertexArrayMap index is now retrieved by entrypoint name, as the arrayClientPointerIndex is unset in the vertex buffer case. Bug: angleproject:5751 Change-Id: If40cae56bcdbed57885e83c49291cb000a884b0e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2859826 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi d469dcb1 2021-05-06T15:13:42 Translator: remove image2DRect There is no such thing as image2DRect in GLSL. imageRect (the right type) is present, but the code was mistakenly using image2DRect. Bug: angleproject:4889 Change-Id: I42bacd2ad8866c715af0d9711bebc95897607354 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2878095 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 7828506a 2021-04-06T23:42:16 Vulkan: Cleanup buffer format fallbacks - Fallbacks for formats that have required vertex attribute support are removed. - Fallbacks are changed to ones with smaller sizes - A bug is fixed where CopyNativeVertexData wasn't initializing the alpha channel appropriately, which was not exercised due to fallback to 32-bit float formats. Bug: b/184163871 Change-Id: Icd9afa49d94c65545d1f3fcf521881726d64529d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809441 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 2d5df9d9 2021-05-01T12:50:55 Vulkan: Don't assume host visibility for external buffers When importing external buffers, Vulkan ICDs could choose to import the memory into a memoryType that doesn't support the VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT property. Account for this possibility. Bug: angleproject:5073 Bug: angleproject:5909 Change-Id: Ied063b38fa48d0c8508c4aaca9214cc526f393ad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2783669 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
John Plate 39ba247d 2021-05-06T18:06:01 Remove redundant OpenCL ICD library Removed redundant OpenCL ICD library, using regular OpenCL library instead. Bug: angleproject:5908 Change-Id: I1ecf5347557106511aed3c5c4a4bfa35590a559a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877240 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: John Plate <jplate@google.com>
Lubosz Sarnecki abab4739 2021-04-28T12:30:12 capture_gles_1_0: Implement ES1 capture functions. Capture glLight, glLightModel and glMaterial and adjust size by enum. Bug: angleproject:5751 Change-Id: I2fcf35575e344703033bf426c3ed0046dfe93337 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2859825 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Mohan Maiya cc3e7b5d 2021-04-26T14:26:29 Vulkan: Handle GL_MAP_PERSISTENT_BIT_EXT for external buffer When user specifies GL_MAP_PERSISTENT_BIT_EXT bit for an external buffer but we are unable to import it into a memoryType that supports host visibility, error out with GL_INVALID_OPERATION error. Bug: angleproject:5073 Bug: angleproject:5909 Change-Id: I03e5477266dfb705bfb0a1bce5ca003049ef4c7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2862560 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 81f03cc0 2021-04-07T15:23:32 Allow translator to use headers from common/spirv Bug: angleproject:4889 Change-Id: Ia297888a97c0ba9cec1283db7f94f2e5b362c27e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815179 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Mohan Maiya fc0c8d18 2021-04-27T16:58:50 Vulkan: Honor mapRangeImpl and unmapImpl abstraction All BufferVk methods need to honor the abstraction provided by mapRangeImpl and unmapImpl. Do not map BufferVk::mBuffer directly, this is needed for when we support device local buffers that cannot be CPU mapped. Bug: angleproject:5909 Change-Id: I520e5cc0994560a3784b8978e349550211dc2cde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2862559 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
John Plate dc92d881 2021-05-04T09:56:50 Add warning messages for not (yet) supported CL commands Bug: angleproject:5904 Change-Id: I24e6a4d5cf4cc824751ff45e962bee16489fdbdd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2871450 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
John Plate dfe208f1 2021-04-28T18:26:00 Add loader for CL pass-through back end Bug: angleproject:5904 Change-Id: If4960f3150f6bbc85a30f0f6ac5c9e668e6ff756 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2864022 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Lubosz Sarnecki 01b05333 2021-05-04T18:12:25 queryutils: Handle AmbientAndDiffuse param count. Add AmbientAndDiffuse cases for determining light and material parameter count. Define default cases as UNREACHABLE for GetLightModelParameterCount, GetLightParameterCount and GetMaterialParameterCount. Bug: angleproject:5751 Change-Id: I58acb62e66cea71277654313800dafa57c42b17e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2871794 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Charlie Lao fdb376ea 2021-05-03T14:58:09 Vulkan: minimize-gpu-work: Skip blit from offscreen fbo Since we only care about driver state tracking logic, blit is unrelated here. This further reduce the noise of test result. Instead of blit and swap every N frame, we will issue glFlush for offscreen rendering. The onscreen will still issue swap every frame. Bug: b/186881553 Change-Id: Id048eaafa6dcef26d851fd19f069331d240e1bf5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2846527 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Charlie Lao 3fc83291 2021-04-29T19:03:27 Vulkan: offscreen perftests: use two FBOs and call glFlush every frame For offscreen variant of perf tests, we blit from offscreen to onscreen for every frame and then every N frames we call swap. Right now we never call glFlush. This causes test accumulate many frames rendering without a flush, which changes the behavior. For example, gfxbench does issue glFlush for every frame. This CL adds glFlush call for every frame when swap is not called. Also ARM native GLES driver and ANGLE skip glFlush call if it is issued within the same FBO. For some traces that does not use any FBO, there is no frame boundary for drivers to detect, versus for onscreen there is actual frame boundary. To solve this mismatch problem, this CL also uses two offscreen FBOs and ping pong between them so that it will still have the frame boundary but not goes to screen. This allows drivers that try to detect frame boundary still function properly. Bug: b/184766477 Change-Id: I23edda66fdf391930afd3f6b1d955b41ec6ad019 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2861844 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 99beb97a 2021-05-03T16:54:11 Vulkan: Fix MAX_VERTEX_OUTPUT_COMPONENTS limit gl_Position is excepted from contributing to MAX_VARYING_VECTORS, which is taken into account when calculating this limit based on Vulkan limits (which don't have such an exception). This exception was mistakenly also being applied to other limits such as MAX_VERTEX_OUTPUT_COMPONENTS. Bug: angleproject:5916 Change-Id: I394761efa02d3093741d2bff21023daf997e5e69 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2869145 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gert Wollny f45dad5e 2021-05-03T11:05:23 Capture/Replay: Enable test for CopyTextureTestWebGL.NPOT Bug: angleproject:5850 Change-Id: I5a8e3ebf6d220251a76f8a428b959b226dca2ca0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2867077 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gert Wollny 39cef942 2021-04-27T08:28:13 Capture/Replay: capture WebGL compatibility With that we can also enable the tests DifferentStencilMasksTest.* Bug: angleproject:5851 Change-Id: If2c992e456716f606320e3992f389823d0af050f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2853584 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
John Plate 05fb2272 2021-04-27T19:31:31 Add support for OpenCL ICD Loader Bug: angleproject:5908 Change-Id: Idafc0d15b69f9a21f2ab5e48c4c34f0dc0e0ee96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2854598 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: John Plate <jplate@google.com>
angle-autoroll 23ff18f9 2021-04-30T16:45:04 Roll vulkan-deps from 42d8716d0294 to c5559fe406e3 (24 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/42d8716d0294..c5559fe406e3 Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/18eef33bd7..56b17b2f2d * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/c624d5387c..72a2ec4c1b * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/22b82872b4..8ec9f456e6 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/074fa3055c..3f437c4a94 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/d0f1abe22e..5dcea8a449 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/eb3d67bd17..4ee5f2a8be * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/f6b4a3dea4..7ab4afe505 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC jonahr@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. 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/master/autoroll/README.md Bug: angleproject:5905 Tbr: jonahr@google.com,ynovikov@google.com Change-Id: I462413910900b8dc38b3e88b78d9ff2e10b103b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2863562 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao a4588e33 2021-04-29T14:24:20 Vulkan: Disable logMemoryReportStats if driver extension not exist logMemoryReportCallbacks and logMemoryReportCallbacks features are useful for memory debugging. But they rely on VK_EXT_device_memory_report extension. Right now if this extension is not there and you enable the log, you still see the logs but everything is all zero. This CL will disable the feature and print out warning message if the extension is not supported. Bug: None Change-Id: I478ae0ac7ba1ee43245a9fd8a3f1d9907f5d833c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2861310 Commit-Queue: Ian Elliott <ianelliott@google.com> Reviewed-by: Ian Elliott <ianelliott@google.com>
Lubosz Sarnecki a7d53cb1 2021-03-30T13:05:43 formatutils: Add 8 unused bits to 24 bit depth formats. Add 8 unused bits to unsized GL_DEPTH_COMPONENT and sized GL_DEPTH_COMPONENT24. This results in the corresponding gl::InternalFormat exposing 4 bytes per pixel and fixes a crash when serializing frame buffer depth attachements in FrameCapture for GLES1 on Vulkan. This patch fixes all comparisions crashing in the capture/replay GLES1 tests on SwiftShader. Bug: angleproject:5799 Change-Id: I39c4309d5c7a1740dfd21c53f116b7e175b64847 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2794381 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Gert Wollny 19b7815d 2021-04-27T13:10:36 Angle: drop ANGLE_serialized_context_string from requestable This extension is always needed for replay, and it should always be enabled. By adding the extension using esOnlyExtension it is no longer marked as requestable and WebGL compatibility will no longer disable the extension. Bug: angleproject:5851 Change-Id: I11c8f684b3bfe76c219a9210df0a2c5cccb706f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2853583 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tim Van Patten 54e99d36 2021-04-23T13:02:43 Vulkan: Cleanup garbage when destroying EGL images SurfaceFlinger will optimistically create EGL images just in case it does need them in the future, since creating them can be slow and waiting until they're necessary can cause jank on 90hz+ devices. However, since the images are never actually used, ANGLE's garbage is never cleaned up so vkDestroyImage() and the memory is never freed. This can lead to exhausting the device's memory when many EGL images are allocated. For example, when running the CTS test CtsBiometricsTestCases. This CL adds a call to always cleanup the renderer's garbage when an EGL image is destroyed via eglDestroyImageKHR(), since we can't know if a draw will ever be performed in the future (which would normally cleanup the garbage). Bug: b/184388756 Test: atest CtsBiometricsTestCases Change-Id: I104c05c7be44f1e57123ac7eed23effaa982837a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2848131 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jason Macnak <natsu@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Geoff Lang ce89d99f 2021-04-29T12:03:30 GL: Flush after framebuffer change on Mac 9th gen Intel GPUs Speculative fix for crashes during flush on Mac. Mirrors the flush_on_framebuffer_change workaround in Chrome from http://crbug.com/783979 Bug: chromium:1181068 Change-Id: Ic84b1bfc44babf27016b306393da308d504d7fd9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2859984 Reviewed-by: Peng Huang <penghuang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jonah Ryan-Davis 9c66461c 2021-04-29T11:47:16 Suppress VUID-VkImageViewCreateInfo-pNext-01585 temporarily Vulkan validation failures are happening on ComputeShaderTest on Linux and Windows with AMD. Suppress for now while the issue is investigated Bug: angleproject:5912 Change-Id: If89f7c85bb311a68d6cab85e397112b4178e34d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2860044 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny 422ec18a 2021-04-26T10:40:04 tests: Move DrawAfterFlushWithNoStateChange to ES3 The test uses Vertex Array Objects, and these are only supported from GLES 3.0 on, or by using the extension OES_vertex_array_object, so make it part of the StateChangeTestES3 set. With that we also enable the test. Bug: angleproject:5855 Change-Id: I0cfb5d23d19e3db8eefffd9d52b744d068666606 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2850642 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 078a2ba6 2021-04-19T11:52:38 Capture/Replay: Print capture and replay exe in verbose mode When running the test script to capture and replay it is helpful to know the locations of the executables that are run to make it simpler to locate them for debugging. Bug: None Change-Id: Ia43bd9863e94058515d9023981863ad6c711285e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2850640 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Charlie Lao a766ab14 2021-04-20T09:29:29 Vulkan: minimize-gpu-work: Use 1x1 offscreen When minimize-gpu-work is requested, the idea is to have GPU work reduced to minimum. Without shrink the offscreen window to 1x1, the driver load/store op may still have to load entire surface which could be costly. This CL reduces the offscreen surface size to 1x1 when --minimize-gpu-work is specified. Bug: b/184766477 Change-Id: Ic8d9d4c2fe8295a0a5808dcee35120fdd20e0f56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2840963 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill ccc0fbaa 2021-03-24T17:56:38 Vulkan: Related fixes for buffer descriptor set cache. Includes some stats counter gathering and a few related refactors and cleanups. Also includes a new overlay widget. Bug: angleproject:5736 Change-Id: Ida8d2cd815c5b598c6a442dd9bbfdf51e9c05180 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2785431 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
Alexey Knyazev 53b89b83 2021-04-24T13:26:02 Metal: Add ASTC HDR support ASTC HDR is a superset of ASTC LDR, so always use HDR enums on supported platforms because there is no such difference in OpenGL ES. Bug: angleproject:2634, angleproject:5672 Change-Id: I19a3212bcb949aa9cdeb682ab000aa03125f04a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2848509 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Cody Northrop 61288549 2021-04-27T17:42:21 Vulkan: Turn on cubemap arrays for Qualcomm The feature works on Pixel 3 and later, so only disable it on Pixel 2. Bug: angleproject:5143 Change-Id: I824fc9ea71cb612fd99e23b7f37a1a3c278d92aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2855218 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao 939dc8d9 2021-04-21T18:33:00 Vulkan: minimize-gpu-work: Skip synchronization for glMapBufferRange glMapBufferRange call requires CPU and GPU synchronization. Different drivers implement this differently. Some may choose to keep multiple copies of data to reduce the synchronization overhead while others may choose to wait for GPU access to finish to save memory. While this behavior is important, it should be looked under the scope of overall game performance and we can write a standalone test for this. When --minimize-gpu-work is specified, we mainly care about CPU overhead of driver logic of state tracking. For this purpose, we should get this out of picture in order to expose the true picture of what we intended to see. This CL always adds GL_MAP_UNSYNCHRONIZED_BIT to the access bit to avoid driver to do synchronization or make COW. Bug: b/184766477 Change-Id: I36228a4ed9913e26aa9ad4e8446fb42ee0182c18 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2847101 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Tim Van Patten 7444466c 2021-04-19T18:44:13 Reland "Capture/Replay: Reset GL Fence Sync objects" This is a reland of 9b4fd5456e3cc8c5412af96212d2840b422208b5 This fixes the original CL by moving where setCaptureActive() is called to allow the first replay source file to be written. Original change's description: > Capture/Replay: Reset GL Fence Sync objects > > Asphalt 9 uses GL Fence Sync objects during rendering, which results in > Fence Sync objects being created during setup and deleted while > replaying frames. When the replay is restarted, the Fence Sync objects > that were created during setup and deleted during the replay need to be > recreated during the reset phase. > > Bug: angleproject:5883 > Bug: angleproject:4599 > Change-Id: I118f2b7208c4d512ab646b10f52b3a0936895089 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2838237 > Commit-Queue: Tim Van Patten <timvp@google.com> > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: angleproject:5883 Bug: angleproject:4599 Bug: angleproject:5900 Change-Id: I5e1d901d8875007691699b7b973f3fb7db027337 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2850758 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Alexis Hetu c02d5f12 2021-04-27T13:45:05 Fix using VK_EXT_provoking_vertex with VVL Vulkan Validation Layers (VVL) automatically rejects and removes any unknown pNext pointer in an pNext chain submitted to the driver. For this purpose, a mechanism was introduced by VVL in order to allow ANGLE to allow some of our custom pNext entries to go through VVL without being removed. This had been used for only 1 of the 3 entries in the VK_EXT_provoking_vertex extension, causing it to be properly exposed, but impossible to use. This CL corrects this by adding the missing entries. Bug: angleproject:5902 Change-Id: If6478b3aa776513b92420736fa1216b014320b02 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2854815 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Charlie Lao 7b77dc5b 2021-04-22T09:58:33 Vulkan: minimize-gpu-work: Skip data copy when possible When --minimize-gpu-work is specified while replaying app traces, the goal is to avoid any GPU work when possible and focus on driver cpu logic overhead. Data copy can be lengthy and each driver optimize it differently for some real world usage scenario. This should be looked along with normal app trace playback performance. When --minimize-gpu-work is specified, we want to leave this out of picture. Previously I have fixed TexImage2D by overwriting pixel pointer with null. But there is a hole here when PBO is used. This CL fix the case that when data is sourced from PBO, we ensure to skip data copy as well. This CL also noops TexSubImage call instead of doing 1x1 copy. Again depends on driver implementation, some may use CPU others use GPU which will have different overhead. We can easily write a test to cover these performance optimizations. By skipping the subImage call here we will have less noise to deal with for CPU overhead investigation. Bug: b/184766477 Change-Id: I84a5d26d2f25f8f0a6c5c9da72737906d6356a53 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2847100 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
John Plate 16a919b1 2021-04-27T11:36:11 Add stubs for CL platform layer back ends Bug: angleproject:5904 Change-Id: If23c7f76013a17c3c67c13194566438035beb3d1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2853582 Commit-Queue: John Plate <jplate@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill be7049d7 2021-04-20T10:03:33 Vulkan: Redesign buffer descriptor set cache key. Instead of writing the bitset masks, iterate up until the last active buffer. Write zeros instead of skipping spaces. This is a bit simpler to implement and also fixes a bug where empty buffers could cause us to write invalid handles. Bug: angleproject:5736 Change-Id: I785ef18ef5ae45109ec7d6e0b079b79a9984a1f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2837848 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Tim Van Patten <timvp@google.com>
John Plate cddb2003 2021-04-23T18:26:51 Stubs for CL validation entry points Bug: angleproject:5775 Change-Id: Ic3b15efdf602bad8f5f170f03ba24b421a398ca8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2848504 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: John Plate <jplate@google.com>
Peng Huang 19f24ede 2021-04-26T18:05:31 Disable workderContext on Android Bug: chromium:1202928 Change-Id: I54c4c28c30714fea60b4b6f3dd3ec49101341602 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2851362 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Peng Huang <penghuang@chromium.org>
Mohan Maiya 904ac340 2021-04-26T15:54:25 Bug fix for WaitClient, WaitGL and WaitNative It is valid to call eglWaitClient, eglWaitGL and eglWaitNative when there is no active context in the current thread. Update code to account for that possibility. Bug: angleproject:5898 Test: EGLSyncTest.WaitClient* EGLSyncTest.WaitGL* EGLSyncTest.WaitNative* Change-Id: I81f05a27f1f641cf8986e2e6c05c183ea8471889 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2849587 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Shahbaz Youssefi cd4a63f5 2021-04-26T11:52:02 Vulkan: Fix ASSERT in CreateRenderPass2 RenderPass2 was used for when a depth/stencil attachment is needed, or the VK_EXT_multisampled_render_to_single_sampled extension. The logic that decided this was "has D/S resolve || has MSRTSS extension", but the function itself asserted that the render pass is using MSRTSS if not D/S resolve. This caused an assertion failure on platforms where MSRTSS is present, but a non-MSRTSS render pass is used. Bug: chromium:1201455 Change-Id: Iefd26a071303c703a322d946f82474f85f5bf767 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2849180 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 61167d52 2021-04-24T09:50:31 Add EXT_primitive_bounding_box entry points Addition of the entry points for GL_EXT_primitive_bounding_box extension. Bug: angleproject:5896 Change-Id: I0dce407d2826ce3f730125d7c03f1233420f6780 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2849615 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Mohan Maiya 84b31c03 2021-04-25T08:30:14 Vulkan: Fix bug in VkImageFormatListCreateInfoKHR On some vendors VVL throws the following error, snippet only - [ VUID-VkImageViewCreateInfo-pNext-01585 ] Validation Error ... image was created with a VkImageFormatListCreateInfo in pNext of vkImageCreateInfo, but none of the formats match the VkImageViewCreateInfo::format ... The Vulkan spec states: If a VkImageFormatListCreateInfo structure was included in the pNext chain of the VkImageCreateInfo structure used when creating image and VkImageFormatListCreateInfo::viewFormatCount is not zero then format must be one of the formats in VkImageFormatListCreateInfo::pViewFormats. It looks like VkImageFormatListCreateInfoKHR::pViewFormats needs to contain all formats including the format of the VkImage itself. Bug: angleproject:5281 Change-Id: I93c6900d99791ef4f9f116cb114f068e0a318bf4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2849566 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Jamie Madill 3839fa5b 2021-04-26T13:08:15 Revert "Capture/Replay: Reset GL Fence Sync objects" This reverts commit 9b4fd5456e3cc8c5412af96212d2840b422208b5. Reason for revert: Breaks capture: INFO:root:Passed: 0, Comparison Failed: 0, Crashed: 0, CompileFailed 0, Skipped: 745, Timeout: 0 Bug: angleproject:5900 Original change's description: > Capture/Replay: Reset GL Fence Sync objects > > Asphalt 9 uses GL Fence Sync objects during rendering, which results in > Fence Sync objects being created during setup and deleted while > replaying frames. When the replay is restarted, the Fence Sync objects > that were created during setup and deleted during the replay need to be > recreated during the reset phase. > > Bug: angleproject:5883 > Bug: angleproject:4599 > Change-Id: I118f2b7208c4d512ab646b10f52b3a0936895089 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2838237 > Commit-Queue: Tim Van Patten <timvp@google.com> > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: angleproject:5883 Bug: angleproject:4599 Change-Id: I56c682e1d90dcdde7b18c941aad976825de3af42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2851057 Reviewed-by: Jamie Madill <jmadill@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop a25f21ee 2021-04-25T19:54:32 Tests: Add Candy Crush Soda Saga trace Test: angle_perftests --gtest_filter="*candy_crush_soda_saga*" Tbr: jmadill@google.com,timvp@google.com Bug: b/186362192 Change-Id: I9a1f9663541e3b97d437a1803e8fe079a5dbd2b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2846187 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 3182095f 2021-04-23T17:51:23 Tests: Add Higgs Domino Island trace Test: angle_perftests --gtest_filter="*higgs_domino_island*" Tbr: jmadill@google.com,timvp@google.com Bug: b/186267543 Change-Id: Ic7154337724b075bcad1367a24ae7ebeaf65ce6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2848133 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev 8df3e5f2 2021-04-23T12:39:06 Metal: update format caps Added MTLGPUFamilyApple6 and MTLGPUFamilyApple7 caps. Bug: angleproject:2634, angleproject:5672 Change-Id: Icc35f823cdd018246a8ac3b1179adc81584fb204 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2846832 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Tim Van Patten 9b4fd545 2021-04-19T18:44:13 Capture/Replay: Reset GL Fence Sync objects Asphalt 9 uses GL Fence Sync objects during rendering, which results in Fence Sync objects being created during setup and deleted while replaying frames. When the replay is restarted, the Fence Sync objects that were created during setup and deleted during the replay need to be recreated during the reset phase. Bug: angleproject:5883 Bug: angleproject:4599 Change-Id: I118f2b7208c4d512ab646b10f52b3a0936895089 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2838237 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
John Plate ea76c5ad 2021-04-23T13:37:20 Add scrict type checking for reinterpret_cast Bug: angleproject:5891 Change-Id: I4077fea7fde91465fa71df843c313c4dd8e31e0a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2846835 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: John Plate <jplate@google.com>
Cody Northrop 7a161a56 2021-04-23T13:54:18 Tests: Add Gardenscapes trace Test: angle_perftests --gtest_filter="*gardenscapes*" Tbr: jmadill@google.com,timvp@google.com Bug: b/186246356 Change-Id: Ie9395080ce1947b633b16c807aecbd52cb31c990 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2847984 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Yuly Novikov d824908f 2021-04-23T16:31:44 Increase kMaxExtensionNames https://github.com/KhronosGroup/Vulkan-Tools/pull/502 adds new extensions, so 200 is no longer enough. Bumping up to 400. Bug: chromium:1201987 Change-Id: Icbad7637649c2236a8c46e577c1c0bd0dbccd633 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2848487 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 7caff9d8 2021-04-23T09:05:34 Tests: Add Homescapes trace Test: angle_perftests --gtest_filter="*homescapes*" Tbr: timvp@google.com,jmadill@google.com Bug: b/186215022 Change-Id: I83949d4a5450d512d010b2d91c45da618fae0aac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2848127 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Mohan Maiya 2aa68eba 2021-04-20T10:37:45 Vulkan: Update unsized array error Update the error condition to reflect actual usecase - an unsized array is declared in a shader other than tessellation shader. Bug: angleproject:5557 Test: KHR-GLES32.core.texture_cube_map_array.texture_size_tesselation_con_sh Change-Id: I3547f52a26a5c450ac7b6df65d026c3c38f7c71d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2823576 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 3e1af85a 2021-04-19T18:12:30 Capture/Replay: Handle bindGeneratesResource in trace meta data Bug: angleproject:5844 Change-Id: I0243cab70b5833efd83b0d75a1801f68025ee291 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2835889 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gert Wollny c1da2794 2021-04-19T11:49:41 Capture/Replay: Handle ClientArraysEnabled in trace meta data Bug: angleproject:5848 Change-Id: Ieba325e2b5efa3242b24cafa8363e562c258546c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2835888 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>