src


Log

Author Commit Date CI Message
Peter Kasting 04cb5e1d 2021-07-10T11:39:49 Disable -Wimplicit-int-float-conversion for gles1_conform. Bug: chromium:989932 Change-Id: I0038440470a6816bb0c4198af2224b7b85aa42b8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018692 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c6784c9c 2021-07-09T16:48:55 Vulkan: SPIR-V Gen: Fix size of matrix in std140 layout Matrices are treated like arrays, so the size of each column should also be expanded to the size of vec4, similar to how it's done for arrays of smaller-than-vec4 elements. Bug: angleproject:4889 Change-Id: I1f4d8d0e06922c4bb9261fbbf0f4565dfdec55c8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018641 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi e2710f59 2021-07-06T17:29:08 Vulkan: SPIR-V Gen: Fix image atomic built-ins The `imageAtomic*` built-ins additionally include coordinate and sample parameters that need to be fed to OpImageTexelPointer before the atomic operation can be generated. This change passes all *image*atomic* GLES31 deqp tests as well as: GLSLTest_ES31.ArraysOfArraysOfR32fImages/ES3_1_Vulkan_DirectSPIRVGen Bug: angleproject:4889 Change-Id: I9ed729d09914cb01467d4de504de38c931a9196e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011419 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 8d0eb08c 2021-07-05T23:22:24 Vulkan: SPIR-V Gen: Take advantage of OpConstantNull As part of fixing GLSLTest*.MissingReturn* tests, refactoring is done such that complex null values are declared concisely with OpConstantNull. The tests are fixed by making the SPIR-V generator implicitly add a `return <null-value-of-correct-type>;` if the return statement is missing from GLSL. Bug: angleproject:4889 Change-Id: Iffd80c5e6ce66afcdbf3813bffade6928f292007 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010578 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Tim Van Patten a34f668d 2021-07-09T10:55:48 Skip BlitWithDepthUserToDefault for Linux+Intel+OpenGL The test BlitFramebufferANGLETest.BlitWithDepthUserToDefault/ES2_OpenGL is failing on Linux+Intel. This CL skips the test to unblock the vulkan-deps roll into Chromium. Bug: angleproject:6154 Change-Id: I098622ca23b79027e6166d3308c3c41948eca285 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018109 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Tim Van Patten aa727b78 2021-07-09T11:26:36 Skip ImageTests generating VUID-vkCmdDraw-None-02699 The latest VVL roll is generating VUID-vkCmdDraw-None-02699 on Pixel 4 devices. This CL will skip the failing tests to unblock the roll while the VVL error is investigated. Bug: angleproject:6155 Change-Id: Ie9e21f7df13baa8b9252a3273d1985513404bdfe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018114 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 3a6e22d5 2021-07-09T12:09:53 Trace Tests: Update retracing script. Adds an option to skip retracing traces that already exist. That makes the script much easier to use on folders that already have traces partially retraced. It also catches exceptions when running the traces so that ANGLE crashes and ASSERTions don't need you to restart the retrace. Bug: angleproject:5133 Change-Id: I059ca545145eadc1aa8c373a2fde762bbeb52b55 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018302 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8c07f3c1 2021-07-09T12:35:31 Enable cube map arrays on SwiftShader. Bug: angleproject:5142 Change-Id: I51c58d20da155b90980f27425a99cff2555345fe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3018303 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi e3e7447a 2021-07-08T22:22:19 Vulkan: Fix flipXY for 180 degree prerotation and spec consts The multiplier used for flipXY in this configuration was incorrect. Bug: angleproject:5348 Bug: angleproject:5349 Bug: angleproject:5350 Change-Id: I0b3771f6a9da6ab2af02ed5ee5fe7b49d0415410 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016768 Reviewed-by: Ian Elliott <ianelliott@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 913eb916 2021-06-28T12:51:12 Vulkan: (Mostly) re-unify secondary command buffer interfaces SecondaryCommandBuffer and CommandBuffer in vk_wrapper had diverged in API, which this change helps alleviate to some extent. Bug: angleproject:6100 Change-Id: I0d59b24c659afbaf58865b3d85f275c545e3acce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987872 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Ian Elliott <ianelliott@google.com>
Qin Jiajia 17a4b6e7 2021-07-07T11:00:48 Fix that clear-srgb-color-buffer is not correct This change removes the limitation that syncClearState/ syncClearBufferState is only for STANDARD_GL_DESKTOP so that it works on chromeos. Test: conformance2/rendering/clear-srgb-color-buffer.html deqp/functional/gles3/fbocolorbuffer/clear.html Bug: chromium:1208297 Change-Id: I7c5fed3545f623cca3f2245c67fddaf3401388b5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010630 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Sergey Ulanov b73eee71 2021-07-07T18:51:35 Reland: [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: I5cadcdf46ed1cfb5ebb3cb69dbfef063e9e2b826 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3012368 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 89f2a619 2021-07-08T21:45:11 Revert "GL: Use glClear for robust init on Android." This reverts commit 37c5d36fef783406c30a8ed8b8b4455f35374834. Reason for revert: crashes on Pixel 4, see https://chromium-review.googlesource.com/c/chromium/src/+/3016164 Original change's description: > GL: Use glClear for robust init on Android. > > The allowClearForRobustResourceInit was used to work around driver > bugs on other Windows and Linux and has a lot of CPU overhead. > > Re-enable it on Android (except some older Adreno). > > Bug: chromium:983167 > Change-Id: Ibfb4eb4fcdc7310fb6181c57f5c8d7a645ffad9d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011420 > Reviewed-by: Peng Huang <penghuang@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> Bug: chromium:983167 Change-Id: I74e9a61484de77fd66e8dde8d50665fdbb470a95 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016763 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 81ed8d40 2021-07-02T00:54:25 Vulkan: SPIR-V Gen: Support barrier* built-ins This change enables the ComputeShaderTest suite and additionally includes the following fixes: - OpArrayLength was given the array type instead of variable. - Struct arrays inside interface blocks were not decorated with ArrayStride. Bug: angleproject:4889 Change-Id: Ibae95371bcea10e58c86b8fe1d1e172a18d56a09 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3001908 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill dc2d76cd 2021-07-08T10:04:15 Trace Tests: Clean up mock ICD skip condition. Bug: angleproject:6090 Change-Id: I943eb35da56a24c5a2c9961eb458b9b6e27ea83a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015515 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 62398e82 2021-07-08T14:06:04 Capture/Replay: Fix missing rpath on Linux. This was causing the test script to fail to find angleutil. Bug: angleproject:5133 Change-Id: I621da4e71c0b61161694d95263b7dad643a728ed Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015516 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi afdf378f 2021-07-01T21:55:58 Vulkan: SPIR-V Gen: Support == and != on complex types In GLSL, == and != produce a bool. In SPIR-V, there are only component-wise comparison operations. For ==, OpAll should be used to reduce it to a single bool, and for !=, OpAny. For matrices, the comparison is done column by column with a similar reduction for each column, and one for the final result. For structs and arrays, the comparison is similarly done field by field or element by element respectively. Bug: angleproject:4889 Change-Id: I8157c1931b7d1dedd74a3825967f5e212d346900 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3001905 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Aditya Kushwah c9dcc553 2021-06-22T18:55:39 Move Objectlabel from Texture object to TextureState object. Created a subscriber function onLabelUpdated in the storage base class. The derived storage class will pass the label reference to the base storage class in the constructor. Future changes will use this label reference to update the label string with D3D. Bug: chromium:1164111 Change-Id: Ic5ca73bac61427afe392bb5bcc6a6eab8e785941 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2981451 Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Jamie Madill cb87d78c 2021-07-08T08:28:04 Enable -Wshadow with Clang. Also fixes a few instances of variable shadowing in the code. Bug: angleproject:6148 Change-Id: Ic51d722a3f953f246f51af6d74abb302f832cf44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3014875 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny 54ade715 2021-06-29T11:40:37 Enable passing tests out of BlitFramebufferANGLETest.*/* Bug: None Change-Id: I680f22bdc18af84547dcc51491923b0662e2b389 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987993 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0e1ed36c 2021-07-02T12:32:03 Trace Tests: Improve state serialization. This encapsulates several colliding states into grouped scopes. It also improves serialization of several of the resources by including the resource ID in the serialization key. Also other minor improvements. This change should improve detection of state mis-management. Bug: angleproject:5133 Change-Id: I6ee5c02bb3ba70e91a595db2408076b15e4a9e67 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3003384 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 68d4e392 2021-07-02T14:18:54 Trace Tests: Add option for ASAN builds. ASAN builds can detect OOB memory accesses. This is very useful for diagnosing some kinds of flaky OOB crashes. Removes a test that was calling BufferSubData with a null data argument. This behaviour is undefined and we shouldn't be testing it. Also includes some minor refactorings and script changes. Bug: angleproject:5133 Change-Id: I5a7d9a5500c50a51f6369e944a5f0a533709f00d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3002510 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Gert Wollny <gert.wollny@collabora.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny 2c22e080 2021-06-28T10:43:47 Capture/Replay: Enable SRGBFramebufferTest.Validation/* The test passes now. Bug: None Change-Id: I789f8fac225c42414bc8cc342138e1fd70a7f745 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988684 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 5fb5f63b 2021-06-29T09:56:43 Capture: Write captured context for empty frames When a frame is empty, still write the captured context for that frame because the index file will contain the frame file, and the replay will execute the according swapbuffer so that the replay will query the context serialization when testing trace correctness. With that enable RobustResourceInitTest.SurfaceInitializedAfterSwap/* for capture/replay. Bug: angleproject:5939 Change-Id: Ib280d55f739cc2bb8d2da0919e98c37a2cd576ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987991 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 4964513a 2021-06-28T20:07:46 ANGLETest: When on WebGL compatibility then use index buffers WebGL actually requires the use of index buffers, otherwise the call is invalid, therefore explicitely request index buffers in the according VertexAttributeOORTest tests. In addition, assert on the indices when the glDrawElements call is captured. With that we can enable VertexAttributeOORTest.* Bug: angleproject:6125 Change-Id: Id3855c78d4c5fcab5599f19dd74ce745d059fb1c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2999523 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 2c8391b1 2021-06-28T17:53:10 Capture/Replay: Enable passing tests, disable flaky Tests now passing: UnpackAlignmentTest.* UnpackRowLengthTest.* VertexAttributeCachingTest.* ViewportTest.* These tests start to fail when run in the new batch layout triggered by the new passing tests: WebGLCompatibilityTest. DrawElementsBufferOutOfBoundsInIndexBuffer/ DrawElementsBufferOutOfBoundsInVertexBuffer/ ES2_Vulkan_SwiftShader Bug: None Change-Id: I4902f2eca864ca8b371d915c89487943af54bc89 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987989 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 68d9f433 2021-06-28T15:39:04 Capture/Replay: capture param of glGetQueryiv Enable TimerQueriesTest.* with that. Add flaky test WebGLCompatibilityTest. DrawElementsBufferOutOfBoundsInVertexBuffer/ ES2_Vulkan_SwiftShader that start to fail because the batches have changed. Bug: angleproject:6114 Bug: angleproject:6136 Change-Id: I91617255a8e3e8783c8e70c17dedd32be421fd66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993092 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 4b464dd4 2021-06-28T14:50:22 tests: Skip WebGL/EnableProgramBinaryExtension with no formats If the extensions is exposed, but the backend doesn't support binary formats, then the part of the tests loading and storing a binary shader are skipped. With that also Capture/Replay of the test is fixed. Bug: angleproject:6112 Change-Id: Iaa25860a9be69207e4dbd6213cf77e75fd87a766 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993090 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny b3e920e2 2021-06-28T14:32:13 Capture/Replay: don't capture DrawElements with count zero Usually Context::noopDraw would reject calls that doen't draw, but FrameCapture::maybeCaptureDrawElementsClientData seems to be called before Context::noopDraw, and since in ComputeTypedIndexRange we would obtain the illegal range [0,0) (which is actually prohibited by an ssertion "count > 0"), we have to exit early. With that the test can be enabled. Bug: angleproject:6111 Change-Id: I4c242712bd90602f84ad6072b02c3a13a26840f7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993089 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Trevor David Black 5d314b59 2021-06-01T03:03:22 Fix undefined behavior associated with Runescape Mobile Bug: b/184287970 Change-Id: I5d3baf5e7a8a20c30e1b787b69597110226521d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2929352 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 37c5d36f 2021-07-07T13:15:13 GL: Use glClear for robust init on Android. The allowClearForRobustResourceInit was used to work around driver bugs on other Windows and Linux and has a lot of CPU overhead. Re-enable it on Android (except some older Adreno). Bug: chromium:983167 Change-Id: Ibfb4eb4fcdc7310fb6181c57f5c8d7a645ffad9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011420 Reviewed-by: Peng Huang <penghuang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Yuly Novikov 396518e0 2021-07-07T15:34:43 Skip SamplerMetadataUpdateOnSetProgram on Mac Metal Blocking vulkan-deps roll. Bug: chromium:1227129 Change-Id: Iaa7f4d18e80b8353dc0be001e1d2e229196f3186 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010469 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
SeongHwan Park 9f256d10 2021-07-07T02:14:13 D3D11: Fix incorrect bounds checking in Blit11 This could lead to blitting depthStencil buffer incorrectly. Bug: angleproject:6140 Change-Id: I2c5786c0375f8e2fefe862da68929340844ce9ae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3009736 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Alexis Hetu daa19c0a 2021-07-06T16:19:57 Fix alpha setting of WebGL contexts with SwANGLE on MacOS The emulation of the "alpha: false" setting was done with an RGBA format under the hood, which caused some unexpected results, which included non constant alpha values. Replacing GL_BGRA8_EXT with GL_BGRX8_ANGLEX solves this issue. This was discovered while debugging the following test: conformance/context/context-no-alpha-fbo-with-alpha.html but it may fix many other tests (I will update the expectations file after this fix rolls into Chromium) Bug: chromium:1099960 Change-Id: Ib7b2d352a8e920983d3398de28a8c1dde3b97130 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3010579 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Jamie Madill 51937ab3 2021-06-25T09:10:42 Re-land "Add SearchType to OpenSharedLibraryWithExtension." This fixes a bug in SystemInfo_vulkan where we were using the System search path for the Vulkan loader when we prefer using the custom ANGLE loader. Re-land fixes a bug where we would try to load the custom libVulkan on Android and other platforms where we should be using the system version. Bug: chromium:1219969 Change-Id: I34b592fb87cbddfd02c837a17942cac54c85d9d1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007265 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi cfaaf2ab 2021-06-30T17:23:55 Vulkan: SPIR-V Gen: Fixes to std430 block definition Bug: angleproject:4889 Change-Id: I18feff0916f348c8514cc97ba438d42fc00d0cba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2999023 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 3b0fcf6a 2021-06-30T15:14:48 Vulkan: SPIR-V Gen: Support type casts in constructors GLSL basic, vector and matrix constructors can convert between types. This was already done for constants used in constructors. This change implements the cast for non-constant expressions. Bug: angleproject:4889 Change-Id: I0a8c1a6e97ffced0d1652032a41fb87c70be16ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2999022 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov f8d5d5ed 2021-07-05T21:11:23 Revert "Add SearchType to OpenSharedLibraryWithExtension." This reverts commit 18e99f4a2b37468b103da4a56c5b0fff25458062. Reason for revert: breaks Mac, e.g. https://ci.chromium.org/ui/p/chromium/builders/ci/mac-arm64-rel-tests/2197/overview Original change's description: > Add SearchType to OpenSharedLibraryWithExtension. > > This fixes a bug in SystemInfo_vulkan where we were using the > System search path for the Vulkan loader when we prefer using the > custom ANGLE loader. > > Bug: chromium:1219969 > Change-Id: Iedf0fd11fe9ed8cc020b445ea9e12a7936937361 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988791 > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: chromium:1219969, chromium:1225040, chromium:1226675 Change-Id: I7a7e329181b69b0fb546e5245d8842723077126f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3006320 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 0beafe86 2021-07-05T16:12:10 Ignore VUID-VkSpecializationMapEntry-constantID-00776 New check added in https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/2903 Blocks VVL rolls. Bug: chromium:1226682 Change-Id: Iaf12187c33a0c3736acae6e772277dbe6aa4c402 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007137 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 0461d8d4 2021-06-23T23:20:33 Vulkan: SPIR-V Gen: texture and image built-ins GLSL contains a large number of built-in texture* and image* functions, but these map to only a handful of SPIR-V instructions. The bulk of the work to map these is to extract the arguments from the built-ins based on their ordinal position. Bug: angleproject:4889 Change-Id: I760d986bd9171ddde35f9f046c549ca53252df17 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2992980 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill d665593b 2021-07-05T15:02:11 Update TextureState::getEnabledLevelCount. Instead of simply returning a count of all non-empty texture desc levels, we iterate the levels from the base level and return the count of levels that make a consistent mip chain. This will fix edge cases where Textures are defined sequentially with inconsistent mip levels, but valid rendering states. Bug: angleproject:4780 Change-Id: Id3ebf2d7ad706070896cb5cdf2a311dba2c88949 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007135 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 955b4620 2021-07-01T22:55:59 Fix angle_commit.h dependency when git packs refs If there are too many files in .git/refs/heads/, git packs them in .git/packed-refs. This breaks the build as gen/angle/angle_commit.h depends on .git/refs/heads/<branch-name>. With this change, when gn is run and the dependency to this file is set up, it's unpacked from .git/packed-refs if it's missing from .git/refs/heads/. One corner case not solved by this change is if a commit is amended with no changes and git packs the refs (and so the .git/refs/heads/<branch-name> file goes away), ninja doesn't rerun gn as it doesn't believe there to be any changes, yet fails the build as the dependency is now missing. Running `gn gen` manually fixes the issue. The issue is automatically fixed when switching branches. Bug: angleproject:6131 Change-Id: Ie2404e874a5cb3374a652b93faa143acb68eaa19 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3001906 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Peter Kasting 1bffabe8 2021-06-29T18:13:39 Fix -Wunreachable-code-aggressive. Bug: chromium:1066980 Change-Id: I1fa08a40dbf223d60a10681af33ca8a29b12bf8b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2991094 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Gert Wollny 16c993c3 2021-06-24T12:03:03 Capture/Replay: Only capture initialized renderbuffer content Enable the DepthStencilTest.* that was failing before. Bug: angleproject:6094 Change-Id: I8c69de4927c0e70143cd632e97f0abdb740a013f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982550 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gert Wollny dba2e136 2021-05-13T20:33:46 Capture/Replay: Emit InitializeReplay() late Only emit InitializeReplay() after all captured frames have been run, so that the readBufferSize and the maxClientArraySize are really sufficiently large for all frames. To achieve this a layer of indirection is added, that is because InitializeReplay() has to be called from SetupFrame() which is still emitted with the first frame, a new function InitReplay() is added. The call to this function is emitted with the first frame, buts its body is emitted after the last frame has been captured. Bug: angleproject:5965 Change-Id: Ic38791b4c02989594ec87d1ba3f031fd81471314 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2940841 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi d6202fce 2021-06-28T16:53:45 Vulkan: Disable GL_KHR_texture_compression_astc_sliced_3d 3D ASTC formats are not supported in Vulkan, sliced or not. The non-sliced extension is already disabled, and this change disables the sliced version. Bug: angleproject:6038 Change-Id: I055838345ccb8ad77fe4c05e65dd8b10a8a4d36b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993459 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop a8959a9b 2021-06-29T21:23:21 Tests: Add Toon Blast trace Test: angle_project --gtest_filter="*toon_blast*" Tbr: jmadill@google.com, timvp@google.com Bug: b/192408760 Bug: angleproject:6121 Change-Id: Id301c48921a24164d4dccd7d53c1a4e51a0795ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993753 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi dc59772e 2021-06-22T22:37:26 Vulkan: SPIR-V Gen: Support switch With the infrastructure to support this in place, switch is simply implemented as a conditional with multiple blocks. Each block either ends with a branch to the merge block or the next block, implementing fallthrough. Bug: angleproject:4889 Change-Id: I5831531d918ac06648cced7707d1d48ffeb6b1b0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2983559 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi a8c9cecf 2021-06-12T00:12:34 Vulkan: SPIR-V Gen: Support break and continue This is simply done by issuing a branch to the merge or continue blocks respectively. Bug: angleproject:4889 Change-Id: I3e96a3b0f1a0533aa4eac519ab64a87600c0983b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957810 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop e45682b4 2021-06-29T17:55:36 Tests: Add Township trace Test: angle_perftests --gtest_filter="*township*" Tbr: jmadill@google.com, timvp@google.com Bug: b/192402770 Bug: angleproject:6120 Change-Id: I3ef0bb6e896a081c17a07f18037805be5494af2e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993882 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 1c39335a 2021-06-29T16:40:43 Tests: Add Farm Heroes Saga trace Test: angle_perftests --gtest_filter="*farm_heroes_saga*" Tbr: jmadill@google.com, timvp@google.com Bug: b/192395241 Bug: angleproject:6119 Change-Id: Iebec311e37e5f84ad85e5a77aa36b3cffb55d2e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2995383 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill 69c2d820 2021-06-29T11:58:41 Perf Tests: Register trace tests programatically. Using testing::RegisterTests lets us filter out the disabled configs. This helps sharding the tests because some shards were getting a very uneven distribution of real tests vs skipped tests. A couple shards were running 20 minutes, while most were about 6 minutes. More work might be needed to even that out. Bug: angleproject:6090 Change-Id: Ibdf35677cfea86dfc374a2b18bb57cd9f289ddee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2994726 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Lubosz Sarnecki dcfde515 2021-06-24T15:59:04 gl.xml: Add GL_FRAMEBUFFER_SRGB_EXT to EnableCap group. Add GL_EXT_sRGB_write_control in registry_xml.py. This makes FrameCapture write a GL_FRAMEBUFFER_SRGB_EXT enum instead of it's hex value in glEnable/Disable calls. Bug: angleproject:5857 Change-Id: Ifa01118c2958275c7623c6bfe29f015fa8875fce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988356 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Peter Kasting d2816b4e 2021-06-25T14:52:02 Fix a -Wdeprecated-copy warning. Bug: chromium:1221591 Change-Id: Idbbb4aa16e58a9f4e7e25590667cf15706233de4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2989632 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Gert Wollny c14e6b5f 2021-06-28T15:22:44 Capture/Replay: enable some more passing tests Test: PixmapTest.Clearing/* StateChangeRenderTest.GenerateMipmap/ SyncQueriesTest.Basic/ES2_Vulkan SyncQueriesTest.Validation/ES2_Vulkan TextureLimitsTest.MaxCombinedTextures/ Bug: None Change-Id: I3d3f36551b42ae24332d441c49f8a66f4df7d9a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2993091 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 130d1987 2021-06-28T14:24:15 Capture/Replay: enable passing WebGLCompatibilityTest tests Bug: None Change-Id: I9b894e49766c8b840fc58470bd42f466bc138796 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988688 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 65a94128 2021-05-21T15:18:39 Capture/Replay: enable IndexBufferOffsetTest.* tests With robustResourceInit in place we can enable the the tests. Bug: angleproject:5974 Change-Id: I53911ebf9aed1ef537ebf4c539eca7b284a17e98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2912676 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Gert Wollny e793a027 2021-06-28T11:17:01 Capture/Replay: Capture TexSubImage2DRobustAngle, enable tests The tests RobustClientMemoryTest.* now all pass. Bug: angleproject:6108 Change-Id: I980c1fd9e065cb5c4ed575770f86e09faeb19d4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988685 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gert Wollny 433e3921 2021-06-28T10:39:41 Capture/Replay: enable passing UniformTest.Sampler/* Bug: None Change-Id: Ib32e27ea7c767e1251f18f6e8e7fb80289110e9f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988683 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop e70c21f4 2021-06-28T09:27:36 Tests: Add Beach Buggy Racing trace Test: angle_perftests --gtest_filter="*beach_buggy_racing*" Tbr: timvp@google.com, jmadill@google.com Bug: b/192237726 Bug: angleproject:6113 Change-Id: I16fa42bd1af632daf90f857c453e70218225b4f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2992574 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill a25f0f2c 2021-06-28T14:56:26 Suppress flaky TSAN TLS false positive. Introduces "ANGLE_NO_SANITIZE_THREAD" which works the same way as "ANGLE_NO_SANITIZE_MEMORY". Bug: chromium:1223970 Change-Id: I9409771f7c4748bbc186da3fc38031d3b1d1e4d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987875 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Gert Wollny 8513e538 2021-06-28T10:38:03 Capture/Replay: enable passing DrawBuffersTest.* Bug: None Change-Id: Ib857194d701372322ebf458bf00ac9aa681c079a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988682 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 3fa51867 2021-06-28T07:44:45 Capture/Replay: Disable GL_OES_depth32 during capture Depth32 is not a renderable format on native mobile GLES drivers. Disabling GL_OES_depth32 during capture provides a more portable trace. Apps fall back to Depth24, i.e.: glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT32, 760, 360); Becomes: glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, 760, 360); Test: Beach Buggy Racing MEC Bug: b/192237726 Bug: angleproject:6113 Change-Id: Id188ca0186c67d2584f8ad7070cdc8c9baaf2aaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2992573 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Peng Huang 5a2bd6fd 2021-05-03T14:43:35 Disable shader cache for PowerVR Rogue GPUs. We disable shader cache for Validating decoder in chrome, so port this workaround into ANGLE to see if it can fix crbug.com/1203652. Bug: chromium:1203652,chromium:480992 Change-Id: I08611c148217abc9c32d11fefe8a7d15873f3b30 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2867269 Commit-Queue: Peng Huang <penghuang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Mohan Maiya e2881e25 2021-06-27T10:45:41 Vulkan: Handle incompatible pipeline layouts It is necessary that a pipeline layout be compatible with active textures. Make sure to recreate the pipeline layout otherwise. Bug: b/155487768 Bug: angleproject:5033 Bug: angleproject:5773 Test: ImageTest.SourceAHBTarget2DExternalCycleThroughRgbAndYuvTargets*Vulkan Change-Id: Iab371a9035b6cd143585e5000e2e68c7302ef447 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2992056 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill 5f869b74 2021-06-28T18:02:42 Revert "Vulkan: Load custom Vk Loader." This reverts commit e6e99c5472d2fe9beaa12840fa4a71191667b9a4. Reason for revert: Seems to be flaking on linux-clang-rel: https://ci.chromium.org/ui/p/angle/builders/try/linux-clang-rel/22602/overview Original change's description: > Vulkan: Load custom Vk Loader. > > Uses a GN copy rule to duplicate the loader. Also updates volk to > load using the new custom loader. Once both are in place we can > go back and remove the copy. > > Bug: chromium:1219969 > Change-Id: I8c48d168a842539f7cdba1ebfdaf3b08c3e1990d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982499 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Bug: chromium:1219969 Change-Id: Ib29014e728c1ce63c5e5bf7136ce19de7692964d No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987874 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny 3d8d1b77 2021-06-28T10:35:42 Capture/Replay: enable passing OcclusionQueriesTest.* Bug: None Change-Id: I445ff7a25a7e91663a61e1cd4d32861497140055 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988681 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop aec47ff6 2021-06-22T15:47:43 Capture/Replay: Update CopyImageSubData params The parameters to glCopyImageSubData are flexible and can take a TextureID or a RenderbufferID as a GLuint. Our replay needs to remap those values, so we'll convert the GLuint based on the target. This leads to a change like the following. Before: glCopyImageSubData(138, 0x0DE1, 0, 0, 0, 0, 642, 0x0DE1, 1, 0, 0, 0, 256, 256, 1); After: glCopyImageSubData(gTextureMap[138], 0x0DE1, 0, 0, 0, 0, gTextureMap[642], 0x0DE1, 1, 0, 0, 0, 256, 256, 1); Test: PUBG Mobile MEC Bug: angleproject:6087 Bug: angleproject:6104 Change-Id: I5cd422e41ffbb4f08c8909e520bdce63e3008c5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2981464 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Gert Wollny 5fb6baef 2021-06-28T10:33:28 Capture/Replay: enable passing IndexedPointsTest* tests Bug: None Change-Id: Ie4f5c50985c5c3e403e0be8e806e461572b04e42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988680 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny dbc7cb5a 2021-06-11T14:38:42 Capture/Replay: capture GetMaterialfv parameters Enable according tests Bug: angleproject:6052 Change-Id: I67bc4d74c997afecf9ed16c7af217de273557587 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2954265 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Shahbaz Youssefi 153240b2 2021-06-11T16:36:32 Vulkan: SPIR-V Gen: Support loops Loops are similar to if-else in that they generate a number of blocks where the first block specifies divergence (OpLoopMerge) and the merge block. Differently from if-else, there is a block where the condition is evaluated and a block which `continue;` leads to (this last block is the only one allowed to back-jump to the beginning of the loop). Bug: angleproject:4889 Change-Id: Ic59f4bf3e05fbf93cb5af85acd3bc4b0da8412af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957809 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Gert Wollny 8cf6d8cc 2021-06-28T10:00:54 Capture/Replay: Handle Gen/Delete Semaphores and fix map emit Add capturing of the handles used in GenSemaphores and DeleteSemaphore, fix the emission of the gSemaphoreMap. and enable capture/replay tests. Change-Id: Iabb88bd1d6c22c08271d0883607efb72de9d3d0c Bug: angleproject:6107 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988679 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Jamie Madill e6e99c54 2021-06-23T08:25:58 Vulkan: Load custom Vk Loader. Uses a GN copy rule to duplicate the loader. Also updates volk to load using the new custom loader. Once both are in place we can go back and remove the copy. Bug: chromium:1219969 Change-Id: I8c48d168a842539f7cdba1ebfdaf3b08c3e1990d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982499 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Jamie Madill 18e99f4a 2021-06-25T09:10:42 Add SearchType to OpenSharedLibraryWithExtension. This fixes a bug in SystemInfo_vulkan where we were using the System search path for the Vulkan loader when we prefer using the custom ANGLE loader. Bug: chromium:1219969 Change-Id: Iedf0fd11fe9ed8cc020b445ea9e12a7936937361 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988791 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi 971ba359 2021-06-23T16:45:33 Add angle::BitMask for creating bit masks angle::BitMask(n) implements the common pattern of angle::Bit(n)-1. Bug: angleproject:6048 Change-Id: Icd56ef1504804add59d0804a7249b3035c96f9c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2984099 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 27e9883b 2021-06-22T12:20:08 Capture/Replay: Limit number of compile processes based on load When replaying, for each batch a limited number of compile processes is launched, but no all-over limit is set, so that on computers with a low processor count and/or limited working memory the machine may become un-responsive. Therefore, tell ninja to not spawn new processes when the load is larger than the number of available processors. Bug: angleproject:6078 Change-Id: I9982a139ef2346d0cf25fbd510c7aff038e48071 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2976658 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Jamie Madill da523f6b 2021-06-25T17:25:24 Trace Tests: Use hermetic depot_tools. We no longer need to use the depot_tools in the system path. Bug: angleproject:6102 Change-Id: I6772ceeb4c61e686d15b2638fb4348e93179e321 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2989671 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Gert Wollny f8d2c429 2021-06-24T11:22:59 Capture/Replay: Add test to capture an uninitialized buffer Handle the serialization in case the buffer is not yet set up. Bug: angleproject:6093 Change-Id: I06a8e15d181c4ec514a334f952ce29a4026970a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982549 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gert Wollny e833128d 2021-06-24T11:20:53 Capture/Replay: Enable BufferDataTests.* With the robustResourceInit in place these tests now pass. Bug: angleproject:5973 Change-Id: I7b5fd991b86ede8cf85cc298d61a60d86ef07bc9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982548 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Gert Wollny 52c47e94 2021-06-24T11:02:59 Capture/Replay: SimpleOperationTest.* pass now With robustResourceInit and the hadling of the serialization of uninitialized attachments these tests pass now. Bug: None Change-Id: I86af69f7e928d32570fde90b106e34d21617f0f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982547 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Cody Northrop 8767ec15 2021-06-27T19:28:28 Tests: Add Bricks Breaker Quest trace Test: angle_perftests --gtest_filter="*bricks_breaker_quest*" Tbr: jmadill@google.com, timvp@google.com Bug: b/192195614 Bug: angleproject:6106 Change-Id: I5301256c34d2552f1107e5718acb2faa09576fc2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2991680 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop a84ec2cf 2021-06-25T16:06:13 Tests: Add Mario Kart Tour trace Test: angle_perftests --gtest_filter="*mario_kart_tour*" Tbr: jmadill@google.com, timvp@google.com Bug: b/192102888 Bug: angleproject:6103 Change-Id: I7b96d96144391873c6fa5a7b4b795030d9daeefd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988362 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi c3c934a3 2021-06-25T01:40:54 Translator: Better group ES100 texture builtins The ES100 texture built-ins are now (similarly to ES300 ones) grouped based on whether they include a Bias, or Lod. Bug: angleproject:4889 Change-Id: I495af48644c68286b1b0cc2a5580566fdd22cfc9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987859 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Peter Kasting 5fc3fa9a 2021-06-25T10:18:06 Fix -Wimplicit-int-float-conversions. Bug: chromium:989932 Change-Id: Id7a49a4bd925508ea0362d1e6b9d853bf860ddb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987733 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Jamie Madill da17d561 2021-06-23T13:50:15 Trace Tests: Use xvfb consistently on Linux. Previously there were two places where we missed the xvfb script. This was causing the replay to fail. Bug: angleproject:6085 Change-Id: I833916fa0cdacc163ec2bdd08831249807f319c5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2979353 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill bd797f75 2021-06-14T11:27:27 D3D11: Fix OOB write in Blit11. This could happen for specific values of the 'dest' target. Bug: chromium:1219082 Change-Id: Ic19a5dc4a95531f9513403ad9c97a4b4c5dc5a6f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2961070 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Shahbaz Youssefi c75a1d6f 2021-06-11T23:27:33 Vulkan: SPIR-V Gen: Support the ternary operator Bug: angleproject:4889 Change-Id: I3ac193e08fc74cc784b688cc049fb786ab68657d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957808 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Shahbaz Youssefi 7d023dac 2021-06-10T00:13:41 Vulkan: SPIR-V Gen: Basic support for fragment shaders Fragment shader built-ins are implemented in this change and direct SPIR-V generation for fragment shaders is enabled. Bug: angleproject:4889 Change-Id: I6f92a5585f242122a81c97a9b1aa2763009161a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2951625 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny c2449441 2021-06-24T13:06:08 Capture/Replay: Make sure EGLImageKHR is a parsable number For some reason on win-trace-rel the pointer value us written as a hex number but without the leading "0x", so the number gets interpreted as octal, and compilation fails. Fixes: cb4f8a79a4def3dd8fd9f941d6674939e1731860 Capture: Add a specialization for TGLeglImageOES Bug: angleproject:6036 Change-Id: I949ace542a0ad257b47fbe539893a56c1c32b0b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982551 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Gert Wollny <gert.wollny@collabora.com>
Gert Wollny e5276ca3 2021-06-12T17:25:12 Capture: Add capturing of framebuffer and renderbuffer IDs Also enable the FramebufferObjectTest/* tests Bug: angleproject:6058 Change-Id: Ia82c935e614ccc4ad2c69ccc08544ce2d302fbca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957954 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny c8677c73 2021-06-12T17:23:42 Capture: Add a specialization for const GLuint * Bug: angleproject:6058 Change-Id: I31cad1dd23d313aae625874e140c406747e0f4c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957953 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 78437770 2021-06-12T15:48:26 Capture: read four values for GL_TEXTURE_CROP_RECT_OES This texture parameter describes a cropping region x,y, width, height. Bug: angleproject:6057 Change-Id: I2c71f6aec1e536f42e06c19cb025889094b57a35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2956510 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 79d3a5a1 2021-06-12T15:27:42 Capture/Replay: Capture (Get)TexParameterxv Bug: angleproject:6056 Change-Id: I094d80e5d6a981c01f572e0fba9b578269200bde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957952 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny f20d2b95 2021-06-12T15:19:42 Capture/Replay: Capture params of (Get)TexEnv calls Bug: angleproject:6055 Change-Id: I44a7bd4b339d7834f9306a0de7baa400c640dda4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957951 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 11489df0 2021-06-12T15:07:25 Capture/Replay: implement CapturePointParameterfv_params Enable tests that are now passing Bug: angleproject:6064 Change-Id: I22d7a41b3e11556c929e4701e0c6c339e3aa7b6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957950 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 228af3ec 2021-06-12T14:56:45 Capture/Replay: Enable MatrixModeTest.InitialState It simply passes Bug: None Change-Id: Id2388c99993aeb48d36ed96817b501c3d7bb1f36 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2957949 Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny fb42cbab 2021-06-11T14:30:49 Capture/Replay: Capture glGetLightfv parameter Enable the according capture/replay tests. Bug: angleproject:6051 Change-Id: I916e6d10756bc24bb3e0644c2b290f55b2066fd0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2954264 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gert Wollny b82da851 2021-06-11T13:57:47 Capture/Replay: Add capture for Fogfv parameters Enable FogTest* tests for capture/replay. Bug: angleproject:6050 Change-Id: Ic183ef550f57a790a3d113f20f67946487006166 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2954263 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gert Wollny d42df5c7 2021-06-08T11:42:50 Capture: Only capture texels of initialized textures If a texture is not yet initialized then it may contain random pixels, and since it doesn't make sense to capture this random data, skip its serialization and only mark the data as not initialized in the capture. This also avoid the texture syncronization that would lead to a crash for incomplete cube maps. Bug: angleproject:6034 Change-Id: I0cb30a03a29aecd605f3c61b6df4cd897e1f9093 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2944954 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Gert Wollny e543ad94 2021-06-08T10:42:01 Capture/Relplay: Enable most of ImageTest.* Keep *External/* disabled, because capturing of external textures is not supported. Bug: angleproject:6034 Bug: angleproject:6035 Bug: angleproject:6036 Bug: angleproject:6041 Change-Id: Id5eb9dc7c651240d0ba094be964d8bd141d08ff9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2944957 Commit-Queue: Gert Wollny <gert.wollny@collabora.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>