
# HG changeset patch
# User Sam James <sam@cmpct.info>
# Date 1726081531 0
# Node ID 0249085453e0d5c8378a1a053b94753fd52c956c
# Parent  3fca72d15659808d8f453b44a13320d4f6ceca86
Bug 1917964 - Fix swgl build with GCC 15. r=gfx-reviewers,lsalzman

Fix broken specialisations which are exposed by a recent change in GCC trunk.

See https://gcc.gnu.org/PR116666.

Differential Revision: https://phabricator.services.mozilla.com/D221744

diff --git a/gfx/wr/swgl/src/vector_type.h b/gfx/wr/swgl/src/vector_type.h
--- a/gfx/wr/swgl/src/vector_type.h
+++ b/gfx/wr/swgl/src/vector_type.h
@@ -235,33 +235,33 @@ struct VectorType {
     data /= x.data;
     return *this;
   }
   VectorType& operator%=(int x) {
     data %= x;
     return *this;
   }
 
-  VectorType<mask_type, N> operator==(VectorType x) const {
-    return VectorType<mask_type, N>::wrap(data == x.data);
+  VectorType<mask_index, N> operator==(VectorType x) const {
+    return VectorType<mask_index, N>::wrap(data == x.data);
   }
-  VectorType<mask_type, N> operator!=(VectorType x) const {
-    return VectorType<mask_type, N>::wrap(data != x.data);
+  VectorType<mask_index, N> operator!=(VectorType x) const {
+    return VectorType<mask_index, N>::wrap(data != x.data);
   }
-  VectorType<mask_type, N> operator<(VectorType x) const {
-    return VectorType<mask_type, N>::wrap(data < x.data);
+  VectorType<mask_index, N> operator<(VectorType x) const {
+    return VectorType<mask_index, N>::wrap(data < x.data);
   }
-  VectorType<mask_type, N> operator>(VectorType x) const {
-    return VectorType<mask_type, N>::wrap(data > x.data);
+  VectorType<mask_index, N> operator>(VectorType x) const {
+    return VectorType<mask_index, N>::wrap(data > x.data);
   }
-  VectorType<mask_type, N> operator<=(VectorType x) const {
-    return VectorType<mask_type, N>::wrap(data <= x.data);
+  VectorType<mask_index, N> operator<=(VectorType x) const {
+    return VectorType<mask_index, N>::wrap(data <= x.data);
   }
-  VectorType<mask_type, N> operator>=(VectorType x) const {
-    return VectorType<mask_type, N>::wrap(data >= x.data);
+  VectorType<mask_index, N> operator>=(VectorType x) const {
+    return VectorType<mask_index, N>::wrap(data >= x.data);
   }
 
   VectorType operator!() const { return wrap(!data); }
   VectorType operator&&(VectorType x) const { return wrap(data & x.data); }
   VectorType operator||(VectorType x) const { return wrap(data | x.data); }
 
   VectorType& operator=(VectorType x) {
     data = x.data;

