File chromium-90-gslang-linkage-fixup.patch of Package chromium.16178

--- chromium-90.0.4430.85/third_party/angle//src/libANGLE/renderer/glslang_wrapper_utils.cpp.xx	2021-04-25 12:32:18.204585123 +0200
+++ chromium-90.0.4430.85/third_party/angle//src/libANGLE/renderer/glslang_wrapper_utils.cpp	2021-04-25 13:17:46.614703616 +0200
@@ -2105,11 +2105,13 @@
 
   private:
     static constexpr size_t kXfbDecorationCount                           = 3;
+#if 0
     static constexpr spv::Decoration kXfbDecorations[kXfbDecorationCount] = {
-        spv::DecorationXfbBuffer,
+       spv::DecorationXfbBuffer,
         spv::DecorationXfbStride,
         spv::DecorationOffset,
     };
+#endif
 
     bool mHasTransformFeedbackOutput;
 
@@ -2226,6 +2228,12 @@
                                                             spirv::IdRef id,
                                                             SpirvBlob *blobOut)
 {
+    constexpr spv::Decoration localkXfbDecorations[kXfbDecorationCount] = {
+        spv::DecorationXfbBuffer,
+        spv::DecorationXfbStride,
+        spv::DecorationOffset,
+    };
+
     if (info.fieldXfb.empty())
     {
         return;
@@ -2257,7 +2265,7 @@
         for (size_t i = 0; i < kXfbDecorationCount; ++i)
         {
             spirv::WriteMemberDecorate(blobOut, id, spirv::LiteralInteger(fieldIndex),
-                                       kXfbDecorations[i],
+                                       localkXfbDecorations[i],
                                        {spirv::LiteralInteger(xfbDecorationValues[i])});
         }
     }
@@ -2267,6 +2275,12 @@
                                                       spirv::IdRef id,
                                                       SpirvBlob *blobOut)
 {
+    constexpr spv::Decoration localkXfbDecorations[kXfbDecorationCount] = {
+        spv::DecorationXfbBuffer,
+        spv::DecorationXfbStride,
+        spv::DecorationOffset,
+    };
+
     if (info.xfb.buffer == ShaderInterfaceVariableXfbInfo::kInvalid)
     {
         return;
@@ -2288,7 +2302,7 @@
     //     OpDecorate %id Offset xfb.offset
     for (size_t i = 0; i < kXfbDecorationCount; ++i)
     {
-        spirv::WriteDecorate(blobOut, id, kXfbDecorations[i],
+        spirv::WriteDecorate(blobOut, id, localkXfbDecorations[i],
                              {spirv::LiteralInteger(xfbDecorationValues[i])});
     }
 }
openSUSE Build Service is sponsored by