Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update parallel raytracing .gitignore #3606

Merged
merged 6 commits into from
Sep 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions examples/raytrace-parallel/.gitignore

This file was deleted.

4 changes: 1 addition & 3 deletions examples/raytrace-parallel/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,7 @@ online][compiled]
You can build the example locally with:

```
$ ./run.sh
$ python3 run.py
```

(or running the commands on Windows manually)

and then visiting http://localhost:8080 in a browser should run the example!
57 changes: 57 additions & 0 deletions examples/raytrace-parallel/build.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#!/usr/bin/env python3
import os
import subprocess

root_dir = os.path.dirname(__file__)

# A couple of steps are necessary to get this build working which makes it slightly
# nonstandard compared to most other builds.
#
# * First, the Rust standard library needs to be recompiled with atomics
# enabled. to do that we use Cargo's unstable `-Zbuild-std` feature.
#
# * Next we need to compile everything with the `atomics` and `bulk-memory`
# features enabled, ensuring that LLVM will generate atomic instructions,
# shared memory, passive segments, etc.

os.environ.update(
{"RUSTFLAGS": "-C target-feature=+atomics,+bulk-memory,+mutable-globals"}
)

subprocess.run(
[
"cargo",
"build",
"--target",
"wasm32-unknown-unknown",
"--release",
"-Zbuild-std=std,panic_abort",
],
cwd=root_dir,
).check_returncode()

# Note the usage of `--target no-modules` here which is required for passing
# the memory import to each wasm module.
subprocess.run(
[
"cargo",
"run",
"-p",
"wasm-bindgen-cli",
"--",
os.path.join(
root_dir,
"..",
"..",
"target",
"wasm32-unknown-unknown",
"release",
"raytrace_parallel.wasm",
),
"--out-dir",
os.path.join(root_dir, "pkg"),
"--target",
"no-modules",
],
cwd=root_dir,
).check_returncode()
20 changes: 1 addition & 19 deletions examples/raytrace-parallel/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,4 @@

set -ex

# A couple of steps are necessary to get this build working which makes it slightly
# nonstandard compared to most other builds.
#
# * First, the Rust standard library needs to be recompiled with atomics
# enabled. to do that we use Cargo's unstable `-Zbuild-std` feature.
#
# * Next we need to compile everything with the `atomics` and `bulk-memory`
# features enabled, ensuring that LLVM will generate atomic instructions,
# shared memory, passive segments, etc.

RUSTFLAGS='-C target-feature=+atomics,+bulk-memory,+mutable-globals' \
cargo build --target wasm32-unknown-unknown --release -Z build-std=std,panic_abort

# Note the usage of `--target no-modules` here which is required for passing
# the memory import to each wasm module.
cargo run -p wasm-bindgen-cli -- \
../../target/wasm32-unknown-unknown/release/raytrace_parallel.wasm \
--out-dir . \
--target no-modules
python3 build.py
2 changes: 1 addition & 1 deletion examples/raytrace-parallel/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,7 @@
document.getElementById('render').disabled = true;
document.getElementById('concurrency').disabled = true;
</script>
<script src='raytrace_parallel.js'></script>
<script src='pkg/raytrace_parallel.js'></script>
<script src='index.js'></script>
</body>
</html>
9 changes: 9 additions & 0 deletions examples/raytrace-parallel/run.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/usr/bin/env python3
import os
import subprocess

root_dir = os.path.dirname(__file__)

subprocess.run(["python3", "build.py"], cwd=root_dir).check_returncode()

subprocess.run(["python3", "server.py"], cwd=root_dir).check_returncode()
2 changes: 1 addition & 1 deletion examples/raytrace-parallel/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

set -ex

./build.sh
python3 build.py

python3 server.py
2 changes: 1 addition & 1 deletion examples/raytrace-parallel/worker.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// synchronously, using the browser, import out shim JS scripts
importScripts('raytrace_parallel.js');
importScripts('pkg/raytrace_parallel.js');

// Wait for the main thread to send us the shared module/memory. Once we've got
// it, initialize it all with the `wasm_bindgen` global we imported via
Expand Down
2 changes: 1 addition & 1 deletion examples/wasm-audio-worklet/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ online][compiled]
You can build the example locally with:

```
$ ./run.sh
$ python3 run.py
```

(or running the commands on Windows manually)
Expand Down
58 changes: 58 additions & 0 deletions examples/wasm-audio-worklet/build.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#!/usr/bin/env python3
import os
import subprocess

root_dir = os.path.dirname(__file__)

# A couple of steps are necessary to get this build working which makes it slightly
# nonstandard compared to most other builds.
#
# * First, the Rust standard library needs to be recompiled with atomics
# enabled. to do that we use Cargo's unstable `-Zbuild-std` feature.
#
# * Next we need to compile everything with the `atomics` and `bulk-memory`
# features enabled, ensuring that LLVM will generate atomic instructions,
# shared memory, passive segments, etc.

os.environ.update(
{"RUSTFLAGS": "-C target-feature=+atomics,+bulk-memory,+mutable-globals"}
)

subprocess.run(
[
"cargo",
"build",
"--target",
"wasm32-unknown-unknown",
"--release",
"-Zbuild-std=std,panic_abort",
],
cwd=root_dir,
).check_returncode()

# Note the usage of `--target no-modules` here which is required for passing
# the memory import to each wasm module.
subprocess.run(
[
"cargo",
"run",
"-p",
"wasm-bindgen-cli",
"--",
os.path.join(
root_dir,
"..",
"..",
"target",
"wasm32-unknown-unknown",
"release",
"wasm_audio_worklet.wasm",
),
"--out-dir",
os.path.join(root_dir, "pkg"),
"--target",
"web",
"--split-linked-modules",
],
cwd=root_dir,
).check_returncode()
19 changes: 1 addition & 18 deletions examples/wasm-audio-worklet/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,4 @@

set -ex

# A couple of steps are necessary to get this build working which makes it slightly
# nonstandard compared to most other builds.
#
# * First, the Rust standard library needs to be recompiled with atomics
# enabled. to do that we use Cargo's unstable `-Zbuild-std` feature.
#
# * Next we need to compile everything with the `atomics` and `bulk-memory`
# features enabled, ensuring that LLVM will generate atomic instructions,
# shared memory, passive segments, etc.

RUSTFLAGS='-C target-feature=+atomics,+bulk-memory,+mutable-globals' \
cargo build --target wasm32-unknown-unknown --release -Z build-std=std,panic_abort

cargo run -p wasm-bindgen-cli -- \
../../target/wasm32-unknown-unknown/release/wasm_audio_worklet.wasm \
--out-dir . \
--target web \
--split-linked-modules
python3 build.py
2 changes: 1 addition & 1 deletion examples/wasm-audio-worklet/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
</head>
<body>
<script type="module">
import init, {web_main} from "./wasm_audio_worklet.js";
import init, {web_main} from "./pkg/wasm_audio_worklet.js";
async function run() {
await init();
web_main();
Expand Down
9 changes: 9 additions & 0 deletions examples/wasm-audio-worklet/run.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#!/usr/bin/env python3
import os
import subprocess

root_dir = os.path.dirname(__file__)

subprocess.run(["python3", "build.py"], cwd=root_dir).check_returncode()

subprocess.run(["python3", "server.py"], cwd=root_dir).check_returncode()
2 changes: 1 addition & 1 deletion examples/wasm-audio-worklet/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

set -ex

./build.sh
python3 build.py

python3 server.py