Skip to content

Commit 67ac0f5

Browse files
Bug 1943149 - chore(swgl): cargo +1.84 fmt r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D235502
1 parent 9721fe5 commit 67ac0f5

File tree

1 file changed

+59
-40
lines changed

1 file changed

+59
-40
lines changed

swgl/build.rs

Lines changed: 59 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ extern crate webrender_build;
88

99
use std::collections::HashSet;
1010
use std::fmt::Write;
11-
use webrender_build::shader::{ShaderFeatureFlags, get_shader_features};
11+
use webrender_build::shader::{get_shader_features, ShaderFeatureFlags};
1212

1313
// Shader key is in "name feature,feature" format.
1414
// File name needs to be formatted as "name_feature_feature".
@@ -23,22 +23,35 @@ fn write_load_shader(shader_keys: &[String]) {
2323
}
2424
load_shader.push_str("ProgramLoader load_shader(const char* name) {\n");
2525
for s in shader_keys {
26-
let _ = write!(load_shader, " if (!strcmp(name, \"{}\")) {{ return {}_program::loader; }}\n",
27-
s, shader_file(s));
26+
let _ = write!(
27+
load_shader,
28+
" if (!strcmp(name, \"{}\")) {{ return {}_program::loader; }}\n",
29+
s,
30+
shader_file(s)
31+
);
2832
}
2933
load_shader.push_str(" return nullptr;\n}\n");
30-
std::fs::write(std::env::var("OUT_DIR").unwrap() + "/load_shader.h", load_shader).unwrap();
34+
std::fs::write(
35+
std::env::var("OUT_DIR").unwrap() + "/load_shader.h",
36+
load_shader,
37+
)
38+
.unwrap();
3139
}
3240

