File chromium-angle.patch of Package chromium-ffmpeg-extra (Revision 4aa08058ecc0da7c0873a857ec5bbb52)

Currently displaying revision 4aa08058ecc0da7c0873a857ec5bbb52 , Show latest

90
 
1
From 030017a4855c7b6e7f2ff8d9566c146f31eb301b Mon Sep 17 00:00:00 2001
2
From: Kai Ninomiya <kainino@chromium.org>
3
Date: Wed, 06 Dec 2017 14:06:53 -0800
4
Subject: [PATCH] Mark StaticType related functions as constexpr
5
6
Fixes compilation on some versions of GCC and probably Clang.
7
8
Follow-up to http://crrev.com/c/786317
9
10
Bug: angleproject:1432
11
Change-Id: I3fc3ad0f65492f9543eb27fcdce6ca29a9ad06e5
12
Reviewed-on: https://chromium-review.googlesource.com/812220
13
Reviewed-by: Jamie Madill <jmadill@chromium.org>
14
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
15
---
16
17
diff --git a/third_party/angle/src/compiler/translator/StaticType.h b/third_party/angle/src/compiler/translator/StaticType.h
18
index e26e5ff..30b391a 100644
19
--- a/third_party/angle/src/compiler/translator/StaticType.h
20
+++ b/third_party/angle/src/compiler/translator/StaticType.h
21
@@ -160,7 +160,7 @@
22
           TPrecision precision,
23
           TQualifier qualifier,
24
           unsigned char secondarySize>
25
-const TType *GetForVecMatHelper(unsigned char primarySize)
26
+constexpr const TType *GetForVecMatHelper(unsigned char primarySize)
27
 {
28
     static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt ||
29
                       basicType == EbtBool,
30
@@ -186,7 +186,7 @@
31
 template <TBasicType basicType,
32
           TPrecision precision = EbpUndefined,
33
           TQualifier qualifier = EvqGlobal>
34
-const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1)
35
+constexpr const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1)
36
 {
37
     static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt ||
38
                       basicType == EbtBool,
39
@@ -208,7 +208,7 @@
40
 }
41
 
42
 template <TBasicType basicType, TPrecision precision = EbpUndefined>
43
-const TType *GetForVec(TQualifier qualifier, unsigned char size)
44
+constexpr const TType *GetForVec(TQualifier qualifier, unsigned char size)
45
 {
46
     switch (qualifier)
47
     {
48
diff --git a/third_party/angle/src/compiler/translator/SymbolTable.cpp b/third_party/angle/src/compiler/translator/SymbolTable.cpp
49
index adf1e4e..90d4c15 100644
50
--- a/third_party/angle/src/compiler/translator/SymbolTable.cpp
51
+++ b/third_party/angle/src/compiler/translator/SymbolTable.cpp
52
@@ -236,7 +236,7 @@
53
         pop();
54
 }
55
 
56
-bool IsGenType(const TType *type)
57
+constexpr bool IsGenType(const TType *type)
58
 {
59
     if (type)
60
     {
61
@@ -248,7 +248,7 @@
62
     return false;
63
 }
64
 
65
-bool IsVecType(const TType *type)
66
+constexpr bool IsVecType(const TType *type)
67
 {
68
     if (type)
69
     {
70
diff --git a/third_party/angle/src/compiler/translator/Types.h b/third_party/angle/src/compiler/translator/Types.h
71
index 04f46f1..a54d447 100644
72
--- a/third_party/angle/src/compiler/translator/Types.h
73
+++ b/third_party/angle/src/compiler/translator/Types.h
74
@@ -142,13 +142,13 @@
75
     {
76
     }
77
 
78
-    TBasicType getBasicType() const { return type; }
79
+    constexpr TBasicType getBasicType() const { return type; }
80
     void setBasicType(TBasicType t);
81
 
82
     TPrecision getPrecision() const { return precision; }
83
     void setPrecision(TPrecision p) { precision = p; }
84
 
85
-    TQualifier getQualifier() const { return qualifier; }
86
+    constexpr TQualifier getQualifier() const { return qualifier; }
87
     void setQualifier(TQualifier q) { qualifier = q; }
88
 
89
     bool isInvariant() const { return invariant; }
90