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