33-
fn process_imports(shader_dir: &str, shader: &str, included: &mut HashSet<String>, output: &mut String) {
41+
fn process_imports(
42+
shader_dir: &str,
43+
shader: &str,
44+
included: &mut HashSet<String>,
45+
output: &mut String,
46+
) {
3447
if !included.insert(shader.into()) {
3548
return;
3649
}
3750
println!("cargo:rerun-if-changed={}/{}.glsl", shader_dir, shader);
3851
let source = std::fs::read_to_string(format!("{}/{}.glsl", shader_dir, shader)).unwrap();
3952
for line in source.lines() {
4053
if line.starts_with("#include ") {
41-
let imports = line["#include ".len() ..].split(',');
54+
let imports = line["#include ".len()..].split(',');
4255
for import in imports {
4356
process_imports(shader_dir, import, included, output);
4457
}
@@ -57,8 +70,11 @@ fn translate_shader(
5770
suppressed_env_vars: &mut Option<Vec<EnvVarGuard>>,
5871
) {
5972
let mut imported = String::from("#define SWGL 1\n#define __VERSION__ 150\n");
60-
let _ = write!(imported, "#define WR_MAX_VERTEX_TEXTURE_WIDTH {}U\n",
61-
webrender_build::MAX_VERTEX_TEXTURE_WIDTH);
73+
let _ = write!(
74+
imported,
75+
"#define WR_MAX_VERTEX_TEXTURE_WIDTH {}U\n",
76+
webrender_build::MAX_VERTEX_TEXTURE_WIDTH
77+
);
6278

6379
let (basename, features) =
6480
shader_key.split_at(shader_key.find(' ').unwrap_or(shader_key.len()));
@@ -112,38 +128,36 @@ fn translate_shader(
112128
}
113129
}
114130
build.file(&imp_name);
115-
let vs = build.clone()
116-
.define("WR_VERTEX_SHADER", Some("1"))
117-
.expand();
118-
let fs = build.clone()
131+
let vs = build.clone().define("WR_VERTEX_SHADER", Some("1")).expand();
132+
let fs = build
133+
.clone()
119134
.define("WR_FRAGMENT_SHADER", Some("1"))
120135
.expand();
121136
let vs_name = format!("{}/{}.vert", out_dir, shader);
122137
let fs_name = format!("{}/{}.frag", out_dir, shader);
123138
std::fs::write(&vs_name, vs).unwrap();
124139
std::fs::write(&fs_name, fs).unwrap();
125140

126-
let args = vec![
127-
"glsl_to_cxx".to_string(),
128-
vs_name,
129-
fs_name,
130-
];
141+
let args = vec!["glsl_to_cxx".to_string(), vs_name, fs_name];
131142
let result = glsl_to_cxx::translate(&mut args.into_iter());
132143
std::fs::write(format!("{}/{}.h", out_dir, shader), result).unwrap();
133144
}
134145

135146
fn main() {
136147
let shader_dir = std::env::var("CARGO_MANIFEST_DIR").unwrap() + "/../webrender/res";
137148

138-
let shader_flags =
139-
ShaderFeatureFlags::GL |
140-
ShaderFeatureFlags::DUAL_SOURCE_BLENDING |
141-
ShaderFeatureFlags::ADVANCED_BLEND_EQUATION |
142-
ShaderFeatureFlags::DEBUG;
149+
let shader_flags = ShaderFeatureFlags::GL
150+
| ShaderFeatureFlags::DUAL_SOURCE_BLENDING
151+
| ShaderFeatureFlags::ADVANCED_BLEND_EQUATION
152+
| ShaderFeatureFlags::DEBUG;
143153
let mut shaders: Vec<String> = Vec::new();
144154
for (name, features) in get_shader_features(shader_flags) {
145155
shaders.extend(features.iter().map(|f| {
146-
if f.is_empty() { name.to_owned() } else { format!("{} {}", name, f) }
156+
if f.is_empty() {
157+
name.to_owned()
158+
} else {
159+
format!("{} {}", name, f)
160+
}
147161
}));
148162
}
149163

@@ -172,16 +186,18 @@ fn main() {
172186

173187
if let Ok(tool) = build.try_get_compiler() {
174188
if tool.is_like_msvc() {
175-
build.flag("/std:c++17")
176-
.flag("/EHs-")
177-
.flag("/GR-")
178-
.flag("/UMOZILLA_CONFIG_H");
189+
build
190+
.flag("/std:c++17")
191+
.flag("/EHs-")
192+
.flag("/GR-")
193+
.flag("/UMOZILLA_CONFIG_H");
179194
} else {
180-
build.flag("-std=c++17")
181-
.flag("-fno-exceptions")
182-
.flag("-fno-rtti")
183-
.flag("-fno-math-errno")
184-
.flag("-UMOZILLA_CONFIG_H");
195+
build
196+
.flag("-std=c++17")
197+
.flag("-fno-exceptions")
198+
.flag("-fno-rtti")
199+
.flag("-fno-math-errno")
200+
.flag("-UMOZILLA_CONFIG_H");
185201
}
186202
// SWGL relies heavily on inlining for performance so override -Oz with -O2
187203
if tool.args().contains(&"-Oz".into()) {
@@ -197,20 +213,23 @@ fn main() {
197213
// probably explicitly use reciprocal instructions and avoid the refinement step.
198214
// Also, allow checks for non-finite values which fast-math may disable.
199215
if tool.is_like_msvc() {
200-
build.flag("/fp:fast")
201-
.flag("-Xclang")
202-
.flag("-mrecip=none")
203-
.flag("/clang:-fno-finite-math-only");
216+
build
217+
.flag("/fp:fast")
218+
.flag("-Xclang")
219+
.flag("-mrecip=none")
220+
.flag("/clang:-fno-finite-math-only");
204221
} else if tool.is_like_clang() {
205222
// gcc only supports -mrecip=none on some targets so to keep
206223
// things simple we don't use -ffast-math with gcc at all
207-
build.flag("-ffast-math")
208-
.flag("-mrecip=none")
209-
.flag("-fno-finite-math-only");
224+
build
225+
.flag("-ffast-math")
226+
.flag("-mrecip=none")
227+
.flag("-fno-finite-math-only");
210228
}
211229
}
212230

213-
build.file("src/gl.cc")
231+
build
232+
.file("src/gl.cc")
214233
.define("_GLIBCXX_USE_CXX11_ABI", Some("0"))
215234
.include(shader_dir)
216235
.include("src")

0 commit comments

Comments
 (0)