diff --git a/.github/workflows/clippy.sh b/.github/workflows/clippy.sh index bd7873b27c..01b1dc720e 100755 --- a/.github/workflows/clippy.sh +++ b/.github/workflows/clippy.sh @@ -28,10 +28,10 @@ function clippy_no_features() { } # Core crates -clippy spirv-tools-sys -clippy spirv-tools -clippy rustc_codegen_spirv -clippy spirv-builder +clippy crates/spirv-tools-sys +clippy crates/spirv-tools +clippy crates/rustc_codegen_spirv +clippy crates/spirv-builder # Examples diff --git a/.github/workflows/docs.sh b/.github/workflows/docs.sh index 44dd0d1765..4d3c3ace7a 100755 --- a/.github/workflows/docs.sh +++ b/.github/workflows/docs.sh @@ -17,8 +17,8 @@ function doc() { } # Core crates only! -cargo doc --manifest-path "spirv-std/Cargo.toml" -doc spirv-tools-sys -doc spirv-tools -doc rustc_codegen_spirv -doc spirv-builder +cargo doc --manifest-path "crates/spirv-std/Cargo.toml" +doc crates/spirv-tools-sys +doc crates/spirv-tools +doc crates/rustc_codegen_spirv +doc crates/spirv-builder diff --git a/.github/workflows/test.sh b/.github/workflows/test.sh index a87fbf6016..ad6c762263 100755 --- a/.github/workflows/test.sh +++ b/.github/workflows/test.sh @@ -37,10 +37,10 @@ function cargo_test_no_features() { } # Core crates -cargo_test spirv-tools-sys -cargo_test spirv-tools -cargo_test rustc_codegen_spirv -cargo_test spirv-builder +cargo_test crates/spirv-tools-sys +cargo_test crates/spirv-tools +cargo_test crates/rustc_codegen_spirv +cargo_test crates/spirv-builder # Examples # See: https://github.com/EmbarkStudios/rust-gpu/issues/84 diff --git a/.gitmodules b/.gitmodules index 415c626312..66a4cf12ed 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,7 +1,7 @@ [submodule "spirv-tools-sys/spirv-headers"] - path = spirv-tools-sys/spirv-headers + path = crates/spirv-tools-sys/spirv-headers url = https://github.com/KhronosGroup/SPIRV-Headers.git [submodule "spirv-tools-sys/spirv-tools"] - path = spirv-tools-sys/spirv-tools + path = crates/spirv-tools-sys/spirv-tools url = https://github.com/EmbarkStudios/SPIRV-Tools.git branch = patch-to-string diff --git a/Cargo.toml b/Cargo.toml index 94a8527db5..ba6c57d754 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,11 +5,11 @@ members = [ "examples/runners/wgpu", "examples/shaders/sky-shader", "examples/shaders/simplest-shader", - "rustc_codegen_spirv", - "spirv-builder", - "spirv-std", - "spirv-tools", - "spirv-tools-sys", + "crates/rustc_codegen_spirv", + "crates/spirv-builder", + "crates/spirv-std", + "crates/spirv-tools", + "crates/spirv-tools-sys", ] [patch.crates-io] diff --git a/rustc_codegen_spirv/Cargo.toml b/crates/rustc_codegen_spirv/Cargo.toml similarity index 100% rename from rustc_codegen_spirv/Cargo.toml rename to crates/rustc_codegen_spirv/Cargo.toml diff --git a/rustc_codegen_spirv/src/abi.rs b/crates/rustc_codegen_spirv/src/abi.rs similarity index 100% rename from rustc_codegen_spirv/src/abi.rs rename to crates/rustc_codegen_spirv/src/abi.rs diff --git a/rustc_codegen_spirv/src/builder/builder_methods.rs b/crates/rustc_codegen_spirv/src/builder/builder_methods.rs similarity index 100% rename from rustc_codegen_spirv/src/builder/builder_methods.rs rename to crates/rustc_codegen_spirv/src/builder/builder_methods.rs diff --git a/rustc_codegen_spirv/src/builder/ext_inst.rs b/crates/rustc_codegen_spirv/src/builder/ext_inst.rs similarity index 100% rename from rustc_codegen_spirv/src/builder/ext_inst.rs rename to crates/rustc_codegen_spirv/src/builder/ext_inst.rs diff --git a/rustc_codegen_spirv/src/builder/intrinsics.rs b/crates/rustc_codegen_spirv/src/builder/intrinsics.rs similarity index 100% rename from rustc_codegen_spirv/src/builder/intrinsics.rs rename to crates/rustc_codegen_spirv/src/builder/intrinsics.rs diff --git a/rustc_codegen_spirv/src/builder/mod.rs b/crates/rustc_codegen_spirv/src/builder/mod.rs similarity index 100% rename from rustc_codegen_spirv/src/builder/mod.rs rename to crates/rustc_codegen_spirv/src/builder/mod.rs diff --git a/rustc_codegen_spirv/src/builder_spirv.rs b/crates/rustc_codegen_spirv/src/builder_spirv.rs similarity index 100% rename from rustc_codegen_spirv/src/builder_spirv.rs rename to crates/rustc_codegen_spirv/src/builder_spirv.rs diff --git a/rustc_codegen_spirv/src/codegen_cx/constant.rs b/crates/rustc_codegen_spirv/src/codegen_cx/constant.rs similarity index 100% rename from rustc_codegen_spirv/src/codegen_cx/constant.rs rename to crates/rustc_codegen_spirv/src/codegen_cx/constant.rs diff --git a/rustc_codegen_spirv/src/codegen_cx/declare.rs b/crates/rustc_codegen_spirv/src/codegen_cx/declare.rs similarity index 100% rename from rustc_codegen_spirv/src/codegen_cx/declare.rs rename to crates/rustc_codegen_spirv/src/codegen_cx/declare.rs diff --git a/rustc_codegen_spirv/src/codegen_cx/entry.rs b/crates/rustc_codegen_spirv/src/codegen_cx/entry.rs similarity index 100% rename from rustc_codegen_spirv/src/codegen_cx/entry.rs rename to crates/rustc_codegen_spirv/src/codegen_cx/entry.rs diff --git a/rustc_codegen_spirv/src/codegen_cx/mod.rs b/crates/rustc_codegen_spirv/src/codegen_cx/mod.rs similarity index 100% rename from rustc_codegen_spirv/src/codegen_cx/mod.rs rename to crates/rustc_codegen_spirv/src/codegen_cx/mod.rs diff --git a/rustc_codegen_spirv/src/codegen_cx/type_.rs b/crates/rustc_codegen_spirv/src/codegen_cx/type_.rs similarity index 100% rename from rustc_codegen_spirv/src/codegen_cx/type_.rs rename to crates/rustc_codegen_spirv/src/codegen_cx/type_.rs diff --git a/rustc_codegen_spirv/src/finalizing_passes.rs b/crates/rustc_codegen_spirv/src/finalizing_passes.rs similarity index 100% rename from rustc_codegen_spirv/src/finalizing_passes.rs rename to crates/rustc_codegen_spirv/src/finalizing_passes.rs diff --git a/rustc_codegen_spirv/src/lib.rs b/crates/rustc_codegen_spirv/src/lib.rs similarity index 100% rename from rustc_codegen_spirv/src/lib.rs rename to crates/rustc_codegen_spirv/src/lib.rs diff --git a/rustc_codegen_spirv/src/link.rs b/crates/rustc_codegen_spirv/src/link.rs similarity index 100% rename from rustc_codegen_spirv/src/link.rs rename to crates/rustc_codegen_spirv/src/link.rs diff --git a/rustc_codegen_spirv/src/linker/capability_computation.rs b/crates/rustc_codegen_spirv/src/linker/capability_computation.rs similarity index 100% rename from rustc_codegen_spirv/src/linker/capability_computation.rs rename to crates/rustc_codegen_spirv/src/linker/capability_computation.rs diff --git a/rustc_codegen_spirv/src/linker/dce.rs b/crates/rustc_codegen_spirv/src/linker/dce.rs similarity index 100% rename from rustc_codegen_spirv/src/linker/dce.rs rename to crates/rustc_codegen_spirv/src/linker/dce.rs diff --git a/rustc_codegen_spirv/src/linker/duplicates.rs b/crates/rustc_codegen_spirv/src/linker/duplicates.rs similarity index 100% rename from rustc_codegen_spirv/src/linker/duplicates.rs rename to crates/rustc_codegen_spirv/src/linker/duplicates.rs diff --git a/rustc_codegen_spirv/src/linker/import_export_link.rs b/crates/rustc_codegen_spirv/src/linker/import_export_link.rs similarity index 100% rename from rustc_codegen_spirv/src/linker/import_export_link.rs rename to crates/rustc_codegen_spirv/src/linker/import_export_link.rs diff --git a/rustc_codegen_spirv/src/linker/inline.rs b/crates/rustc_codegen_spirv/src/linker/inline.rs similarity index 100% rename from rustc_codegen_spirv/src/linker/inline.rs rename to crates/rustc_codegen_spirv/src/linker/inline.rs diff --git a/rustc_codegen_spirv/src/linker/mem2reg.rs b/crates/rustc_codegen_spirv/src/linker/mem2reg.rs similarity index 100% rename from rustc_codegen_spirv/src/linker/mem2reg.rs rename to crates/rustc_codegen_spirv/src/linker/mem2reg.rs diff --git a/rustc_codegen_spirv/src/linker/mod.rs b/crates/rustc_codegen_spirv/src/linker/mod.rs similarity index 100% rename from rustc_codegen_spirv/src/linker/mod.rs rename to crates/rustc_codegen_spirv/src/linker/mod.rs diff --git a/rustc_codegen_spirv/src/linker/simple_passes.rs b/crates/rustc_codegen_spirv/src/linker/simple_passes.rs similarity index 100% rename from rustc_codegen_spirv/src/linker/simple_passes.rs rename to crates/rustc_codegen_spirv/src/linker/simple_passes.rs diff --git a/rustc_codegen_spirv/src/linker/structurizer.rs b/crates/rustc_codegen_spirv/src/linker/structurizer.rs similarity index 100% rename from rustc_codegen_spirv/src/linker/structurizer.rs rename to crates/rustc_codegen_spirv/src/linker/structurizer.rs diff --git a/rustc_codegen_spirv/src/linker/test.rs b/crates/rustc_codegen_spirv/src/linker/test.rs similarity index 100% rename from rustc_codegen_spirv/src/linker/test.rs rename to crates/rustc_codegen_spirv/src/linker/test.rs diff --git a/rustc_codegen_spirv/src/linker/zombies.rs b/crates/rustc_codegen_spirv/src/linker/zombies.rs similarity index 100% rename from rustc_codegen_spirv/src/linker/zombies.rs rename to crates/rustc_codegen_spirv/src/linker/zombies.rs diff --git a/rustc_codegen_spirv/src/spirv_type.rs b/crates/rustc_codegen_spirv/src/spirv_type.rs similarity index 100% rename from rustc_codegen_spirv/src/spirv_type.rs rename to crates/rustc_codegen_spirv/src/spirv_type.rs diff --git a/rustc_codegen_spirv/src/symbols.rs b/crates/rustc_codegen_spirv/src/symbols.rs similarity index 100% rename from rustc_codegen_spirv/src/symbols.rs rename to crates/rustc_codegen_spirv/src/symbols.rs diff --git a/spirv-builder/Cargo.toml b/crates/spirv-builder/Cargo.toml similarity index 100% rename from spirv-builder/Cargo.toml rename to crates/spirv-builder/Cargo.toml diff --git a/spirv-builder/src/depfile.rs b/crates/spirv-builder/src/depfile.rs similarity index 100% rename from spirv-builder/src/depfile.rs rename to crates/spirv-builder/src/depfile.rs diff --git a/spirv-builder/src/lib.rs b/crates/spirv-builder/src/lib.rs similarity index 100% rename from spirv-builder/src/lib.rs rename to crates/spirv-builder/src/lib.rs diff --git a/spirv-builder/src/test/basic.rs b/crates/spirv-builder/src/test/basic.rs similarity index 100% rename from spirv-builder/src/test/basic.rs rename to crates/spirv-builder/src/test/basic.rs diff --git a/spirv-builder/src/test/control_flow.rs b/crates/spirv-builder/src/test/control_flow.rs similarity index 100% rename from spirv-builder/src/test/control_flow.rs rename to crates/spirv-builder/src/test/control_flow.rs diff --git a/spirv-builder/src/test/mod.rs b/crates/spirv-builder/src/test/mod.rs similarity index 100% rename from spirv-builder/src/test/mod.rs rename to crates/spirv-builder/src/test/mod.rs diff --git a/spirv-std/Cargo.toml b/crates/spirv-std/Cargo.toml similarity index 100% rename from spirv-std/Cargo.toml rename to crates/spirv-std/Cargo.toml diff --git a/spirv-std/src/lib.rs b/crates/spirv-std/src/lib.rs similarity index 100% rename from spirv-std/src/lib.rs rename to crates/spirv-std/src/lib.rs diff --git a/spirv-std/src/math_ext.rs b/crates/spirv-std/src/math_ext.rs similarity index 100% rename from spirv-std/src/math_ext.rs rename to crates/spirv-std/src/math_ext.rs diff --git a/spirv-tools-sys/Cargo.toml b/crates/spirv-tools-sys/Cargo.toml similarity index 100% rename from spirv-tools-sys/Cargo.toml rename to crates/spirv-tools-sys/Cargo.toml diff --git a/spirv-tools-sys/build.rs b/crates/spirv-tools-sys/build.rs similarity index 100% rename from spirv-tools-sys/build.rs rename to crates/spirv-tools-sys/build.rs diff --git a/spirv-tools-sys/generate.rs b/crates/spirv-tools-sys/generate.rs similarity index 100% rename from spirv-tools-sys/generate.rs rename to crates/spirv-tools-sys/generate.rs diff --git a/spirv-tools-sys/generate.sh b/crates/spirv-tools-sys/generate.sh similarity index 100% rename from spirv-tools-sys/generate.sh rename to crates/spirv-tools-sys/generate.sh diff --git a/spirv-tools-sys/generated/build-version.inc b/crates/spirv-tools-sys/generated/build-version.inc similarity index 100% rename from spirv-tools-sys/generated/build-version.inc rename to crates/spirv-tools-sys/generated/build-version.inc diff --git a/spirv-tools-sys/generated/core.insts-unified1.inc b/crates/spirv-tools-sys/generated/core.insts-unified1.inc similarity index 100% rename from spirv-tools-sys/generated/core.insts-unified1.inc rename to crates/spirv-tools-sys/generated/core.insts-unified1.inc diff --git a/spirv-tools-sys/generated/debuginfo.insts.inc b/crates/spirv-tools-sys/generated/debuginfo.insts.inc similarity index 100% rename from spirv-tools-sys/generated/debuginfo.insts.inc rename to crates/spirv-tools-sys/generated/debuginfo.insts.inc diff --git a/spirv-tools-sys/generated/enum_string_mapping.inc b/crates/spirv-tools-sys/generated/enum_string_mapping.inc similarity index 100% rename from spirv-tools-sys/generated/enum_string_mapping.inc rename to crates/spirv-tools-sys/generated/enum_string_mapping.inc diff --git a/spirv-tools-sys/generated/extension_enum.inc b/crates/spirv-tools-sys/generated/extension_enum.inc similarity index 100% rename from spirv-tools-sys/generated/extension_enum.inc rename to crates/spirv-tools-sys/generated/extension_enum.inc diff --git a/spirv-tools-sys/generated/generators.inc b/crates/spirv-tools-sys/generated/generators.inc similarity index 100% rename from spirv-tools-sys/generated/generators.inc rename to crates/spirv-tools-sys/generated/generators.inc diff --git a/spirv-tools-sys/generated/glsl.std.450.insts.inc b/crates/spirv-tools-sys/generated/glsl.std.450.insts.inc similarity index 100% rename from spirv-tools-sys/generated/glsl.std.450.insts.inc rename to crates/spirv-tools-sys/generated/glsl.std.450.insts.inc diff --git a/spirv-tools-sys/generated/nonsemantic.clspvreflection.insts.inc b/crates/spirv-tools-sys/generated/nonsemantic.clspvreflection.insts.inc similarity index 100% rename from spirv-tools-sys/generated/nonsemantic.clspvreflection.insts.inc rename to crates/spirv-tools-sys/generated/nonsemantic.clspvreflection.insts.inc diff --git a/spirv-tools-sys/generated/opencl.debuginfo.100.insts.inc b/crates/spirv-tools-sys/generated/opencl.debuginfo.100.insts.inc similarity index 100% rename from spirv-tools-sys/generated/opencl.debuginfo.100.insts.inc rename to crates/spirv-tools-sys/generated/opencl.debuginfo.100.insts.inc diff --git a/spirv-tools-sys/generated/opencl.std.insts.inc b/crates/spirv-tools-sys/generated/opencl.std.insts.inc similarity index 100% rename from spirv-tools-sys/generated/opencl.std.insts.inc rename to crates/spirv-tools-sys/generated/opencl.std.insts.inc diff --git a/spirv-tools-sys/generated/operand.kinds-unified1.inc b/crates/spirv-tools-sys/generated/operand.kinds-unified1.inc similarity index 100% rename from spirv-tools-sys/generated/operand.kinds-unified1.inc rename to crates/spirv-tools-sys/generated/operand.kinds-unified1.inc diff --git a/spirv-tools-sys/generated/spv-amd-gcn-shader.insts.inc b/crates/spirv-tools-sys/generated/spv-amd-gcn-shader.insts.inc similarity index 100% rename from spirv-tools-sys/generated/spv-amd-gcn-shader.insts.inc rename to crates/spirv-tools-sys/generated/spv-amd-gcn-shader.insts.inc diff --git a/spirv-tools-sys/generated/spv-amd-shader-ballot.insts.inc b/crates/spirv-tools-sys/generated/spv-amd-shader-ballot.insts.inc similarity index 100% rename from spirv-tools-sys/generated/spv-amd-shader-ballot.insts.inc rename to crates/spirv-tools-sys/generated/spv-amd-shader-ballot.insts.inc diff --git a/spirv-tools-sys/generated/spv-amd-shader-explicit-vertex-parameter.insts.inc b/crates/spirv-tools-sys/generated/spv-amd-shader-explicit-vertex-parameter.insts.inc similarity index 100% rename from spirv-tools-sys/generated/spv-amd-shader-explicit-vertex-parameter.insts.inc rename to crates/spirv-tools-sys/generated/spv-amd-shader-explicit-vertex-parameter.insts.inc diff --git a/spirv-tools-sys/generated/spv-amd-shader-trinary-minmax.insts.inc b/crates/spirv-tools-sys/generated/spv-amd-shader-trinary-minmax.insts.inc similarity index 100% rename from spirv-tools-sys/generated/spv-amd-shader-trinary-minmax.insts.inc rename to crates/spirv-tools-sys/generated/spv-amd-shader-trinary-minmax.insts.inc diff --git a/spirv-tools-sys/spirv-headers b/crates/spirv-tools-sys/spirv-headers similarity index 100% rename from spirv-tools-sys/spirv-headers rename to crates/spirv-tools-sys/spirv-headers diff --git a/spirv-tools-sys/spirv-tools b/crates/spirv-tools-sys/spirv-tools similarity index 100% rename from spirv-tools-sys/spirv-tools rename to crates/spirv-tools-sys/spirv-tools diff --git a/spirv-tools-sys/src/assembler.rs b/crates/spirv-tools-sys/src/assembler.rs similarity index 100% rename from spirv-tools-sys/src/assembler.rs rename to crates/spirv-tools-sys/src/assembler.rs diff --git a/spirv-tools-sys/src/c/opt.cpp b/crates/spirv-tools-sys/src/c/opt.cpp similarity index 100% rename from spirv-tools-sys/src/c/opt.cpp rename to crates/spirv-tools-sys/src/c/opt.cpp diff --git a/spirv-tools-sys/src/diagnostics.rs b/crates/spirv-tools-sys/src/diagnostics.rs similarity index 100% rename from spirv-tools-sys/src/diagnostics.rs rename to crates/spirv-tools-sys/src/diagnostics.rs diff --git a/spirv-tools-sys/src/lib.rs b/crates/spirv-tools-sys/src/lib.rs similarity index 100% rename from spirv-tools-sys/src/lib.rs rename to crates/spirv-tools-sys/src/lib.rs diff --git a/spirv-tools-sys/src/opt.rs b/crates/spirv-tools-sys/src/opt.rs similarity index 100% rename from spirv-tools-sys/src/opt.rs rename to crates/spirv-tools-sys/src/opt.rs diff --git a/spirv-tools-sys/src/shared.rs b/crates/spirv-tools-sys/src/shared.rs similarity index 100% rename from spirv-tools-sys/src/shared.rs rename to crates/spirv-tools-sys/src/shared.rs diff --git a/spirv-tools-sys/src/val.rs b/crates/spirv-tools-sys/src/val.rs similarity index 100% rename from spirv-tools-sys/src/val.rs rename to crates/spirv-tools-sys/src/val.rs diff --git a/spirv-tools/Cargo.toml b/crates/spirv-tools/Cargo.toml similarity index 100% rename from spirv-tools/Cargo.toml rename to crates/spirv-tools/Cargo.toml diff --git a/spirv-tools/examples/as.rs b/crates/spirv-tools/examples/as.rs similarity index 100% rename from spirv-tools/examples/as.rs rename to crates/spirv-tools/examples/as.rs diff --git a/spirv-tools/src/assembler.rs b/crates/spirv-tools/src/assembler.rs similarity index 100% rename from spirv-tools/src/assembler.rs rename to crates/spirv-tools/src/assembler.rs diff --git a/spirv-tools/src/assembler/compiled.rs b/crates/spirv-tools/src/assembler/compiled.rs similarity index 100% rename from spirv-tools/src/assembler/compiled.rs rename to crates/spirv-tools/src/assembler/compiled.rs diff --git a/spirv-tools/src/assembler/tool.rs b/crates/spirv-tools/src/assembler/tool.rs similarity index 100% rename from spirv-tools/src/assembler/tool.rs rename to crates/spirv-tools/src/assembler/tool.rs diff --git a/spirv-tools/src/binary.rs b/crates/spirv-tools/src/binary.rs similarity index 100% rename from spirv-tools/src/binary.rs rename to crates/spirv-tools/src/binary.rs diff --git a/spirv-tools/src/cmd.rs b/crates/spirv-tools/src/cmd.rs similarity index 100% rename from spirv-tools/src/cmd.rs rename to crates/spirv-tools/src/cmd.rs diff --git a/spirv-tools/src/error.rs b/crates/spirv-tools/src/error.rs similarity index 100% rename from spirv-tools/src/error.rs rename to crates/spirv-tools/src/error.rs diff --git a/spirv-tools/src/lib.rs b/crates/spirv-tools/src/lib.rs similarity index 100% rename from spirv-tools/src/lib.rs rename to crates/spirv-tools/src/lib.rs diff --git a/spirv-tools/src/opt.rs b/crates/spirv-tools/src/opt.rs similarity index 100% rename from spirv-tools/src/opt.rs rename to crates/spirv-tools/src/opt.rs diff --git a/spirv-tools/src/opt/compiled.rs b/crates/spirv-tools/src/opt/compiled.rs similarity index 100% rename from spirv-tools/src/opt/compiled.rs rename to crates/spirv-tools/src/opt/compiled.rs diff --git a/spirv-tools/src/opt/tool.rs b/crates/spirv-tools/src/opt/tool.rs similarity index 100% rename from spirv-tools/src/opt/tool.rs rename to crates/spirv-tools/src/opt/tool.rs diff --git a/spirv-tools/src/util.rs b/crates/spirv-tools/src/util.rs similarity index 100% rename from spirv-tools/src/util.rs rename to crates/spirv-tools/src/util.rs diff --git a/spirv-tools/src/val.rs b/crates/spirv-tools/src/val.rs similarity index 100% rename from spirv-tools/src/val.rs rename to crates/spirv-tools/src/val.rs diff --git a/spirv-tools/src/val/compiled.rs b/crates/spirv-tools/src/val/compiled.rs similarity index 100% rename from spirv-tools/src/val/compiled.rs rename to crates/spirv-tools/src/val/compiled.rs diff --git a/spirv-tools/src/val/tool.rs b/crates/spirv-tools/src/val/tool.rs similarity index 100% rename from spirv-tools/src/val/tool.rs rename to crates/spirv-tools/src/val/tool.rs diff --git a/spirv-tools/tests/val.rs b/crates/spirv-tools/tests/val.rs similarity index 100% rename from spirv-tools/tests/val.rs rename to crates/spirv-tools/tests/val.rs diff --git a/spirv-tools/tests/wgpu_example_shader.spv b/crates/spirv-tools/tests/wgpu_example_shader.spv similarity index 100% rename from spirv-tools/tests/wgpu_example_shader.spv rename to crates/spirv-tools/tests/wgpu_example_shader.spv diff --git a/docs/src/introduction.md b/docs/src/introduction.md index e3b9e533cf..60220888a2 100644 --- a/docs/src/introduction.md +++ b/docs/src/introduction.md @@ -29,7 +29,7 @@ how to use and develop on Rust-GPU. 1. **optional** Install [SPIRV-Tools](https://github.com/KhronosGroup/SPIRV-Tools#downloads) and add it to your `PATH`. You can skip this step if you just want to run examples with the defaults. See [Using installed SPIRV-Tools](#using-installed-spirv-tools) if you decide to go with this option. -1. Next, look at the [examples](examples) folder. There are two kinds of targets here: [runners](examples/runners) and [shaders](examples/shaders). The projects inside `shaders` are "GPU crates", i.e. ones that will be compiled one or more SPIR-V modules. The `runner` projects are normal, CPU crates that use some graphics backend (currently, we have a [`wgpu` runner](examples/runners/wgpu), a [Vulkan runner](examples/runners/ash) through `ash`, and a barebones pure software [CPU runner](examples/runners/cpu)) to actually run one of the "GPU crate" shaders. +1. Next, look at the [examples] folder. There are two kinds of targets here: [runners] and [shaders]. The projects inside `shaders` are "GPU crates", i.e. ones that will be compiled one or more SPIR-V modules. The `runner` projects are normal, CPU crates that use some graphics backend (currently, we have a [`wgpu` runner][examples/runners/wgpu], a [Vulkan runner][examples/runners/ash] through `ash`, and a barebones pure software [CPU runner][examples/runners/cpu]) to actually run one of the "GPU crate" shaders. Run the example: @@ -39,7 +39,7 @@ how to use and develop on Rust-GPU. This will build `rustc_codegen_spirv`, the compiler, then use that compiler to build [`sky-shader`](examples/shaders/sky-shader) into a SPIR-V module, then finally, build a `wgpu` sample app (modified from [`wgpu`'s examples](https://github.com/gfx-rs/wgpu-rs/tree/master/examples/hello-triangle)) using the built SPIR-V module to display the shader in a window. - All of this is orchestrated by the [spirv-builder](spirv-builder) crate, which is used in each of the example runners' [`build.rs` files](examples/runners/wgpu/build.rs). Please look at that file, as well as both example projects in general, to see how to set up your own shaders! + All of this is orchestrated by the [spirv-builder] crate, which is used in each of the example runners' [`build.rs` files](examples/runners/wgpu/build.rs). Please look at that file, as well as both example projects in general, to see how to set up your own shaders! Be aware that this project is in a very early phase - if the above doesn't work, please [file an issue](https://github.com/EmbarkStudios/rust-gpu/issues)! @@ -62,9 +62,9 @@ cargo build -Z build-std=core --target spirv-unknown-unknown --release This will produce a `target/spirv-unknown-unknown/release/crate_name.spv` file. -To create a GPU crate, look at the crates in [examples/shaders](examples/shaders). In short, reference the `spirv-std` crate, and use intrinsics defined there to create your shader. +To create a GPU crate, look at the crates in [examples/shaders]. In short, reference the `spirv-std` crate, and use intrinsics defined there to create your shader. -This is all a little convoluted, hence the [spirv-builder](spirv-builder) crate handles a lot of this. +This is all a little convoluted, hence the [spirv-builder] crate handles a lot of this. ## Using installed SPIRV-Tools @@ -78,3 +78,11 @@ cargo run \ ``` You should see `warning: use-installed-tools feature on, skipping compilation of C++ code` during the compilation, but otherwise the build will function just the same as if you compiled the C++ code, with the exception that it will fail if you don't have SPIRV-Tools installed correctly. + +[spirv-builder]: https://embarkstudios.github.io/rust-gpu/api/spirv_builder/index.html +[examples]: https://github.com/EmbarkStudios/rust-gpu/tree/main/examples +[examples/runners]: https://github.com/EmbarkStudios/rust-gpu/tree/main/examples/runners +[examples/runners/ash]: https://github.com/EmbarkStudios/rust-gpu/tree/main/examples/runners/ash +[examples/runners/cpu]: https://github.com/EmbarkStudios/rust-gpu/tree/main/examples/runners/cpu +[examples/runners/wgpu]: https://github.com/EmbarkStudios/rust-gpu/tree/main/examples/runners/wgpu +[examples/shaders]: https://github.com/EmbarkStudios/rust-gpu/tree/main/examples/shaders diff --git a/examples/runners/ash/Cargo.toml b/examples/runners/ash/Cargo.toml index 390abbc140..1b1b57aba2 100644 --- a/examples/runners/ash/Cargo.toml +++ b/examples/runners/ash/Cargo.toml @@ -23,4 +23,4 @@ winit = "0.23.0" ash-molten = { git = "https://github.com/EmbarkStudios/ash-molten", branch = "moltenvk-1.1.0" } [build-dependencies] -spirv-builder = { path = "../../../spirv-builder", default-features = false } +spirv-builder = { path = "../../../crates/spirv-builder", default-features = false } diff --git a/examples/runners/wgpu/Cargo.toml b/examples/runners/wgpu/Cargo.toml index 4ad6904bed..8e2cfd5784 100644 --- a/examples/runners/wgpu/Cargo.toml +++ b/examples/runners/wgpu/Cargo.toml @@ -18,7 +18,7 @@ futures = { version = "0.3", default-features = false, features = ["std", "execu winit = { version = "0.23", features = ["web-sys"] } [build-dependencies] -spirv-builder = { path = "../../../spirv-builder", default-features = false } +spirv-builder = { path = "../../../crates/spirv-builder", default-features = false } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] wgpu-subscriber = "0.1.0" diff --git a/examples/shaders/simplest-shader/Cargo.toml b/examples/shaders/simplest-shader/Cargo.toml index 7d1d8be37f..0414559be9 100644 --- a/examples/shaders/simplest-shader/Cargo.toml +++ b/examples/shaders/simplest-shader/Cargo.toml @@ -10,5 +10,5 @@ publish = false crate-type = ["dylib"] [dependencies] -spirv-std = { path = "../../../spirv-std" } +spirv-std = { path = "../../../crates/spirv-std" } glam = "0.9" diff --git a/examples/shaders/sky-shader/Cargo.toml b/examples/shaders/sky-shader/Cargo.toml index 118417b3af..239b7b0ccf 100644 --- a/examples/shaders/sky-shader/Cargo.toml +++ b/examples/shaders/sky-shader/Cargo.toml @@ -10,5 +10,5 @@ publish = false crate-type = ["dylib"] [dependencies] -spirv-std = { path = "../../../spirv-std" } +spirv-std = { path = "../../../crates/spirv-std" } glam = "0.9"