Erich Gubler
e216566e48
feat(shader)!: make ProgrammableStage::entry_point
optional
2024-07-24 07:40:00 -04:00
Imbris
6d7975eb3b
[naga hlsl-out glsl-out] Work around backend loop/switch bugs.
...
Introduce a new module, `naga:🔙 :continue_forward`, containing
shared code for rendering Naga `Continue` statements as backend
`break` statements and assignments to introduced `bool` locals.
See the module's documentation for details.
- [hlsl-out] Transform degenerate single body switches into `do-while`
loops. Properly render `Continue` statements enclosed by
`Switch` statements enclosed by `Loop` statements.
- [glsl-out] Transform degenerate single body switches into `do-while`
loops.
Improve `naga xtask validate spv` error message.
Fixes #4485 .
Fixes #4514 .
2024-07-23 18:12:19 -07:00
dependabot[bot]
586215ab2e
build(deps): bump crate-ci/typos from 1.22.9 to 1.23.1 ( #5922 )
...
* build(deps): bump crate-ci/typos from 1.22.9 to 1.23.1
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.22.9 to 1.23.1.
- [Release notes](https://github.com/crate-ci/typos/releases )
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crate-ci/typos/compare/v1.22.9...v1.23.1 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* typo fixes
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2024-07-14 22:13:25 +02:00
Nicolas Silva
4c6318c0d2
Expose gpu allocation configuration options ( #5875 )
...
* Expose gpu allocation configuration options
This commit adds hints to control memory allocations strategies to the configuration options. These hints allow for automatic profiles such as optimizing for performance (the default, makes sense for a game), optimizing for memory usage (typically more useful for a web browser or UI library) and specifying settings manually.
The details of gpu allocation are still in flux. The goal is to switch vulkan and metal to gpu_allocator which is currently used with d3d12. gpu_allocator will also likely receive more configuration options, in particular the ability to start with smaller memory block sizes and progressively grow the block size. So the manual settings already provision for this upcoming option. Another approach could be to wait and add the manual option after the dust settles.
The reason for providing presets and defining values in the backends is that I am convinced that optimal fonigurations should take hardware capabilities into consideration. It's a deep rabbithole, though, so that will be an exercise for later.
* changelog
* Update CHANGELOG.md
Co-authored-by: Andreas Reich <r_andreas2@web.de>
* Add a comment about not entirely knowing what we are doing
---------
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2024-07-08 14:49:44 +02:00
teoxoy
7910fd8059
[wgpu-hal] require a Surface
to be passed to Instance.enumerate_adapters()
on WebGL2
...
Also makes wgpu's `enumerate_adapters()` native only.
2024-07-04 10:17:07 +02:00
Erich Gubler
94dba0b026
test: add expected msg. arg. to wgpu_test::fail{,_if}
2024-05-21 17:16:06 -04:00
Daniel McNab
4902e470ce
Pipeline cache API and implementation for Vulkan ( #5319 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-05-16 13:52:56 +00:00
Jim Blandy
e5201a7267
When a #[gpu_test]
test fails, print its source location.
...
Use `std::panic::Location` to record the source location of each
`#[gpu_test]` test, and if it fails, include that in the error output.
This is not essential, but it should make working with failures a bit
more comfortable.
2024-05-01 17:08:22 -07:00
Daniel McNab
965b00c06b
Allow configuring whether workgroup memory is zero initialised ( #5508 )
2024-04-17 15:50:31 -04:00
teoxoy
3bda381812
add pipeline constants plumbing
2024-04-05 18:07:41 +02:00
dependabot[bot]
744454b9e2
Bump Many Dependencies and MSRV ( #5241 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-02-27 14:43:05 -05:00
Connor Fitzgerald
910fb7c341
Remove GPU based validation in Tests ( #5271 )
...
* Remove GPU based validation in Tests
* Lol Typo
2024-02-19 17:04:03 -05:00
Nicolas Silva
e4ef3b401a
Add an advanced_debugging preset including wgpu base validation ( #5248 )
...
Co-authored-by: Erich Gubler <erichdongubler@gmail.com>
2024-02-13 16:42:02 +00:00
Connor Fitzgerald
faed98b45c
Add typos
to Repository CI ( #5191 )
...
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2024-02-05 12:30:29 -05:00
Andreas Reich
87b6513df3
Update docs for Backend
and implement std::fmt::Display
( #5170 )
...
* Update docs for `Backend` and implement `std::fmt::Display`
* Update wgpu-types/src/lib.rs
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
---------
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-02-01 00:24:12 +00:00
John-John Tedro
adf1e3b6c5
Improve test feedback and implementation ( #5068 )
2024-01-17 16:50:39 -05:00
Andreas Reich
7774f31021
Allow WebGPU & WebGL in same wasm and detect WebGPU availability ( #5044 )
...
* Rename backends: web -> webgpu, direct -> wgpu_core
* rename context objects for web & core
* allow webgpu & webgl features side-by-side
* make sure webgl ci doesn't use webgpu
* update any_backend_feature_enabled
* add panicing generate_report method for compatibility
* RequestDeviceErrorKind::Web rename, fixup various cfg attributes
* automatic webgpu support detection
* changelog entry
* fix emscripten
* fix weird cfg, fix comment typo
* remove try_generate_report again
* Make get_mapped_range_as_array_buffer WebGPU only again
2024-01-14 09:45:52 +00:00
Connor Fitzgerald
ad625f433f
Convert Tests to Use Async Poll ( #5053 )
...
* Convert Tests to Use Async Poll
* Update examples/src/repeated_compute/mod.rs
Co-authored-by: Andreas Reich <r_andreas2@web.de>
---------
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2024-01-13 17:34:51 +00:00
Andreas Reich
4fd4a7142e
Unify surface creation by introducing new SurfaceTarget
enum ( #4984 )
2024-01-11 22:24:01 -05:00
Connor Fitzgerald
a01ff0741c
Re-Enable Mac CI ( #5015 )
2024-01-08 16:12:57 -05:00
Valaphee The Meerkat
a1fafe394f
Remove DX11 backend ( #4828 )
2023-12-06 15:12:46 -05:00
teoxoy
da73522720
rename DeviceDescriptor.limits
to DeviceDescriptor.required_limits
2023-11-29 19:55:18 +01:00
teoxoy
9be6c8890f
rename DeviceDescriptor.features
to DeviceDescriptor.required_features
2023-11-29 19:55:18 +01:00
Connor Fitzgerald
7a37229630
Revamp Examples to Match Website ( #4765 )
...
* Revamp examples to match website
* Small fixes
* Fix stencil_triangles on resize
* Fix
* Fix everything
2023-11-25 17:20:11 -05:00
Connor Fitzgerald
06e9876adf
Move to A Single Example Executable ( #4756 )
...
* Move to combined examples
* Fix paths
* Curtail some tests
* Format
* Clippy
* Fix wasm
* Refactor main for wasm
* Style sheet
* Readme
* Lock
2023-11-23 05:26:42 -05:00
Connor Fitzgerald
3c261f3652
Allow Tests to Expect Certain Panic or Validation Messages ( #4748 )
2023-11-23 03:49:01 -05:00
Mauro Gentile
6e21f7a929
Arcanization of wgpu core resources ( #3626 )
...
Arcanization of wgpu_core resources
---------
Co-authored-by: Elabajaba <Elabajaba@users.noreply.github.com>
Co-authored-by: Niklas Korz <niklas@niklaskorz.de>
Co-authored-by: grovesNL <josh@joshgroves.com>
Co-authored-by: Jim Blandy <jimb@red-bean.com>
Co-authored-by: Mauro Gentile <Mauro.Gentile@ubisoft.com>
Co-authored-by: Sludge <96552222+SludgePhD@users.noreply.github.com>
2023-11-20 08:41:52 +01:00
Jim Blandy
049cb75976
[wgpu-test] Fix typo in error message.
2023-11-13 14:23:32 -08:00
Andreas Reich
f7420511d0
rename/deprecate block_size -> block_copy_size, improve docs ( #4647 )
...
Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>
2023-11-13 19:04:35 +00:00
Connor Fitzgerald
7f72c9fc3b
Fix GL Push Constant Layout ( #4607 )
...
* It verks!
* More tests
* Fixes
* Working multi-stage push constants
* Comments
* Add push constant partial update teste
* Docs
* Update Cargo.toml
* Comments
2023-11-06 07:58:26 -05:00
Connor Fitzgerald
2aa7c29068
Extra Profiling Scopes ( #4610 )
2023-10-30 03:58:32 +00:00
Connor Fitzgerald
2a9fdf9aa1
Misc Repo Cleanup Tasks ( #4579 )
...
* Misc Repo Cleanup Tasks
* Dependency Trimming
* Dep cleanup
* Restrict libfuzzer
* Flip cfg
* mod fuzz
2023-10-27 00:15:51 -04:00
Connor Fitzgerald
04ac5f2851
Update WARP and Install Mesa on Windows CI ( #4270 )
2023-10-22 00:34:00 -04:00
Connor Fitzgerald
543f921639
GPU Test Framework ( #3873 )
2023-10-19 12:06:42 -04:00
Nicolas Silva
f95d1c55e3
Expose Instance flags ( #4230 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-10-11 17:39:04 +00:00
Kevin Reid
7c575a0b40
Add details to RequestDeviceError
. ( #4145 )
2023-09-16 00:16:49 -04:00
Jim Blandy
54a7f0eac9
Skip test_multithreaded_compute
on MoltenVK. ( #4096 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-09-04 03:54:39 +00:00
Kevin Reid
332cd0325d
Add details to InstanceError
and CreateSurfaceError
. ( #4066 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-09-01 01:48:31 -04:00
Pieter-Jan Briers
e973a06268
Allow specifying minor GLES3 version ( #3998 )
2023-08-16 11:51:56 -04:00
Connor Fitzgerald
311065100b
Vulkan portability in CI ( #3964 )
2023-07-23 07:35:57 +00:00
artyomd
11b8dbbea3
Add tests for scissors ( #3877 )
2023-07-19 21:48:23 +00:00
Fredrik Fornwall
1c43272d2a
Remove backend_bits from initialize_adapter_from_env ( #3904 )
...
Remove backend_bits from initialize_adapter_from_env, backends can
be specified using the backends field in InstanceDescriptor instead.
2023-07-05 18:21:39 +02:00
Connor Fitzgerald
10172e1f38
Move Examples and Tests to Their Own Crates ( #3841 )
...
Co-authored-by: Connor Fitzgerald <connor@modyfi.io>
2023-06-10 18:35:46 +00:00