This is an automated email from the git hooks/post-receive script.
richard pushed a commit to branch tor-browser-91.11.0esr-11.5-1 in repository tor-browser.
commit 7ab788b1ca3f84189c113d1695cd53c409f58641 Author: Lee Salzman lsalzman@mozilla.com AuthorDate: Thu Jun 2 03:19:07 2022 +0000
Bug 1771932 - Use more initializer lists in glsl.h. r=gw a=RyanVM
Avoid assigning to fields in the constructor body when it is constexpr.
Differential Revision: https://phabricator.services.mozilla.com/D148093 --- gfx/wr/swgl/src/glsl.h | 51 ++++++++++++++------------------------------------ 1 file changed, 14 insertions(+), 37 deletions(-)
diff --git a/gfx/wr/swgl/src/glsl.h b/gfx/wr/swgl/src/glsl.h index 3be1e49d1b2a1..01fcd4e2ca231 100644 --- a/gfx/wr/swgl/src/glsl.h +++ b/gfx/wr/swgl/src/glsl.h @@ -2255,14 +2255,9 @@ struct mat2_scalar { vec2_scalar data[2];
mat2_scalar() = default; - IMPLICIT constexpr mat2_scalar(float a) { - data[0] = vec2_scalar(a); - data[1] = vec2_scalar(a); - } - constexpr mat2_scalar(vec2_scalar a, vec2_scalar b) { - data[0] = a; - data[1] = b; - } + IMPLICIT constexpr mat2_scalar(float a) + : data{vec2_scalar(a), vec2_scalar(a)} {} + constexpr mat2_scalar(vec2_scalar a, vec2_scalar b) : data{a, b} {} IMPLICIT mat2_scalar(const mat4_scalar& mat);
vec2_scalar& operator[](int index) { return data[index]; } @@ -2352,11 +2347,8 @@ struct mat3_scalar { vec3_scalar data[3];
mat3_scalar() = default; - constexpr mat3_scalar(vec3_scalar a, vec3_scalar b, vec3_scalar c) { - data[0] = a; - data[1] = b; - data[2] = c; - } + constexpr mat3_scalar(vec3_scalar a, vec3_scalar b, vec3_scalar c) + : data{a, b, c} {} IMPLICIT mat3_scalar(const mat4_scalar& mat);
vec3_scalar& operator[](int index) { return data[index]; } @@ -2453,11 +2445,8 @@ struct mat3x4_scalar { vec4_scalar data[3];
mat3x4_scalar() = default; - constexpr mat3x4_scalar(vec4_scalar a, vec4_scalar b, vec4_scalar c) { - data[0] = a; - data[1] = b; - data[2] = c; - } + constexpr mat3x4_scalar(vec4_scalar a, vec4_scalar b, vec4_scalar c) + : data{a, b, c} {}
auto& operator[](int index) { return data[index]; } constexpr auto operator[](int index) const { return data[index]; } @@ -2496,12 +2485,8 @@ struct mat4x3_scalar {
mat4x3_scalar() = default; constexpr mat4x3_scalar(vec3_scalar a, vec3_scalar b, vec3_scalar c, - vec3_scalar d) { - data[0] = a; - data[1] = b; - data[2] = c; - data[3] = d; - } + vec3_scalar d) + : data{a, b, c, d} {}
auto& operator[](int index) { return data[index]; } constexpr auto operator[](int index) const { return data[index]; } @@ -2535,24 +2520,16 @@ struct mat4_scalar {
mat4_scalar() = default; constexpr mat4_scalar(vec4_scalar a, vec4_scalar b, vec4_scalar c, - vec4_scalar d) { - data[0] = a; - data[1] = b; - data[2] = c; - data[3] = d; - } + vec4_scalar d) + : data{a, b, c, d} {}
vec4_scalar& operator[](int index) { return data[index]; } const vec4_scalar& operator[](int index) const { return data[index]; }
static mat4_scalar load_from_ptr(const float* f) { - mat4_scalar m; - // XXX: hopefully this is in the right order - m.data[0] = vec4_scalar{f[0], f[1], f[2], f[3]}; - m.data[1] = vec4_scalar{f[4], f[5], f[6], f[7]}; - m.data[2] = vec4_scalar{f[8], f[9], f[10], f[11]}; - m.data[3] = vec4_scalar{f[12], f[13], f[14], f[15]}; - return m; + return mat4_scalar( + vec4_scalar::load_from_ptr(&f[0]), vec4_scalar::load_from_ptr(&f[4]), + vec4_scalar::load_from_ptr(&f[8]), vec4_scalar::load_from_ptr(&f[12])); }
friend vec4_scalar operator*(mat4_scalar m, vec4_scalar v) {