Jim Blandy
c9212c6d46
[core] Document command encoding and command buffers.
...
Flesh out the documentation for `wgpu_core`'s `CommandBuffer`,
`CommandEncoder`, and associated types.
Allow doc links to private items. `wgpu-core` isn't entirely
user-facing, so it's useful to document internal items.
2024-04-14 20:53:15 -07:00
Jim Blandy
5b8be97a88
[hal] Update crate documentation and wgpu-hal/README.md. ( #5524 )
...
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2024-04-14 18:34:15 +00:00
Andreas Reich
82dead09e4
Bump wgpu-core/hal/types & naga versions to match latest released patch versions ( #5404 )
2024-04-09 00:33:43 -04:00
vero
911baf3e8c
Add DirectX ShaderModel 6.1-6.7 detection ( #5498 )
2024-04-06 11:35:59 +02:00
vero
1c48a23cff
Add Metal 3.0 and 3.1 detection ( #5497 )
2024-04-05 19:22:33 +02:00
teoxoy
7df0aa6364
move the burden of evaluating override-expressions to users of naga's API
2024-04-05 18:07:41 +02:00
teoxoy
2929ec333c
[spv/msl/hlsl-out] support pipeline constant value replacements
2024-04-05 18:07:41 +02:00
teoxoy
7ce422c57a
remove naga's clone feature
2024-04-05 18:07:41 +02:00
teoxoy
3bda381812
add pipeline constants plumbing
2024-04-05 18:07:41 +02:00
Chase MacDonnell
3db0e46f7d
Implement Unorm10_10_10_2 VertexFormat ( #5477 )
2024-04-03 19:43:54 +00:00
JMS55
ed843f8029
Add more hal methods ( #5452 )
...
* Add return value to Texture::as_hal()
* Add TextureView::as_hal()
* Add CommandEncoder::as_hal_mut()
* Add changelog
* Add TextureView::raw_handle()
* Add CommandEncoder::raw_handle()
* Add additional docs for command_encoder_as_hal_mut
2024-04-03 00:37:18 +02:00
Jim Blandy
e30e300436
[hal/vulkan] Document more PhysicalDeviceFeatures-related things.
...
Improve documentation for:
- `PhysicalDeviceFeatures::from_extensions_and_requested_features`
- `PhysicalDeviceFeatures::to_wgpu`
- `Adapter::physical_device_features`
2024-04-02 12:54:00 +02:00
Jim Blandy
7954bb66a5
Rename PhysicalDeviceCapabilities
to PhysicalDeviceProperties
.
...
Since this struct's role is to hold all the relevant "VkFooProperties"
structs we can get about a given physical device, and "capabilities"
means something else in Vulkan (SPIR-V capabilities), it seems that
`PhysicalDeviceProperties` is a better name.
2024-04-02 12:49:36 +02:00
Erich Gubler
d12e89c483
fix(metal): don't depend on BG{,L} entry order
...
This isn't guaranteed by `wgpu-core`; we should try to match by binding
slot index instead.
2024-04-01 17:51:36 -04:00
Erich Gubler
74f514ca6b
fix(gles): don't depend on BG{,L} entry order
...
This isn't guaranteed by `wgpu-core`; we should try to match by binding
slot index instead.
2024-04-01 17:51:36 -04:00
Erich Gubler
4fa2fbb5aa
fix(dx12): don't depend on BG{,L} entry order
...
This isn't guaranteed by `wgpu-core`; we should try to match by binding
slot index instead.
2024-04-01 17:51:36 -04:00
Jim Blandy
18f721561a
[hal/vulkan] Document physical device info structures. ( #5451 )
...
Flesh out documentation for `PhysicalDeviceFeatures` and
`PhysicalDeviceCapabilities`.
2024-03-29 14:53:01 +01:00
Jim Blandy
ec1484b106
[hal/vulkan] Use Option::insert
and avoid an unwrap
.
...
In `wgpu_hal::vulkan::InstanceShared::inspect`, handle
`PhysicalDeviceCapabilities::maintenance_3` more like the way we
handle other extension-provided physical device properties.
Specifically, use `Option::insert` to populate the `Option` and borrow
a mutable reference to its value, rather than calling
`.as_mut().unwrap()`.
This change should have no observable effect on behavior. It simply
replaces a runtime check (`unwrap`) with a statically checked
borrow (`insert`).
2024-03-29 11:54:04 +01:00
lylythechosenone
136ca1500e
[wgpu-hal] migrate A
from a generic parameter to an associated type ( #5427 )
...
This is to facilitate #5124 .
2024-03-23 10:28:49 +01:00
dependabot[bot]
e04a9f4c6f
build(deps): bump the patch-updates group with 29 updates ( #5376 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 13:00:43 -04:00
vero
4e6f873da5
Add shader I64 and U64 support ( #5154 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-03-12 12:34:06 +01:00
Eshed Schacham
8e15707631
gles: fix crash when holding multiple devices on wayland/surfaceless. ( #5351 )
2024-03-10 21:12:51 +01:00
Nathan Adams
f78e2f7800
GL actually supports DEPTH32FLOAT_STENCIL8 ( #5370 )
2024-03-10 20:56:58 +01:00
Nathan Adams
2234fd681d
Cache MAX_SAMPLES on gles backend ( #5346 )
2024-03-09 10:16:31 +01:00
Nathan Adams
f86898ffeb
Don't create shader-clear program on GLES if it's not needed ( #5348 )
...
* Store GLES shader clear program in its own struct
* Make shader_clear_program optional on GLES, only created if needed
2024-03-08 20:36:12 +01:00
Daniel McNab
74238e2d58
Fix clippy error
2024-03-06 12:47:42 -08:00
Daniel McNab
4e851067dd
Don't depend on validation layers for setting object names
2024-03-06 12:47:42 -08:00
teoxoy
9c9418e84a
[wgpu-hal] make android dependencies optional based on features
2024-03-04 15:03:50 +01:00
Erik Živković
19cc9d9776
Revert "Add OpenGL support for TEXTURE_FORMAT_16BIT_NORM on supported versions ( #5330 )" ( #5339 )
...
This reverts commit 352cb3d40b
.
2024-03-04 09:19:57 +01:00
Erik Živković
352cb3d40b
Add OpenGL support for TEXTURE_FORMAT_16BIT_NORM on supported versions ( #5330 )
2024-03-03 21:38:38 +00:00
Erik Živković
f0ed4cf520
Add support for running on OpenGL 4.1 with a core profile on macOS ( #5331 )
...
When running wgpu with an OpenGL context on macOS that is created with a core
profile and with the forward-compatibility bit set, the MAX_VARYING_COMPONENTS
constant returns 0 when queried. The default value is 60, so we return the
default value if the query returns 0.
We also need to use `#version 140` on macOS since `#version 130` isn't accepted.
Since `#version 140` should be available from OpenGL 3.1, we use that everywhere.
That way we don't need any specific macOS flags or features.
2024-03-03 22:22:20 +01:00
Eshed Schacham
2d8d045453
wgpu-hal: add ndk-sys dependency to fix linking error. ( #5326 )
2024-03-01 21:16:09 +00: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
David Stern
23392c5228
Try to load libX11.so.6
in addition to libX11.so
. ( #5307 )
2024-02-27 12:15:13 -05:00
Nicolas Silva
66c7e98ad7
Add feature flags in hal to panic when running into some types of errors ( #5273 )
2024-02-21 11:35:24 -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
Bartłomiej Maryńczak
2e9ee0aa56
[wgpu-hal.gles] Error log for failed GLES heuristics ( #5266 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-02-19 20:33:47 +00:00
Erich Gubler
754d93a4a7
fix(gles): discard cmd. enc. buf. on drop
2024-02-15 10:45:32 -05:00
Erich Gubler
2b487724f2
fix(dx12): discard cmd. enc. buf. on drop
2024-02-15 10:45:32 -05:00
Andreas Reich
f350f28c35
Separate native-only feature for wgpu::CommandEncoder::write_timestamp
( #5188 )
...
* split out TIMESTAMP_QUERY_INSIDE_ENCODERS from TIMESTAMP_QUERY
* changelog entry
* update changelog change number
* fix web warnings
* single line changelog
* note on followup issue
2024-02-13 16:03:33 +00:00
Erich Gubler
31ac63ce3e
feat(vulkan): enable GPU-based validation for Vulkan backend
...
If [`VK_LAYER_KHRONOS_validation`] is present, and it supports
[`VK_EXT_validation_features`], we can configure it with another instance
creation info. element of type [`VkValidationFeaturesEXT`] to enable
GPU-based validation. Wire `InstanceFlags::GPU_BASED_VALIDATION` to do
this in the Vulkan backend. It's even already finding issues in our
`examples` and other tests! But…we'd like to handle those later, since
this is so important for users. So, I've broken that out to separate
issues. The instances we're aware of:
* `water` is running into sync. validation issues: see
<https://github.com/gfx-rs/wgpu/issues/5231 >
* `wgpu_test::shader::struct_layout::uniform_input` is failing to
instrument shaders now; see
<https://github.com/gfx-rs/wgpu/issues/5245 >
It is apparent from this and the [DX12 implementation of GPU-based
validation] that we will need to communicate clearly to users that
`InstanceFlags::GPU_BASED_VALIDATION` implies
`InstanceFlags::VALIDATION`. Not all backends enforce this yet; I have
[split out this work][follow-up for flag implication].
Note that `VK_EXT_validation_features` has been deprecated in favor of
the more general layer configuration mechanism offered by
[`VK_EXT_layer_settings`].
[DX12 implementation of GPU-based validation]: https://github.com/gfx-rs/wgpu/pull/5146
[`VK_EXT_layer_settings`]: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_layer_settings.html
[`VK_EXT_validation_features`]: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_EXT_validation_features.html
[`VK_LAYER_KHRONOS_validation`]:https://vulkan.lunarg.com/doc/sdk/1.3.275.0/linux/khronos_validation_layer.html
[`VkValidationFeaturesEXT`]: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkValidationFeaturesEXT.html
[follow-up for flag implication]: https://github.com/gfx-rs/wgpu/pull/5232
2024-02-12 10:23:07 -05:00
Erich Gubler
6a51f3d82f
refactor(vulkan): extract enumerate_instance_extension_properties
helper
...
This will be used shortly for checking if we should proceed with
enabling GPU-based validation.
2024-02-12 10:23:07 -05:00
Erich Gubler
e154cc0312
refactor(vulkan): hoist validation layer check
...
This will be used shortly for checking if we should proceed with
enabling GPU-based validation.
2024-02-12 10:23:07 -05:00
Jim Blandy
60487f5833
Document the wgpu_hal::CommandEncoder
trait.
2024-02-09 11:33:52 -08:00
Nicolas Silva
990324fc33
Add max_color_attachments and max_color_attachment_bytes_per_sample ( #5218 )
2024-02-09 09:39:29 +01: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
ark
c87e3d4037
using non alpha channeled texture
2024-02-01 11:41:55 +01:00
Erich Gubler
c28466cc21
feat: make GPU-based validation opt-in with new InstanceFlags::GPU_BASED_VALIDATION
2024-01-30 21:57:01 -05:00
Erich Gubler
4aab8a8399
feat(dx12): enable GPU-based validation for DX12 backend
...
Logic for doing this was sourced from
<https://learn.microsoft.com/en-us/windows/win32/direct3d12/using-d3d12-debug-layer-gpu-based-validation >.
2024-01-30 21:57:01 -05:00
Okko Hakola
b3490de69d
[d3d12] Avoid panic on instance drop ( #5134 )
2024-01-24 12:49:18 +01:00
Nicolas Silva
60a5739df2
d3d12: Propagate errors when closing command lists ( #5125 )
...
Before this commit, command lists that we failed to close were used anyway during submit, causing device loss.
2024-01-23 14:30:08 +01:00
dependabot[bot]
a0862aabb4
build(deps): bump the patch-updates group with 16 updates ( #5115 )
...
Bumps the patch-updates group with 16 updates:
| Package | From | To |
| --- | --- | --- |
| [bitflags](https://github.com/bitflags/bitflags ) | `2.4.1` | `2.4.2` |
| [env_logger](https://github.com/rust-cli/env_logger ) | `0.10.1` | `0.10.2` |
| [smallvec](https://github.com/servo/rust-smallvec ) | `1.12.0` | `1.13.1` |
| [winit](https://github.com/rust-windowing/winit ) | `0.29.9` | `0.29.10` |
| [anstream](https://github.com/rust-cli/anstyle ) | `0.6.7` | `0.6.11` |
| [clap](https://github.com/clap-rs/clap ) | `4.4.16` | `4.4.18` |
| [fdeflate](https://github.com/image-rs/fdeflate ) | `0.3.3` | `0.3.4` |
| [hermit-abi](https://github.com/hermitcore/hermit-rs ) | `0.3.3` | `0.3.4` |
| [linux-raw-sys](https://github.com/sunfishcode/linux-raw-sys ) | `0.4.12` | `0.4.13` |
| [pkg-config](https://github.com/rust-lang/pkg-config-rs ) | `0.3.28` | `0.3.29` |
| [proc-macro2](https://github.com/dtolnay/proc-macro2 ) | `1.0.76` | `1.0.78` |
| [rayon](https://github.com/rayon-rs/rayon ) | `1.8.0` | `1.8.1` |
| [regex](https://github.com/rust-lang/regex ) | `1.10.2` | `1.10.3` |
| [smol_str](https://github.com/rust-analyzer/smol_str ) | `0.2.0` | `0.2.1` |
| [unicode-bidi](https://github.com/servo/unicode-bidi ) | `0.3.14` | `0.3.15` |
| [uuid](https://github.com/uuid-rs/uuid ) | `1.6.1` | `1.7.0` |
Updates `bitflags` from 2.4.1 to 2.4.2
- [Release notes](https://github.com/bitflags/bitflags/releases )
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bitflags/bitflags/compare/2.4.1...2.4.2 )
Updates `env_logger` from 0.10.1 to 0.10.2
- [Release notes](https://github.com/rust-cli/env_logger/releases )
- [Changelog](https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-cli/env_logger/compare/v0.10.1...v0.10.2 )
Updates `smallvec` from 1.12.0 to 1.13.1
- [Release notes](https://github.com/servo/rust-smallvec/releases )
- [Commits](https://github.com/servo/rust-smallvec/compare/v1.12.0...v1.13.1 )
Updates `winit` from 0.29.9 to 0.29.10
- [Release notes](https://github.com/rust-windowing/winit/releases )
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-windowing/winit/compare/v0.29.9...v0.29.10 )
Updates `anstream` from 0.6.7 to 0.6.11
- [Commits](https://github.com/rust-cli/anstyle/compare/anstream-v0.6.7...anstream-v0.6.11 )
Updates `clap` from 4.4.16 to 4.4.18
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/v4.4.16...v4.4.18 )
Updates `fdeflate` from 0.3.3 to 0.3.4
- [Changelog](https://github.com/image-rs/fdeflate/blob/main/CHANGES.md )
- [Commits](https://github.com/image-rs/fdeflate/compare/v0.3.3...v0.3.4 )
Updates `hermit-abi` from 0.3.3 to 0.3.4
- [Release notes](https://github.com/hermitcore/hermit-rs/releases )
- [Commits](https://github.com/hermitcore/hermit-rs/compare/hermit-abi-0.3.3...hermit-abi-0.3.4 )
Updates `linux-raw-sys` from 0.4.12 to 0.4.13
- [Commits](https://github.com/sunfishcode/linux-raw-sys/compare/v0.4.12...v0.4.13 )
Updates `pkg-config` from 0.3.28 to 0.3.29
- [Changelog](https://github.com/rust-lang/pkg-config-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/pkg-config-rs/compare/0.3.28...0.3.29 )
Updates `proc-macro2` from 1.0.76 to 1.0.78
- [Release notes](https://github.com/dtolnay/proc-macro2/releases )
- [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.76...1.0.78 )
Updates `rayon` from 1.8.0 to 1.8.1
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md )
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.8.0...rayon-core-v1.8.1 )
Updates `regex` from 1.10.2 to 1.10.3
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.10.2...1.10.3 )
Updates `smol_str` from 0.2.0 to 0.2.1
- [Commits](https://github.com/rust-analyzer/smol_str/commits )
Updates `unicode-bidi` from 0.3.14 to 0.3.15
- [Release notes](https://github.com/servo/unicode-bidi/releases )
- [Commits](https://github.com/servo/unicode-bidi/commits )
Updates `uuid` from 1.6.1 to 1.7.0
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/1.6.1...1.7.0 )
---
updated-dependencies:
- dependency-name: bitflags
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: env_logger
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: smallvec
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: patch-updates
- dependency-name: winit
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: anstream
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: clap
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: fdeflate
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: hermit-abi
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: linux-raw-sys
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: pkg-config
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: proc-macro2
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: rayon
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: regex
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: smol_str
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: unicode-bidi
dependency-type: indirect
update-type: version-update:semver-patch
dependency-group: patch-updates
- dependency-name: uuid
dependency-type: indirect
update-type: version-update:semver-minor
dependency-group: patch-updates
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 01:00:32 -05:00
John-John Tedro
e5c62fb5bd
vulkan: Replace fence with semaphore when acquiring surfaces ( #4967 )
2024-01-21 18:14:17 -05:00
Imbris
6c7c6fb999
Make sure to unset current context in wgl Surface::configure/present ( #5087 )
2024-01-20 22:26:54 -05:00
Teodor Tanasoaia
f9509bcf9e
[d3d12] use plane 1 for stencil only views ( #5100 )
...
* [d3d12] use plane 1 for stencil only views
* add test
* skip stencil only view creation on WebGL
2024-01-19 21:42:19 +00:00
Nick
101e9a574d
Make sure to copy all of the buffers into the resource array for dx12. ( #5091 )
...
* Make sure to copy all of the buffers into the resource array for dx12.
Fixes #5088 . Even though we're telling DX12 that the maximum frame latency should be our non-padded value, the swap chain may request any of the buffers allocated to it.
* Up the maximum frame latency on the DX12 backend to allow a larger range.
2024-01-19 18:32:10 +01:00
Nicolas Silva
d678c7a9cf
d3d12: Null check the out ComPtr of a few creation functions ( #5096 )
...
My understanding is that we shouldn't need to (The d3d12 docs aren't very specific about that), but we have evidence that these functions sometimes leave the resource pointer set to null without returning an error.
2024-01-19 18:28:03 +01:00
Connor Fitzgerald
484457d959
Fix wgpu-hal build
2024-01-17 15:23:50 -05:00
Connor Fitzgerald
8b2098bd4e
Release 0.19 ( #5082 )
2024-01-17 14:42:11 -05:00
Andreas Reich
b8f27c7284
Expose maximum_frame_latency ( #4899 )
...
Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
2024-01-17 12:46:34 -05:00
Nicolas Silva
445fa6019b
d3d12: Propagate descriptor heap and handle allocation errors ( #5065 )
2024-01-15 15:43:30 +00:00
dependabot[bot]
c5a0b0b7b4
Bump the patch-updates group with 12 updates ( #5061 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-14 23:48:30 -05:00
daxpedda
580340f2d3
Add cfg_aliases
to wgpu-core
and wgpu-hal
( #5055 )
2024-01-14 00:59:59 -05:00
Connor Fitzgerald
552f06da2f
Fix DX12 Wait with Timeout ( #5052 )
2024-01-13 15:50:32 -05:00
dependabot[bot]
8c1658f28f
Bump the patch-updates group with 11 updates ( #5039 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-10 19:38:11 -05:00
Jim Blandy
8af6975d5e
Prefer Arc::into_inner
over Arc::try_unwrap
. ( #5018 )
2024-01-08 19:24:33 -05:00
Rubens Brandão
0298198ab7
fix: get CONTEXT_PROFILE_MASK in invalid version ( #5007 )
2024-01-06 15:16:29 +00:00
dependabot[bot]
dd2b985690
Bump winit from 0.29.8 to 0.29.9 ( #5004 )
...
Bumps [winit](https://github.com/rust-windowing/winit ) from 0.29.8 to 0.29.9.
- [Release notes](https://github.com/rust-windowing/winit/releases )
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-windowing/winit/compare/v0.29.8...v0.29.9 )
---
updated-dependencies:
- dependency-name: winit
dependency-type: direct:production
update-type: version-update:semver-patch
...
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-01-06 09:56:44 -05:00
dependabot[bot]
f162cfa0f8
Bump gpu-allocator from 0.24.0 to 0.25.0 ( #4992 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-04 22:12:25 -05:00
Nick
00cf05c1d0
Fix Queue::write_texture, Fix DX12 write_texture_subset_2d and re-enable the test. ( #4990 )
2024-01-04 19:50:41 -05:00
Valaphee The Meerkat
7c21e605fb
gles: use already existing debug__fn private capabilty instead of checking extensions ( #4974 )
2024-01-04 09:48:28 +01:00
Connor Fitzgerald
ad23b450d6
Pin DXC and Vulkan SDK version ( #4980 )
2024-01-04 08:41:13 +00:00
Ian Douglas Scott
771f64917c
wgpu-hal: Fix Mesa version check for version with suffix containing .
( #4959 )
...
On Pop!_OS we have versions like
`Mesa 23.3.0-1pop0~1702935939~22.04~67e417a`. This failed to parse here
since it tried to split at the `.` in the suffix.
Not sure if other distros use a suffix with a `.`, but splitting from
the left and comparing as a tuple instead of a float seems cleaner
overall.
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-01-04 07:22:33 +00:00
Connor Fitzgerald
b989e56874
Use Custom Mesa for Building ( #4977 )
2024-01-03 22:49:40 -05:00
Teodor Tanasoaia
6fdec5cc6b
[gl] fix RGBA8 format capabilities ( #4968 )
...
- `Rgba8UnormSrgb` can't be used as a storage texture
- `Rgba8Snorm` can be used as a storage texture
2024-01-03 12:14:15 +01:00
dependabot[bot]
d7db4e5ef0
Bump winit from 0.29.6 to 0.29.8 ( #4948 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2024-01-02 16:44:43 -05:00
dependabot[bot]
085141149b
Bump winit from 0.29.5 to 0.29.6 ( #4930 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-24 22:28:37 -05:00
dependabot[bot]
c97b351b83
Bump winit from 0.29.4 to 0.29.5 ( #4922 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-21 23:19:32 -05:00
sotaroikeda
1d6c7a0263
Support Device fence sharing with dx12 on Windows ( #4900 )
...
Co-authored-by: Sotaro Ikeda <you@example.com>
2023-12-20 13:33:47 -05:00
daxpedda
bcdc240a9a
WebGL: add support for more RawWindowHandle
variants ( #4888 )
2023-12-17 20:47:38 -05:00
daxpedda
2053358d89
Add wgpu
crate features for backends ( #4815 )
...
* Introduce `dx12` and `metal` crate features to `wgpu`
* Implement dummy `Context` to allow compilation with `--no-default-features`
* Address review
* Remove `dummy::Context` in favor of `hal::api::Empty`
* Add changelog entry
* Panic early in `Instance::new()` if no backend is enabled
Co-Authored-By: Andreas Reich <1220815+Wumpf@users.noreply.github.com>
---------
Co-authored-by: Andreas Reich <1220815+Wumpf@users.noreply.github.com>
2023-12-16 10:39:53 +01:00
Xiaopeng Li
ecc301ea16
fix present mode for wgl ( #4865 )
2023-12-12 13:36:43 -05:00
Michael Palmos
eff9a362be
Add COPY_SRC
to Metal's surface usage bits. ( #4852 )
2023-12-10 08:32:36 +00:00
dependabot[bot]
0a81ec377a
Bump once_cell from 1.18.0 to 1.19.0 ( #4847 )
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.18.0 to 1.19.0.
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.18.0...v1.19.0 )
---
updated-dependencies:
- dependency-name: once_cell
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-07 23:47:27 -05:00
Theo Dulka
cf8e11efc3
Use VK_EXT_robustness2
only when not using an outdated intel iGPU driver ( #4602 )
2023-12-07 14:08:21 -05:00
Teodor Tanasoaia
0cbabcf229
Update multi-planar texture API ( #4837 )
2023-12-07 14:06:56 -05:00
Nicolas Silva
ff7b2c3993
Work around cbindgen issue
...
cbindgen spins out of control if wgpu_hal reexports a wgpu_types type using pub type in stead of pub use while keeping the same name.
2023-12-07 11:45:57 +01:00
Daniel Keitel
0f4df52b5a
[wgpu-hal] Inline RayQuery Support ( #3507 )
...
Co-authored-by: JMS55 <47158642+JMS55@users.noreply.github.com>
Co-authored-by: Ashley Ruglys <ashley.ruglys@gmail.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-12-06 21:12:41 +00:00
Valaphee The Meerkat
5022a6244b
[gl] add support for line and point polygon modes ( #4836 )
...
Co-authored-by: Nicolas Silva <nical@fastmail.com>
2023-12-06 15:51:27 -05:00
Valaphee The Meerkat
a1fafe394f
Remove DX11 backend ( #4828 )
2023-12-06 15:12:46 -05:00
Teodor Tanasoaia
12869e36fe
[vk] remove (old) unused blocklist for dual source blending ( #4758 )
2023-12-06 15:50:10 +01:00
xiaopengli89
2882735cb9
check multi-planar format
2023-12-06 10:36:50 +01:00
Almar Klein
32c5a22293
Add feature float32-filterable ( #4759 )
2023-12-04 14:23:13 +01:00
Leon
1823f8bbdf
Fixes and changes to the documentation for increasing clarity ( #4806 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-12-01 14:02:00 -05:00
Leo Kettmeir
41fb222726
update deno ( #4801 )
2023-11-30 15:29:30 +01:00
Andreas Reich
8da4925948
Remove surface extent validation (and thus fix the annoying Requested size ... is outside of the supported range
warning) ( #4796 )
...
* Remove surface extent validation
* silence pnext vulkan validation warning which can happen on surface resize
* remove old VUID-VkSwapchainCreateInfoKHR-imageExtent-01689 validation warning ignore
* Validate surface against max texture size
2023-11-29 18:21:26 +01:00
dependabot[bot]
723b8baf2a
Bump web-sys from 0.3.65 to 0.3.66 ( #4800 )
...
Bumps [web-sys](https://github.com/rustwasm/wasm-bindgen ) from 0.3.65 to 0.3.66.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits )
---
updated-dependencies:
- dependency-name: web-sys
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-29 02:03:18 -05:00
dependabot[bot]
3a448b8378
Bump winit from 0.29.3 to 0.29.4 ( #4784 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-28 12:20:20 -05:00
dependabot[bot]
e5d5a492b6
Bump js-sys from 0.3.65 to 0.3.66
...
Bumps [js-sys](https://github.com/rustwasm/wasm-bindgen ) from 0.3.65 to 0.3.66.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits )
---
updated-dependencies:
- dependency-name: js-sys
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-11-28 12:01:11 -05:00
Xiaopeng Li
a6503e59c9
Support nv12 texture format ( #4573 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-11-28 16:11:26 +00:00
TÖRÖK Attila
2964eed6f9
Bump web-sys to 0.3.65 ( #4777 )
2023-11-26 17:54:29 -05:00
Teodor Tanasoaia
f4c6faf773
Rename ALLOW_NONCOMPLIANT_ADAPTER
to ALLOW_UNDERLYING_NONCOMPLIANT_ADAPTER
( #4760 )
...
* rename `ALLOW_NONCOMPLIANT_ADAPTER` to `ALLOW_UNDERLYING_NONCOMPLIANT_ADAPTER`
* clarify comment
2023-11-24 14:29:54 -05:00
Connor Fitzgerald
3c261f3652
Allow Tests to Expect Certain Panic or Validation Messages ( #4748 )
2023-11-23 03:49:01 -05:00
i509VCB
1a7db86917
wgpu-hal(vk): Add WGPU_ALLOW_NONCOMPLIANT_ADAPTER ( #4754 )
2023-11-22 23:13:29 -05:00
Connor Fitzgerald
1df98d9888
Test And Normalize Vertex Behavior on All Backends ( #4723 )
...
Co-authored-by: teoxoy <28601907+teoxoy@users.noreply.github.com>
2023-11-21 22:11:24 +00:00
Jim Blandy
72462267e8
[naga]: Let TypeInner::Matrix
hold a Scalar
, not just a width.
...
Let `naga::TypeInner::Matrix` hold a full `Scalar`, with a kind and
byte width, not merely a byte width, to make it possible to represent
matrices of AbstractFloats for WGSL.
2023-11-21 12:02:50 +01: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
Teodor Tanasoaia
666f681dae
[vk] check that adapters are Vulkan compliant ( #4718 )
2023-11-17 17:42:53 -05:00
Teodor Tanasoaia
a34e39ad2f
[dx12] filter out haswell iGPUs ( #4709 )
2023-11-17 13:40:09 -05:00
daxpedda
bec6560e10
Add WasmNotSendSync
( #4702 )
2023-11-16 19:47:10 -05:00
Jim Blandy
9f91c95c24
[naga] Introduce Scalar
type to IR.
...
Introduce a new struct type, `Scalar`, combining a `ScalarKind` and a
`Bytes` width, and use this whenever such pairs of values are passed
around.
In particular, use `Scalar` in `TypeInner` variants `Scalar`, `Vector`,
`Atomic`, and `ValuePointer`.
Introduce associated `Scalar` constants `I32`, `U32`, `F32`, `BOOL`
and `F64`, for common cases.
Introduce a helper function `Scalar::float` for constructing `Float`
scalars of a given width, for dealing with `TypeInner::Matrix`, which
only supplies the scalar width of its elements, not a kind.
Introduce helper functions on `Literal` and `TypeInner`, to produce
the `Scalar` describing elements' values.
Use `Scalar` in `wgpu_core::validation::NumericType` as well.
2023-11-14 14:21:27 +01: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
Westerbly Snaydley
2e7fd75712
vk: Enable FifoRelaxed PresentMode ( #4666 )
2023-11-10 17:09:42 +00:00
Teodor Tanasoaia
1d4fa812ef
Gate usage of metal::ComputePassDescriptor
on timestamp query support ( #4643 )
2023-11-06 14:30:04 +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
exrook
e7e2f2aa73
vulkan: Log validation layer messages during instance creation/destruction ( #4586 )
2023-11-05 23:14:59 -05:00
daxpedda
9501ccc6b0
Use HLSL 2018 ( #4629 )
2023-11-04 19:53:48 +00:00
dependabot[bot]
c7431367a5
Bump gpu-allocator from 0.23.0 to 0.24.0 ( #4626 )
...
Bumps [gpu-allocator](https://github.com/Traverse-Research/gpu-allocator ) from 0.23.0 to 0.24.0.
- [Release notes](https://github.com/Traverse-Research/gpu-allocator/releases )
- [Changelog](https://github.com/Traverse-Research/gpu-allocator/blob/main/release.toml )
- [Commits](https://github.com/Traverse-Research/gpu-allocator/compare/0.23.0...0.24.0 )
---
updated-dependencies:
- dependency-name: gpu-allocator
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-03 09:24:36 +01:00
dependabot[bot]
e78e9dd400
Bump js-sys from 0.3.64 to 0.3.65 ( #4622 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 23:41:23 -04:00
dependabot[bot]
0bf3e619e8
Bump hassle-rs from 0.10.0 to 0.11.0 ( #4623 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 23:41:17 -04:00
Zoxc
3f80ee785c
Implement mipmap views on the OpenGL backend ( #4278 )
2023-11-01 16:57:24 -04:00
Zoxc
8f6fcb1e6f
Further OpenGL 3.1 support ( #4612 )
2023-10-30 11:51:13 -04:00
Zoxc
ac896cf223
Improve OpenGL 3.1 support ( #4272 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-10-30 05:35:24 +00:00
Zoxc
ff1ba0b4fe
[wgl] Create a hidden window per instance ( #4603 )
2023-10-30 01:10:01 -04:00
Connor Fitzgerald
2aa7c29068
Extra Profiling Scopes ( #4610 )
2023-10-30 03:58:32 +00:00
TornaxO7
4c5a817071
Bump raw window handle to 0.6.0 ( #4202 )
...
Co-authored-by: junglie85 <junglie85@gmail.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-10-27 05:24:46 +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
Nicolas Silva
9fd13dcce3
Validate max_vertex_buffers in set_vertex_buffer ( #4574 )
2023-10-26 19:48:03 -04:00
Erich Gubler
9e2d73d734
move(hal,dx11,dx12): use local path
dep. for d3d12
2023-10-26 13:30:44 -04:00
Connor Fitzgerald
ca7ac86ccd
DXC on DX12 in CI ( #4571 )
2023-10-26 04:01:38 -04:00
Connor Fitzgerald
34e947de4b
Integration of Naga into Repo ( #4296 )
2023-10-25 16:51:36 -04:00
Connor Fitzgerald
493024ebce
Bump metal version
2023-10-25 14:04:01 -04:00
Connor Fitzgerald
92f4207bc0
Release v0.18.0 ( #4295 )
2023-10-25 17:53:22 +00:00
Zoxc
3bdad8bd77
Add timestamp support to OpenGL ( #4267 )
2023-10-23 21:26:23 -04:00
wicast
9dc57617e4
feat(spv): shader debug option ( #4028 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-10-23 23:44:04 +00:00
Connor Fitzgerald
85cab49c53
Normalize GL language versions ( #4283 )
2023-10-23 05:17:00 +00:00
dependabot[bot]
3ed37c3365
Bump glutin_wgl_sys from 0.4.0 to 0.5.0 ( #4281 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 03:01:46 +00:00
Connor Fitzgerald
0c7acb2144
Adds some missing features from desktop GL backend ( #4279 )
2023-10-22 22:54:49 -04:00
Zoxc
095b46dbdb
Fix sRGB issues with glBlitFramebuffer on WGL ( #4273 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-10-20 21:04:09 +00:00
Zoxc
e918031201
Use the device OpenGL context for WGL surfaces ( #4271 )
2023-10-20 15:45:43 -04:00
Connor Fitzgerald
543f921639
GPU Test Framework ( #3873 )
2023-10-19 12:06:42 -04:00
Zoxc
2b985e2fad
Add WGL context creation and OpenGL support ( #4248 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-10-18 18:40:33 +00:00
Teodor Tanasoaia
ead6348b43
Set the new naga Capabilities::CUBE_ARRAY_TEXTURES
( #4263 )
2023-10-18 12:13:21 -04:00
Connor Fitzgerald
3e307a862f
Skip Integrated WARP ( #4259 )
2023-10-18 14:08:14 +02:00
Teodor Tanasoaia
a842019b34
Vulkan API version refactors ( #4252 )
2023-10-17 19:20:56 -04:00
Teodor Tanasoaia
c07d889f1b
Update naga
to 0.13.0@git:6854b0ab4f105131bfb87704927abec3fe366ef9 ( #4254 )
2023-10-17 15:49:12 +00:00
teoxoy
ad7044c230
[gles] make is_layered_target
more robust
2023-10-13 23:59:30 -04:00
teoxoy
b5e578bd0b
[gles] consolidate z offset selection
2023-10-13 23:59:30 -04:00
teoxoy
8e42ef002c
[gles] consolidate cubemap face selection
2023-10-13 23:59:30 -04:00
teoxoy
6044c5443c
[gles] simplify cubemap tracking
2023-10-13 23:59:30 -04:00
Nicolas Silva
ff306d20e0
Add support for bgra8unorm-storage ( #4228 )
...
* Add `BGRA8UNORM_STORAGE` extension
* Leave a comment in the backends that don't support bgra8unorm-storage
* Pass the appropriate storage format to naga
* Check for bgra8unorm storage support in the vulkan backend
* Add a test
Co-authored-by: Jinlei Li <jinleili0@outlook.com>
Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>
2023-10-13 10:07:11 +00:00
Teodor Tanasoaia
6c8ccdeaa9
[gles] enable/disable blending per attachment only when available (on ES 3.2 or higher) ( #4234 )
2023-10-12 20:22:42 -04:00
Jim Blandy
9df73c5c6e
Update naga
to 0.13.0@git:9eb3a1dc (const expressions) ( #4233 )
2023-10-12 11:56:46 -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
Colin Edwards
0f7b530ea8
Add WinUI 3 SwapChainPanel support ( #4191 )
2023-10-11 13:36:30 -04:00
Erich Gubler
c1748b2fea
Make more HAL APIs require Debug
( #4226 )
2023-10-11 13:31:37 -04:00
Nicolas Silva
35ebd4a528
Update naga
to 0.13.0@git:33b75a27d93c6574b11b4dd4492b85b5783d6c52 ( #4229 )
2023-10-10 16:54:07 +00:00
Nicolas Silva
2664da88b0
Update naga
to 0.13.0@git:3c7dbc4016b84a35c69b30305b12abaeefc21fd9 ( #4221 )
2023-10-09 16:39:22 +00:00
TornaxO7
a5b9ebb3c9
fix clippy warnings and errors ( #4205 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-10-09 16:34:06 +00:00
daxpedda
c85cbea39e
Bump khronos-egl
to v6 ( #3807 )
2023-10-05 14:01:32 -04:00
Connor Fitzgerald
93d2e5b4ba
Split MSRV in Two Parts ( #4204 )
...
* Split MSRV in two parts
* Use toml
* Fix CI
* Update names and cache hits for various jobs
* Comment
2023-10-03 21:03:32 -04:00
Teodor Tanasoaia
e63b0f6f17
[vulkan] set spir-v capabilities based on downlevel flags ( #4197 )
2023-10-03 16:34:36 -04:00
Elabajaba
61300afd22
update gpu-allocator
to 0.23 ( #4198 )
2023-10-03 16:32:13 -04:00
Alix Bott
a4d733b2e6
Fix x11 hang when resizing on vulkan ( #4184 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-10-03 20:24:54 +00:00
Teodor Tanasoaia
422c636877
Add Rgb10a2Uint
format ( #4199 )
2023-10-03 14:56:21 +02:00
dependabot[bot]
1cf3bdf0bd
Bump libloading from 0.8.0 to 0.8.1 ( #4192 )
...
Bumps [libloading](https://github.com/nagisa/rust_libloading ) from 0.8.0 to 0.8.1.
- [Commits](https://github.com/nagisa/rust_libloading/compare/0.8.0...0.8.1 )
---
updated-dependencies:
- dependency-name: libloading
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 14:14:34 +02:00
dependabot[bot]
caad255737
Bump winit from 0.28.6 to 0.28.7 ( #4181 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-28 02:40:41 -04:00
Fredrik Fornwall
85e2141355
Fix using trunk version on mac ( #4164 )
...
Overriding the metal version in the workspace Cargo.toml using a patch
section does not work for projects building against the trunk version:
wgpu = { git = "https://github.com/gfx-rs/wgpu ", branch = "trunk" }
Instead specify the metal dependencies only once in wgpu-hal.
2023-09-22 14:58:33 +02:00
Aaron Hill
2b4a8b318f
wgpu-core: Only produce StageError::InputNotConsumed on DX11/DX12 ( #4116 )
...
* wgpu-core: Only produce StageError::InputNotConsumed on DX11/DX12
This error only exists due to an issue with naga's HLSL support:
https://github.com/gfx-rs/naga/issues/1945
The WGPU spec itself allows vertex shader outputs that are
not consumed by the fragment shader.
Until the issue is fixed, we can allow unconsumed outputs on
all platforms other than DX11/DX12.
* Add Features::SHADER_UNUSED_VERTEX_OUTPUT to allow disabling check
* Pick an unused feature id
2023-09-20 21:02:37 -04:00
Frederik Magnus Johansen Vestre
dc5beac8c9
Support dual source blending ( #4022 )
...
Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>
2023-09-19 13:26:30 +02:00
Teodor Tanasoaia
8adab25905
[d3d12] Document map_blend_factor
( #4151 )
2023-09-18 10:43:11 -04:00
Jim Blandy
471229a48f
Update Naga to df8107b7
(2023-9-15). ( #4149 )
2023-09-17 15:39:16 -04:00
Andreas Reich
0ffdae31a1
Metal encoder & pass timestamp support ( #4008 )
...
Implements timer queries via write_timestamp on Metal for encoders (whenever timer queries are available) and passes (for Intel/AMD GPUs, where we should advertise TIMESTAMP_QUERY_INSIDE_PASSES now).
Due to some bugs in Metal this was a lot harder than expected. I believe the solution is close to optimal with the current restrictions in place. For details see code comments.
2023-09-16 20:01:46 +00:00
Connor Fitzgerald
b488e03d9f
Workaround NV bug ( #4132 )
2023-09-14 16:38:21 -04:00
Nicolas Silva
012304ea11
Update naga
to 0.13.0@git:cc87b8f9eb30bb55d0735b89d3df3e099e1a6e7c ( #4130 )
...
Co-authored-by: Nicolas Silva <nical@fastnmail.com>
2023-09-11 15:57:43 +02:00
Connor Fitzgerald
4235b0dd1c
Fix D3D12 Surface Leak ( #4106 )
2023-09-05 18:06:33 +00:00
Luke Jones
d17165f08b
Enable vulkan presentation on Intel Mesa >= v21.2 ( #4110 )
...
Due to an issue with Mesa versions less than 21.2 presentation on Vulkan
was forced to Nvidia only. This in itself brought new issues around the
Nvidia driver specfic format modifers.
As of Mesa 21.2 the Intel vulkan issue is fixed. This commit enables
presentation on versions 21.2 and above for Intel.
References:
- https://github.com/NVIDIA/egl-wayland/issues/72
Closes [#4101 ](https://github.com/gfx-rs/wgpu/issues/4101 )
2023-09-05 14:20:04 +00:00
Jim Blandy
ff807295da
hal/vulkan: Instance::required_extensions
-> desired_extensions
( #4115 )
...
Rename `wgpu_hal::vulkan::Instance::required_extensions` to
`desired_extensions`, to match its behavior. Document the function to
clarify its role.
2023-09-05 13:41:46 +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
Brad Werth
5c2c840159
Prevent Metal from crashing when a still-open encoder is deallocated, resolve issue #2077 . ( #4023 )
2023-08-28 18:23:35 -07:00
Nicolas Silva
1ced67f056
Parametrize the size of the non-sampler descriptor heap in dx12 ( #4077 )
2023-08-25 21:51:29 +02:00
Teodor Tanasoaia
f58be7b8f1
DX12 set Features::VERTEX_WRITABLE_STORAGE
based on the right FL ( #4033 )
2023-08-17 15:55:58 -04:00
Nicolas Silva
7b07f42beb
Use i32::MAX as the max buffer size for Dx12 ( #4020 )
2023-08-16 17:12:19 -04:00
Kevin Reid
a2c929427b
webgl: Comment why it's okay to overwrite webgl2_context
. ( #4064 )
2023-08-16 17:11:30 -04:00
Pieter-Jan Briers
e973a06268
Allow specifying minor GLES3 version ( #3998 )
2023-08-16 11:51:56 -04:00
Jim Blandy
e11526e23c
[vulkan] Don't free command buffers before destroying the pool. ( #4059 )
...
Calling `vkDestroyCommandPool` automatically frees all command buffers allocated
from that pool, so there is no need for `Device::destroy_command_encoder` to
explicitly call `vkFreeCommandBuffers` on the `CommandEncoder`'s `free` and
`discarded` lists.
2023-08-16 15:23:31 +02:00
hybcloud
57874e5c54
improved PR#4038 by using ash's definition instead ( #4044 )
...
of hard-coded c_str.
2023-08-15 07:29:24 +00:00
Nicolas Silva
50cfc541aa
Update naga
to 0.13.0@git:7a19f3af909202c7eafd36633b5584bfbb353ecb ( #4051 )
2023-08-15 00:09:53 +02:00
Jim Blandy
07f92c97b1
[vk] Don't request portability enumeration without the extension. ( #4038 )
2023-08-11 21:14:25 -04:00
Teodor Tanasoaia
0d233b44c5
DX11 set some more feature flags ( #4034 )
2023-08-11 16:33:55 -04:00
Teodor Tanasoaia
5bbaca7d55
DX12 doesn't support Features::POLYGON_MODE_POINT
( #4032 )
2023-08-11 16:30:01 -04:00
Connor Fitzgerald
edd45ff781
Suppress validation error caused by OBS layer ( #4002 )
2023-08-03 05:52:41 +00:00
Connor Fitzgerald
d11d2f96dc
Fix Occlusion Queries on Mac ( #4001 )
2023-08-02 19:10:21 -04:00
Christopher Fleetwood
3305e88d63
feature: Timestamp queries ( #3636 )
...
Co-authored-by: Andreas Reich <r_andreas2@web.de>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
Co-authored-by: Connor Fitzgerald <connor@modyfi.io>
2023-08-02 18:04:24 -04:00
Valaphee The Meerkat
494ae1a815
Add support for occlusion queries ( #3402 )
...
Co-authored-by: Leo Kettmeir <crowlkats@toaxl.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-08-02 19:05:59 +00:00
Erich Gubler
80daf25f20
refactor: satisfy clippy::non_minimal_cfg
2023-07-25 17:05:28 -04:00
Erich Gubler
fd2ecdd360
refactor: gate allow(clippy::drop_ref)
behind WASM build
2023-07-25 17:05:28 -04:00
Erich Gubler
2492956014
refactor: satisfy clippy::manual_slice_size_calculation
2023-07-25 17:05:28 -04:00
Teodor Tanasoaia
adc43b5672
Omit texture store bound checks since they are no-ops if out of bounds on all APIs ( #3975 )
2023-07-25 17:04:54 +02:00
dependabot[bot]
b9ecc8cd02
Bump winit from 0.27.5 to 0.28.0 ( #3950 )
...
* Bump winit from 0.27.5 to 0.28.0
Bumps [winit](https://github.com/rust-windowing/winit ) from 0.27.5 to 0.28.0.
- [Release notes](https://github.com/rust-windowing/winit/releases )
- [Changelog](https://github.com/rust-windowing/winit/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-windowing/winit/compare/v0.27.5...v0.28.0 )
---
updated-dependencies:
- dependency-name: winit
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* no longer check samples for emscripten target
* set native activity for Android
* fix using workspace for wgpu-hal
---------
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>
2023-07-23 22:43:11 +00:00
Ali
b93dc7c69a
Fixed: enabling PARTIALLY_BOUND_BINDING_ARRAY
does not get enabled on vulkan backend ( #3772 )
2023-07-23 07:37:59 +00:00
Schell Carl Scivally
8417eff6bc
fix: vulkan only uses robust_*_access2 if the driver supports it ( #3962 )
2023-07-22 23:52:44 -04:00
Schell Carl Scivally
8927077645
fix: macOS - added portability bit and extension when creating vulkan instance ( #3958 )
...
* fix: added portability bit and extension when creating vulkan instance
* fmt
2023-07-22 10:35:28 +02:00
Connor Fitzgerald
493ff2e564
Bump wgpu versions
2023-07-20 23:14:11 -04:00
dependabot[bot]
db87ee8f20
Bump js-sys from 0.3.63 to 0.3.64 ( #3861 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-07-19 16:30:14 -04:00
Erich Gubler
c062e18858
Update max_bindings_per_bind_group
default to 1000 ( #3943 )
2023-07-19 16:19:26 -04:00
Erich Gubler
7f1515f9bf
chore(dx12): resolve warnings and errors when dx11
is not specified ( #3937 )
2023-07-19 16:15:35 -04:00
Connor Fitzgerald
8e216b4cba
Fix panic on surface creation ( #3941 )
2023-07-19 16:13:07 +00:00
Jeff Muizelaar
1161a22f4f
Port to d3d12 0.7 with ownership
...
This replaces the WeakPtr usage with ComPtr which is no longer
Copy. This means we need to do a bunch of clone()s and take some
things as references.
2023-07-18 14:10:37 -07:00
Nicolas Silva
80d19d890c
Update naga
to 0.12.0@git:409239c0e2313bfd0dc4fd64f8c3021185ccef1b ( #3935 )
2023-07-18 13:25:48 +02:00
Ashley
e4eb5b38ec
Fix ASTC feature selection in the webgl backend ( #3934 )
...
* Update glow to a new minor version, improve gles adapter astc feature selection
* Update Cargo.lock
* Add changelog entry
* Improve cfg flags to filter out emscripten
2023-07-17 14:40:53 +02:00
Wez Furlong
2af6d1bc63
Ensure X11 connections are closed ( #3924 )
...
Introduces a DisplayOwner struct to own both the library
and associated display pointer; their lifetimes are combined
in that struct.
The display pointer is encapsulated in a DisplayRef.
When DisplayOwner is dropped, it ensures that the DisplayRef
is correctly closed prior to unloading the library.
refs: https://github.com/gfx-rs/wgpu/issues/3813
2023-07-13 12:32:18 +02:00
AdrianEddy
e85cc91b5d
Add support for importing external buffers ( #3355 )
2023-07-07 18:00:08 -04:00
Xiaopeng Li
9ab44e6ff6
Expose egl_config ( #3907 )
2023-07-07 17:55:47 -04:00
daxpedda
88f18ed190
Don't implement Send
or Sync
on Wasm ( #3691 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-06-29 20:31:18 +00:00
AlbinBernhardssonARM
7c34cc86e8
Implement depth-clip-control using depthClamp ( #3892 )
2023-06-29 16:15:21 -04:00
Divy Srivastava
6158692654
Add Quartzcore behind link feature flag ( #3897 )
2023-06-29 12:07:30 +02:00
Leo Kettmeir
973cd3ebf8
feat: add link feature ( #3853 )
2023-06-28 12:30:28 +02:00
Jinlei Li
757245cdfc
metal: support (simulated) visionOS ( #3883 )
2023-06-23 19:31:35 -04:00
Sven Sauleau
45efae315b
fix Wasm casing ( #3878 )
2023-06-21 20:54:07 +00:00
Xiaopeng Li
f9fcb54ce4
Disable suballocation on Iris(R) Xe gpu ( #3668 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-06-15 20:18:38 +00:00
Pieter-Jan Briers
acb7712c5a
Allow empty scissor rects ( #3863 )
2023-06-15 15:49:06 -04:00
Teodor Tanasoaia
dcad7dfba9
Update naga
to 0.12.0@git:76003dc0035d53a474d366dcdf49d2e4d12e921f ( #3866 )
2023-06-14 18:55:33 +02:00
dependabot[bot]
29b2ab9420
Bump gpu-alloc from 0.5.4 to 0.6.0 ( #3858 )
...
Bumps [gpu-alloc](https://github.com/zakarumych/gpu-alloc ) from 0.5.4 to 0.6.0.
- [Changelog](https://github.com/zakarumych/gpu-alloc/blob/main/CHANGELOG.md )
- [Commits](https://github.com/zakarumych/gpu-alloc/commits )
---
updated-dependencies:
- dependency-name: gpu-alloc
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-12 11:40:54 +02:00
Connor Fitzgerald
80b178fa56
Bumps wasm-bindgen version ( #3854 )
...
* Bumps wasm-bindgen version
* Always run the publish job, just don't publish on PR
* Pin wasm-bindgen version when publishing
2023-06-10 18:29:16 -04: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
dependabot[bot]
121cfa2759
Bump js-sys from 0.3.61 to 0.3.63 ( #3851 )
...
Bumps [js-sys](https://github.com/rustwasm/wasm-bindgen ) from 0.3.61 to 0.3.63.
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases )
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits )
---
updated-dependencies:
- dependency-name: js-sys
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-09 09:47:40 +02:00
dependabot[bot]
3075193787
Bump glow from 0.12.1 to 0.12.2 ( #3849 )
...
Bumps [glow](https://github.com/grovesNL/glow ) from 0.12.1 to 0.12.2.
- [Commits](https://github.com/grovesNL/glow/commits )
---
updated-dependencies:
- dependency-name: glow
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-08 14:34:18 +02:00
dependabot[bot]
034c19c1d2
Bump ash from 0.37.2+1.3.238 to 0.37.3+1.3.251 ( #3846 )
...
Bumps [ash](https://github.com/MaikKlein/ash ) from 0.37.2+1.3.238 to 0.37.3+1.3.251.
- [Release notes](https://github.com/MaikKlein/ash/releases )
- [Changelog](https://github.com/ash-rs/ash/blob/master/Changelog.md )
- [Commits](https://github.com/MaikKlein/ash/compare/0.37.2...0.37.3 )
---
updated-dependencies:
- dependency-name: ash
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-06-07 11:11:39 +02:00
dependabot[bot]
27efd50693
Bump metal from 0.24.0 to 0.25.0 ( #3793 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2023-06-06 15:45:06 -04:00
liquidev
dfa5400a78
GLES: on EGL, respect the user requesting a non-sRGB surface format ( #3817 )
...
* EGL: respect the user requesting a non-sRGB surface format
What used to happen was that sRGB was used whether you requested it or not.
This commit fixes that and now passing in a non-sRGB texture format in SurfaceConfiguration will result in a non-sRGB surface being created.
* add changelog entry about the EGL non-sRGB support change
2023-06-06 19:59:00 +02:00
Jim Blandy
3f0aed789d
Don't report violations of VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01912 ( #3809 )
...
As described in [Vulkan-ValidationLayers#5671], the validation layers don't understand debug ranges paired across different command buffers on the same queue, even though the Vulkan spec says:
> An application may open a debug label region in one command buffer and close it in another, or otherwise split debug label regions across multiple command buffers or multiple queue submissions. When viewed from the linear series of submissions to a single queue, the calls to vkCmdBeginDebugUtilsLabelEXT and vkCmdEndDebugUtilsLabelEXT must be matched and balanced.
Until this is fixed, wgpu should ignore this validation error to reduce noise in test runs.
Fixes #3733 .
[Vulkan-ValidationLayers#5671]: https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/5671
2023-06-06 06:56:44 -04:00
Connor Fitzgerald
1d2a667b71
Fix trying to use a renderpass inside a compute pass ( #3828 )
...
* Fix trying to use a renderpass inside a compute pass
* Fix pipeline statistics test on mac
* Changelog
2023-06-05 09:05:59 -04:00
Connor Fitzgerald
1cb0bdcdef
Fix incorrect aspect in barriers when using emulated Stencil8 textures. ( #3833 )
2023-06-04 23:32:06 -04:00
Elabajaba
e6314c4070
DX12 increase max_storage_buffers_per_shader_stage
and max_storage_textures_per_shader_stage
( #3798 )
2023-05-30 12:38:54 +02:00
Emil Ernerfeldt
b0dfd11a01
Fix missing 4X MSAA support on some OpenGL backends ( #3780 )
...
* Always support 4x MSAA on GL
* Update changelog
2023-05-19 16:39:07 +02:00
Robin KAY
c91a660ec5
Fix order of arguments to glPolygonOffset. ( #3783 )
2023-05-18 22:40:35 +00:00
Ame
4d8a7ed38d
Change AdapterInfo::{device,vendor}
fields to u32
( #3760 )
...
* Change AdapterInfo device and vendor to u32s
* Add CHANGELOG
2023-05-09 11:17:27 +02:00
Florian Bartels
72c6324b63
Fix typo ( #3732 )
2023-04-28 23:13:44 +02:00
Teodor Tanasoaia
3432aabab1
Bump libloading ( #3711 )
...
* bump libloading in Cargo.toml
* bump libloading in wgpu-hal/Cargo.toml
2023-04-20 17:28:57 +00:00
Teodor Tanasoaia
25cb9f61e9
Revert "Bump libloading from 0.7.4 to 0.8.0 ( #3666 )" ( #3709 )
...
This reverts commit 7f179ff1fa
.
2023-04-20 16:47:01 +02:00
Connor Fitzgerald
011a4e26d0
Release v0.16.0 ( #3707 )
...
Co-authored-by: Connor Fitzgerald <connor@modyfi.io>
2023-04-19 22:06:21 +00:00
Alix Bott
c86f9773ca
Fix unsetting vertex attributes in gles backend ( #3706 )
...
Co-authored-by: Connor Fitzgerald <connor@modyfi.io>
2023-04-19 21:14:45 +00:00
daxpedda
85fc427470
Adjust internal canvas size on Surface::configure()
( #3690 )
2023-04-19 21:09:31 +00:00
Jinlei Li
62ea7813e4
Implement Features::RG11B10UFLOAT_RENDERABLE
( #3701 )
2023-04-19 13:34:29 +02:00
Nicolas Silva
4035748c83
Update naga to 0.11.0@git:b9c5cb5a7841a8728137a58840fbbdbb9b310267 ( #3705 )
2023-04-19 10:54:40 +02:00
dependabot[bot]
7f179ff1fa
Bump libloading from 0.7.4 to 0.8.0 ( #3666 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-12 17:29:26 -04:00
Connor Fitzgerald
a7defb723f
Cleanups for WebGPU ( #3671 )
...
Co-authored-by: Connor Fitzgerald <connor@modyfi.io>
2023-04-12 21:27:30 +00:00
Nicolas Silva
f3bf0f782e
Update naga to 0.11.0@git:f59668ccfaf7bdb3a7e43d84363a21c77357b2fe ( #3665 )
2023-04-11 14:13:16 +00:00
David Huculak
4d15567392
add dxc error message formatting ( #3632 )
2023-04-10 15:51:46 -04:00