* Features and draw commands added
* Tried to implement the pipeline creation (completely untested)
* Fixed clippy issues
* Fixed something I think
* A little bit of work on the mesh shader example (currently doesn't work on dx12)
* Reached a new kind of error state
* Fixed an alignment issue
* DirectX 12 mesh shaders working :party:
* Removed stupid change and updated changelog
* Fixed typo
* Added backends option to example framework
* Removed silly no write fragment shader from tests to see if anything breaks
* Tried to make mesh shader tests run elsewhere too
* Removed printlns and checked that dx12 mesh shader tests run
* Documented very strange issue
* I'm so lost
* Fixed stupid typos
* Fixed all issues
* Removed unnecessary example stuff, updated tests
* Updated typos.toml
* Updated limits
* Apply suggestion from @cwfitzgerald
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
* Apply suggestion from @cwfitzgerald
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
* Removed supported backends, made example & tests always pass the filename to shader compilers
* Removed excessive bools in test params
* Added new tests to the list
* I'm a sinner for this one (unused import)
* Replaced random stuff with test params hashing
* Updated typos.toml
* Updated -Fo typo thing
* Actually fixed typo issue this time
* Update CHANGELOG.md
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
* Update tests/tests/wgpu-gpu/mesh_shader/mod.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update wgpu-hal/src/dx12/mod.rs
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
* Addressed comments
* Lmao
---------
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
`ExternalTexture` will form the basis of wgpu's implementation of
WebGPU's `GPUExternalTexture`. [1]
The application will be responsible for creating `Texture`(s) and
`TextureView`(s) from the external texture source and managing their
lifecycle. It may have a single RGBA texture, or it may have multiple
textures for separate Y and Cb/Cr planes. It can then create an external
texture by calling `create_external_texture()`, providing the texture
views and a descriptor. The descriptor provides the following required
information:
* Whether the texture data is RGBA, or multiplanar or interleaved
YCbCr.
* The purpoted size of the external texture, which may not match the
actual size of the underlying textures.
* A matrix for converting from YCbCr to RGBA, if required.
* A transform to apply to texture sample coordinates, allowing for
rotation and crop rects.
The external texture stores a reference to the provided texture views,
and additionally owns a `Buffer`. This buffer holds data of the type
`ExternalTextureParams`, and will be provided as a uniform buffer to
shaders containing external textures. This contains information that
will be required by the shaders to handle external textures correctly.
Note that attempting to create an external texture will fail unless the
`Feature::EXTERNAL_TEXTURE` feature is enabled, which as of yet is not
supported by any HAL backends.
Additionally add the relevant API to wgpu, implemented for the
wgpu-core backend. The web and custom backends are unimplemented.
[1] https://www.w3.org/TR/webgpu/#gpuexternaltexture
* Fix validation error when configuring the surface on WebGL
* Remove unneeded `webgl` feature
* Fix compilation of the `noop` backend on `wasm32`
* Prevent `webgpu` examples from incorrectly falling back to WebGL
* Reduce dependency set when building wasm examples
* Fix various warnings
* init files, dir structure
* wip: it's working need to suss out the readme and some of the consts...
* ok that's probably good enough for a first pass...
* chore: spelling
* chore: readme tweaks
* chore: clippy and fmt
* chore: add self and changes to changelog.md
* fix: typo and remove env_logger via cfg flag for wasm builds (which this doesn't supprot anyway)
* refactor: bring inline with newer wgpu
* refactor: bring inline with newer wgpu
* chore: work on the readme a bit...
* refactor: remove a bunch of everything, be simple
* wip: get a test going
* wip: remove unrequired pub(s)...
* refactor: remove a bunch of everything, be simple
wip: get a test going
* wip: remove unrequired pub(s)...
wip: remove unrequired pub(s)...
* chore: cleanups, typos, simplifying
* chore: reconcile changelog diffs
* fix: re-add our change to the changelog
* wip: finess the docs a bit per request...
* chore: trying to get the woring right...
* chore: trying to get the woring right...
* fix: typos
* fix: spelling
* Update mod.rs
swap all loops over to 'for' by request.
Flume's sender is already Send/Sync
chunks will already split for us
.unwraps() unwraps everywhere!
* Update CHANGELOG.md
Co-authored-by: Jim Blandy <jimb@red-bean.com>
* 1GB as the example says we'll do
- 1GB as the example says we'll do
- update readme for windows users.
* init files, dir structure
* wip: it's working need to suss out the readme and some of the consts...
* ok that's probably good enough for a first pass...
* chore: spelling
* chore: readme tweaks
* chore: clippy and fmt
* chore: add self and changes to changelog.md
* fix: typo and remove env_logger via cfg flag for wasm builds (which this doesn't supprot anyway)
* refactor: bring inline with newer wgpu
* refactor: bring inline with newer wgpu
* chore: work on the readme a bit...
* refactor: remove a bunch of everything, be simple
* wip: get a test going
* wip: remove unrequired pub(s)...
* wip: remove unrequired pub(s)...
wip: remove unrequired pub(s)...
* chore: cleanups, typos, simplifying
* fix: re-add our change to the changelog
* wip: finess the docs a bit per request...
* chore: trying to get the woring right...
* chore: trying to get the woring right...
* fix: typos
* fix: spelling
* Update mod.rs
swap all loops over to 'for' by request.
Flume's sender is already Send/Sync
chunks will already split for us
.unwraps() unwraps everywhere!
* Update CHANGELOG.md
Co-authored-by: Jim Blandy <jimb@red-bean.com>
* 1GB as the example says we'll do
- 1GB as the example says we'll do
- update readme for windows users.
* bring up to date with trunk
sync with trunk.
make more of Jim's changes
* some of the consts have changed name.
* small tweaks
* what is the flag called now?
what is the flag called now?
* Update shader.wgsl
naming things betterer
* Update README.md
reword readme
* Update README.md
simplify readme
* Update mod.rs
remove unused
* well at least it compiles again
* BUG: ... it seems to run forever and never complete.
* nicer shader module creation
* ... add logging to track down infinite hangtime...
* use 2 buffers in the test
* test and example pass (now they do the same number of buffers..
* that's better...
* fix: remove duplicate entries
* fix: whitespace
* move changelog entry to #unreleased per request
* fix: target_arch != wasm to satiate pipeline
* fix: target_arch != wasm to satiate pipeline
* pipeline want's us to allow allows...
* savage hacks to make the wasm build ignore our test
* fix: allow the allowing of allows that allow the dead_code.
* Fix: no tests on wasm
---------
Co-authored-by: Jim Blandy <jimb@red-bean.com>