mozilla-silence-no-return-type.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Sun, 26 Mar 2023 12:50:07 +0200
branchfirefox111
changeset 1185 da29365b0b2c
parent 1184 1c3d3217d679
child 1188 a2caa2a2494f
permissions -rw-r--r--
Firefox 111.0.1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1164
bb219fd0d646 Firefox 93.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
     1
# HG changeset patch
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
     2
# Parent  c9ee7d75ce3f624221f3ba8ef7c821f501c9a028
1164
bb219fd0d646 Firefox 93.0
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
     3
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
     4
diff --git a/Cargo.lock b/Cargo.lock
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
     5
--- a/Cargo.lock
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
     6
+++ b/Cargo.lock
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
     7
@@ -2370,18 +2370,16 @@ name = "glsl-to-cxx"
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
     8
 version = "0.1.0"
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
     9
 dependencies = [
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    10
  "glsl",
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    11
 ]
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    12
 
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    13
 [[package]]
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    14
 name = "glslopt"
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    15
 version = "0.1.9"
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    16
-source = "registry+https://github.com/rust-lang/crates.io-index"
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    17
-checksum = "74a3f5c04450dfdadb4b08f6e5ee6f5110f674de1acbd6199bfec68392a8cbaf"
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    18
 dependencies = [
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    19
  "cc",
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
 ]
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    21
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    22
 [[package]]
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    23
 name = "gluesmith"
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    24
 version = "0.1.0"
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    25
 dependencies = [
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    26
diff --git a/Cargo.toml b/Cargo.toml
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    27
--- a/Cargo.toml
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    28
+++ b/Cargo.toml
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
    29
@@ -158,16 +158,17 @@ chardetng_c = { git = "https://github.co
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    30
 coremidi = { git = "https://github.com/chris-zen/coremidi.git", rev="fc68464b5445caf111e41f643a2e69ccce0b4f83" }
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
    31
 firefox-on-glean = { path = "toolkit/components/glean/api" }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    32
 libudev-sys = { path = "dom/webauthn/libudev-sys" }
1179
c19c9e7820ef Firefox 105.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1178
diff changeset
    33
 packed_simd = { package = "packed_simd_2", git = "https://github.com/hsivonen/packed_simd", rev="412f9a0aa556611de021bde89dee8fefe6e0fbbd" }
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1183
diff changeset
    34
 midir = { git = "https://github.com/mozilla/midir.git", rev = "519e651241e867af3391db08f9ae6400bc023e18" }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1183
diff changeset
    35
 minidump-writer = { git = "https://github.com/rust-minidump/minidump-writer.git", rev = "7d76616d27b9dc87fe3a94639b8b4f947d52a6aa" }
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1183
diff changeset
    36
 # warp 0.3.3 + https://github.com/seanmonstar/warp/pull/1007
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1183
diff changeset
    37
 warp = { git = "https://github.com/glandium/warp", rev = "4af45fae95bc98b0eba1ef0db17e1dac471bb23d" }
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
    38
+glslopt = { path = "third_party/rust/glslopt/" }
1174
90e3d0cf8567 Firefox 101.x release
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1172
diff changeset
    39
 
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
    40
 cssparser = { git = "https://github.com/servo/rust-cssparser", rev = "d3670a89bae26ba3a8db4758eb7976616113987d" }
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
    41
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    42
 # application-services overrides to make updating them all simpler.
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
    43
 interrupt-support = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" }
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
    44
 sql-support = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" }
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
    45
 sync15 = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" }
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
    46
 tabs = { git = "https://github.com/bendk/application-services", rev = "ecb35df5fc40357c49922f90e86bf4147fa52953" }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    47
diff --git a/gfx/skia/skia/include/codec/SkEncodedOrigin.h b/gfx/skia/skia/include/codec/SkEncodedOrigin.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    48
--- a/gfx/skia/skia/include/codec/SkEncodedOrigin.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    49
+++ b/gfx/skia/skia/include/codec/SkEncodedOrigin.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    50
@@ -36,12 +36,13 @@ static inline SkMatrix SkEncodedOriginTo
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    51
         case kBottomRight_SkEncodedOrigin: return SkMatrix::MakeAll(-1,  0, w,  0, -1, h, 0, 0, 1);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    52
         case  kBottomLeft_SkEncodedOrigin: return SkMatrix::MakeAll( 1,  0, 0,  0, -1, h, 0, 0, 1);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    53
         case     kLeftTop_SkEncodedOrigin: return SkMatrix::MakeAll( 0,  1, 0,  1,  0, 0, 0, 0, 1);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    54
         case    kRightTop_SkEncodedOrigin: return SkMatrix::MakeAll( 0, -1, h,  1,  0, 0, 0, 0, 1);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    55
         case kRightBottom_SkEncodedOrigin: return SkMatrix::MakeAll( 0, -1, h, -1,  0, w, 0, 0, 1);
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    56
         case  kLeftBottom_SkEncodedOrigin: return SkMatrix::MakeAll( 0,  1, 0, -1,  0, w, 0, 0, 1);
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    57
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    58
     SK_ABORT("Unexpected origin");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    59
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    60
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    61
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    62
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    63
 #endif // SkEncodedOrigin_DEFINED
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    64
diff --git a/gfx/skia/skia/include/private/GrTypesPriv.h b/gfx/skia/skia/include/private/GrTypesPriv.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    65
--- a/gfx/skia/skia/include/private/GrTypesPriv.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    66
+++ b/gfx/skia/skia/include/private/GrTypesPriv.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    67
@@ -535,32 +535,34 @@ static inline GrSLType GrSLCombinedSampl
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    68
             return kTexture2DSampler_GrSLType;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    69
         case GrTextureType::kRectangle:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    70
             return kTexture2DRectSampler_GrSLType;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    71
         case GrTextureType::kExternal:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    72
             return kTextureExternalSampler_GrSLType;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    73
         default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    74
             SK_ABORT("Unexpected texture type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    75
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    76
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    77
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    78
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    79
 /** Rectangle and external textures only support the clamp wrap mode and do not support
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    80
  *  MIP maps.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    81
  */
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    82
 static inline bool GrTextureTypeHasRestrictedSampling(GrTextureType type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    83
     switch (type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    84
         case GrTextureType::k2D:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    85
             return false;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    86
         case GrTextureType::kRectangle:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    87
             return true;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    88
         case GrTextureType::kExternal:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    89
             return true;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    90
         default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    91
             SK_ABORT("Unexpected texture type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    92
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    93
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    94
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    95
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    96
 static constexpr bool GrSLTypeIsCombinedSamplerType(GrSLType type) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    97
     switch (type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    98
         case kTexture2DSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
    99
         case kTextureExternalSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   100
         case kTexture2DRectSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   101
             return true;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   102
@@ -853,16 +855,17 @@ static inline size_t GrCompressedFormatD
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   103
     switch (compressionType) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   104
         case SkImage::kETC1_CompressionType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   105
             SkASSERT((width & 3) == 0);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   106
             SkASSERT((height & 3) == 0);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   107
             return (width >> 2) * (height >> 2) * 8;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   108
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   109
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   110
     SK_ABORT("Invalid pixel config");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   111
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   112
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   113
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   114
 /**
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   115
  * Like SkColorType this describes a layout of pixel data in CPU memory. It specifies the channels,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   116
  * their type, and width. This exists so that the GPU backend can have private types that have no
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   117
  * analog in the public facing SkColorType enum and omit types not implemented in the GPU backend.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   118
  * It does not refer to a texture format and the mapping to texture formats may be many-to-many.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   119
  * It does not specify the sRGB encoding of the stored values. The components are listed in order of
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   120
diff --git a/gfx/skia/skia/src/core/SkGeometry.h b/gfx/skia/skia/src/core/SkGeometry.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   121
--- a/gfx/skia/skia/src/core/SkGeometry.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   122
+++ b/gfx/skia/skia/src/core/SkGeometry.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   123
@@ -177,28 +177,30 @@ static inline bool SkCubicIsDegenerate(S
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   124
         case SkCubicType::kLocalCusp:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   125
         case SkCubicType::kCuspAtInfinity:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   126
             return false;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   127
         case SkCubicType::kQuadratic:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   128
         case SkCubicType::kLineOrPoint:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   129
             return true;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   130
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   131
     SK_ABORT("Invalid SkCubicType");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   132
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   133
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   134
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   135
 static inline const char* SkCubicTypeName(SkCubicType type) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   136
     switch (type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   137
         case SkCubicType::kSerpentine: return "kSerpentine";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   138
         case SkCubicType::kLoop: return "kLoop";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   139
         case SkCubicType::kLocalCusp: return "kLocalCusp";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   140
         case SkCubicType::kCuspAtInfinity: return "kCuspAtInfinity";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   141
         case SkCubicType::kQuadratic: return "kQuadratic";
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   142
         case SkCubicType::kLineOrPoint: return "kLineOrPoint";
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   143
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   144
     SK_ABORT("Invalid SkCubicType");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   145
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   146
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   147
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   148
 /** Returns the cubic classification.
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   149
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   150
     t[],s[] are set to the two homogeneous parameter values at which points the lines L & M
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   151
     intersect with K, sorted from smallest to largest and oriented so positive values of the
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   152
     implicit are on the "left" side. For a serpentine curve they are the inflection points. For a
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   153
     loop they are the double point. For a local cusp, they are both equal and denote the cusp point.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   154
diff --git a/gfx/skia/skia/src/core/SkTextBlob.cpp b/gfx/skia/skia/src/core/SkTextBlob.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   155
--- a/gfx/skia/skia/src/core/SkTextBlob.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   156
+++ b/gfx/skia/skia/src/core/SkTextBlob.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   157
@@ -196,16 +196,17 @@ unsigned SkTextBlob::ScalarsPerGlyph(Gly
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   158
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   159
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   160
 void SkTextBlob::operator delete(void* p) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   161
     sk_free(p);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   162
 }
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   163
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   164
 void* SkTextBlob::operator new(size_t) {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   165
     SK_ABORT("All blobs are created by placement new.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   166
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   167
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   168
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   169
 void* SkTextBlob::operator new(size_t, void* p) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   170
     return p;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   171
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   172
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   173
 SkTextBlobRunIterator::SkTextBlobRunIterator(const SkTextBlob* blob)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   174
     : fCurrentRun(SkTextBlob::RunRecord::First(blob)) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   175
diff --git a/gfx/skia/skia/src/core/SkTypeface_remote.cpp b/gfx/skia/skia/src/core/SkTypeface_remote.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   176
--- a/gfx/skia/skia/src/core/SkTypeface_remote.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   177
+++ b/gfx/skia/skia/src/core/SkTypeface_remote.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   178
@@ -24,16 +24,17 @@ void SkScalerContextProxy::initCache(SkS
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   179
     SkASSERT(cache != nullptr);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   180
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   181
     fCache = cache;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   182
     fStrikeCache = strikeCache;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   183
 }
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   184
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   185
 unsigned SkScalerContextProxy::generateGlyphCount()  {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   186
     SK_ABORT("Should never be called.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   187
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   188
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   189
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   190
 bool SkScalerContextProxy::generateAdvance(SkGlyph* glyph) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   191
     return false;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   192
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   193
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   194
 void SkScalerContextProxy::generateMetrics(SkGlyph* glyph) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   195
     TRACE_EVENT1("skia", "generateMetrics", "rec", TRACE_STR_COPY(this->getRec().dump().c_str()));
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   196
diff --git a/gfx/skia/skia/src/core/SkTypeface_remote.h b/gfx/skia/skia/src/core/SkTypeface_remote.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   197
--- a/gfx/skia/skia/src/core/SkTypeface_remote.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   198
+++ b/gfx/skia/skia/src/core/SkTypeface_remote.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   199
@@ -58,46 +58,54 @@ public:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   200
             , fGlyphCount{glyphCount}
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   201
             , fIsLogging{isLogging}
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   202
             , fDiscardableManager{std::move(manager)} {}
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   203
     SkFontID remoteTypefaceID() const {return fFontId;}
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   204
     int glyphCount() const {return fGlyphCount;}
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   205
     bool isLogging() const {return fIsLogging;}
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   206
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   207
 protected:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   208
-    int onGetUPEM() const override { SK_ABORT("Should never be called."); }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   209
+    int onGetUPEM() const override { SK_ABORT("Should never be called."); SkUNREACHABLE; }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   210
     std::unique_ptr<SkStreamAsset> onOpenStream(int* ttcIndex) const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   211
         SK_ABORT("Should never be called.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   212
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   213
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   214
     std::unique_ptr<SkFontData> onMakeFontData() const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   215
         SK_ABORT("Should never be called.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   216
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   217
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   218
     sk_sp<SkTypeface> onMakeClone(const SkFontArguments& args) const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   219
         SK_ABORT("Should never be called.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   220
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   221
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   222
     int onGetVariationDesignPosition(SkFontArguments::VariationPosition::Coordinate coordinates[],
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   223
                                      int coordinateCount) const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   224
         SK_ABORT("Should never be called.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   225
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   226
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   227
     int onGetVariationDesignParameters(SkFontParameters::Variation::Axis parameters[],
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   228
                                        int parameterCount) const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   229
         SK_ABORT("Should never be called.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   230
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   231
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   232
     void onGetFamilyName(SkString* familyName) const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   233
         // Used by SkStrikeCache::DumpMemoryStatistics.
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   234
         *familyName = "";
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   235
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   236
     SkTypeface::LocalizedStrings* onCreateFamilyNameIterator() const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   237
         SK_ABORT("Should never be called.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   238
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   239
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   240
     int onGetTableTags(SkFontTableTag tags[]) const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   241
         SK_ABORT("Should never be called.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   242
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   243
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   244
     size_t onGetTableData(SkFontTableTag, size_t offset, size_t length, void* data) const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   245
         SK_ABORT("Should never be called.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   246
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   247
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   248
     SkScalerContext* onCreateScalerContext(const SkScalerContextEffects& effects,
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   249
                                            const SkDescriptor* desc) const override {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   250
         return new SkScalerContextProxy(sk_ref_sp(const_cast<SkTypefaceProxy*>(this)), effects,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   251
                                         desc, fDiscardableManager);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   252
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   253
     void onFilterRec(SkScalerContextRec* rec) const override {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   254
         // The rec filtering is already applied by the server when generating
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   255
@@ -111,26 +119,28 @@ protected:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   256
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   257
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   258
     void getPostScriptGlyphNames(SkString*) const override {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   259
         SK_ABORT("Should never be called.");
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   260
     }
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   261
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   262
     std::unique_ptr<SkAdvancedTypefaceMetrics> onGetAdvancedMetrics() const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   263
         SK_ABORT("Should never be called.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   264
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   265
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   266
     void onCharsToGlyphs(const SkUnichar* chars, int count, SkGlyphID glyphs[]) const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   267
         SK_ABORT("Should never be called.");
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   268
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   269
     int onCountGlyphs() const override {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   270
         return this->glyphCount();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   271
     }
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   272
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   273
     void* onGetCTFontRef() const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   274
         SK_ABORT("Should never be called.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   275
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   276
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   277
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   278
 private:
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   279
     const SkFontID                                  fFontId;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   280
     const int                                       fGlyphCount;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   281
     const bool                                      fIsLogging;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   282
     sk_sp<SkStrikeClient::DiscardableHandleManager> fDiscardableManager;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   283
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   284
diff --git a/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp b/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   285
--- a/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   286
+++ b/gfx/skia/skia/src/effects/imagefilters/SkBlurImageFilter.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   287
@@ -139,16 +139,17 @@ static GrTextureDomain::Mode to_texture_
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   288
         case SkTileMode::kDecal:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   289
             return GrTextureDomain::kDecal_Mode;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   290
         case SkTileMode::kMirror:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   291
             // TODO (michaelludwig) - Support mirror mode, treat as repeat for now
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   292
         case SkTileMode::kRepeat:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   293
             return GrTextureDomain::kRepeat_Mode;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   294
         default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   295
             SK_ABORT("Unsupported tile mode.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   296
+	    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   297
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   298
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   299
 #endif
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   300
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   301
 // This is defined by the SVG spec:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   302
 // https://drafts.fxtf.org/filter-effects/#feGaussianBlurElement
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   303
 static int calculate_window(double sigma) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   304
     // NB 136 is the largest sigma that will not cause a buffer full of 255 mask values to overflow
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   305
diff --git a/gfx/skia/skia/src/effects/imagefilters/SkLightingImageFilter.cpp b/gfx/skia/skia/src/effects/imagefilters/SkLightingImageFilter.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   306
--- a/gfx/skia/skia/src/effects/imagefilters/SkLightingImageFilter.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   307
+++ b/gfx/skia/skia/src/effects/imagefilters/SkLightingImageFilter.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   308
@@ -1696,16 +1696,17 @@ static SkImageFilterLight* create_random
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   309
             return new SkPointLight(random_point3(random), random->nextU());
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   310
         }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   311
         case 2: {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   312
             return new SkSpotLight(random_point3(random), random_point3(random),
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   313
                                    random->nextUScalar1(), random->nextUScalar1(), random->nextU());
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   314
         }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   315
         default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   316
             SK_ABORT("Unexpected value.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   317
+	    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   318
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   319
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   320
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   321
 std::unique_ptr<GrFragmentProcessor> GrDiffuseLightingEffect::TestCreate(GrProcessorTestData* d) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   322
     int texIdx = d->fRandom->nextBool() ? GrProcessorUnitTest::kSkiaPMTextureIdx
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   323
                                         : GrProcessorUnitTest::kAlphaTextureIdx;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   324
     sk_sp<GrTextureProxy> proxy = d->textureProxy(texIdx);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   325
     SkScalar surfaceScale = d->fRandom->nextSScalar1();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   326
diff --git a/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp b/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   327
--- a/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   328
+++ b/gfx/skia/skia/src/fonts/SkFontMgr_indirect.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   329
@@ -64,16 +64,17 @@ int SkFontMgr_Indirect::onCountFamilies(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   330
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   331
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   332
 void SkFontMgr_Indirect::onGetFamilyName(int index, SkString* familyName) const {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   333
     SK_ABORT("Not implemented");
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   334
 }
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   335
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   336
 SkFontStyleSet* SkFontMgr_Indirect::onCreateStyleSet(int index) const {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   337
     SK_ABORT("Not implemented");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   338
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   339
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   340
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   341
 SkFontStyleSet* SkFontMgr_Indirect::onMatchFamily(const char familyName[]) const {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   342
     return new SkStyleSet_Indirect(this, -1, fProxy->matchName(familyName));
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   343
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   344
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   345
 SkTypeface* SkFontMgr_Indirect::createTypefaceFromFontId(const SkFontIdentity& id) const {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   346
     if (id.fDataId == SkFontIdentity::kInvalidDataId) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   347
diff --git a/gfx/skia/skia/src/gpu/GrDataUtils.cpp b/gfx/skia/skia/src/gpu/GrDataUtils.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   348
--- a/gfx/skia/skia/src/gpu/GrDataUtils.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   349
+++ b/gfx/skia/skia/src/gpu/GrDataUtils.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   350
@@ -123,25 +123,27 @@ static int num_ETC1_blocks(int w, int h)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   351
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   352
 size_t GrCompressedDataSize(SkImage::CompressionType type, int width, int height) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   353
     switch (type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   354
         case SkImage::kETC1_CompressionType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   355
             int numBlocks = num_ETC1_blocks(width, height);
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   356
             return numBlocks * sizeof(ETC1Block);
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   357
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   358
     SK_ABORT("Unexpected compression type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   359
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   360
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   361
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   362
 size_t GrCompressedRowBytes(SkImage::CompressionType type, int width) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   363
     switch (type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   364
         case SkImage::kETC1_CompressionType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   365
             int numBlocksWidth = num_ETC1_blocks_w(width);
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   366
             return numBlocksWidth * sizeof(ETC1Block);
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   367
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   368
     SK_ABORT("Unexpected compression type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   369
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   370
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   371
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   372
 // Fill in 'dest' with ETC1 blocks derived from 'colorf'
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   373
 static void fillin_ETC1_with_color(int width, int height, const SkColor4f& colorf, void* dest) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   374
     SkColor color = colorf.toSkColor();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   375
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   376
     ETC1Block block;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   377
     create_etc1_block(color, &block);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   378
diff --git a/gfx/skia/skia/src/gpu/GrFragmentProcessor.h b/gfx/skia/skia/src/gpu/GrFragmentProcessor.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   379
--- a/gfx/skia/skia/src/gpu/GrFragmentProcessor.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   380
+++ b/gfx/skia/skia/src/gpu/GrFragmentProcessor.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   381
@@ -370,16 +370,17 @@ protected:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   382
                                                    const Args&... samps) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   383
         return (0 == i) ? samp0 : IthTextureSampler(i - 1, samps...);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   384
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   385
     inline static const TextureSampler& IthTextureSampler(int i);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   386
 
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   387
 private:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   388
     virtual SkPMColor4f constantOutputForConstantInput(const SkPMColor4f& /* inputColor */) const {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   389
         SK_ABORT("Subclass must override this if advertising this optimization.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   390
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   391
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   392
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   393
     /** Returns a new instance of the appropriate *GL* implementation class
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   394
         for the given GrFragmentProcessor; caller is responsible for deleting
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   395
         the object. */
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   396
     virtual GrGLSLFragmentProcessor* onCreateGLSLInstance() const = 0;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   397
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   398
     /** Implemented using GLFragmentProcessor::GenKey as described in this class's comment. */
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   399
diff --git a/gfx/skia/skia/src/gpu/GrPathRendering.cpp b/gfx/skia/skia/src/gpu/GrPathRendering.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   400
--- a/gfx/skia/skia/src/gpu/GrPathRendering.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   401
+++ b/gfx/skia/skia/src/gpu/GrPathRendering.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   402
@@ -14,16 +14,17 @@
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   403
 #include "src/gpu/GrPathRendering.h"
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   404
 #include "src/gpu/GrProgramInfo.h"
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   405
 #include "src/gpu/GrRenderTarget.h"
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   406
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   407
 const GrUserStencilSettings& GrPathRendering::GetStencilPassSettings(FillType fill) {
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   408
     switch (fill) {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   409
         default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   410
             SK_ABORT("Unexpected path fill.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   411
+	    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   412
         case GrPathRendering::kWinding_FillType: {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   413
             constexpr static GrUserStencilSettings kWindingStencilPass(
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   414
                 GrUserStencilSettings::StaticInit<
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   415
                     0xffff,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   416
                     GrUserStencilTest::kAlwaysIfInClip,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   417
                     0xffff,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   418
                     GrUserStencilOp::kIncWrap,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   419
                     GrUserStencilOp::kIncWrap,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   420
diff --git a/gfx/skia/skia/src/gpu/GrPathRendering.h b/gfx/skia/skia/src/gpu/GrPathRendering.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   421
--- a/gfx/skia/skia/src/gpu/GrPathRendering.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   422
+++ b/gfx/skia/skia/src/gpu/GrPathRendering.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   423
@@ -58,16 +58,17 @@ public:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   424
                 return 1;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   425
             case kTranslate_PathTransformType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   426
                 return 2;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   427
             case kAffine_PathTransformType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   428
                 return 6;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   429
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   430
             default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   431
                 SK_ABORT("Unknown path transform type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   432
+		SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   433
         }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   434
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   435
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   436
     // No native support for inverse at this time
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   437
     enum FillType {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   438
         /** Specifies that "inside" is computed by a non-zero sum of signed
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   439
             edge crossings
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   440
         */
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   441
diff --git a/gfx/skia/skia/src/gpu/GrProcessorUnitTest.cpp b/gfx/skia/skia/src/gpu/GrProcessorUnitTest.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   442
--- a/gfx/skia/skia/src/gpu/GrProcessorUnitTest.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   443
+++ b/gfx/skia/skia/src/gpu/GrProcessorUnitTest.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   444
@@ -15,11 +15,12 @@ std::unique_ptr<GrFragmentProcessor> GrP
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   445
     std::unique_ptr<GrFragmentProcessor> fp;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   446
     do {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   447
         fp = GrFragmentProcessorTestFactory::Make(data);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   448
         SkASSERT(fp);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   449
     } while (fp->numChildProcessors() != 0);
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   450
     return fp;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   451
 #else
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   452
     SK_ABORT("Should not be called if !SK_ALLOW_STATIC_GLOBAL_INITIALIZERS");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   453
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   454
 #endif
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   455
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   456
 #endif
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   457
diff --git a/gfx/skia/skia/src/gpu/GrReducedClip.cpp b/gfx/skia/skia/src/gpu/GrReducedClip.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   458
--- a/gfx/skia/skia/src/gpu/GrReducedClip.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   459
+++ b/gfx/skia/skia/src/gpu/GrReducedClip.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   460
@@ -520,16 +520,17 @@ GrReducedClip::ClipResult GrReducedClip:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   461
                                        GrAA(element->isAA()));
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   462
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   463
         case Element::DeviceSpaceType::kPath:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   464
             return this->addAnalyticFP(element->getDeviceSpacePath(),
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   465
                                        Invert(element->isInverseFilled()), GrAA(element->isAA()));
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   466
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   467
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   468
     SK_ABORT("Unexpected DeviceSpaceType");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   469
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   470
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   471
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   472
 GrReducedClip::ClipResult GrReducedClip::clipOutsideElement(const Element* element) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   473
     switch (element->getDeviceSpaceType()) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   474
         case Element::DeviceSpaceType::kEmpty:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   475
             return ClipResult::kMadeEmpty;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   476
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   477
         case Element::DeviceSpaceType::kRect:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   478
@@ -586,16 +587,17 @@ GrReducedClip::ClipResult GrReducedClip:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   479
         }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   480
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   481
         case Element::DeviceSpaceType::kPath:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   482
             return this->addAnalyticFP(element->getDeviceSpacePath(),
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   483
                                        Invert(!element->isInverseFilled()), GrAA(element->isAA()));
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   484
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   485
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   486
     SK_ABORT("Unexpected DeviceSpaceType");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   487
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   488
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   489
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   490
 inline void GrReducedClip::addWindowRectangle(const SkRect& elementInteriorRect, bool elementIsAA) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   491
     SkIRect window;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   492
     if (!elementIsAA) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   493
         elementInteriorRect.round(&window);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   494
     } else {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   495
         elementInteriorRect.roundIn(&window);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   496
diff --git a/gfx/skia/skia/src/gpu/GrResourceCache.cpp b/gfx/skia/skia/src/gpu/GrResourceCache.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   497
--- a/gfx/skia/skia/src/gpu/GrResourceCache.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   498
+++ b/gfx/skia/skia/src/gpu/GrResourceCache.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   499
@@ -35,27 +35,29 @@ DECLARE_SKMESSAGEBUS_MESSAGE(GrTextureFr
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   500
 //////////////////////////////////////////////////////////////////////////////
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   501
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   502
 GrScratchKey::ResourceType GrScratchKey::GenerateResourceType() {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   503
     static std::atomic<int32_t> nextType{INHERITED::kInvalidDomain + 1};
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   504
 
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   505
     int32_t type = nextType++;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   506
     if (type > SkTo<int32_t>(UINT16_MAX)) {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   507
         SK_ABORT("Too many Resource Types");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   508
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   509
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   510
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   511
     return static_cast<ResourceType>(type);
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   512
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   513
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   514
 GrUniqueKey::Domain GrUniqueKey::GenerateDomain() {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   515
     static std::atomic<int32_t> nextDomain{INHERITED::kInvalidDomain + 1};
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   516
 
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   517
     int32_t domain = nextDomain++;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   518
     if (domain > SkTo<int32_t>(UINT16_MAX)) {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   519
         SK_ABORT("Too many GrUniqueKey Domains");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   520
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   521
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   522
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   523
     return static_cast<Domain>(domain);
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   524
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   525
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   526
 uint32_t GrResourceKeyHash(const uint32_t* data, size_t size) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   527
     return SkOpts::hash(data, size);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   528
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   529
diff --git a/gfx/skia/skia/src/gpu/GrShaderVar.cpp b/gfx/skia/skia/src/gpu/GrShaderVar.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   530
--- a/gfx/skia/skia/src/gpu/GrShaderVar.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   531
+++ b/gfx/skia/skia/src/gpu/GrShaderVar.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   532
@@ -13,30 +13,32 @@ static const char* type_modifier_string(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   533
     switch (t) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   534
         case GrShaderVar::kNone_TypeModifier: return "";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   535
         case GrShaderVar::kIn_TypeModifier: return "in";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   536
         case GrShaderVar::kInOut_TypeModifier: return "inout";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   537
         case GrShaderVar::kOut_TypeModifier: return "out";
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   538
         case GrShaderVar::kUniform_TypeModifier: return "uniform";
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   539
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   540
     SK_ABORT("Unknown shader variable type modifier.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   541
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   542
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   543
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   544
 void GrShaderVar::setIOType(GrIOType ioType) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   545
     switch (ioType) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   546
         case kRW_GrIOType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   547
             return;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   548
         case kRead_GrIOType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   549
             this->addModifier("readonly");
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   550
             return;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   551
         case kWrite_GrIOType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   552
             this->addModifier("writeonly");
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   553
             return;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   554
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   555
     SK_ABORT("Unknown io type.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   556
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   557
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   558
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   559
 void GrShaderVar::appendDecl(const GrShaderCaps* shaderCaps, SkString* out) const {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   560
     SkString layout = fLayoutQualifier;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   561
     if (!fLayoutQualifier.isEmpty()) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   562
         out->appendf("layout(%s) ", fLayoutQualifier.c_str());
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   563
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   564
     out->append(fExtraModifiers);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   565
diff --git a/gfx/skia/skia/src/gpu/SkGpuDevice.cpp b/gfx/skia/skia/src/gpu/SkGpuDevice.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   566
--- a/gfx/skia/skia/src/gpu/SkGpuDevice.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   567
+++ b/gfx/skia/skia/src/gpu/SkGpuDevice.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   568
@@ -278,16 +278,17 @@ static inline GrPrimitiveType point_mode
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   569
         case SkCanvas::kPoints_PointMode:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   570
             return GrPrimitiveType::kPoints;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   571
         case SkCanvas::kLines_PointMode:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   572
             return GrPrimitiveType::kLines;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   573
         case SkCanvas::kPolygon_PointMode:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   574
             return GrPrimitiveType::kLineStrip;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   575
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   576
     SK_ABORT("Unexpected mode");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   577
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   578
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   579
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   580
 void SkGpuDevice::drawPoints(SkCanvas::PointMode mode,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   581
                              size_t count, const SkPoint pts[], const SkPaint& paint) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   582
     ASSERT_SINGLE_OWNER
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   583
     GR_CREATE_TRACE_MARKER_CONTEXT("SkGpuDevice", "drawPoints", fContext.get());
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   584
     SkScalar width = paint.getStrokeWidth();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   585
     if (width < 0) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   586
diff --git a/gfx/skia/skia/src/gpu/SkGr.h b/gfx/skia/skia/src/gpu/SkGr.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   587
--- a/gfx/skia/skia/src/gpu/SkGr.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   588
+++ b/gfx/skia/skia/src/gpu/SkGr.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   589
@@ -154,16 +154,17 @@ static inline GrPrimitiveType SkVertexMo
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   590
         case SkVertices::kTriangles_VertexMode:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   591
             return GrPrimitiveType::kTriangles;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   592
         case SkVertices::kTriangleStrip_VertexMode:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   593
             return GrPrimitiveType::kTriangleStrip;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   594
         case SkVertices::kTriangleFan_VertexMode:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   595
             break;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   596
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   597
     SK_ABORT("Invalid mode");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   598
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   599
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   600
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   601
 //////////////////////////////////////////////////////////////////////////////
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   602
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   603
 GR_STATIC_ASSERT((int)kZero_GrBlendCoeff == (int)SkBlendModeCoeff::kZero);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   604
 GR_STATIC_ASSERT((int)kOne_GrBlendCoeff == (int)SkBlendModeCoeff::kOne);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   605
 GR_STATIC_ASSERT((int)kSC_GrBlendCoeff == (int)SkBlendModeCoeff::kSC);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   606
 GR_STATIC_ASSERT((int)kISC_GrBlendCoeff == (int)SkBlendModeCoeff::kISC);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   607
diff --git a/gfx/skia/skia/src/gpu/ccpr/GrCCCoverageProcessor.h b/gfx/skia/skia/src/gpu/ccpr/GrCCCoverageProcessor.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   608
--- a/gfx/skia/skia/src/gpu/ccpr/GrCCCoverageProcessor.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   609
+++ b/gfx/skia/skia/src/gpu/ccpr/GrCCCoverageProcessor.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   610
@@ -235,16 +235,17 @@ inline const char* GrCCCoverageProcessor
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   611
     switch (type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   612
         case PrimitiveType::kTriangles: return "kTriangles";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   613
         case PrimitiveType::kWeightedTriangles: return "kWeightedTriangles";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   614
         case PrimitiveType::kQuadratics: return "kQuadratics";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   615
         case PrimitiveType::kCubics: return "kCubics";
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   616
         case PrimitiveType::kConics: return "kConics";
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   617
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   618
     SK_ABORT("Invalid PrimitiveType");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   619
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   620
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   621
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   622
 inline void GrCCCoverageProcessor::TriPointInstance::set(
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   623
         const SkPoint p[3], const Sk2f& translate, Ordering ordering) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   624
     this->set(p[0], p[1], p[2], translate, ordering);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   625
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   626
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   627
 inline void GrCCCoverageProcessor::TriPointInstance::set(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   628
diff --git a/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp b/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   629
--- a/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   630
+++ b/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   631
@@ -55,16 +55,17 @@ static GrCCStrokeGeometry::Verb join_ver
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   632
         case SkPaint::kBevel_Join:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   633
             return Verb::kBevelJoin;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   634
         case SkPaint::kMiter_Join:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   635
             return Verb::kMiterJoin;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   636
         case SkPaint::kRound_Join:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   637
             return Verb::kRoundJoin;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   638
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   639
     SK_ABORT("Invalid SkPaint::Join.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   640
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   641
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   642
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   643
 void GrCCStrokeGeometry::beginPath(const SkStrokeRec& stroke, float strokeDevWidth,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   644
                                    InstanceTallies* tallies) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   645
     SkASSERT(!fInsideContour);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   646
     // Client should have already converted the stroke to device space (i.e. width=1 for hairline).
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   647
     SkASSERT(strokeDevWidth > 0);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   648
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   649
diff --git a/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.h b/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   650
--- a/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   651
+++ b/gfx/skia/skia/src/gpu/ccpr/GrCCStrokeGeometry.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   652
@@ -170,10 +170,11 @@ inline bool GrCCStrokeGeometry::IsIntern
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   653
         case Verb::kMiterJoin:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   654
         case Verb::kRoundJoin:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   655
         case Verb::kSquareCap:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   656
         case Verb::kRoundCap:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   657
         case Verb::kEndContour:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   658
             return false;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   659
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   660
     SK_ABORT("Invalid GrCCStrokeGeometry::Verb.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   661
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   662
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   663
 #endif
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   664
diff --git a/gfx/skia/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp b/gfx/skia/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   665
--- a/gfx/skia/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   666
+++ b/gfx/skia/skia/src/gpu/ccpr/GrCoverageCountingPathRenderer.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   667
@@ -159,16 +159,17 @@ GrPathRenderer::CanDrawPath GrCoverageCo
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   668
             return CanDrawPath::kYes;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   669
         }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   670
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   671
         case SkStrokeRec::kStrokeAndFill_Style:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   672
             return CanDrawPath::kNo;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   673
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   674
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   675
     SK_ABORT("Invalid stroke style.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   676
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   677
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   678
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   679
 bool GrCoverageCountingPathRenderer::onDrawPath(const DrawPathArgs& args) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   680
     SkASSERT(!fFlushing);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   681
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   682
     SkIRect clipIBounds;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   683
     GrRenderTargetContext* rtc = args.fRenderTargetContext;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   684
     args.fClip->getConservativeBounds(rtc->width(), rtc->height(), &clipIBounds, nullptr);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   685
diff --git a/gfx/skia/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp b/gfx/skia/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   686
--- a/gfx/skia/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   687
+++ b/gfx/skia/skia/src/gpu/ccpr/GrVSCoverageProcessor.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   688
@@ -545,9 +545,10 @@ GrGLSLPrimitiveProcessor* GrVSCoveragePr
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   689
         case PrimitiveType::kWeightedTriangles:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   690
             return new Impl(std::move(shader), 3);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   691
         case PrimitiveType::kQuadratics:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   692
         case PrimitiveType::kCubics:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   693
         case PrimitiveType::kConics:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   694
             return new Impl(std::move(shader), 4);
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   695
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   696
     SK_ABORT("Invalid PrimitiveType");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   697
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   698
 }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   699
diff --git a/gfx/skia/skia/src/gpu/dawn/GrDawnOpsRenderPass.cpp b/gfx/skia/skia/src/gpu/dawn/GrDawnOpsRenderPass.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   700
--- a/gfx/skia/skia/src/gpu/dawn/GrDawnOpsRenderPass.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   701
+++ b/gfx/skia/skia/src/gpu/dawn/GrDawnOpsRenderPass.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   702
@@ -34,17 +34,19 @@ static dawn::LoadOp to_dawn_load_op(GrLo
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   703
             // Load should be equivalent to DontCare for desktop; Clear would
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   704
             // probably be better for tilers. If Dawn does add DontCare
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   705
             // as an extension, use it here.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   706
             return dawn::LoadOp::Load;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   707
         case GrLoadOp::kClear:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   708
             return dawn::LoadOp::Clear;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   709
         default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   710
             SK_ABORT("Invalid LoadOp");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   711
+	    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   712
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   713
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   714
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   715
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   716
 GrDawnOpsRenderPass::GrDawnOpsRenderPass(GrDawnGpu* gpu, GrRenderTarget* rt, GrSurfaceOrigin origin,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   717
                                          const LoadAndStoreInfo& colorInfo,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   718
                                          const StencilLoadAndStoreInfo& stencilInfo)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   719
         : INHERITED(rt, origin)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   720
         , fGpu(gpu)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   721
         , fColorInfo(colorInfo) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   722
diff --git a/gfx/skia/skia/src/gpu/dawn/GrDawnUniformHandler.cpp b/gfx/skia/skia/src/gpu/dawn/GrDawnUniformHandler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   723
--- a/gfx/skia/skia/src/gpu/dawn/GrDawnUniformHandler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   724
+++ b/gfx/skia/skia/src/gpu/dawn/GrDawnUniformHandler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   725
@@ -90,16 +90,17 @@ uint32_t grsltype_to_alignment_mask(GrSL
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   726
         case kTexture2DSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   727
         case kTextureExternalSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   728
         case kTexture2DRectSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   729
         case kTexture2D_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   730
         case kSampler_GrSLType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   731
             break;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   732
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   733
     SK_ABORT("Unexpected type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   734
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   735
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   736
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   737
 static inline uint32_t grsltype_to_size(GrSLType type) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   738
     switch(type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   739
         case kByte_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   740
         case kUByte_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   741
             return 1;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   742
         case kByte2_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   743
@@ -168,16 +169,17 @@ static inline uint32_t grsltype_to_size(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   744
         case kTexture2DSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   745
         case kTextureExternalSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   746
         case kTexture2DRectSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   747
         case kTexture2D_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   748
         case kSampler_GrSLType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   749
             break;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   750
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   751
     SK_ABORT("Unexpected type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   752
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   753
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   754
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   755
 uint32_t get_ubo_offset(uint32_t* currentOffset,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   756
                         GrSLType type,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   757
                         int arrayCount) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   758
     uint32_t alignmentMask = grsltype_to_alignment_mask(type);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   759
     // We want to use the std140 layout here, so we must make arrays align to 16 bytes.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   760
     if (arrayCount || type == kFloat2x2_GrSLType) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   761
diff --git a/gfx/skia/skia/src/gpu/dawn/GrDawnVaryingHandler.cpp b/gfx/skia/skia/src/gpu/dawn/GrDawnVaryingHandler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   762
--- a/gfx/skia/skia/src/gpu/dawn/GrDawnVaryingHandler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   763
+++ b/gfx/skia/skia/src/gpu/dawn/GrDawnVaryingHandler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   764
@@ -71,16 +71,17 @@ static inline int grsltype_to_location_s
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   765
         case kUByte_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   766
              return 1;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   767
         case kTexture2D_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   768
              return 0;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   769
         case kSampler_GrSLType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   770
              return 0;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   771
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   772
     SK_ABORT("Unexpected type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   773
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   774
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   775
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   776
 static void finalize_helper(GrDawnVaryingHandler::VarArray& vars) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   777
     int locationIndex = 0;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   778
     for (int i = 0; i < vars.count(); ++i) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   779
         GrShaderVar& var = vars[i];
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   780
         SkString location;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   781
         location.appendf("location = %d", locationIndex);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   782
diff --git a/gfx/skia/skia/src/gpu/effects/GrConstColorProcessor.fp b/gfx/skia/skia/src/gpu/effects/GrConstColorProcessor.fp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   783
--- a/gfx/skia/skia/src/gpu/effects/GrConstColorProcessor.fp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   784
+++ b/gfx/skia/skia/src/gpu/effects/GrConstColorProcessor.fp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   785
@@ -53,16 +53,17 @@ void main() {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   786
             case InputMode::kIgnore:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   787
                 return color;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   788
             case InputMode::kModulateA:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   789
                 return color * input.fA;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   790
             case InputMode::kModulateRGBA:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   791
                 return color * input;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   792
         }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   793
         SK_ABORT("Unexpected mode");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   794
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   795
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   796
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   797
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   798
 @test(d) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   799
     SkPMColor4f color;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   800
     int colorPicker = d->fRandom->nextULessThan(3);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   801
     switch (colorPicker) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   802
         case 0: {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   803
diff --git a/gfx/skia/skia/src/gpu/effects/GrCoverageSetOpXP.cpp b/gfx/skia/skia/src/gpu/effects/GrCoverageSetOpXP.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   804
--- a/gfx/skia/skia/src/gpu/effects/GrCoverageSetOpXP.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   805
+++ b/gfx/skia/skia/src/gpu/effects/GrCoverageSetOpXP.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   806
@@ -199,16 +199,17 @@ const GrXPFactory* GrCoverageSetOpXPFact
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   807
                 static _CONSTEXPR_ const GrCoverageSetOpXPFactory gRevDiffCDXPF(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   808
                         SkRegion::kReverseDifference_Op, false);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   809
                 return &gRevDiffCDXPF;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   810
             }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   811
         }
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   812
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   813
 #undef _CONSTEXPR_
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   814
     SK_ABORT("Unknown region op.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   815
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   816
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   817
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   818
 sk_sp<const GrXferProcessor> GrCoverageSetOpXPFactory::makeXferProcessor(
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   819
         const GrProcessorAnalysisColor&,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   820
         GrProcessorAnalysisCoverage,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   821
         bool hasMixedSamples,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   822
         const GrCaps& caps,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   823
         GrClampType) const {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   824
diff --git a/gfx/skia/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp b/gfx/skia/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   825
--- a/gfx/skia/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   826
+++ b/gfx/skia/skia/src/gpu/effects/GrPorterDuffXferProcessor.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   827
@@ -748,16 +748,17 @@ const GrXPFactory* GrPorterDuffXPFactory
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   828
         case SkBlendMode::kPlus:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   829
             return &gPlusPDXPF;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   830
         case SkBlendMode::kModulate:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   831
             return &gModulatePDXPF;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   832
         case SkBlendMode::kScreen:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   833
             return &gScreenPDXPF;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   834
         default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   835
             SK_ABORT("Unexpected blend mode.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   836
+	    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   837
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   838
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   839
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   840
 sk_sp<const GrXferProcessor> GrPorterDuffXPFactory::makeXferProcessor(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   841
         const GrProcessorAnalysisColor& color, GrProcessorAnalysisCoverage coverage,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   842
         bool hasMixedSamples, const GrCaps& caps, GrClampType clampType) const {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   843
     BlendFormula blendFormula;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   844
     bool isLCD = coverage == GrProcessorAnalysisCoverage::kLCD;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   845
diff --git a/gfx/skia/skia/src/gpu/effects/GrSkSLFP.cpp b/gfx/skia/skia/src/gpu/effects/GrSkSLFP.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   846
--- a/gfx/skia/skia/src/gpu/effects/GrSkSLFP.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   847
+++ b/gfx/skia/skia/src/gpu/effects/GrSkSLFP.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   848
@@ -149,16 +149,17 @@ public:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   849
             return kHalf4x4_GrSLType;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   850
         } else if (type == *fContext.fBool_Type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   851
             return kBool_GrSLType;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   852
         } else if (type == *fContext.fInt_Type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   853
             return kInt_GrSLType;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   854
         }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   855
         printf("%s\n", SkSL::String(type.fName).c_str());
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   856
         SK_ABORT("unsupported uniform type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   857
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   858
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   859
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   860
     void emitCode(EmitArgs& args) override {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   861
         for (const auto& v : fInAndUniformVars) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   862
             if (v->fModifiers.fFlags & SkSL::Modifiers::kUniform_Flag && v->fType !=
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   863
                                                                 *fContext.fFragmentProcessor_Type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   864
                 fUniformHandles.push_back(args.fUniformHandler->addUniform(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   865
                                                                    kFragment_GrShaderFlag,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   866
@@ -563,11 +564,12 @@ std::unique_ptr<GrFragmentProcessor> GrS
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   867
             }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   868
             std::unique_ptr<GrSkSLFP> result = GrSkSLFP::Make(d->context(), overdrawIndex,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   869
                                                               "Overdraw", SKSL_OVERDRAW_SRC,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   870
                                                               &inputs, sizeof(inputs));
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   871
             return std::unique_ptr<GrFragmentProcessor>(result.release());
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   872
         }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   873
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   874
     SK_ABORT("unreachable");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   875
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   876
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   877
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   878
 #endif
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   879
diff --git a/gfx/skia/skia/src/gpu/effects/generated/GrConstColorProcessor.h b/gfx/skia/skia/src/gpu/effects/generated/GrConstColorProcessor.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   880
--- a/gfx/skia/skia/src/gpu/effects/generated/GrConstColorProcessor.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   881
+++ b/gfx/skia/skia/src/gpu/effects/generated/GrConstColorProcessor.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   882
@@ -36,16 +36,17 @@ public:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   883
             case InputMode::kIgnore:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   884
                 return color;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   885
             case InputMode::kModulateA:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   886
                 return color * input.fA;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   887
             case InputMode::kModulateRGBA:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   888
                 return color * input;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   889
         }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   890
         SK_ABORT("Unexpected mode");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   891
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   892
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   893
     static std::unique_ptr<GrFragmentProcessor> Make(SkPMColor4f color, InputMode mode) {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   894
         return std::unique_ptr<GrFragmentProcessor>(new GrConstColorProcessor(color, mode));
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   895
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   896
     GrConstColorProcessor(const GrConstColorProcessor& src);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   897
     std::unique_ptr<GrFragmentProcessor> clone() const override;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   898
     const char* name() const override { return "ConstColorProcessor"; }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   899
     SkPMColor4f color;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   900
diff --git a/gfx/skia/skia/src/gpu/geometry/GrShape.cpp b/gfx/skia/skia/src/gpu/geometry/GrShape.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   901
--- a/gfx/skia/skia/src/gpu/geometry/GrShape.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   902
+++ b/gfx/skia/skia/src/gpu/geometry/GrShape.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   903
@@ -159,16 +159,17 @@ SkRect GrShape::bounds() const {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   904
             return fRRectData.fRRect.getBounds();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   905
         case Type::kArc:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   906
             // Could make this less conservative by looking at angles.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   907
             return fArcData.fOval;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   908
         case Type::kPath:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   909
             return this->path().getBounds();
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   910
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   911
     SK_ABORT("Unknown shape type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   912
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   913
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   914
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   915
 SkRect GrShape::styledBounds() const {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   916
     if (this->isEmpty() && !fStyle.hasNonDashPathEffect()) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   917
         return SkRect::MakeEmpty();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   918
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   919
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   920
     SkRect bounds;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   921
@@ -249,16 +250,17 @@ int GrShape::unstyledKeySize() const {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   922
             if (dataKeySize >= 0) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   923
                 return dataKeySize;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   924
             }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   925
             // The key is the path ID and fill type.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   926
             return 2;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   927
         }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   928
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   929
     SK_ABORT("Should never get here.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   930
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   931
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   932
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   933
 void GrShape::writeUnstyledKey(uint32_t* key) const {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   934
     SkASSERT(this->unstyledKeySize());
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   935
     SkDEBUGCODE(uint32_t* origKey = key;)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   936
     if (fInheritedKey.count()) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   937
         memcpy(key, fInheritedKey.get(), sizeof(uint32_t) * fInheritedKey.count());
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   938
         SkDEBUGCODE(key += fInheritedKey.count();)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   939
diff --git a/gfx/skia/skia/src/gpu/gl/GrGLCaps.cpp b/gfx/skia/skia/src/gpu/gl/GrGLCaps.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   940
--- a/gfx/skia/skia/src/gpu/gl/GrGLCaps.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   941
+++ b/gfx/skia/skia/src/gpu/gl/GrGLCaps.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   942
@@ -4154,16 +4154,17 @@ GrBackendFormat GrGLCaps::getBackendForm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   943
         case SkImage::kETC1_CompressionType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   944
             // if ETC2 is available default to that format
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   945
             if (this->isFormatTexturable(GrGLFormat::kCOMPRESSED_RGB8_ETC2)) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   946
                 return GrBackendFormat::MakeGL(GR_GL_COMPRESSED_RGB8_ETC2, GR_GL_TEXTURE_2D);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   947
             }
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   948
             return GrBackendFormat::MakeGL(GR_GL_COMPRESSED_ETC1_RGB8, GR_GL_TEXTURE_2D);
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   949
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   950
     SK_ABORT("Invalid compression type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   951
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   952
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   953
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   954
 GrSwizzle GrGLCaps::getTextureSwizzle(const GrBackendFormat& format, GrColorType colorType) const {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   955
     const auto& info = this->getFormatInfo(format.asGLFormat());
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   956
     for (int i = 0; i < info.fColorTypeInfoCount; ++i) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   957
         const auto& ctInfo = info.fColorTypeInfos[i];
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   958
         if (ctInfo.fColorType == colorType) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   959
             return ctInfo.fTextureSwizzle;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   960
diff --git a/gfx/skia/skia/src/gpu/gl/GrGLGLSL.cpp b/gfx/skia/skia/src/gpu/gl/GrGLGLSL.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   961
--- a/gfx/skia/skia/src/gpu/gl/GrGLGLSL.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   962
+++ b/gfx/skia/skia/src/gpu/gl/GrGLGLSL.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   963
@@ -63,9 +63,10 @@ bool GrGLGetGLSLGeneration(const GrGLInt
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   964
         if (ver >= GR_GLSL_VER(2,0)) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   965
             *generation = k330_GrGLSLGeneration;  // ES 3.0
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   966
         } else {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   967
             *generation = k110_GrGLSLGeneration;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   968
         }
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   969
         return true;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   970
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   971
     SK_ABORT("Unknown GL Standard");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   972
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   973
 }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   974
diff --git a/gfx/skia/skia/src/gpu/gl/GrGLGpu.cpp b/gfx/skia/skia/src/gpu/gl/GrGLGpu.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   975
--- a/gfx/skia/skia/src/gpu/gl/GrGLGpu.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   976
+++ b/gfx/skia/skia/src/gpu/gl/GrGLGpu.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   977
@@ -191,16 +191,17 @@ static int gl_target_to_binding_index(Gr
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   978
         case GR_GL_TEXTURE_2D:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   979
             return 0;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   980
         case GR_GL_TEXTURE_RECTANGLE:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   981
             return 1;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   982
         case GR_GL_TEXTURE_EXTERNAL:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   983
             return 2;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   984
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   985
     SK_ABORT("Unexpected GL texture target.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   986
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   987
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   988
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
   989
 GrGpuResource::UniqueID GrGLGpu::TextureUnitBindings::boundID(GrGLenum target) const {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   990
     return fTargetBindings[gl_target_to_binding_index(target)].fBoundResourceID;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   991
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   992
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   993
 bool GrGLGpu::TextureUnitBindings::hasBeenModified(GrGLenum target) const {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   994
     return fTargetBindings[gl_target_to_binding_index(target)].fHasBeenModified;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   995
@@ -229,39 +230,42 @@ void GrGLGpu::TextureUnitBindings::inval
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   996
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   997
 static GrGLenum filter_to_gl_mag_filter(GrSamplerState::Filter filter) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   998
     switch (filter) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
   999
         case GrSamplerState::Filter::kNearest: return GR_GL_NEAREST;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1000
         case GrSamplerState::Filter::kBilerp:  return GR_GL_LINEAR;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1001
         case GrSamplerState::Filter::kMipMap:  return GR_GL_LINEAR;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1002
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1003
     SK_ABORT("Unknown filter");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1004
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1005
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1006
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1007
 static GrGLenum filter_to_gl_min_filter(GrSamplerState::Filter filter) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1008
     switch (filter) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1009
         case GrSamplerState::Filter::kNearest: return GR_GL_NEAREST;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1010
         case GrSamplerState::Filter::kBilerp:  return GR_GL_LINEAR;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1011
         case GrSamplerState::Filter::kMipMap:  return GR_GL_LINEAR_MIPMAP_LINEAR;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1012
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1013
     SK_ABORT("Unknown filter");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1014
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1015
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1016
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1017
 static inline GrGLenum wrap_mode_to_gl_wrap(GrSamplerState::WrapMode wrapMode,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1018
                                             const GrCaps& caps) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1019
     switch (wrapMode) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1020
         case GrSamplerState::WrapMode::kClamp:        return GR_GL_CLAMP_TO_EDGE;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1021
         case GrSamplerState::WrapMode::kRepeat:       return GR_GL_REPEAT;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1022
         case GrSamplerState::WrapMode::kMirrorRepeat: return GR_GL_MIRRORED_REPEAT;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1023
         case GrSamplerState::WrapMode::kClampToBorder:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1024
             // May not be supported but should have been caught earlier
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1025
             SkASSERT(caps.clampToBorderSupport());
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1026
             return GR_GL_CLAMP_TO_BORDER;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1027
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1028
     SK_ABORT("Unknown wrap mode");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1029
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1030
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1031
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1032
 ///////////////////////////////////////////////////////////////////////////////
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1033
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1034
 class GrGLGpu::SamplerObjectCache {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1035
 public:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1036
     SamplerObjectCache(GrGLGpu* gpu) : fGpu(gpu) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1037
         fNumTextureUnits = fGpu->glCaps().shaderCaps()->maxFragmentSamplers();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1038
@@ -1102,17 +1106,17 @@ static bool renderbuffer_storage_msaa(co
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1039
             GL_ALLOC_CALL(ctx.interface(),
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1040
                             RenderbufferStorageMultisampleES2EXT(GR_GL_RENDERBUFFER,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1041
                                                                 sampleCount,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1042
                                                                 format,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1043
                                                                 width, height));
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1044
             break;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1045
         case GrGLCaps::kNone_MSFBOType:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1046
             SK_ABORT("Shouldn't be here if we don't support multisampled renderbuffers.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1047
-            break;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1048
+	    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1049
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1050
     return (GR_GL_NO_ERROR == CHECK_ALLOC_ERROR(ctx.interface()));
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1051
 }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1052
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1053
 bool GrGLGpu::createRenderTargetObjects(const GrGLTexture::Desc& desc,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1054
                                         int sampleCount,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1055
                                         GrGLRenderTarget::IDs* rtIDs) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1056
     rtIDs->fMSColorRenderbufferID = 0;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1057
@@ -2270,19 +2274,20 @@ static GrGLenum gr_primitive_type_to_gl_
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1058
         case GrPrimitiveType::kPoints:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1059
             return GR_GL_POINTS;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1060
         case GrPrimitiveType::kLines:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1061
             return GR_GL_LINES;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1062
         case GrPrimitiveType::kLineStrip:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1063
             return GR_GL_LINE_STRIP;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1064
         case GrPrimitiveType::kPath:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1065
             SK_ABORT("non-mesh-based GrPrimitiveType");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1066
-            return 0;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1067
+            SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1068
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1069
     SK_ABORT("invalid GrPrimitiveType");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1070
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1071
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1072
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1073
 void GrGLGpu::sendMeshToGpu(GrPrimitiveType primitiveType, const GrBuffer* vertexBuffer,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1074
                             int vertexCount, int baseVertex) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1075
     const GrGLenum glPrimType = gr_primitive_type_to_gl_mode(primitiveType);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1076
     if (this->glCaps().drawArraysBaseVertexIsBroken()) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1077
         this->setupGeometry(nullptr, vertexBuffer, baseVertex, nullptr, 0, GrPrimitiveRestart::kNo);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1078
         GL_CALL(DrawArrays(glPrimType, 0, vertexCount));
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1079
@@ -4001,17 +4006,18 @@ int GrGLGpu::TextureToCopyProgramIdx(GrT
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1080
     switch (GrSLCombinedSamplerTypeForTextureType(texture->texturePriv().textureType())) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1081
         case kTexture2DSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1082
             return 0;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1083
         case kTexture2DRectSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1084
             return 1;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1085
         case kTextureExternalSampler_GrSLType:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1086
             return 2;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1087
         default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1088
-            SK_ABORT("Unexpected samper type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1089
+            SK_ABORT("Unexpected sampler type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1090
+	    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1091
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1092
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1093
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1094
 #ifdef SK_ENABLE_DUMP_GPU
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1095
 #include "src/utils/SkJSONWriter.h"
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1096
 void GrGLGpu::onDumpJSON(SkJSONWriter* writer) const {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1097
     // We are called by the base class, which has already called beginObject(). We choose to nest
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1098
     // all of our caps information in a named sub-object.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1099
diff --git a/gfx/skia/skia/src/gpu/gl/GrGLPath.cpp b/gfx/skia/skia/src/gpu/gl/GrGLPath.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1100
--- a/gfx/skia/skia/src/gpu/gl/GrGLPath.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1101
+++ b/gfx/skia/skia/src/gpu/gl/GrGLPath.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1102
@@ -192,16 +192,17 @@ inline bool init_path_object_for_general
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1103
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1104
 /*
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1105
  * For now paths only natively support winding and even odd fill types
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1106
  */
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1107
 static GrPathRendering::FillType convert_skpath_filltype(SkPath::FillType fill) {
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1108
     switch (fill) {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1109
         default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1110
             SK_ABORT("Incomplete Switch\n");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1111
+	    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1112
         case SkPath::kWinding_FillType:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1113
         case SkPath::kInverseWinding_FillType:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1114
             return GrPathRendering::kWinding_FillType;
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1115
         case SkPath::kEvenOdd_FillType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1116
         case SkPath::kInverseEvenOdd_FillType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1117
             return GrPathRendering::kEvenOdd_FillType;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1118
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1119
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1120
diff --git a/gfx/skia/skia/src/gpu/gl/GrGLTexture.cpp b/gfx/skia/skia/src/gpu/gl/GrGLTexture.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1121
--- a/gfx/skia/skia/src/gpu/gl/GrGLTexture.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1122
+++ b/gfx/skia/skia/src/gpu/gl/GrGLTexture.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1123
@@ -20,30 +20,33 @@ GrTextureType GrGLTexture::TextureTypeFr
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1124
         case GR_GL_TEXTURE_2D:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1125
             return GrTextureType::k2D;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1126
         case GR_GL_TEXTURE_RECTANGLE:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1127
             return GrTextureType::kRectangle;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1128
         case GR_GL_TEXTURE_EXTERNAL:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1129
             return GrTextureType::kExternal;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1130
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1131
     SK_ABORT("Unexpected texture target");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1132
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1133
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1134
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1135
 static inline GrGLenum target_from_texture_type(GrTextureType type) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1136
     switch (type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1137
         case GrTextureType::k2D:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1138
             return GR_GL_TEXTURE_2D;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1139
         case GrTextureType::kRectangle:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1140
             return GR_GL_TEXTURE_RECTANGLE;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1141
         case GrTextureType::kExternal:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1142
             return GR_GL_TEXTURE_EXTERNAL;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1143
         default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1144
             SK_ABORT("Unexpected texture target");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1145
+	    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1146
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1147
     SK_ABORT("Unexpected texture type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1148
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1149
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1150
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1151
 // Because this class is virtually derived from GrSurface we must explicitly call its constructor.
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1152
 GrGLTexture::GrGLTexture(GrGLGpu* gpu, SkBudgeted budgeted, const Desc& desc,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1153
                          GrMipMapsStatus mipMapsStatus)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1154
         : GrSurface(gpu, desc.fSize, desc.fConfig, GrProtected::kNo)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1155
         , INHERITED(gpu, desc.fSize, desc.fConfig, GrProtected::kNo,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1156
                     TextureTypeFromTarget(desc.fTarget), mipMapsStatus)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1157
diff --git a/gfx/skia/skia/src/gpu/gl/GrGLVertexArray.cpp b/gfx/skia/skia/src/gpu/gl/GrGLVertexArray.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1158
--- a/gfx/skia/skia/src/gpu/gl/GrGLVertexArray.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1159
+++ b/gfx/skia/skia/src/gpu/gl/GrGLVertexArray.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1160
@@ -75,16 +75,17 @@ static AttribLayout attrib_layout(GrVert
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1161
         case kUint_GrVertexAttribType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1162
             return {false, 1, GR_GL_UNSIGNED_INT};
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1163
         case kUShort_norm_GrVertexAttribType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1164
             return {true, 1, GR_GL_UNSIGNED_SHORT};
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1165
         case kUShort4_norm_GrVertexAttribType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1166
             return {true, 4, GR_GL_UNSIGNED_SHORT};
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1167
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1168
     SK_ABORT("Unknown vertex attrib type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1169
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1170
 };
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1171
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1172
 void GrGLAttribArrayState::set(GrGLGpu* gpu,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1173
                                int index,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1174
                                const GrBuffer* vertexBuffer,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1175
                                GrVertexAttribType cpuType,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1176
                                GrSLType gpuType,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1177
                                GrGLsizei stride,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1178
diff --git a/gfx/skia/skia/src/gpu/glsl/GrGLSL.cpp b/gfx/skia/skia/src/gpu/glsl/GrGLSL.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1179
--- a/gfx/skia/skia/src/gpu/glsl/GrGLSL.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1180
+++ b/gfx/skia/skia/src/gpu/glsl/GrGLSL.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1181
@@ -93,9 +93,10 @@ const char* GrGLSLTypeString(GrSLType t)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1182
         case kUByte4_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1183
             return "ubyte4";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1184
         case kTexture2D_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1185
             return "texture2D";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1186
         case kSampler_GrSLType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1187
             return "sampler";
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1188
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1189
     SK_ABORT("Unknown shader var type.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1190
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1191
 }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1192
diff --git a/gfx/skia/skia/src/gpu/glsl/GrGLSLVarying.cpp b/gfx/skia/skia/src/gpu/glsl/GrGLSLVarying.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1193
--- a/gfx/skia/skia/src/gpu/glsl/GrGLSLVarying.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1194
+++ b/gfx/skia/skia/src/gpu/glsl/GrGLSLVarying.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1195
@@ -30,16 +30,17 @@ static bool use_flat_interpolation(GrGLS
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1196
             SkASSERT(!shaderCaps.preferFlatInterpolation() ||
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1197
                      shaderCaps.flatInterpolationSupport());
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1198
             return shaderCaps.preferFlatInterpolation();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1199
         case Interpolation::kMustBeFlat:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1200
             SkASSERT(shaderCaps.flatInterpolationSupport());
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1201
             return true;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1202
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1203
     SK_ABORT("Invalid interpolation");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1204
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1205
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1206
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1207
 void GrGLSLVaryingHandler::addVarying(const char* name, GrGLSLVarying* varying,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1208
                                       Interpolation interpolation) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1209
     SkASSERT(GrSLTypeIsFloatType(varying->type()) || Interpolation::kMustBeFlat == interpolation);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1210
     bool willUseGeoShader = fProgramBuilder->primitiveProcessor().willUseGeoShader();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1211
     VaryingInfo& v = fVaryings.push_back();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1212
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1213
diff --git a/gfx/skia/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp b/gfx/skia/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1214
--- a/gfx/skia/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1215
+++ b/gfx/skia/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1216
@@ -46,26 +46,28 @@ void GrGLSLVertexBuilder::onFinalize() {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1217
 static const char* input_type_name(GrGLSLGeometryBuilder::InputType in) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1218
     using InputType = GrGLSLGeometryBuilder::InputType;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1219
     switch (in) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1220
         case InputType::kPoints: return "points";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1221
         case InputType::kLines: return "lines";
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1222
         case InputType::kTriangles: return "triangles";
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1223
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1224
     SK_ABORT("invalid input type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1225
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1226
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1227
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1228
 static const char* output_type_name(GrGLSLGeometryBuilder::OutputType out) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1229
     using OutputType = GrGLSLGeometryBuilder::OutputType;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1230
     switch (out) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1231
         case OutputType::kPoints: return "points";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1232
         case OutputType::kLineStrip: return "line_strip";
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1233
         case OutputType::kTriangleStrip: return "triangle_strip";
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1234
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1235
     SK_ABORT("invalid output type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1236
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1237
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1238
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1239
 void GrGLSLGeometryBuilder::configure(InputType inputType, OutputType outputType, int maxVertices,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1240
                                       int numInvocations) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1241
     SkASSERT(!this->isConfigured());
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1242
     fNumInvocations = numInvocations;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1243
     this->addLayoutQualifier(input_type_name(inputType), kIn_InterfaceQualifier);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1244
     this->addLayoutQualifier(SkStringPrintf("invocations = %i", numInvocations).c_str(),
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1245
diff --git a/gfx/skia/skia/src/gpu/mtl/GrMtlCaps.mm b/gfx/skia/skia/src/gpu/mtl/GrMtlCaps.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1246
--- a/gfx/skia/skia/src/gpu/mtl/GrMtlCaps.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1247
+++ b/gfx/skia/skia/src/gpu/mtl/GrMtlCaps.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1248
@@ -501,16 +501,17 @@ size_t GrMtlCaps::GetFormatIndex(MTLPixe
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1249
     static_assert(SK_ARRAY_COUNT(kMtlFormats) == GrMtlCaps::kNumMtlFormats,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1250
                   "Size of kMtlFormats array must match static value in header");
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1251
     for (size_t i = 0; i < GrMtlCaps::kNumMtlFormats; ++i) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1252
         if (kMtlFormats[i] == pixelFormat) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1253
             return i;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1254
         }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1255
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1256
     SK_ABORT("Invalid MTLPixelFormat");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1257
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1258
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1259
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1260
 void GrMtlCaps::initFormatTable() {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1261
     FormatInfo* info;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1262
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1263
     // Format: R8Unorm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1264
     {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1265
         info = &fFormatTable[GetFormatIndex(MTLPixelFormatR8Unorm)];
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1266
@@ -1006,16 +1007,17 @@ GrBackendFormat GrMtlCaps::getBackendFor
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1267
         case SkImage::kETC1_CompressionType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1268
 #ifdef SK_BUILD_FOR_MAC
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1269
             return {};
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1270
 #else
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1271
             return GrBackendFormat::MakeMtl(MTLPixelFormatETC2_RGB8);
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1272
 #endif
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1273
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1274
     SK_ABORT("Invalid compression type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1275
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1276
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1277
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1278
 GrSwizzle GrMtlCaps::getTextureSwizzle(const GrBackendFormat& format, GrColorType colorType) const {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1279
     MTLPixelFormat mtlFormat = GrBackendFormatAsMTLPixelFormat(format);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1280
     SkASSERT(mtlFormat != MTLPixelFormatInvalid);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1281
     const auto& info = this->getFormatInfo(mtlFormat);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1282
     for (int i = 0; i < info.fColorTypeInfoCount; ++i) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1283
         const auto& ctInfo = info.fColorTypeInfos[i];
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1284
diff --git a/gfx/skia/skia/src/gpu/mtl/GrMtlPipelineStateBuilder.mm b/gfx/skia/skia/src/gpu/mtl/GrMtlPipelineStateBuilder.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1285
--- a/gfx/skia/skia/src/gpu/mtl/GrMtlPipelineStateBuilder.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1286
+++ b/gfx/skia/skia/src/gpu/mtl/GrMtlPipelineStateBuilder.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1287
@@ -150,16 +150,17 @@ static inline MTLVertexFormat attribute_
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1288
                 return MTLVertexFormatUShortNormalized;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1289
             } else {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1290
                 return MTLVertexFormatInvalid;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1291
             }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1292
         case kUShort4_norm_GrVertexAttribType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1293
             return MTLVertexFormatUShort4Normalized;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1294
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1295
     SK_ABORT("Unknown vertex attribute type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1296
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1297
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1298
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1299
 static MTLVertexDescriptor* create_vertex_descriptor(const GrPrimitiveProcessor& primProc) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1300
     uint32_t vertexBinding = 0, instanceBinding = 0;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1301
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1302
     int nextBinding = GrMtlUniformHandler::kLastUniformBinding + 1;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1303
     if (primProc.hasVertexAttributes()) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1304
         vertexBinding = nextBinding++;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1305
@@ -271,16 +272,17 @@ static MTLBlendFactor blend_coeff_to_mtl
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1306
             } else {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1307
                 return MTLBlendFactorZero;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1308
             }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1309
         case kIllegal_GrBlendCoeff:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1310
             return MTLBlendFactorZero;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1311
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1312
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1313
     SK_ABORT("Unknown blend coefficient");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1314
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1315
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1316
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1317
 static MTLBlendOperation blend_equation_to_mtl_blend_op(GrBlendEquation equation) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1318
     static const MTLBlendOperation gTable[] = {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1319
         MTLBlendOperationAdd,              // kAdd_GrBlendEquation
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1320
         MTLBlendOperationSubtract,         // kSubtract_GrBlendEquation
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1321
         MTLBlendOperationReverseSubtract,  // kReverseSubtract_GrBlendEquation
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1322
     };
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1323
diff --git a/gfx/skia/skia/src/gpu/mtl/GrMtlSampler.mm b/gfx/skia/skia/src/gpu/mtl/GrMtlSampler.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1324
--- a/gfx/skia/skia/src/gpu/mtl/GrMtlSampler.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1325
+++ b/gfx/skia/skia/src/gpu/mtl/GrMtlSampler.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1326
@@ -33,16 +33,17 @@ static inline MTLSamplerAddressMode wrap
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1327
             } else
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1328
 #endif
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1329
             {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1330
                 SkASSERT(false);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1331
                 return MTLSamplerAddressModeClampToEdge;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1332
             }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1333
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1334
     SK_ABORT("Unknown wrap mode.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1335
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1336
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1337
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1338
 GrMtlSampler* GrMtlSampler::Create(const GrMtlGpu* gpu, const GrSamplerState& samplerState) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1339
     static MTLSamplerMinMagFilter mtlMinMagFilterModes[] = {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1340
         MTLSamplerMinMagFilterNearest,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1341
         MTLSamplerMinMagFilterLinear,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1342
         MTLSamplerMinMagFilterLinear
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1343
     };
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1344
diff --git a/gfx/skia/skia/src/gpu/mtl/GrMtlUniformHandler.mm b/gfx/skia/skia/src/gpu/mtl/GrMtlUniformHandler.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1345
--- a/gfx/skia/skia/src/gpu/mtl/GrMtlUniformHandler.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1346
+++ b/gfx/skia/skia/src/gpu/mtl/GrMtlUniformHandler.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1347
@@ -85,16 +85,17 @@ static uint32_t grsltype_to_alignment_ma
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1348
         case kTexture2DSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1349
         case kTextureExternalSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1350
         case kTexture2DRectSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1351
         case kSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1352
         case kTexture2D_GrSLType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1353
             break;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1354
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1355
     SK_ABORT("Unexpected type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1356
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1357
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1358
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1359
 /** Returns the size in bytes taken up in Metal buffers for GrSLTypes. */
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1360
 static inline uint32_t grsltype_to_mtl_size(GrSLType type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1361
     switch(type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1362
         case kByte_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1363
             return sizeof(int8_t);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1364
         case kByte2_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1365
@@ -167,16 +168,17 @@ static inline uint32_t grsltype_to_mtl_s
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1366
         case kTexture2DSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1367
         case kTextureExternalSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1368
         case kTexture2DRectSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1369
         case kSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1370
         case kTexture2D_GrSLType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1371
             break;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1372
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1373
     SK_ABORT("Unexpected type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1374
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1375
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1376
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1377
 // Given the current offset into the ubo, calculate the offset for the uniform we're trying to add
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1378
 // taking into consideration all alignment requirements. The uniformOffset is set to the offset for
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1379
 // the new uniform, and currentOffset is updated to be the offset to the end of the new uniform.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1380
 static void get_ubo_aligned_offset(uint32_t* uniformOffset,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1381
                                    uint32_t* currentOffset,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1382
                                    uint32_t* maxAlignment,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1383
diff --git a/gfx/skia/skia/src/gpu/mtl/GrMtlUtil.mm b/gfx/skia/skia/src/gpu/mtl/GrMtlUtil.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1384
--- a/gfx/skia/skia/src/gpu/mtl/GrMtlUtil.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1385
+++ b/gfx/skia/skia/src/gpu/mtl/GrMtlUtil.mm
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1386
@@ -107,16 +107,17 @@ bool GrPixelConfigToMTLFormat(GrPixelCon
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1387
         case kRGBA_16161616_GrPixelConfig:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1388
             *format = MTLPixelFormatRGBA16Unorm;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1389
             return true;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1390
         case kRG_half_GrPixelConfig:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1391
             *format = MTLPixelFormatRG16Float;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1392
             return true;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1393
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1394
     SK_ABORT("Unexpected config");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1395
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1396
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1397
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1398
 MTLTextureDescriptor* GrGetMTLTextureDescriptor(id<MTLTexture> mtlTexture) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1399
     MTLTextureDescriptor* texDesc = [[MTLTextureDescriptor alloc] init];
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1400
     texDesc.textureType = mtlTexture.textureType;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1401
     texDesc.pixelFormat = mtlTexture.pixelFormat;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1402
     texDesc.width = mtlTexture.width;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1403
     texDesc.height = mtlTexture.height;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1404
diff --git a/gfx/skia/skia/src/gpu/ops/GrDrawVerticesOp.cpp b/gfx/skia/skia/src/gpu/ops/GrDrawVerticesOp.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1405
--- a/gfx/skia/skia/src/gpu/ops/GrDrawVerticesOp.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1406
+++ b/gfx/skia/skia/src/gpu/ops/GrDrawVerticesOp.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1407
@@ -605,16 +605,17 @@ static uint32_t seed_vertices(GrPrimitiv
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1408
         case GrPrimitiveType::kLines:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1409
         case GrPrimitiveType::kLineStrip:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1410
             return 2;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1411
         case GrPrimitiveType::kPath:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1412
             SkASSERT(0);
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1413
             return 0;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1414
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1415
     SK_ABORT("Incomplete switch\n");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1416
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1417
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1418
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1419
 static uint32_t primitive_vertices(GrPrimitiveType type) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1420
     switch (type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1421
         case GrPrimitiveType::kTriangles:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1422
             return 3;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1423
         case GrPrimitiveType::kLines:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1424
             return 2;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1425
@@ -622,16 +623,17 @@ static uint32_t primitive_vertices(GrPri
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1426
         case GrPrimitiveType::kPoints:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1427
         case GrPrimitiveType::kLineStrip:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1428
             return 1;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1429
         case GrPrimitiveType::kPath:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1430
             SkASSERT(0);
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1431
             return 0;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1432
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1433
     SK_ABORT("Incomplete switch\n");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1434
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1435
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1436
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1437
 static SkPoint random_point(SkRandom* random, SkScalar min, SkScalar max) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1438
     SkPoint p;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1439
     p.fX = random->nextRangeScalar(min, max);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1440
     p.fY = random->nextRangeScalar(min, max);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1441
     return p;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1442
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1443
diff --git a/gfx/skia/skia/src/gpu/ops/GrFillRRectOp.cpp b/gfx/skia/skia/src/gpu/ops/GrFillRRectOp.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1444
--- a/gfx/skia/skia/src/gpu/ops/GrFillRRectOp.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1445
+++ b/gfx/skia/skia/src/gpu/ops/GrFillRRectOp.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1446
@@ -818,9 +818,10 @@ static bool can_use_hw_derivatives_with_
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1447
                 if (!can_use_hw_derivatives_with_coverage(devScale, rrect.radii(corner))) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1448
                     return false;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1449
                 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1450
             }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1451
             return true;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1452
         }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1453
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1454
     SK_ABORT("Invalid round rect type.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1455
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1456
 }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1457
diff --git a/gfx/skia/skia/src/gpu/ops/GrOvalOpFactory.cpp b/gfx/skia/skia/src/gpu/ops/GrOvalOpFactory.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1458
--- a/gfx/skia/skia/src/gpu/ops/GrOvalOpFactory.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1459
+++ b/gfx/skia/skia/src/gpu/ops/GrOvalOpFactory.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1460
@@ -2278,39 +2278,42 @@ static int rrect_type_to_vert_count(RRec
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1461
     switch (type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1462
         case kFill_RRectType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1463
         case kStroke_RRectType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1464
             return kVertsPerStandardRRect;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1465
         case kOverstroke_RRectType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1466
             return kVertsPerOverstrokeRRect;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1467
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1468
     SK_ABORT("Invalid type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1469
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1470
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1471
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1472
 static int rrect_type_to_index_count(RRectType type) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1473
     switch (type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1474
         case kFill_RRectType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1475
             return kIndicesPerFillRRect;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1476
         case kStroke_RRectType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1477
             return kIndicesPerStrokeRRect;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1478
         case kOverstroke_RRectType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1479
             return kIndicesPerOverstrokeRRect;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1480
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1481
     SK_ABORT("Invalid type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1482
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1483
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1484
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1485
 static const uint16_t* rrect_type_to_indices(RRectType type) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1486
     switch (type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1487
         case kFill_RRectType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1488
         case kStroke_RRectType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1489
             return gStandardRRectIndices;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1490
         case kOverstroke_RRectType:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1491
             return gOverstrokeRRectIndices;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1492
     }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1493
     SK_ABORT("Invalid type");
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1494
+    SkUNREACHABLE;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1495
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1496
 
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1497
 ///////////////////////////////////////////////////////////////////////////////////////////////////
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1498
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1499
 // For distance computations in the interior of filled rrects we:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1500
 //
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1501
 //   add a interior degenerate (point or line) rect
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1502
 //   each vertex of that rect gets -outerRad as its radius
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1503
diff --git a/gfx/skia/skia/src/gpu/ops/GrShadowRRectOp.cpp b/gfx/skia/skia/src/gpu/ops/GrShadowRRectOp.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1504
--- a/gfx/skia/skia/src/gpu/ops/GrShadowRRectOp.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1505
+++ b/gfx/skia/skia/src/gpu/ops/GrShadowRRectOp.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1506
@@ -150,39 +150,42 @@ static int rrect_type_to_vert_count(RRec
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1507
         case kFill_RRectType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1508
             return kVertsPerFillRRect;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1509
         case kStroke_RRectType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1510
             return kVertsPerStrokeRRect;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1511
         case kOverstroke_RRectType:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1512
             return kVertsPerOverstrokeRRect;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1513
     }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1514
     SK_ABORT("Invalid type");
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1515
+    SkUNREACHABLE;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1516
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1517
 
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1518
 static int rrect_type_to_index_count(RRectType type) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1519
     switch (type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1520
         case kFill_RRectType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1521
             return kIndicesPerFillRRect;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1522
         case kStroke_RRectType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1523
             return kIndicesPerStrokeRRect;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1524
         case kOverstroke_RRectType:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1525
             return kIndicesPerOverstrokeRRect;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1526
     }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1527
     SK_ABORT("Invalid type");
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1528
+    SkUNREACHABLE;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1529
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1530
 
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1531
 static const uint16_t* rrect_type_to_indices(RRectType type) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1532
     switch (type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1533
         case kFill_RRectType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1534
         case kStroke_RRectType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1535
             return gRRectIndices + 6*4;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1536
         case kOverstroke_RRectType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1537
             return gRRectIndices;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1538
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1539
     SK_ABORT("Invalid type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1540
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1541
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1542
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1543
 ///////////////////////////////////////////////////////////////////////////////
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1544
 namespace {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1545
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1546
 class ShadowCircularRRectOp final : public GrMeshDrawOp {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1547
 public:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1548
     DEFINE_OP_CLASS_ID
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1549
diff --git a/gfx/skia/skia/src/gpu/text/GrTextBlob.h b/gfx/skia/skia/src/gpu/text/GrTextBlob.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1550
--- a/gfx/skia/skia/src/gpu/text/GrTextBlob.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1551
+++ b/gfx/skia/skia/src/gpu/text/GrTextBlob.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1552
@@ -120,16 +120,17 @@ public:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1553
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1554
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1555
     void operator delete(void* p) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1556
         ::operator delete(p);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1557
     }
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1558
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1559
     void* operator new(size_t) {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1560
         SK_ABORT("All blobs are created by placement new.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1561
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1562
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1563
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1564
     void* operator new(size_t, void* p) { return p; }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1565
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1566
     bool hasDistanceField() const { return SkToBool(fTextType & kHasDistanceField_TextType); }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1567
     bool hasBitmap() const { return SkToBool(fTextType & kHasBitmap_TextType); }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1568
     void setHasDistanceField() { fTextType |= kHasDistanceField_TextType; }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1569
     void setHasBitmap() { fTextType |= kHasBitmap_TextType; }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1570
diff --git a/gfx/skia/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp b/gfx/skia/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1571
--- a/gfx/skia/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1572
+++ b/gfx/skia/skia/src/gpu/text/GrTextBlobVertexRegenerator.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1573
@@ -279,9 +279,10 @@ bool GrTextBlob::VertexRegenerator::rege
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1574
         // set use tokens for all of the glyphs in our subrun.  This is only valid if we
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1575
         // have a valid atlas generation
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1576
         fFullAtlasManager->setUseTokenBulk(*fSubRun->bulkUseToken(),
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1577
                                            fUploadTarget->tokenTracker()->nextDrawToken(),
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1578
                                            fSubRun->maskFormat());
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1579
         return true;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1580
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1581
     SK_ABORT("Should not get here");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1582
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1583
 }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1584
diff --git a/gfx/skia/skia/src/gpu/vk/GrVkCaps.cpp b/gfx/skia/skia/src/gpu/vk/GrVkCaps.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1585
--- a/gfx/skia/skia/src/gpu/vk/GrVkCaps.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1586
+++ b/gfx/skia/skia/src/gpu/vk/GrVkCaps.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1587
@@ -103,16 +103,17 @@ static FormatCompatibilityClass format_c
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1588
         case VK_FORMAT_R8G8B8_UNORM:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1589
             return FormatCompatibilityClass::k24_3_1;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1590
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1591
         case VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1592
             return FormatCompatibilityClass::kETC2_RGB_8_16;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1593
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1594
         default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1595
             SK_ABORT("Unsupported VkFormat");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1596
+	    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1597
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1598
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1599
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1600
 bool GrVkCaps::canCopyImage(VkFormat dstFormat, int dstSampleCnt, bool dstHasYcbcr,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1601
                             VkFormat srcFormat, int srcSampleCnt, bool srcHasYcbcr) const {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1602
     if ((dstSampleCnt > 1 || srcSampleCnt > 1) && dstSampleCnt != srcSampleCnt) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1603
         return false;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1604
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1605
@@ -1651,16 +1652,17 @@ GrBackendFormat GrVkCaps::onGetDefaultBa
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1606
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1607
 GrBackendFormat GrVkCaps::getBackendFormatFromCompressionType(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1608
         SkImage::CompressionType compressionType) const {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1609
     switch (compressionType) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1610
         case SkImage::kETC1_CompressionType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1611
             return GrBackendFormat::MakeVk(VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK);
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1612
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1613
     SK_ABORT("Invalid compression type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1614
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1615
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1616
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1617
 GrSwizzle GrVkCaps::getTextureSwizzle(const GrBackendFormat& format, GrColorType colorType) const {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1618
     VkFormat vkFormat;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1619
     SkAssertResult(format.asVkFormat(&vkFormat));
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1620
     const auto& info = this->getFormatInfo(vkFormat);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1621
     for (int i = 0; i < info.fColorTypeInfoCount; ++i) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1622
         const auto& ctInfo = info.fColorTypeInfos[i];
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1623
diff --git a/gfx/skia/skia/src/gpu/vk/GrVkMemory.cpp b/gfx/skia/skia/src/gpu/vk/GrVkMemory.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1624
--- a/gfx/skia/skia/src/gpu/vk/GrVkMemory.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1625
+++ b/gfx/skia/skia/src/gpu/vk/GrVkMemory.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1626
@@ -23,16 +23,17 @@ static BufferUsage get_buffer_usage(GrVk
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1627
         case GrVkBuffer::kUniform_Type:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1628
             SkASSERT(dynamic);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1629
             return BufferUsage::kCpuWritesGpuReads;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1630
         case GrVkBuffer::kCopyRead_Type: // fall through
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1631
         case GrVkBuffer::kCopyWrite_Type:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1632
             return BufferUsage::kCpuOnly;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1633
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1634
     SK_ABORT("Invalid GrVkBuffer::Type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1635
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1636
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1637
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1638
 bool GrVkMemory::AllocAndBindBufferMemory(const GrVkGpu* gpu,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1639
                                           VkBuffer buffer,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1640
                                           GrVkBuffer::Type type,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1641
                                           bool dynamic,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1642
                                           GrVkAlloc* alloc) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1643
     GrVkMemoryAllocator* allocator = gpu->memoryAllocator();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1644
diff --git a/gfx/skia/skia/src/gpu/vk/GrVkPipeline.cpp b/gfx/skia/skia/src/gpu/vk/GrVkPipeline.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1645
--- a/gfx/skia/skia/src/gpu/vk/GrVkPipeline.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1646
+++ b/gfx/skia/skia/src/gpu/vk/GrVkPipeline.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1647
@@ -75,16 +75,17 @@ static inline VkFormat attrib_type_to_vk
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1648
         case kUint_GrVertexAttribType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1649
             return VK_FORMAT_R32_UINT;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1650
         case kUShort_norm_GrVertexAttribType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1651
             return VK_FORMAT_R16_UNORM;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1652
         case kUShort4_norm_GrVertexAttribType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1653
             return VK_FORMAT_R16G16B16A16_UNORM;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1654
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1655
     SK_ABORT("Unknown vertex attrib type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1656
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1657
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1658
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1659
 static void setup_vertex_input_state(const GrPrimitiveProcessor& primProc,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1660
                                   VkPipelineVertexInputStateCreateInfo* vertexInputInfo,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1661
                                   SkSTArray<2, VkVertexInputBindingDescription, true>* bindingDescs,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1662
                                   VkVertexInputAttributeDescription* attributeDesc) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1663
     uint32_t vertexBinding = 0, instanceBinding = 0;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1664
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1665
@@ -157,18 +158,20 @@ static VkPrimitiveTopology gr_primitive_
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1666
         case GrPrimitiveType::kPoints:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1667
             return VK_PRIMITIVE_TOPOLOGY_POINT_LIST;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1668
         case GrPrimitiveType::kLines:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1669
             return VK_PRIMITIVE_TOPOLOGY_LINE_LIST;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1670
         case GrPrimitiveType::kLineStrip:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1671
             return VK_PRIMITIVE_TOPOLOGY_LINE_STRIP;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1672
         case GrPrimitiveType::kPath:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1673
             SK_ABORT("Unsupported primitive type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1674
+	    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1675
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1676
     SK_ABORT("invalid GrPrimitiveType");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1677
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1678
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1679
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1680
 static void setup_input_assembly_state(GrPrimitiveType primitiveType,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1681
                                        VkPipelineInputAssemblyStateCreateInfo* inputAssemblyInfo) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1682
     memset(inputAssemblyInfo, 0, sizeof(VkPipelineInputAssemblyStateCreateInfo));
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1683
     inputAssemblyInfo->sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1684
     inputAssemblyInfo->pNext = nullptr;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1685
     inputAssemblyInfo->flags = 0;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1686
diff --git a/gfx/skia/skia/src/gpu/vk/GrVkSampler.cpp b/gfx/skia/skia/src/gpu/vk/GrVkSampler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1687
--- a/gfx/skia/skia/src/gpu/vk/GrVkSampler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1688
+++ b/gfx/skia/skia/src/gpu/vk/GrVkSampler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1689
@@ -18,16 +18,17 @@ static inline VkSamplerAddressMode wrap_
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1690
         case GrSamplerState::WrapMode::kRepeat:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1691
             return VK_SAMPLER_ADDRESS_MODE_REPEAT;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1692
         case GrSamplerState::WrapMode::kMirrorRepeat:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1693
             return VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1694
         case GrSamplerState::WrapMode::kClampToBorder:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1695
             return VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1696
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1697
     SK_ABORT("Unknown wrap mode.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1698
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1699
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1700
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1701
 GrVkSampler* GrVkSampler::Create(GrVkGpu* gpu, const GrSamplerState& samplerState,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1702
                                  const GrVkYcbcrConversionInfo& ycbcrInfo) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1703
     static VkFilter vkMinFilterModes[] = {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1704
         VK_FILTER_NEAREST,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1705
         VK_FILTER_LINEAR,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1706
         VK_FILTER_LINEAR
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1707
diff --git a/gfx/skia/skia/src/gpu/vk/GrVkTransferBuffer.h b/gfx/skia/skia/src/gpu/vk/GrVkTransferBuffer.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1708
--- a/gfx/skia/skia/src/gpu/vk/GrVkTransferBuffer.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1709
+++ b/gfx/skia/skia/src/gpu/vk/GrVkTransferBuffer.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1710
@@ -29,16 +29,17 @@ private:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1711
                           const SkString& dumpName) const override;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1712
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1713
     void onMap() override { this->GrGpuBuffer::fMapPtr = this->vkMap(this->getVkGpu()); }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1714
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1715
     void onUnmap() override { this->vkUnmap(this->getVkGpu()); }
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1716
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1717
     bool onUpdateData(const void* src, size_t srcSizeInBytes) override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1718
         SK_ABORT("Not implemented for transfer buffers.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1719
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1720
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1721
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1722
     GrVkGpu* getVkGpu() const {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1723
         SkASSERT(!this->wasDestroyed());
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1724
         return reinterpret_cast<GrVkGpu*>(this->getGpu());
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1725
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1726
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1727
     typedef GrGpuBuffer INHERITED;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1728
diff --git a/gfx/skia/skia/src/gpu/vk/GrVkUniformHandler.cpp b/gfx/skia/skia/src/gpu/vk/GrVkUniformHandler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1729
--- a/gfx/skia/skia/src/gpu/vk/GrVkUniformHandler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1730
+++ b/gfx/skia/skia/src/gpu/vk/GrVkUniformHandler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1731
@@ -84,16 +84,17 @@ static uint32_t grsltype_to_alignment_ma
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1732
         case kTexture2DSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1733
         case kTextureExternalSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1734
         case kTexture2DRectSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1735
         case kSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1736
         case kTexture2D_GrSLType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1737
             break;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1738
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1739
     SK_ABORT("Unexpected type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1740
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1741
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1742
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1743
 /** Returns the size in bytes taken up in vulkanbuffers for GrSLTypes. */
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1744
 static inline uint32_t grsltype_to_vk_size(GrSLType type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1745
     switch(type) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1746
         case kByte_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1747
             return sizeof(int8_t);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1748
         case kByte2_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1749
@@ -167,16 +168,17 @@ static inline uint32_t grsltype_to_vk_si
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1750
         case kTexture2DSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1751
         case kTextureExternalSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1752
         case kTexture2DRectSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1753
         case kSampler_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1754
         case kTexture2D_GrSLType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1755
             break;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1756
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1757
     SK_ABORT("Unexpected type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1758
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1759
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1760
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1761
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1762
 // Given the current offset into the ubo, calculate the offset for the uniform we're trying to add
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1763
 // taking into consideration all alignment requirements. The uniformOffset is set to the offset for
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1764
 // the new uniform, and currentOffset is updated to be the offset to the end of the new uniform.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1765
 static void get_ubo_aligned_offset(uint32_t* uniformOffset,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1766
                                    uint32_t* currentOffset,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1767
diff --git a/gfx/skia/skia/src/gpu/vk/GrVkVaryingHandler.cpp b/gfx/skia/skia/src/gpu/vk/GrVkVaryingHandler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1768
--- a/gfx/skia/skia/src/gpu/vk/GrVkVaryingHandler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1769
+++ b/gfx/skia/skia/src/gpu/vk/GrVkVaryingHandler.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1770
@@ -69,16 +69,17 @@ static inline int grsltype_to_location_s
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1771
         case kByte_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1772
              return 1;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1773
         case kUint_GrSLType: // fall through
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1774
         case kUShort_GrSLType:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1775
         case kUByte_GrSLType:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1776
              return 1;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1777
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1778
     SK_ABORT("Unexpected type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1779
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1780
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1781
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1782
 static void finalize_helper(GrVkVaryingHandler::VarArray& vars) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1783
     int locationIndex = 0;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1784
     for (int i = 0; i < vars.count(); ++i) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1785
         GrShaderVar& var = vars[i];
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1786
         SkString location;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1787
         location.appendf("location = %d", locationIndex);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1788
diff --git a/gfx/skia/skia/src/pdf/SkPDFTag.cpp b/gfx/skia/skia/src/pdf/SkPDFTag.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1789
--- a/gfx/skia/skia/src/pdf/SkPDFTag.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1790
+++ b/gfx/skia/skia/src/pdf/SkPDFTag.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1791
@@ -59,16 +59,17 @@ static const char* tag_name_from_type(Sk
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1792
         M(WT);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1793
         M(WP);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1794
         M(Figure);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1795
         M(Formula);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1796
         M(Form);
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1797
         #undef M
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1798
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1799
     SK_ABORT("bad tag");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1800
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1801
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1802
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1803
 struct SkPDFTagNode {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1804
     SkPDFTagNode* fChildren = nullptr;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1805
     size_t fChildCount = 0;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1806
     struct MarkedContentInfo {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1807
         unsigned fPageIndex;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1808
         int fMarkId;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1809
diff --git a/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp b/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1810
--- a/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1811
+++ b/gfx/skia/skia/src/ports/SkFontMgr_FontConfigInterface.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1812
@@ -168,28 +168,32 @@ public:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1813
     SkFontMgr_FCI(sk_sp<SkFontConfigInterface> fci)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1814
         : fFCI(std::move(fci))
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1815
         , fCache(kMaxSize)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1816
     {}
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1817
 
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1818
 protected:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1819
     int onCountFamilies() const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1820
         SK_ABORT("Not implemented.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1821
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1822
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1823
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1824
     void onGetFamilyName(int index, SkString* familyName) const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1825
         SK_ABORT("Not implemented.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1826
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1827
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1828
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1829
     SkFontStyleSet* onCreateStyleSet(int index) const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1830
         SK_ABORT("Not implemented.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1831
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1832
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1833
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1834
     SkFontStyleSet* onMatchFamily(const char familyName[]) const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1835
         SK_ABORT("Not implemented.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1836
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1837
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1838
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1839
     SkTypeface* onMatchFamilyStyle(const char requestedFamilyName[],
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1840
                                    const SkFontStyle& requestedStyle) const override
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1841
     {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1842
         SkAutoMutexExclusive ama(fMutex);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1843
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1844
         SkFontConfigInterface::FontIdentity identity;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1845
@@ -210,20 +214,22 @@ protected:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1846
         }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1847
         return face.release();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1848
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1849
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1850
     SkTypeface* onMatchFamilyStyleCharacter(const char familyName[], const SkFontStyle&,
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1851
                                             const char* bcp47[], int bcp47Count,
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1852
                                             SkUnichar character) const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1853
         SK_ABORT("Not implemented.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1854
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1855
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1856
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1857
     SkTypeface* onMatchFaceStyle(const SkTypeface*, const SkFontStyle&) const override {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1858
         SK_ABORT("Not implemented.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1859
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1860
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1861
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1862
     sk_sp<SkTypeface> onMakeFromData(sk_sp<SkData> data, int ttcIndex) const override {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1863
         return this->onMakeFromStreamIndex(SkMemoryStream::Make(std::move(data)), ttcIndex);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1864
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1865
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1866
     sk_sp<SkTypeface> onMakeFromStreamIndex(std::unique_ptr<SkStreamAsset> stream,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1867
                                             int ttcIndex) const override {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1868
diff --git a/gfx/skia/skia/src/shaders/SkImageShader.cpp b/gfx/skia/skia/src/shaders/SkImageShader.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1869
--- a/gfx/skia/skia/src/shaders/SkImageShader.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1870
+++ b/gfx/skia/skia/src/shaders/SkImageShader.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1871
@@ -178,16 +178,17 @@ static GrSamplerState::WrapMode tile_mod
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1872
         case SkTileMode::kRepeat:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1873
             return GrSamplerState::WrapMode::kRepeat;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1874
         case SkTileMode::kMirror:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1875
             return GrSamplerState::WrapMode::kMirrorRepeat;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1876
         case SkTileMode::kDecal:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1877
             return GrSamplerState::WrapMode::kClampToBorder;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1878
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1879
     SK_ABORT("Unknown tile mode.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1880
+    SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1881
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1882
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1883
 std::unique_ptr<GrFragmentProcessor> SkImageShader::asFragmentProcessor(
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1884
         const GrFPArgs& args) const {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1885
     const auto lm = this->totalLocalMatrix(args.fPreLocalMatrix, args.fPostLocalMatrix);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1886
     SkMatrix lmInverse;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1887
     if (!lm->invert(&lmInverse)) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1888
         return nullptr;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1889
diff --git a/gfx/skia/skia/src/utils/SkShadowUtils.cpp b/gfx/skia/skia/src/utils/SkShadowUtils.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1890
--- a/gfx/skia/skia/src/utils/SkShadowUtils.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1891
+++ b/gfx/skia/skia/src/utils/SkShadowUtils.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1892
@@ -144,16 +144,17 @@ struct SpotVerticesFactory {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1893
                 // if the offsets don't match.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1894
                 if (fOffset == that.fOffset) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1895
                     translate->set(0, 0);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1896
                     return true;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1897
                 }
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1898
                 return false;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1899
         }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1900
         SK_ABORT("Uninitialized occluder type?");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1901
+	SkUNREACHABLE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1902
     }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1903
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  1904
     sk_sp<SkVertices> makeVertices(const SkPath& path, const SkMatrix& ctm,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1905
                                    SkVector* translate) const {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1906
         bool transparent = OccluderType::kTransparent == fOccluderType;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1907
         SkPoint3 zParams = SkPoint3::Make(0, 0, fOccluderHeight);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1908
         if (ctm.hasPerspective() || OccluderType::kOpaquePartialUmbra == fOccluderType) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1909
             translate->set(0, 0);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1910
diff --git a/intl/icu/source/i18n/number_rounding.cpp b/intl/icu/source/i18n/number_rounding.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1911
--- a/intl/icu/source/i18n/number_rounding.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1912
+++ b/intl/icu/source/i18n/number_rounding.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1913
@@ -278,27 +278,29 @@ Precision IncrementPrecision::withMinFra
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1914
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1915
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1916
 FractionPrecision Precision::constructFraction(int32_t minFrac, int32_t maxFrac) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1917
     FractionSignificantSettings settings;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1918
     settings.fMinFrac = static_cast<digits_t>(minFrac);
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1919
     settings.fMaxFrac = static_cast<digits_t>(maxFrac);
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1920
     settings.fMinSig = -1;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1921
     settings.fMaxSig = -1;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1922
+    settings.fPriority = UNUM_ROUNDING_PRIORITY_RELAXED;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1923
     PrecisionUnion union_;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1924
     union_.fracSig = settings;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1925
     return {RND_FRACTION, union_};
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1926
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1927
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1928
 Precision Precision::constructSignificant(int32_t minSig, int32_t maxSig) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1929
     FractionSignificantSettings settings;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1930
     settings.fMinFrac = -1;
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1931
     settings.fMaxFrac = -1;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1932
     settings.fMinSig = static_cast<digits_t>(minSig);
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1933
     settings.fMaxSig = static_cast<digits_t>(maxSig);
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1934
+    settings.fPriority = UNUM_ROUNDING_PRIORITY_RELAXED;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1935
     PrecisionUnion union_;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1936
     union_.fracSig = settings;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1937
     return {RND_SIGNIFICANT, union_};
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1938
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1939
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1940
 Precision
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1941
 Precision::constructFractionSignificant(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1942
         const FractionPrecision &base,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1943
diff --git a/third_party/libwebrtc/api/adaptation/resource.cc b/third_party/libwebrtc/api/adaptation/resource.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1944
--- a/third_party/libwebrtc/api/adaptation/resource.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1945
+++ b/third_party/libwebrtc/api/adaptation/resource.cc
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1946
@@ -17,16 +17,17 @@ namespace webrtc {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1947
 const char* ResourceUsageStateToString(ResourceUsageState usage_state) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1948
   switch (usage_state) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1949
     case ResourceUsageState::kOveruse:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1950
       return "kOveruse";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1951
     case ResourceUsageState::kUnderuse:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1952
       return "kUnderuse";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1953
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1954
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1955
+  return nullptr;
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1956
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1957
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1958
 ResourceListener::~ResourceListener() {}
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1959
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1960
 Resource::Resource() {}
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1961
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1962
 Resource::~Resource() {}
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1963
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1964
diff --git a/third_party/libwebrtc/api/rtp_parameters.cc b/third_party/libwebrtc/api/rtp_parameters.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1965
--- a/third_party/libwebrtc/api/rtp_parameters.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1966
+++ b/third_party/libwebrtc/api/rtp_parameters.cc
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1967
@@ -27,16 +27,17 @@ const char* DegradationPreferenceToStrin
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1968
     case DegradationPreference::MAINTAIN_FRAMERATE:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1969
       return "maintain-framerate";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1970
     case DegradationPreference::MAINTAIN_RESOLUTION:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1971
       return "maintain-resolution";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1972
     case DegradationPreference::BALANCED:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1973
       return "balanced";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1974
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1975
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1976
+  return "";
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1977
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  1978
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1979
 const double kDefaultBitratePriority = 1.0;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1980
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1981
 RtcpFeedback::RtcpFeedback() = default;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1982
 RtcpFeedback::RtcpFeedback(RtcpFeedbackType type) : type(type) {}
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  1983
 RtcpFeedback::RtcpFeedback(RtcpFeedbackType type,
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1984
                            RtcpFeedbackMessageType message_type)
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1985
diff --git a/third_party/libwebrtc/api/video/video_frame_buffer.cc b/third_party/libwebrtc/api/video/video_frame_buffer.cc
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1986
--- a/third_party/libwebrtc/api/video/video_frame_buffer.cc
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1987
+++ b/third_party/libwebrtc/api/video/video_frame_buffer.cc
1183
e69790650e3c Firefox 109.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1182
diff changeset
  1988
@@ -94,16 +94,18 @@ const char* VideoFrameBufferTypeToString
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1989
       return "kI010";
1183
e69790650e3c Firefox 109.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1182
diff changeset
  1990
     case VideoFrameBuffer::Type::kI210:
e69790650e3c Firefox 109.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1182
diff changeset
  1991
       return "kI210";
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1992
     case VideoFrameBuffer::Type::kNV12:
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1993
       return "kNV12";
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1994
     default:
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1995
       RTC_DCHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1996
   }
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1997
+  RTC_DCHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1998
+  return nullptr;
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  1999
 }
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2000
 
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2001
 int I420BufferInterface::ChromaWidth() const {
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2002
   return (width() + 1) / 2;
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2003
 }
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2004
 
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2005
 int I420BufferInterface::ChromaHeight() const {
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2006
   return (height() + 1) / 2;
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2007
diff --git a/third_party/libwebrtc/api/video_codecs/video_codec.cc b/third_party/libwebrtc/api/video_codecs/video_codec.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2008
--- a/third_party/libwebrtc/api/video_codecs/video_codec.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2009
+++ b/third_party/libwebrtc/api/video_codecs/video_codec.cc
1183
e69790650e3c Firefox 109.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1182
diff changeset
  2010
@@ -113,16 +113,17 @@ const char* CodecTypeToPayloadString(Vid
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2011
     case kVideoCodecH264:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2012
       return kPayloadNameH264;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2013
     case kVideoCodecMultiplex:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2014
       return kPayloadNameMultiplex;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2015
     case kVideoCodecGeneric:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2016
       return kPayloadNameGeneric;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2017
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2018
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2019
+  return "";
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2020
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2021
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2022
 VideoCodecType PayloadStringToCodecType(const std::string& name) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2023
   if (absl::EqualsIgnoreCase(name, kPayloadNameVp8))
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2024
     return kVideoCodecVP8;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2025
   if (absl::EqualsIgnoreCase(name, kPayloadNameVp9))
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2026
     return kVideoCodecVP9;
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2027
   if (absl::EqualsIgnoreCase(name, kPayloadNameAv1) ||
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2028
diff --git a/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc b/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2029
--- a/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2030
+++ b/third_party/libwebrtc/api/video_codecs/video_encoder_software_fallback_wrapper.cc
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2031
@@ -158,16 +158,17 @@ class VideoEncoderSoftwareFallbackWrappe
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2032
         [[fallthrough]];
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2033
       case EncoderState::kMainEncoderUsed:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2034
         return encoder_.get();
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2035
       case EncoderState::kFallbackDueToFailure:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2036
       case EncoderState::kForcedFallback:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2037
         return fallback_encoder_.get();
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2038
     }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2039
     RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2040
+    return nullptr;
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2041
   }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2042
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2043
   // Updates encoder with last observed parameters, such as callbacks, rates,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2044
   // etc.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2045
   void PrimeEncoder(VideoEncoder* encoder) const;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2046
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2047
   // Settings used in the last InitEncode call and used if a dynamic fallback to
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2048
   // software is required.
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2049
@@ -338,16 +339,17 @@ int32_t VideoEncoderSoftwareFallbackWrap
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2050
     case EncoderState::kMainEncoderUsed: {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2051
       return EncodeWithMainEncoder(frame, frame_types);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2052
     }
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2053
     case EncoderState::kFallbackDueToFailure:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2054
     case EncoderState::kForcedFallback:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2055
       return fallback_encoder_->Encode(frame, frame_types);
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2056
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2057
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2058
+  return WEBRTC_VIDEO_CODEC_ERROR;
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2059
 }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2060
 
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2061
 int32_t VideoEncoderSoftwareFallbackWrapper::EncodeWithMainEncoder(
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2062
     const VideoFrame& frame,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2063
     const std::vector<VideoFrameType>* frame_types) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2064
   int32_t ret = encoder_->Encode(frame, frame_types);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2065
   // If requested, try a software fallback.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2066
   bool fallback_requested = (ret == WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2067
diff --git a/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc b/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2068
--- a/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2069
+++ b/third_party/libwebrtc/call/adaptation/video_stream_adapter.cc
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2070
@@ -163,16 +163,17 @@ const char* Adaptation::StatusToString(A
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2071
     case Status::kInsufficientInput:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2072
       return "kInsufficientInput";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2073
     case Status::kAdaptationDisabled:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2074
       return "kAdaptationDisabled";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2075
     case Status::kRejectedByConstraint:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2076
       return "kRejectedByConstraint";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2077
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2078
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2079
+  return "";
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2080
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2081
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2082
 Adaptation::Adaptation(int validation_id,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2083
                        VideoSourceRestrictions restrictions,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2084
                        VideoAdaptationCounters counters,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2085
                        VideoStreamInputState input_state)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2086
     : validation_id_(validation_id),
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2087
       status_(Status::kValid),
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2088
@@ -385,16 +386,17 @@ VideoStreamAdapter::RestrictionsOrState 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2089
     case DegradationPreference::MAINTAIN_RESOLUTION: {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2090
       // Scale up framerate.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2091
       return IncreaseFramerate(input_state, current_restrictions_);
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2092
     }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2093
     case DegradationPreference::DISABLED:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2094
       return Adaptation::Status::kAdaptationDisabled;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2095
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2096
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2097
+  return Adaptation::Status::kAdaptationDisabled;
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2098
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2099
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2100
 Adaptation VideoStreamAdapter::GetAdaptationDown() {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2101
   RTC_DCHECK_RUN_ON(&sequence_checker_);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2102
   VideoStreamInputState input_state = input_state_provider_->InputState();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2103
   ++adaptation_validation_id_;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2104
   RestrictionsOrState restrictions_or_state =
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2105
       GetAdaptationDownStep(input_state, current_restrictions_);
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2106
@@ -467,16 +469,17 @@ VideoStreamAdapter::GetAdaptationDownSte
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2107
     }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2108
     case DegradationPreference::MAINTAIN_RESOLUTION: {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2109
       return DecreaseFramerate(input_state, current_restrictions);
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2110
     }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2111
     case DegradationPreference::DISABLED:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2112
       return Adaptation::Status::kAdaptationDisabled;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2113
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2114
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2115
+  return Adaptation::Status::kAdaptationDisabled;
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2116
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2117
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2118
 VideoStreamAdapter::RestrictionsOrState VideoStreamAdapter::DecreaseResolution(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2119
     const VideoStreamInputState& input_state,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2120
     const RestrictionsWithCounters& current_restrictions) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2121
   int target_pixels =
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2122
       GetLowerResolutionThan(input_state.frame_size_pixels().value());
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2123
   // Use single active stream if set, this stream could be lower than the input.
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2124
@@ -620,16 +623,18 @@ Adaptation VideoStreamAdapter::GetAdaptD
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2125
     case DegradationPreference::MAINTAIN_FRAMERATE:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2126
       return GetAdaptationDown();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2127
     case DegradationPreference::BALANCED: {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2128
       return RestrictionsOrStateToAdaptation(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2129
           GetAdaptDownResolutionStepForBalanced(input_state), input_state);
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2130
     }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2131
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2132
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2133
+  return RestrictionsOrStateToAdaptation(
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2134
+         Adaptation::Status::kAdaptationDisabled, input_state);
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2135
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2136
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2137
 VideoStreamAdapter::RestrictionsOrState
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2138
 VideoStreamAdapter::GetAdaptDownResolutionStepForBalanced(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2139
     const VideoStreamInputState& input_state) const {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2140
   // Adapt twice if the first adaptation did not decrease resolution.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2141
   auto first_step = GetAdaptationDownStep(input_state, current_restrictions_);
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2142
   if (!absl::holds_alternative<RestrictionsWithCounters>(first_step)) {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2143
diff --git a/third_party/libwebrtc/call/video_send_stream.cc b/third_party/libwebrtc/call/video_send_stream.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2144
--- a/third_party/libwebrtc/call/video_send_stream.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2145
+++ b/third_party/libwebrtc/call/video_send_stream.cc
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2146
@@ -25,16 +25,17 @@ const char* StreamTypeToString(VideoSend
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2147
     case VideoSendStream::StreamStats::StreamType::kMedia:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2148
       return "media";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2149
     case VideoSendStream::StreamStats::StreamType::kRtx:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2150
       return "rtx";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2151
     case VideoSendStream::StreamStats::StreamType::kFlexfec:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2152
       return "flexfec";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2153
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2154
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2155
+  return "";
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2156
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2157
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2158
 }  // namespace
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2159
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2160
 VideoSendStream::StreamStats::StreamStats() = default;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2161
 VideoSendStream::StreamStats::~StreamStats() = default;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2162
 
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2163
 std::string VideoSendStream::StreamStats::ToString() const {
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2164
diff --git a/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc b/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2165
--- a/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2166
+++ b/third_party/libwebrtc/modules/audio_processing/agc/clipping_predictor.cc
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2167
@@ -373,11 +373,12 @@ std::unique_ptr<ClippingPredictor> Creat
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2168
           /*adaptive_step_estimation=*/true);
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2169
     case ClippingPredictorMode::kFixedStepClippingPeakPrediction:
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2170
       return std::make_unique<ClippingPeakPredictor>(
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2171
           num_channels, config.window_length, config.reference_window_length,
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2172
           config.reference_window_delay, config.clipping_threshold,
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2173
           /*adaptive_step_estimation=*/false);
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2174
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2175
   RTC_DCHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2176
+  return nullptr;
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2177
 }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2178
 
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2179
 }  // namespace webrtc
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2180
diff --git a/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc b/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2181
--- a/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2182
+++ b/third_party/libwebrtc/modules/audio_processing/agc2/rnn_vad/rnn_fc.cc
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2183
@@ -54,16 +54,18 @@ std::vector<float> PreprocessWeights(rtc
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2184
 rtc::FunctionView<float(float)> GetActivationFunction(
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2185
     ActivationFunction activation_function) {
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2186
   switch (activation_function) {
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2187
     case ActivationFunction::kTansigApproximated:
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2188
       return ::rnnoise::TansigApproximated;
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2189
     case ActivationFunction::kSigmoidApproximated:
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2190
       return ::rnnoise::SigmoidApproximated;
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2191
   }
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2192
+  // supposed to be never reached apparently therefore returning bogus
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2193
+  return ::rnnoise::TansigApproximated;
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2194
 }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2195
 
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2196
 }  // namespace
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2197
 
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2198
 FullyConnectedLayer::FullyConnectedLayer(
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2199
     const int input_size,
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2200
     const int output_size,
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2201
     const rtc::ArrayView<const int8_t> bias,
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2202
diff --git a/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc b/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2203
--- a/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2204
+++ b/third_party/libwebrtc/modules/audio_processing/audio_processing_impl.cc
1184
1c3d3217d679 110.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1183
diff changeset
  2205
@@ -115,16 +115,17 @@ GainControl::Mode Agc1ConfigModeToInterf
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2206
     case Agc1Config::kAdaptiveAnalog:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2207
       return GainControl::kAdaptiveAnalog;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2208
     case Agc1Config::kAdaptiveDigital:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2209
       return GainControl::kAdaptiveDigital;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2210
     case Agc1Config::kFixedDigital:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2211
       return GainControl::kFixedDigital;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2212
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2213
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2214
+  return GainControl::kAdaptiveAnalog;
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2215
 }
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2216
 
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2217
 bool MinimizeProcessingForUnusedOutput() {
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2218
   return !field_trial::IsEnabled("WebRTC-MutedStateKillSwitch");
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2219
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2220
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2221
 // Maximum lengths that frame of samples being passed from the render side to
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2222
 // the capture side can have (does not apply to AEC3).
1185
da29365b0b2c Firefox 111.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1184
diff changeset
  2223
@@ -1980,16 +1981,17 @@ void AudioProcessingImpl::InitializeNois
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2224
             case NoiseSuppresionConfig::kModerate:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2225
               return NsConfig::SuppressionLevel::k12dB;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2226
             case NoiseSuppresionConfig::kHigh:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2227
               return NsConfig::SuppressionLevel::k18dB;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2228
             case NoiseSuppresionConfig::kVeryHigh:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2229
               return NsConfig::SuppressionLevel::k21dB;
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2230
           }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2231
           RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2232
+	  return NsConfig::SuppressionLevel::k6dB;
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2233
         };
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2234
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2235
     NsConfig cfg;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2236
     cfg.target_level = map_level(config_.noise_suppression.level);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2237
     submodules_.noise_suppressor = std::make_unique<NoiseSuppressor>(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2238
         cfg, proc_sample_rate_hz(), num_proc_channels());
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2239
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2240
 }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2241
diff --git a/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc b/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2242
--- a/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2243
+++ b/third_party/libwebrtc/modules/audio_processing/include/audio_processing.cc
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2244
@@ -27,28 +27,30 @@ std::string NoiseSuppressionLevelToStrin
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2245
     case AudioProcessing::Config::NoiseSuppression::Level::kModerate:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2246
       return "Moderate";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2247
     case AudioProcessing::Config::NoiseSuppression::Level::kHigh:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2248
       return "High";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2249
     case AudioProcessing::Config::NoiseSuppression::Level::kVeryHigh:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2250
       return "VeryHigh";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2251
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2252
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2253
+  return "";
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2254
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2255
 
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2256
 std::string GainController1ModeToString(const Agc1Config::Mode& mode) {
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2257
   switch (mode) {
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2258
     case Agc1Config::Mode::kAdaptiveAnalog:
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2259
       return "AdaptiveAnalog";
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2260
     case Agc1Config::Mode::kAdaptiveDigital:
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2261
       return "AdaptiveDigital";
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2262
     case Agc1Config::Mode::kFixedDigital:
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2263
       return "FixedDigital";
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2264
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2265
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2266
+  return "";
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2267
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2268
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2269
 }  // namespace
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2270
 
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2271
 constexpr int AudioProcessing::kNativeSampleRatesHz[];
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2272
 
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2273
 void CustomProcessing::SetRuntimeSetting(
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2274
     AudioProcessing::RuntimeSetting setting) {}
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2275
diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc b/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2276
--- a/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2277
+++ b/third_party/libwebrtc/modules/rtp_rtcp/source/create_video_rtp_depacketizer.cc
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2278
@@ -33,11 +33,12 @@ std::unique_ptr<VideoRtpDepacketizer> Cr
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2279
       return std::make_unique<VideoRtpDepacketizerVp9>();
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2280
     case kVideoCodecAV1:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2281
       return std::make_unique<VideoRtpDepacketizerAv1>();
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2282
     case kVideoCodecGeneric:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2283
     case kVideoCodecMultiplex:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2284
       return std::make_unique<VideoRtpDepacketizerGeneric>();
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2285
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2286
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2287
+  return nullptr;
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2288
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2289
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2290
 }  // namespace webrtc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2291
diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2292
--- a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2293
+++ b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender.cc
1183
e69790650e3c Firefox 109.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1182
diff changeset
  2294
@@ -137,16 +137,17 @@ bool IsNonVolatile(RTPExtensionType type
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2295
 #if defined(WEBRTC_MOZILLA_BUILD)
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2296
     case kRtpExtensionCsrcAudioLevel:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2297
       // TODO: Mozilla implement for CsrcAudioLevel
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2298
       RTC_CHECK(false);
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2299
       return false;
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2300
 #endif
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2301
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2302
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2303
+  return false;
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2304
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2305
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2306
 bool HasBweExtension(const RtpHeaderExtensionMap& extensions_map) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2307
   return extensions_map.IsRegistered(kRtpExtensionTransportSequenceNumber) ||
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2308
          extensions_map.IsRegistered(kRtpExtensionTransportSequenceNumber02) ||
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2309
          extensions_map.IsRegistered(kRtpExtensionAbsoluteSendTime) ||
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2310
          extensions_map.IsRegistered(kRtpExtensionTransmissionTimeOffset);
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2311
 }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2312
diff --git a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2313
--- a/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2314
+++ b/third_party/libwebrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc
1183
e69790650e3c Firefox 109.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1182
diff changeset
  2315
@@ -40,16 +40,17 @@ namespace {
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2316
     case AudioFrameType::kEmptyFrame:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2317
       return "empty";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2318
     case AudioFrameType::kAudioFrameSpeech:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2319
       return "audio_speech";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2320
     case AudioFrameType::kAudioFrameCN:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2321
       return "audio_cn";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2322
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2323
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2324
+  return "";
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2325
 }
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2326
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2327
 constexpr char kIncludeCaptureClockOffset[] =
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2328
     "WebRTC-IncludeCaptureClockOffset";
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2329
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2330
 }  // namespace
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2331
 
1183
e69790650e3c Firefox 109.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1182
diff changeset
  2332
 RTPSenderAudio::RTPSenderAudio(Clock* clock, RTPSender* rtp_sender)
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2333
diff --git a/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc b/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2334
--- a/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2335
+++ b/third_party/libwebrtc/modules/video_coding/codecs/vp8/temporal_layers_checker.cc
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2336
@@ -25,16 +25,17 @@ TemporalLayersChecker::CreateTemporalLay
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2337
     case Vp8TemporalLayersType::kFixedPattern:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2338
       return std::make_unique<DefaultTemporalLayersChecker>(
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2339
           num_temporal_layers);
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2340
     case Vp8TemporalLayersType::kBitrateDynamic:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2341
       // Conference mode temporal layering for screen content in base stream.
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2342
       return std::make_unique<TemporalLayersChecker>(num_temporal_layers);
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2343
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2344
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2345
+  return nullptr;
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2346
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2347
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2348
 TemporalLayersChecker::TemporalLayersChecker(int num_temporal_layers)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2349
     : num_temporal_layers_(num_temporal_layers),
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2350
       sequence_number_(0),
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2351
       last_sync_sequence_number_(0),
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2352
       last_tl0_sequence_number_(0) {}
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2353
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2354
diff --git a/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc b/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2355
--- a/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2356
+++ b/third_party/libwebrtc/video/adaptation/video_stream_encoder_resource_manager.cc
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2357
@@ -58,16 +58,17 @@ bool IsFramerateScalingEnabled(Degradati
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2358
 std::string ToString(VideoAdaptationReason reason) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2359
   switch (reason) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2360
     case VideoAdaptationReason::kQuality:
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2361
       return "quality";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2362
     case VideoAdaptationReason::kCpu:
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2363
       return "cpu";
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2364
   }
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2365
   RTC_CHECK_NOTREACHED();
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2366
+  return "";
1175
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2367
 }
4c6576f9cf04 Firefox 102.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1174
diff changeset
  2368
 
1180
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2369
 std::vector<bool> GetActiveLayersFlags(const VideoCodec& codec) {
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2370
   std::vector<bool> flags;
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2371
   if (codec.codecType == VideoCodecType::kVideoCodecVP9) {
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2372
     flags.resize(codec.VP9().numberOfSpatialLayers);
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2373
     for (size_t i = 0; i < flags.size(); ++i) {
d76083122710 Firefox 106.0.5
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1179
diff changeset
  2374
       flags[i] = codec.spatialLayers[i].active;
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2375
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2376
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2377
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ast_to_hir.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2378
@@ -2646,16 +2646,17 @@ get_type_name_for_precision_qualifier(co
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2379
          unreachable("Unsupported sampler/image type");
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2380
       } /* sampler/image type */
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2381
       break;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2382
    } /* GLSL_TYPE_SAMPLER/GLSL_TYPE_IMAGE */
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2383
    break;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2384
    default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2385
       unreachable("Unsupported type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2386
    } /* base type */
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2387
+   return "";
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2388
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2389
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2390
 static unsigned
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2391
 select_gles_precision(unsigned qual_precision,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2392
                       const glsl_type *type,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2393
                       struct _mesa_glsl_parse_state *state, YYLTYPE *loc)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2394
 {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2395
    /* Precision qualifiers do not have any meaning in Desktop GLSL.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2396
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2397
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2398
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/ir.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2399
@@ -619,16 +619,17 @@ ir_expression::get_num_operands(ir_expre
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2400
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2401
    if (op <= ir_last_triop)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2402
       return 3;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2403
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2404
    if (op <= ir_last_quadop)
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2405
       return 4;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2406
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2407
    unreachable("Could not calculate number of operands");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2408
+   return -1;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2409
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2410
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2411
 #include "ir_expression_operation_strings.h"
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2412
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2413
 const char*
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2414
 depth_layout_string(ir_depth_layout layout)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2415
 {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2416
    switch(layout) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2417
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/loop_analysis.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/loop_analysis.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2418
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/loop_analysis.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2419
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/loop_analysis.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2420
@@ -234,16 +234,17 @@ incremented_before_terminator(ir_loop *l
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2421
       }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2422
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2423
       default:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2424
          break;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2425
       }
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2426
    }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2427
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2428
    unreachable("Unable to find induction variable");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2429
+   return false;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2430
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2431
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2432
 /**
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2433
  * Record the fact that the given loop variable was referenced inside the loop.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2434
  *
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2435
  * \arg in_assignee is true if the reference was on the LHS of an assignment.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2436
  *
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2437
  * \arg in_conditional_code_or_nested_loop is true if the reference occurred
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2438
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2439
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2440
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl/opt_vectorize.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2441
@@ -224,16 +224,17 @@ write_mask_to_swizzle(unsigned write_mas
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2442
 {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2443
    switch (write_mask) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2444
    case WRITEMASK_X: return SWIZZLE_X;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2445
    case WRITEMASK_Y: return SWIZZLE_Y;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2446
    case WRITEMASK_Z: return SWIZZLE_Z;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2447
    case WRITEMASK_W: return SWIZZLE_W;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2448
    }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2449
    unreachable("not reached");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2450
+   return 0;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2451
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2452
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2453
 /**
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2454
  * Returns whether a single-channeled write mask matches a swizzle.
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2455
  */
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2456
 static bool
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2457
 write_mask_matches_swizzle(unsigned write_mask,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2458
                            const ir_swizzle *swz)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2459
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.cpp b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2460
--- a/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2461
+++ b/third_party/rust/glslopt/glsl-optimizer/src/compiler/glsl_types.cpp
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2462
@@ -455,16 +455,17 @@ const glsl_type *glsl_type::get_bare_typ
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2463
    case GLSL_TYPE_VOID:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2464
    case GLSL_TYPE_SUBROUTINE:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2465
    case GLSL_TYPE_FUNCTION:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2466
    case GLSL_TYPE_ERROR:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2467
       return this;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2468
    }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2469
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2470
    unreachable("Invalid base type");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2471
+   return nullptr;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2472
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2473
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2474
 const glsl_type *glsl_type::get_float16_type() const
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2475
 {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2476
    assert(this->base_type == GLSL_TYPE_FLOAT);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2477
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2478
    return get_instance(GLSL_TYPE_FLOAT16,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2479
                        this->vector_elements,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2480
@@ -2011,16 +2012,17 @@ glsl_type::get_explicit_std140_type(bool
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2481
                                        (enum glsl_interface_packing)this->interface_packing,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2482
                                        this->interface_row_major,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2483
                                        this->name);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2484
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2485
       delete[] fields;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2486
       return type;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2487
    } else {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2488
       unreachable("Invalid type for UBO or SSBO");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2489
+      return nullptr;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2490
    }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2491
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2492
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2493
 unsigned
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2494
 glsl_type::std430_base_alignment(bool row_major) const
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2495
 {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2496
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2497
    unsigned N = is_64bit() ? 8 : 4;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2498
@@ -2369,16 +2371,17 @@ glsl_type::get_explicit_std430_type(bool
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2499
                                        (enum glsl_interface_packing)this->interface_packing,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2500
                                        this->interface_row_major,
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2501
                                        this->name);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2502
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2503
       delete[] fields;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2504
       return type;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2505
    } else {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2506
       unreachable("Invalid type for SSBO");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2507
+      return nullptr;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2508
    }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2509
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2510
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2511
 const glsl_type *
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2512
 glsl_type::get_explicit_interface_type(bool supports_std430) const
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2513
 {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2514
    enum glsl_interface_packing packing =
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2515
       this->get_internal_ifc_packing(supports_std430);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2516
@@ -2443,16 +2446,17 @@ glsl_type::get_explicit_type_for_size_al
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2517
       unsigned stride = align(col_size, col_align);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2518
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2519
       *size = this->matrix_columns * stride;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2520
       *alignment = col_align;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2521
       return glsl_type::get_instance(this->base_type, this->vector_elements,
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2522
                                      this->matrix_columns, stride, false);
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2523
    } else {
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2524
       unreachable("Unhandled type.");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2525
+      return nullptr;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2526
    }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2527
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2528
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2529
 unsigned
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2530
 glsl_type::count_vec4_slots(bool is_gl_vertex_input, bool is_bindless) const
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2531
 {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2532
    /* From page 31 (page 37 of the PDF) of the GLSL 1.50 spec:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2533
     *
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2534
@@ -2943,12 +2947,13 @@ glsl_get_sampler_dim_coordinate_componen
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2535
    case GLSL_SAMPLER_DIM_SUBPASS:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2536
    case GLSL_SAMPLER_DIM_SUBPASS_MS:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2537
       return 2;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2538
    case GLSL_SAMPLER_DIM_3D:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2539
    case GLSL_SAMPLER_DIM_CUBE:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2540
       return 3;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2541
    default:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2542
       unreachable("Unknown sampler dim");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2543
+      return -1;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2544
    }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2545
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2546
 
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2547
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2548
diff --git a/third_party/rust/glslopt/glsl-optimizer/src/mesa/main/shaderobj.h b/third_party/rust/glslopt/glsl-optimizer/src/mesa/main/shaderobj.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2549
--- a/third_party/rust/glslopt/glsl-optimizer/src/mesa/main/shaderobj.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2550
+++ b/third_party/rust/glslopt/glsl-optimizer/src/mesa/main/shaderobj.h
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2551
@@ -180,16 +180,17 @@ static inline gl_shader_stage
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2552
    case GL_COMPUTE_SUBROUTINE_UNIFORM:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2553
       return MESA_SHADER_COMPUTE;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2554
    case GL_TESS_CONTROL_SUBROUTINE_UNIFORM:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2555
       return MESA_SHADER_TESS_CTRL;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2556
    case GL_TESS_EVALUATION_SUBROUTINE_UNIFORM:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2557
       return MESA_SHADER_TESS_EVAL;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2558
    }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2559
    unreachable("not reached");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2560
+   return MESA_SHADER_NONE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2561
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2562
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2563
 static inline gl_shader_stage
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2564
 _mesa_shader_stage_from_subroutine(GLenum subroutine)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2565
 {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2566
    switch (subroutine) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2567
    case GL_VERTEX_SUBROUTINE:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2568
       return MESA_SHADER_VERTEX;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2569
@@ -200,16 +201,17 @@ static inline gl_shader_stage
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2570
    case GL_COMPUTE_SUBROUTINE:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2571
       return MESA_SHADER_COMPUTE;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2572
    case GL_TESS_CONTROL_SUBROUTINE:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2573
       return MESA_SHADER_TESS_CTRL;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2574
    case GL_TESS_EVALUATION_SUBROUTINE:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2575
       return MESA_SHADER_TESS_EVAL;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2576
    }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2577
    unreachable("not reached");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2578
+   return MESA_SHADER_NONE;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2579
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2580
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2581
 static inline GLenum
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2582
 _mesa_shader_stage_to_subroutine(gl_shader_stage stage)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2583
 {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2584
    switch (stage) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2585
    case MESA_SHADER_VERTEX:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2586
       return GL_VERTEX_SUBROUTINE;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2587
@@ -225,16 +227,17 @@ static inline GLenum
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2588
       return GL_TESS_EVALUATION_SUBROUTINE;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2589
    case MESA_SHADER_NONE:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2590
       break;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2591
    case MESA_SHADER_KERNEL:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2592
       unreachable("not reached");
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2593
       break;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2594
    }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2595
    unreachable("not reached");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2596
+   return GL_VERTEX_PROGRAM_ARB;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2597
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2598
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2599
 static inline GLenum
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2600
 _mesa_shader_stage_to_subroutine_uniform(gl_shader_stage stage)
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2601
 {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2602
    switch (stage) {
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2603
    case MESA_SHADER_VERTEX:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2604
       return GL_VERTEX_SUBROUTINE_UNIFORM;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2605
@@ -248,16 +251,17 @@ static inline GLenum
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2606
       return GL_TESS_CONTROL_SUBROUTINE_UNIFORM;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2607
    case MESA_SHADER_TESS_EVAL:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2608
       return GL_TESS_EVALUATION_SUBROUTINE_UNIFORM;
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2609
    case MESA_SHADER_NONE:
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2610
    case MESA_SHADER_KERNEL:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2611
       break;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2612
    }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2613
    unreachable("not reached");
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2614
+   return GL_VERTEX_PROGRAM_ARB;
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2615
 }
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2616
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
  2617
 extern bool
1177
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2618
 _mesa_validate_pipeline_io(struct gl_pipeline_object *);
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2619
 
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2620
 #ifdef __cplusplus
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2621
 }
4bb6d80fcc64 Firefox 103.0.2
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1175
diff changeset
  2622
 #endif