- 17 Jan, 2021 1 commit
-
-
Shahbaz Youssefi authored
This reverts commit 3d39b7c5. Reason for revert: Fixed interaction with the `forceDriverUniformOverSpecConst` workaround. Original change's description: > Revert "Vulkan: Generate gl_Position pre-rotation in SPIR-V" > > This reverts commit 0f86b196. > > Reason for revert: > Breaks pre-rotation for all apps, so they are displayed in portrait instead of landscape. > > Original change's description: > > Vulkan: Generate gl_Position pre-rotation in SPIR-V > > > > Instead of having the translator output pre-rotation code in the vertex > > stage based on a specialization constant, this change makes the SPIR-V > > transformer perform pre-rotation of gl_Position on the last geometry > > stage. > > > > An alternative solution would be to generate pre-rotation code in the > > translator in every geometry stage, each controlled by a separate > > specialization constant. This change avoids unnecessary modifications > > to earlier stages. The generated shaders are also smaller, as they > > don't contain a mat2[8] pre-rotation constant matrix. The SPIR-V > > transformer knows the pre-rotation at transformation time, so it can > > simply use swizzles to achieve the same results. > > > > This also ties in with upcoming changes which move gl_Position.z > > correction to the last geometry shader stage, which is trivially done > > piggy-backing on the infrastructure in this change. > > > > Bug: angleproject:5478 > > Change-Id: I9d5d9d19f3ccda665f5504368ce5ddfa5f383faf > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598584 > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Charlie Lao <cclao@google.com> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com > > Change-Id: I81f237fa6b10c7d59831363bee8999e7ad2f09be > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Bug: angleproject:5478 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633694 > Reviewed-by: Tim Van Patten <timvp@google.com> > Commit-Queue: Tim Van Patten <timvp@google.com> TBR=timvp@google.com,syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com Bug: angleproject:5478 Change-Id: I7c5eaeef03d9520abd36a1c4a766b6abbf4fdb45 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633709Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
- 16 Jan, 2021 9 commits
-
-
Shahbaz Youssefi authored
This transformation is split into two. The first transformation solely takes out the samplers out of structs, and potentially generates array of array of samplers. A second transformation is added that takes any array of array of opaque uniforms and flattens it. A follow up change will simplify RewriteAtomicCounters which also handles array of arrays (which is no longer possible), and removes dependency on shaderStorageBufferArrayDynamicIndexing. Bug: angleproject:2703 Bug: angleproject:3881 Bug: angleproject:4071 Bug: angleproject:4211 Change-Id: I352bb2bbe65ac49f4d7d753c0ba3160fa3cc925a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2628138 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Tim Van Patten <timvp@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Mohan Maiya authored
With the addition of EXT_clip_cull_distance extension the files are renamed like so - ReplaceClipDistanceVariable.h -> ReplaceClipCullDistanceVariable.h ReplaceClipDistanceVariable.cpp -> ReplaceClipCullDistanceVariable.cpp Bug: angleproject:5458 Change-Id: I277b2d4b6eea6f2014e10acb251284a159292dbc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2617572 Commit-Queue: Mohan Maiya <m.maiya@samsung.com> Reviewed-by:Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org>
-
Tim Van Patten authored
Note: Hand edits required to capture this trace: CaptureMidExecutionSetup(): // Check for supported textures ASSERT(index.getType() == gl::TextureType::_2D || index.getType() == gl::TextureType::_3D || index.getType() == gl::TextureType::_2DArray || index.getType() == gl::TextureType::CubeMap || index.getType() == gl::TextureType::External); <<--- add Test: angle_perftests --gtest_filter=TracePerfTest.Run/*real_gangster_crime* Bug: angleproject:5550 Change-Id: I32391cc8de0b4307334bb873af4f3c5899b584f2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2626357 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by:Cody Northrop <cnorthrop@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Tim Van Patten authored
This reverts commit 0f86b196. Reason for revert: Breaks pre-rotation for all apps, so they are displayed in portrait instead of landscape. Original change's description: > Vulkan: Generate gl_Position pre-rotation in SPIR-V > > Instead of having the translator output pre-rotation code in the vertex > stage based on a specialization constant, this change makes the SPIR-V > transformer perform pre-rotation of gl_Position on the last geometry > stage. > > An alternative solution would be to generate pre-rotation code in the > translator in every geometry stage, each controlled by a separate > specialization constant. This change avoids unnecessary modifications > to earlier stages. The generated shaders are also smaller, as they > don't contain a mat2[8] pre-rotation constant matrix. The SPIR-V > transformer knows the pre-rotation at transformation time, so it can > simply use swizzles to achieve the same results. > > This also ties in with upcoming changes which move gl_Position.z > correction to the last geometry shader stage, which is trivially done > piggy-backing on the infrastructure in this change. > > Bug: angleproject:5478 > Change-Id: I9d5d9d19f3ccda665f5504368ce5ddfa5f383faf > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598584 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com Change-Id: I81f237fa6b10c7d59831363bee8999e7ad2f09be No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:5478 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2633694Reviewed-by:
Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
-
Tim Van Patten authored
This reverts commit 1e4f8b02. Reason for revert: Earlier CL breaks pre-rotation: https://chromium-review.googlesource.com/c/angle/angle/+/2598584 Original change's description: > Vulkan: Generate gl_Position.z correction in SPIR-V > > Instead of having the translator output code to transform gl_Position.z > to Vulkan clip space in the vertex stage, this change makes the SPIR-V > transformer perform this operation on the last geometry stage. > > An alternative solution would be to generate this transformation in the > translator in every geometry stage, each controlled by a separate > specialization constant. This change avoids unnecessary modifications > to earlier stages. Additionally, the transformer is already modifying > gl_Position.xy for pre-rotation, so the addition of a small > transformation of gl_Position.z in the same spot is rather trivial. > > Bug: angleproject:5479 > Change-Id: Id971179ba47b206204bfdaf3b2b295ef97dd5117 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598585 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com Change-Id: I3bdf3d6f743125eaf552608f2664b715bd6935c5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:5479 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2634203Reviewed-by:
Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
-
Tim Van Patten authored
This reverts commit 8f5ca266. Reason for revert: Earlier CL breaks pre-rotation: https://chromium-review.googlesource.com/c/angle/angle/+/2598584 Original change's description: > Vulkan: Move xfb position decl to translator in extension path > > This change removes the @@ XFB-DECL @@ marker. The ANGLEXfbPosition > output is unconditionally emitted in VS, TES and GS by the translator, > and is appropriately decorated or removed by the SPIR-V transformer. > > Bug: angleproject:3606 > Change-Id: Ia76224f5a6d147362eeb2d288f05e333aaf75481 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2617658 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com Change-Id: Ia03988b9c17639513576e82e8f11cd4c7b52640b No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3606 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2634202Reviewed-by:
Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
-
Tim Van Patten authored
This reverts commit d06feeac. Reason for revert: Earlier CL breaks pre-rotation: https://chromium-review.googlesource.com/c/angle/angle/+/2598584 Original change's description: > Vulkan: Generate xfb support code in SPIR-V for extension path > > The only piece of code that's needed to be generated for the extension > path is the following, at the right spot (right before depth correction > and pre-rotation): > > ANGLEXfbPosition = gl_Position; > > The SPIR-V transformer already has gl_Position loaded for depth > correction and pre-rotation, so this change simply adds an OpStore to > ANGLEXfbPosition. > > As a result of this change, @@ XFB-OUT @@ is no longer emitted if > the transform feedback extension is supported. With the above code now > placed correctly for geometry shaders, transform feedback tests for > geometry shaders are enabled. > > Bug: angleproject:3606 > Change-Id: I13a7956ab62a1a6b4196ff999442b99b50226c0f > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2617659 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com Change-Id: I74fa9fafe3c922cdb7cd09ee6351534e38528da9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3606 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2634048Reviewed-by:
Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
-
Tim Van Patten authored
This reverts commit 9710c4e4. Reason for revert: Earlier CL breaks pre-rotation: https://chromium-review.googlesource.com/c/angle/angle/+/2598584 Original change's description: > Cleanup translator option checks > > Use comparison with 0 for explicit conversion to bool. > > Bug: angleproject:3606 > Change-Id: Ie0a76d7df829227c1376894535813b54e13491b4 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2631689 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com Change-Id: Ib597a62f3c7078d28f7f5b79d1cc9f8d9e469c31 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3606 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2634047Reviewed-by:
Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
-
Shahbaz Youssefi authored
Use comparison with 0 for explicit conversion to bool. Bug: angleproject:3606 Change-Id: Ie0a76d7df829227c1376894535813b54e13491b4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2631689 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Charlie Lao <cclao@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 15 Jan, 2021 12 commits
-
-
Mohan Maiya authored
EXT_clip_cull_distance extension is supported except for some features related to EXT_tessellation_shader and EXT_geometry_shader. Also added a few compiler tests to validate the transformation from ESSL to GLSL for Vulkan backend. Bug: angleproject:5458 Tests: angle_end2end_tests --gtest_filter=Clip*DistanceTest* angle_unittests --gtest_filter=*Clip*Distance* Change-Id: Ie74e6b2b55112ad92ad111191d629b63506032ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2585987Reviewed-by:Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
-
Shahbaz Youssefi authored
With array of array of samplers and images, we currently require the shader*ArrayDynamicIndexing Vulkan features. With atomic counters, we require the shaderStorageBufferArrayDynamicIndexing feature. The above features are required to enable passing opaque uniforms to functions. This change introduces a translator pass that monomorphizes functions that receive atomic counters, or partially subscripted array of array of samplers or images, etc by removing those arguments and using the opaque uniform directly. Follow up changes will include: - Great simplification to RewriteStructSamplers, and removal of RewriteStructSamplersOld. This will drop dependency to shaderSampledImageArrayDynamicIndexing and shaderStorageImageArrayDynamicIndexing. - Great simplification to RewriteAtomicCounters. This will drop dependency to shaderStorageBufferArrayDynamicIndexing. - Emulation of imageAtomicExchange for r32f formats, but changing the qualifier to r32ui. Note that parts of RewriteStructSampler are obsolete with this change, but will be refactored as a follow up. Bug: angleproject:3881 Bug: angleproject:4071 Bug: angleproject:5535 Change-Id: Ifd1435b2a31ebf364815046886aeded60297da79 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2628127 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Tim Van Patten <timvp@google.com>
-
Shahbaz Youssefi authored
The only piece of code that's needed to be generated for the extension path is the following, at the right spot (right before depth correction and pre-rotation): ANGLEXfbPosition = gl_Position; The SPIR-V transformer already has gl_Position loaded for depth correction and pre-rotation, so this change simply adds an OpStore to ANGLEXfbPosition. As a result of this change, @@ XFB-OUT @@ is no longer emitted if the transform feedback extension is supported. With the above code now placed correctly for geometry shaders, transform feedback tests for geometry shaders are enabled. Bug: angleproject:3606 Change-Id: I13a7956ab62a1a6b4196ff999442b99b50226c0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2617659 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:Charlie Lao <cclao@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Shahbaz Youssefi authored
This change removes the @@ XFB-DECL @@ marker. The ANGLEXfbPosition output is unconditionally emitted in VS, TES and GS by the translator, and is appropriately decorated or removed by the SPIR-V transformer. Bug: angleproject:3606 Change-Id: Ia76224f5a6d147362eeb2d288f05e333aaf75481 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2617658 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Charlie Lao <cclao@google.com>
-
Alexey Knyazev authored
Bug: angleproject:5543 Change-Id: I2a7e2d563aa60e6e53dd6b6c32fbc449368e4e06 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2627425Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
-
Jamie Madill authored
The script was broken after the change to build to a separate shared library. Also fixes issues on Windows and cleans up the code. State comparison is still broken on every test from what I can see. Bug: angleproject:5530 Change-Id: I23e77e56fadedfb85d7afdb59dddac5558a71a56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2630232 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Tim Van Patten <timvp@google.com> Reviewed-by:
Cody Northrop <cnorthrop@google.com>
-
Shahbaz Youssefi authored
Instead of having the translator output code to transform gl_Position.z to Vulkan clip space in the vertex stage, this change makes the SPIR-V transformer perform this operation on the last geometry stage. An alternative solution would be to generate this transformation in the translator in every geometry stage, each controlled by a separate specialization constant. This change avoids unnecessary modifications to earlier stages. Additionally, the transformer is already modifying gl_Position.xy for pre-rotation, so the addition of a small transformation of gl_Position.z in the same spot is rather trivial. Bug: angleproject:5479 Change-Id: Id971179ba47b206204bfdaf3b2b295ef97dd5117 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598585 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Charlie Lao <cclao@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
angle-autoroll authored
https://swiftshader.googlesource.com/SwiftShader.git/+log/5255c465bbba..aedd133cd85f 2021-01-14 amaiorano@google.com VulkanBenchmarks: fix memory leaks If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC timvp@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 Change-Id: Ie147a2aae685b67d386f1791b85a5fb96125b69b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2632338Reviewed-by:
angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
-
angle-autoroll authored
https://chromium.googlesource.com/vulkan-deps.git/+log/5869a809d551..7b69f3d087b8 2021-01-15 chromium-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Cross from a5eaf2f44a5d to 9acb9ec31f5a (1 revision) 2021-01-14 chromium-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from b2cfc5d1ceca to 9150cd441f43 (1 revision) 2021-01-14 chromium-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 586c46b96b62 to fb2ab876edcd (1 revision) 2021-01-14 chromium-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Cross from 820179bf4689 to a5eaf2f44a5d (1 revision) 2021-01-14 chromium-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from cec658c11603 to b2cfc5d1ceca (1 revision) 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 timvp@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 Change-Id: I6257bd54fd803b344da731012fa97544ba4acafc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2632727Reviewed-by:
angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
-
angle-autoroll authored
https://chromium.googlesource.com/chromium/src.git/+log/fabc0b0b129a..2ef9c5ff8ca7 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@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 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/d64e5999e3..670a9057fa * testing: https://chromium.googlesource.com/chromium/src/testing/+log/bf4e02dbca..ce2030d539 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..b2af2da348 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/b12d1c836e..ba4ee03425 * tools/luci-go: git_revision:16e6d735358b0166f06fd2e4daa0da4cff9918e9..git_revision:77944aa535e42e29faadf6cfa81aee252807d468 * tools/luci-go: git_revision:16e6d735358b0166f06fd2e4daa0da4cff9918e9..git_revision:77944aa535e42e29faadf6cfa81aee252807d468 * tools/luci-go: git_revision:16e6d735358b0166f06fd2e4daa0da4cff9918e9..git_revision:77944aa535e42e29faadf6cfa81aee252807d468 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/46eeb6cbe3..42beda611f * tools/skia_goldctl/linux: UBQI89SqFeAIiGdjUUikXKgyMRFxDbvtqVUceCn1kcwC..kjkgNP4EaChPUcoDLbUiF85Tgg3RbK3xzpcwZ5HyUosC * tools/skia_goldctl/mac: Cb3ZdanPJ4Sjcf0QVUa5PMI5nkXnfRX3fQltIjHI7ZoC..Asi8KSWBq6NEwkADY8wYitzLWv01uuZURhT1kYqop6IC * tools/skia_goldctl/win: kIBp6ZuMA5QTpwxtMM3NtSMezpaetuByhNmVTMg8TtMC.._5BJmSzcXDTJJSe1g7mA2Qb5L1P6cEseriZG8lUfDuAC No update to Clang. Bug: angleproject:5543 Tbr: timvp@google.com Change-Id: I20fda3ff99f2d6e2af4c41d28afc91ffdf7cf3e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2631374Reviewed-by:
angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
-
Shahbaz Youssefi authored
Instead of having the translator output pre-rotation code in the vertex stage based on a specialization constant, this change makes the SPIR-V transformer perform pre-rotation of gl_Position on the last geometry stage. An alternative solution would be to generate pre-rotation code in the translator in every geometry stage, each controlled by a separate specialization constant. This change avoids unnecessary modifications to earlier stages. The generated shaders are also smaller, as they don't contain a mat2[8] pre-rotation constant matrix. The SPIR-V transformer knows the pre-rotation at transformation time, so it can simply use swizzles to achieve the same results. This also ties in with upcoming changes which move gl_Position.z correction to the last geometry shader stage, which is trivially done piggy-backing on the infrastructure in this change. Bug: angleproject:5478 Change-Id: I9d5d9d19f3ccda665f5504368ce5ddfa5f383faf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2598584 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Charlie Lao <cclao@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Shahbaz Youssefi authored
The attachment was being accessed before being validated. A fuzzer test was giving this function texture ID -1. Bug: chromium:1146753 Change-Id: Ic48f5fd2eed4252e90be5d63fd698b38bd3ef85f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2623814Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
-
- 14 Jan, 2021 10 commits
-
-
Geoff Lang authored
angle::GetSystemInfo may return success on some platforms without writing any entires into the gpus vector. Make sure we don't index into this vector when it's empty. Bug:chromium:1166338 Change-Id: I4cafeadf7aa9ac55b25a1afa04c8d28a2edf52e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2628140Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Tim Van Patten authored
Test: angle_perftests --gtest_filter=TracePerfTest.Run/*magic_tiles_3* Bug: angleproject:5540 Change-Id: I6d6f144d4c2a38cfc55724f7e454f756a162d054 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2622611 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by:
Cody Northrop <cnorthrop@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Shahbaz Youssefi authored
This makes @@ XFB-DECL @@ empty on this path. Ultimately, this is working towards removing both @@ XFB-DECL @@ and @@ XFB-OUT @@ macros for both the emulation and extension paths, allowing the shaders to be compiled at compile time rather than link time. Bug: angleproject:3606 Change-Id: If16e9d92c419a04ecd3094481ed546d0708cdb43 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2611305 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Tim Van Patten <timvp@google.com>
-
Tim Van Patten authored
CaptureMidExecutionSetup() currently assumes that all created programs have also been linked, since mCachedProgramSources is only updated when glLinkProgram() is called. However, a call to glCreateProgram() doesn't necessitate a call to glLinkProgram(). This leads to hitting an assert in FrameCaptureShared::getProgramSources() when iterating all glCreateProgram()'ed programs, but doesn't find that it in the list of linked programs. This fix is to move the program->isLinked() call earlier. Bug: angleproject:5545 Change-Id: I49fdec08de1c2767fe7f6a08fd0a9d53fa865167 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2629789Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
-
Jamie Madill authored
This reverts commit 326f128b. Reason for revert: Fails of Mali platform. See bug: Bug: angleproject:5544 Original change's description: > Vulkan: Prefer host cached memory for Buffers > > This improves perf because vertex data upload uses host visible memory, > and uncached memory can be slow. > > Test: > > Android on Windows with 1080Ti: > glmark2 [build] vbo=false 265 -> 3900 fps > > Bug: angleproject:5515 > Change-Id: Ib75582bbdb4ca4a22d3a121c7b477a23a8a809ef > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2615742 > Commit-Queue: Lingfeng Yang <lfy@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Tim Van Patten <timvp@google.com> TBR=geofflang@chromium.org,lfy@google.com,doughorn@google.com,timvp@google.com,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:5515 Change-Id: I59695b1981b43471dbd309d4e859bae7a4821969 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2627604Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Lingfeng Yang <lfy@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jason Macnak authored
Performing a roll with this changes produces https://android-review.googlesource.com/c/1548235 Bug: b/147316305 Bug: angleproject:5456 Test: scripts/roll_aosp.sh && m ANGLE Change-Id: I0f5a698e81a1299abde7cfccb4e1467c8dc02aad Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2625168 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by:
Tim Van Patten <timvp@google.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Tim Van Patten authored
The function getImageFormatFeatureBits() was recently refactored which changed its parameters. One call to this function in SurfaceVk.cpp is underneath a #if ANGLE_ENABLE_OVERLAY though, so it was missed. This CL updates the call to getImageFormatFeatureBits() with the correct paramater as well as moves the code outside of the #if and into a normal conditional to prevent similar issues in the future. Bug: angleproject:5438 Change-Id: I499c25d98e4e22b5e1bb14e6e6c9ef378d77307f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2626348 Commit-Queue: Tim Van Patten <timvp@google.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
angle-autoroll authored
https://swiftshader.googlesource.com/SwiftShader.git/+log/3549479dc4cc..5255c465bbba 2021-01-14 swiftshader.regress@gmail.com Regres: Update test lists @ 2cc34907 2021-01-13 amaiorano@google.com VulkanBenchmarks: add texture sampling to Triangle benchmarks 2021-01-13 amaiorano@google.com Implement VK_EXT_headless_surface 2021-01-13 natsu@google.com Update AHB default YUV dataspace to YCBCR_601 2021-01-13 capn@google.com VulkanBenchmarks: refactor into Image class 2021-01-13 capn@google.com Fix back-face culling for vertices near w=0 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC timvp@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 Change-Id: Id6dd8cbbd310059f5fd761656bba7935fc419edb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2628659Reviewed-by:
angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
-
angle-autoroll authored
https://chromium.googlesource.com/vulkan-deps.git/+log/50bcbaad4cbf..5869a809d551 2021-01-13 chromium-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from f5dea94f6f15 to 586c46b96b62 (1 revision) 2021-01-13 chromium-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-Tools from a3b988fa5588 to c86cec54abe6 (1 revision) 2021-01-13 chromium-autoroll@skia-public.iam.gserviceaccount.com Roll Vulkan-ValidationLayers from 04b58c5bea3a to f5dea94f6f15 (1 revision) 2021-01-13 chromium-autoroll@skia-public.iam.gserviceaccount.com Roll SPIRV-Tools from 7bbe1a316419 to cec658c11603 (2 revisions) 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 timvp@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 Change-Id: I1dfff92ef0c46159b2b285ccf46494013258a3f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2629107Reviewed-by:
angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
-
angle-autoroll authored
https://chromium.googlesource.com/chromium/src.git/+log/451c64aaec04..fabc0b0b129a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC timvp@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 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/d68ac97401..d64e5999e3 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/625f969626..bf4e02dbca * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/cadb7225e4..947ea991af * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..178c01be65 * third_party/libjpeg_turbo: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+log/09efc26aff..518d81558c * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/c2ae4814ba..46eeb6cbe3 * tools/skia_goldctl/linux: 1TBlbVMfJAvbrsCVFRL54CvG6OJv660nvwlbVn3QedoC..UBQI89SqFeAIiGdjUUikXKgyMRFxDbvtqVUceCn1kcwC * tools/skia_goldctl/mac: zFHl-BrDnpmevfoDmWcr04CNai3vqwCPB6AYeJXJ744C..Cb3ZdanPJ4Sjcf0QVUa5PMI5nkXnfRX3fQltIjHI7ZoC * tools/skia_goldctl/win: AefJEwE3M-ke_pwYEVGy2Ct2Ra80EaxvK1KADBuG8-EC..kIBp6ZuMA5QTpwxtMM3NtSMezpaetuByhNmVTMg8TtMC No update to Clang. Bug: angleproject:5499,angleproject:5534 Tbr: timvp@google.com Change-Id: I6c8e0c9e07695961751d7080ed5e06d457eeef49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2625942Reviewed-by:
angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
-
- 13 Jan, 2021 8 commits
-
-
Sunny Sachanandani authored
Allow importing individual planes of NV12/P010/P016 D3D textures with supported SRV/RTV formats. Restrict these to GL_TEXTURE_EXTERNAL_OES to limit to using as shader inputs or render targets and prevent unsupported operations like ReadPixels. Test: D3DTextureYUVTest* Bug: angleproject:5538, chromium:1116101 Change-Id: If5bf54f4f75bb2c703890ce3f5fbd67e4461c98f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2338827 Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Yuly Novikov authored
Getting a compile error for them: ../../third_party/angle/src/tests/egl_tests/ EGLIOSurfaceClientBufferTest.cpp:16:10: fatal error: 'IOSurface/IOSurface.h' file not found include <IOSurface/IOSurface.h> ^~~~~~~~~~~~~~~~~~~~~~~ ../../third_party/angle/src/tests/egl_tests/ EGLIOSurfaceClientBufferTest.cpp:16:10: note: did not find header 'IOSurface.h' in framework 'IOSurface' (loaded from '/opt/s/w/ir/cache/xcode_ios_12a7209.app/Contents/ Developer/Platforms/iPhoneOS.platform/Developer/SDKs/ iPhoneOS14.0.sdk/System/Library/Frameworks') Bug: angleproject:5417 Change-Id: I60198bbacc0726a9842fe37fad5b10b9afff37a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2628129Reviewed-by:Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
Mohan Maiya authored
It is valid for an attribute and a uniform to have the same name as long as they are declared in different stages. Prior to this patch, if any shader stage declares a uniform we disallowed reusing that name for an attribute. From GLSL ES Spec 3.00.6, section 4.3.5: If a uniform variable name is declared in one stage (e.g., a vertex shader) but not in another (e.g., a fragment shader), then that name is still available in the other stage for a different use. This change allows Egginc game to work with ANGLE Bug: angleproject:5497 Tests: angle_end2end_tests - *UniformVariableNameReuseAcrossStages* *GlobalNamesConflict* Change-Id: I8f5657d40a213600d6fb48f63e37e4cdbae120b2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2608865Reviewed-by:Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
-
Jamie Madill authored
Was accidentally specified as "linux-win-rel". Bug: angleproject:5530 Change-Id: Ica5ac1dd685704835049d8f222196f3eb5f7e8c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2626514Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Instead of using a single varying packing for all program stages, we switch to using a varying register packing for each pair of input/output shaders. This allows several valid use cases that use many varying to succeed. For instance Geometry Shaders have both an input and output varying packing. With tessellation shaders the upper bound of valid varying packings in one Program goes up even more. We keep multiple varying packings at once inside a new "ProgramVaryingPacking" class. Internally the class keeps a unique varying mapping for each input/output interface in the program. Separable programs with "open" interfaces are handled specially. Fixes a bug where varying counting was artificially limited for programs with more than two shaders. This CL also disables GS support when we're emulating line raster so we don't have to figure out the details on how to place the special position varying. Bug: angleproject:5496 Change-Id: I1f9a327c4750caef570c608d86953e9d0cc5eea3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2606532 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Tim Van Patten <timvp@google.com>
-
Cody Northrop authored
This results in calls like this added to Setup*: const GLenum glDrawBuffers_bufs_38[] = { 36064, 36065, 36066, 36067, 0, 0, 0, 0 }; ... glDrawBuffers(8, glDrawBuffers_bufs_38); Test: Aztec Ruins MEC Bug: b/160808198 Bug: angleproject:3662 Bug: angleproject:5541 Change-Id: I1c6282e292f225684c99b5de65daf8ad15b0db56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2627907Reviewed-by:Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
-
Jamie Madill authored
Each slow test in the list will use a 3x longer timeout. The list is implemented using the same filter wildcard we use in the test expectations logic. We can test this out using a slow D3D11 varying test. Bug: angleproject:5076 Bug: angleproject:5496 Change-Id: I31cf45e6ee8a8bbd6e460d675ff8a0cf5f19a504 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2625172 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
-
Jamie Madill authored
Attempt to fix timeouts due to test ordering. Bug: angleproject:5496 Change-Id: I323e85c372c8b4a5e9fc4201004f39bffb1676d4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2625169 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org>
-