Metal: Anonymous unused uniform structs not named.

Due to some upstream changes, unused uniform structs are not being
given a name. These structs cause compilation failures, which has
completely caused shadertoy.com to fail to render.

Skip the check when naming embedded structs to allow uniform struct
types to still be named, even when no uniform exists.

Unskip targeted tests on the Metal backend which were added previously
in Issue 6641. These still need to be fixed more generically for the
Vulkan backend.

Also suppress flaky WebGLCompatibilityTest.RG32FTextures test on Mac
Intel OpenGL, which affected this CL.

Bug: angleproject:6642
Bug: angleproject:6641
Bug: angleproject:6570
Change-Id: I598fc212f4db3d3b7c5617bd8a87f8b7db60706c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258341
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Gregg Tavares <gman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
This commit is contained in:
Kyle Piddington 2021-11-01 17:04:05 -05:00 коммит произвёл Angle LUCI CQ
Родитель 604610b410
Коммит 0e9e321b57
2 изменённых файлов: 2 добавлений и 3 удалений

Просмотреть файл

@ -40,7 +40,7 @@ class Traverser : public TIntermTraverser
TIntermTyped *declarator = sequence.front()->getAsTyped();
const TType &type = declarator->getType();
if (type.isStructSpecifier() && type.getQualifier() == EvqUniform)
if (type.isStructSpecifier())
{
const TStructure *structure = type.getStruct();

Просмотреть файл

@ -109,11 +109,10 @@
6525 MAC NVIDIA METAL : GLSLTest.VectorScalarMultiplyAndAddInLoop/* = SKIP
6570 MAC INTEL OPENGL : WebGLCompatibilityTest.L32FTextures/* = SKIP
6570 MAC INTEL OPENGL : WebGLCompatibilityTest.R32FTextures/* = SKIP
6570 MAC INTEL OPENGL : WebGLCompatibilityTest.RG32FTextures/* = SKIP
6570 MAC INTEL OPENGL : WebGLCompatibilityTest.RGB32FTextures/* = SKIP
6603 MAC OPENGL : ProgramBinaryES3Test.SaveAndLoadDetachedShaders/* = SKIP
6643 MAC AMD OPENGL : TransformFeedbackTest.TransformFeedbackQueryPausedDrawThenResume/* = SKIP
6641 MAC METAL : UniformTest.UnusedStructInlineUniform/* = SKIP
6641 MAC METAL : UniformTest.UnusedStructInlineUniformWithSampler/* = SKIP
// Failures from Transform Feedback Enablement. Passes on BigSur
6407 MAC NVIDIA METAL : TransformFeedbackTest.OptimizedVaryings/ES3_Metal = SKIP