* fix more compile errors
* fix err
* fix all compile errors
* fix clippy errors
* fix issues in ray-traced-triangle example
* fix clippy warnings
* fix wasm not compiling
* fix test
* fix clippy (again)
* fix some rustfmt issues
* fix more rustfmt issues
* fix even more rustfmt issues
* fix yet more rustfmt issues
* add #[allow(dead_code)] to some structs to fix clippy on web assembly
* more format fixes
* even more format fixes
* close to final format fixes
* final format fixes (hopefully)
* actual final format fixes (hopefully)
* move ray_cube_cube example and fix bugs
* move other examples
* fix crash when dropping
* fix test
* apply clippy and rustfmt changes
* fix some memory leaks
* fix incompatibility with new wgpu trunk changes
* fix clippy & fmt
* fix clippy errors on github
* update to trunk
* remove a line that printed log "Created blas ..." in device create tlas
* fix merge issues
* fix merge
* fix fmt
* restored example ray scene functionality
* WIP fix rebase
* Fix compile issues
* More fixes
* Fix rebase
* Add wgls backend write_value_type AccelerationStructure
* Add back xtask Cargo.lock
* Revert serde path
* Doc typos
* Add -diff
* Revert more serde
* Revert serde again?
* Fix doc typo
* add test
* clippy & fmt
* fix error "blas does not exist"
* fix various things
* fix unused acceleration structures causing invalid SPIR-V
* fix merge
* fix use after free in a different way (now moved tlas instances to wgpu_core)
* refactor & fmt
* remove accidentally created file
* remove accidentally created file (actually)
* merge & fix
* Fix problems
* fix validation error
* fix validation
* fix merge
* fmt
* fix merge
* use staging buffer trackers in creating the ray-tracing staging buffers (not the tlas_s)
* change one missed staging buffer's tracker
* wip: example
* finished shadow!
* fix merge
* clippy
* remove some uses of blas ids
* fmt
* fix merge
* deduplicate code shared between command_encoder_build_acceleration_structures and command_encoder_build_acceleration_structures_unsafe_tlas
* clippy
* fix merge
* fix warnings
* clippy & fmt
* re-add matching to get_raw_tlas_instance_size and tlas_instance_into_bytes
* fmt
* fix command
* wip: fix merge
* fix merge
* fmt & docs
* fix wasm clippy
* fix issues with tests
* fix issues with tests
* fmt & clippy (wasm)
* wip ray-traced-triangle (non hal)
* unify camera location in ray_shadows
* fix tests
* add readme to ray_traced_triangle
* note that vertex format must be f32x3 (not yet validated)
* changelog
* require VertexFormat::Float32x3
* fix compile error
* when creating and building acceleration structures require Features::RAY_TRACING_ACCELERATION_STRUCTURE is enabled
* remove duplicate workaround
* fix most feedback
* remove all changes from .gitattributes
* fix compile error in test
* more changes along same lines
* format
* apply feedback to more places
* fix `cargo clippy` not just `cargo clippy --all-features`
* cache max instances from tlas creation
* fix clippy
* fix examples
* fix tests
* remove now useless docs
* add more docs
* yet more docs
* still more docs
* Documentation.
* Running out of unique commit messages to say writing docs.
* Add more references to docs.
* Get BindGroup in scope
* Remove unintentional changes
* Remove #[allow(dead_code)]
* Remove old comments
* Add device.poll
* make ray_scene start right way up
* fmt
* move scratch buffer to its own module
* actually remove intentional changes (turns out wgt is inconsistent)
* use better names in ray_scene/shader.wgsl
* fmt
* remove more unintentional changes.
* work on ray_tracing use after free
* spelling
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
* grammar
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
* move things into struct (should be all vectors with 3 item types or more)
* remove long-standing locks.
* fmt
* move not using index buffer to test
* impl index & index mut for tlas package
* impl index & index mut for tlas package
* fix errors
* fix test errors
* move everything out of ray_tracing.rs
* more index_mut
* fmt
* fix docs links
* move to separate impl block
* fix older request review
* fmt
* remove missed deref
* fix wasm clippy
* change to suggestions
* fmt
* add a note as to why `command_encoder_build_acceleration_structures_unsafe_tlas` and `command_encoder_build_acceleration_structures` are currently separate
* add a todo to reconsider soon `command_encoder_build_acceleration_structures_unsafe_tlas`
* switch to mat4 in ray-tracing examples
* Combine RT Tests Under Single Submodule
* Add More Raytracing Tests and Re-Organize
* Documentation and Formatting Fixes
* Remove Forced Alignment in wgpu-hal
* work on out_of_order_as_build and add out_of_order_as_build_use
* fmt
* update test label naming
* fix one validation error
* fix clippy & fmt
* add acceleration structure creation tests
* make mis-matched index test use the correct function
* move validation into validate_command_buffer
* fix tests
* add blas and tlas to pending writes to remove (now unneeded) `device.poll()`s
* remove commented out code from examples and properly use the constants in ray_shadow
* add examples to examples\README.md
* rename ray tracing to ray queries in readme
* remove unneeded usage from scratch buffer creation
* use snatchables for raw acceleration structures
* format
* add EXPERIMENTAL_ to features
* fix missed comment
---------
Co-authored-by: Daniel Keitel <daniel.mg.keitel@fau.de>
Co-authored-by: JMS55 <47158642+JMS55@users.noreply.github.com>
Co-authored-by: atlas dostal <rodol@rivalrebels.com>
Co-authored-by: vero <email@atlasdostal.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
* fix(core): handle HAL errors from query set creation
* Update CHANGELOG.md
Co-authored-by: Andreas Reich <r_andreas2@web.de>
---------
Co-authored-by: Andreas Reich <r_andreas2@web.de>
For some reason, the implementation of `Display` for
`ShaderError<WithSpan<ValidationError>>>` is building its own
`Diagnostic` with _only_ the labels populated: no messages or notes.
I don't know why this is, but it seems to have a strict subset of the
information already present in the private implementation of
`WithSpan::diagnostic`.
Fix this by exposing `WithSpan::diagnostic` as `pub(crate)`, and
re-using its output in `impl Display for
ShaderError<WithSpan<ValidationError>>>`.
Improve handling of `Access` expressions whose base is an array or
matrix (not a pointer to such), and whose index is not known at
compile time. SPIR-V does not have instructions that can do this
directly, so spill such values to temporary variables, and perform the
accesses using `OpAccessChain` instructions applied to the
temporaries.
When performing chains of accesses like `a[i].x[j]`, do not reify
intermediate values; generate a single `OpAccessChain` for the entire
thing.
Remove special cases for arrays; the same code now handles arrays and
matrices.
Update validation to permit dynamic indexing of matrices.
For details, see the comments on the new tracking structures in
`naga:🔙:spv::Function`.
Add snapshot test `index-by-value.wgsl`.
Fixes#6358.
Fixes#4337.
Alternative to #6362.
This change uses `include_wgsl!(…)` in usages where an
`include_str!("….wgsl")` was used to construct
a `ShaderModuleDescriptor`'s `source, but the `label` was set to `None`.
This should (1) showcase a nice idiomatic convenience we offer in our
examples better, (2) make code more concise, and (3) get some
automatically generated labels in diagnostics where it seems it won't
hurt.