Commit Graph

911 Commits

Author SHA1 Message Date
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
Teodor Tanasoaia
7fd129a535
[metal] Adapt code to work with the new per_entry_point_map (#3524) 2023-04-07 11:01:24 -04:00
Teodor Tanasoaia
6918cf33d4
[metal] Fix metal erroring on an array_stride of 0 (#3538)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-04-05 22:40:15 +00:00
dependabot[bot]
a13ed91626
Bump bitflags from 1.3.2 to 2.0.2 (#3606)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Connor Fitzgerald <connor@modyfi.io>
2023-04-05 22:24:59 +00:00
Sebastian J. Hamel
27cdfd2954
Silence vulkan validation error (#3095) (#3627) 2023-04-05 18:15:43 -04:00
daxpedda
9fa7186ede
[gles] Fix tex_sub_image_* calls not always adjusting to target texture (#3641) 2023-04-04 13:51:13 +02:00
Erich Gubler
96c6c89e93 refactor(d3d12): use mut_self instead of round-tripping w/ mut_void 2023-03-27 19:24:16 +02:00
Xiaopeng Li
f43b706e17
Fix imports (#3618) 2023-03-24 09:30:53 -04:00
Jeremy Leibs
68b0b24ce8
Reset the queue state between each command buffer on queue submit (#3593)
Co-authored-by: Andreas Reich <andreas@rerun.io>
2023-03-22 15:08:44 -04:00
Connor Fitzgerald
0c3ca5c08b
Fix Metal Mipmap Behvior (#3610) 2023-03-21 16:37:30 +00:00
Christopher Fleetwood
a502282307
feat: correct bounds policy checking on MSL (#3603) 2023-03-21 12:33:25 +01:00
Andreas Reich
f183140898 [GLES] Always use instanced methods to workaround for instance attributes when rendering a single instance 2023-03-20 15:42:51 -02:30
Connor Fitzgerald
42a0683d48
Remove unwraps inside surface.configure (#3585) 2023-03-14 11:01:02 +01:00
Jinlei Li
9445317f26
Set max_memory_allocation_size via PhysicalDeviceMaintenance3Properties (#3567)
* vulkan: set  `max_memory_allocation_size` via `PhysicalDeviceMaintenance3Properties`

* Update CHANGELOG

* Follow the suggestions

* Fix fmt

* Update wgpu-hal/src/vulkan/adapter.rs

Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>

* Enable `KhrMaintenance3Fn` on vk < 1.1

---------

Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>
2023-03-09 20:05:39 +01:00
Teodor Tanasoaia
cf40e64b16
Change type of bytes_per_row and rows_per_image (#3529) 2023-03-06 16:44:36 -05:00
Josh Groves
2eb27f2c0e
Fix definition of NSOperatingSystemVersion (#3557) 2023-03-06 16:43:39 -05:00
Teodor Tanasoaia
54e4c8654d
[dx12] use typeless formats for textures that might be viewed as srgb or non-srgb (#3555)
query `CastingFullyTypedFormatSupported` and skip typeless formats if available
2023-03-03 19:42:34 +00:00
Teodor Tanasoaia
7e72f30179
Allow copying of textures with copy-compatible formats (#3528)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-03-03 17:24:17 +00:00
Teodor Tanasoaia
ac689cbe1f
Update feature documentation (#3534) 2023-03-03 12:09:17 -05:00
Connor Fitzgerald
db3be88f90 Uppercase all error strings 2023-03-03 11:33:20 -05:00
Jinlei Li
de695fca0b
metal: if new_texture() returns NULL, create_texture() returns an error (#3554) 2023-03-03 13:51:38 +01:00
James Liu
6ee0d4c14d
Replace fxhash with rustc-hash (#3502)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-03-01 18:46:38 +00:00
teoxoy
87a31bb74b don't rename the khronos-egl package 2023-03-01 13:45:16 -05:00
teoxoy
e2130a1d1e don't rename the d3d12 package 2023-03-01 13:45:16 -05:00
teoxoy
dc66d83f20 don't rename the metal package 2023-03-01 13:45:16 -05:00
James0124
9dc834a0ac
Treat VK_SUBOPTIMAL_KHR as VK_SUCCESS on Android. (#3525) 2023-02-27 10:52:09 +01:00
Jim Blandy
df54bc49dc
[msl-out]: Delete unused variable. (#3526) 2023-02-24 09:15:39 +01:00
Red Artist
af5f4d20f4
enable debug extension on emscripten (#3519)
* enable debug extension on emscripten

* update changelog

* extract emscripten stuff into a separate module

* use unmasked queries on w-u-u, and only enable extension on emscripten

* fix docs
2023-02-22 01:16:14 -05:00
daxpedda
74303308cd
Make crate features no-op on incompatible targets (#3466)
* Make crate features no-op on incompatible targets

* Remove `portable_features`

* Test `--all-features` in CI

* Make `renderdoc` no-op on WASM

* Address review
2023-02-21 13:50:55 +01:00
dependabot[bot]
9cdcd6749f
Bump renderdoc-sys from 0.7.1 to 1.0.0 (#3511)
Bumps [renderdoc-sys](https://github.com/ebkalderon/renderdoc-rs) from 0.7.1 to 1.0.0.
- [Release notes](https://github.com/ebkalderon/renderdoc-rs/releases)
- [Changelog](https://github.com/ebkalderon/renderdoc-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ebkalderon/renderdoc-rs/commits)

---
updated-dependencies:
- dependency-name: renderdoc-sys
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 12:59:28 +01:00
dependabot[bot]
0590a1cfc5
Bump glow from 0.12.0 to 0.12.1 (#3510)
Bumps [glow](https://github.com/grovesNL/glow) from 0.12.0 to 0.12.1.
- [Release notes](https://github.com/grovesNL/glow/releases)
- [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-02-21 12:56:09 +01:00
Nicolas Silva
438d6394ef
Update naga to 0.11.0@git:9742f1616c3e3dd2cc9a5880616fc886c391bb9f (#3512)
* Update naga to 0.11.0@git:9742f1616c3e3dd2cc9a5880616fc886c391bb9f

* Mark the zero init workgroup test as passing.
2023-02-21 12:50:22 +01:00
Nicolas Silva
71ee61aa09
Update naga to 0.11.0@git:58105a06e2bd5aefeb9330984d47976e63c11dc4 (#3506) 2023-02-20 14:37:08 +00:00
Teodor Tanasoaia
b534379acb
[dx11] fix storage related features (#3497) 2023-02-18 00:10:31 -05:00
Teodor Tanasoaia
074d1da831
Set the new naga capabilities (#3494)
* remove redundant flag

* set the `MULTISAMPLED_SHADING` downlevel flag for gles and dx11

* set the right naga capabilities

add `Features::SHADER_EARLY_DEPTH_TEST`

* add changelog entry

* remove `@early_depth_test` from water example
2023-02-16 22:43:38 -05:00
Nicolas Silva
bf38b4b0b1
Update naga to 0.11.0@git:568d7c4c136dada369ef7f59ee8414a263d6c7b2 (#3491)
* Update naga to 0.11.0@git:568d7c4c136dada369ef7f59ee8414a263d6c7b2

* Fix the clear_texture after naga update.
2023-02-16 15:24:24 +01:00
daxpedda
e4445205c2
Remove emscripten crate features (#3467) 2023-02-15 21:46:00 +00:00
Teodor Tanasoaia
c51edd36fd
Support stencil-only views and copying to/from combined depth-stencil textures (#3436) 2023-02-15 16:20:22 -05:00
Artavazd Balaian
ee33f4d384
[gles] fix: Set FORCE_POINT_SIZE if it is vertex shader with mesh consist of point list (#3440) 2023-02-15 10:05:52 -05:00
Hanno Braun
581b22e6a0
Move warning to correct location (#3484)
It seems that where it was, it warned about the context being recreated
in every case, no matter whether the context would actually be recreated
or not.
2023-02-14 12:23:29 +00:00
dependabot[bot]
bd712e083c
Bump env_logger from 0.9.3 to 0.10.0 (#3479)
Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.9.3 to 0.10.0.
- [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.9.3...v0.10.0)

---
updated-dependencies:
- dependency-name: env_logger
  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-02-10 20:12:04 +00:00
dependabot[bot]
0c273bc496
Bump hassle-rs from 0.9.0 to 0.10.0 (#3473)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-10 12:17:17 -05:00
daxpedda
5b8c55c451
Build for WASM on docs.rs (#3462) 2023-02-09 15:38:40 -05:00
Jinlei Li
4593f951dd
vk: fix surface view formats validation error (#3432)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-02-09 13:00:42 -05:00
Jinlei Li
0d5b4841d5
web: reimplement adapter|device_features (#3428) 2023-02-09 12:14:15 -05:00
Connor Fitzgerald
49cfc88f35
[GL] Unbind Vertex Buffers After Renderpass (#3459)
Closes https://github.com/gfx-rs/wgpu/issues/3457
2023-02-09 10:32:27 -05:00
Nathan Adams
238697c2da
Add MULTISAMPLE_X16 texture format feature flag where supported (#3454) 2023-02-06 19:53:48 +01:00
Teodor Tanasoaia
41de797c74
Change type of mip_level_count and array_layer_count (members of TextureViewDescriptor and ImageSubresourceRange) from Option<NonZeroU32> to Option<u32> (#3445)
Clean up duplicated code related to texture layers/mips.
2023-02-03 15:03:34 +01:00
Nicolas Silva
6399dd4866
Update naga to 0.11.0@git:4b796b157cb2b67b0ab166a2238fe4e9473bfd52 (#3451) 2023-02-03 12:30:08 +01:00
Elabajaba
42b48ecb9f
Update gpu allocator to 0.22 (#3447)
* bump gpu-allocator version

* cargo.lock
2023-02-03 00:58:07 -05:00
Elabajaba
7826092d86
Fix dx12 shader validation errors when dxil.dll isn't available in the local scope. (#3434)
* Fix dx12 shader validation errors when dxil.dll isn't available in the local scope.

* changelog

* clippy

* always explicitly validate shaders to simplify code

* destructor ordering
2023-02-01 22:55:54 -05:00
Elabajaba
c5e2f5a7b9
Add SHADERINT_16 feature to allow 16bit ints in Vulkan shaders (#3401)
* add support for vulkan SHADER_INT16

* changelog

* deno shader-i16

* better INT16 docs

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>

* fix typo

---------

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-02-02 02:00:22 +00:00
AdrianEddy
2562f323bb
[Metal] Add a way to create a device and queue from raw resources in wgpu-hal (#3338) 2023-02-01 23:56:48 +00:00
Elabajaba
1e27fd4afb
fix clippy for rust 1.67 (#3435)
* clippy --fix

* elide lifetimes

* fmt and more fixes

* disable clippy::needless_borrowed_reference as it clashes with clippy::pattern_type_mismatch

* missed flags for target=wasm32-unknown-unknown
2023-02-01 23:06:03 +01:00
João Capucho
c371e7039d
Implement the new checks for readonly stencils (#3443)
wgpu currently checks if the `write_mask` is 0 to determine wether a
stencil is used as readonly or not. However Webgpu contains a more
complex ruleset that also checks the cull mode and face operations to
determine if the stencil is readonly or not.

This commit brings these new rules to wgpu.
2023-02-01 21:13:46 +01:00
Jinlei Li
b31069f14a
Improve vk format msaa capabilities detection (#3429)
* Improve vk format msaa capabilities detection

* Update CHANGELOG

* Follow the suggestions

* Update wgpu-hal/src/vulkan/adapter.rs

Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>
2023-01-28 12:03:43 +00:00
Connor Fitzgerald
b04cae69c0
Fix winapi features 2023-01-25 19:38:29 -05:00
Connor Fitzgerald
cf17230e32
Fix d3d12 version 2023-01-25 19:32:47 -05:00
Connor Fitzgerald
c3ed411375
Fix wgpu-hal versioning 2023-01-25 19:27:20 -05:00
Connor Fitzgerald
d3fec9524f
Release of 0.15 (#3424) 2023-01-25 19:25:41 -05:00
Teodor Tanasoaia
d2809137ba
Zero-initialize workgroup memory (#3174)
fixes https://github.com/gfx-rs/wgpu/issues/2430
2023-01-25 18:28:35 -05:00
Jinlei Li
33f94c7c84
Implement view_formats for SurfaceConfiguration (#3409)
Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2023-01-25 21:04:41 +00:00
Ashley
c039a74884
[WebGL] Allow creating a texture from an external web_sys::WebGlFramebuffer and writing to it (#2609) 2023-01-24 13:47:03 -05:00
Connor Fitzgerald
95a760bb42
Implement queue.copy_external_image_to_texture for WebGL2 and improve WebGPU Impl (#3288)
Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>
Closes https://github.com/gfx-rs/wgpu/issues/1888
2023-01-24 18:44:15 +00:00
Josh Groves
5a999e624a
Update glow to 0.12.0 (#3417) 2023-01-24 02:36:31 +00:00
Jinlei Li
4cd753bccd
vk: improve view_formats setting (#3412)
* vk: improve view_formats setting

* Fix extension detection

* Update wgpu-hal/src/vulkan/device.rs

Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>

* Follow the suggestion

* Tiny doc fix

* Follow the suggestion

Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com>
2023-01-23 16:02:25 +01:00
Nathan Adams
c5851275c5
GLES: Cache and reuse programs between similar pipelines (#3380)
* Cache programs in GLES backend by their stage info, to avoid recreating the same program untold many times

* Don't duplicate an arcs ref count in gles programs

* Extract ProgramCacheKey from gles ProgramCache

* gles: Panic if we can't acquire program_cache lock

* Clarify why the program cache is safe
2023-01-20 09:44:34 -05:00
Xiaopeng Li
24a904256e
Add create_surface_from_surface_handle (#3225)
Co-authored-by: lixiaopeng.jetspark <lixiaopeng.jetspark@bytedance.com>
2023-01-19 11:16:11 -05:00
Nicolas Silva
a3e3d2503f
Update naga to 1be8024. (#3405) 2023-01-19 15:25:25 +00:00
Connor Fitzgerald
5f99940afd
Remove update after bind workaround (#3397) 2023-01-19 09:44:58 -05:00
Connor Fitzgerald
2c3f9fabb7
Allow vulkan to change view formats (#3399) 2023-01-19 14:20:15 +01:00
Nathan Adams
cecf0633a3
Don't panic when gl.create_buffer() fails on webgl (#3396) 2023-01-18 21:31:16 +00:00
Elabajaba
81569dd6c3
Updated Dxc integration for DX12 backend (#3356)
Co-authored-by: unknown <alimilhim5@gmail.com>
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
Closes https://github.com/gfx-rs/wgpu/issues/2722
closes https://github.com/gfx-rs/wgpu/pull/3147
2023-01-18 21:25:56 +00:00
Teodor Tanasoaia
b22cfa1298
Clearing a non-color attachment should be unreachable (#3393) 2023-01-18 15:52:25 -05:00
Nathan Adams
0705c7ad6b
Create gles buffers with DYNAMIC_DRAW instead of STATIC_DRAW (#3391) 2023-01-17 10:56:27 +01:00
Nathan Adams
4400ff8289
Increase GL MAX_PUSH_CONSTANTS from 16 to 64 (#3374) 2023-01-13 00:18:54 +00:00
Teodor Tanasoaia
48fbb921ca
update ash (#3370)
fixes https://github.com/gfx-rs/wgpu/issues/3079
2023-01-11 15:58:52 +00:00
Nicolas Silva
5a2e60c50e
Update naga to e98bd92 (#3352) 2023-01-10 14:04:18 -05:00
Teodor Tanasoaia
80d237725e
[vk] Set WEBGPU_TEXTURE_FORMAT_SUPPORT downlevel flag depending on the proper format support (#3367) 2023-01-10 16:33:33 +01:00
Teodor Tanasoaia
98ddb402eb
Set COPY_SRC/COPY_DST only based on Vulkan's TRANSFER_SRC/TRANSFER_DST (#3366)
* remove `BLIT_SRC`/`BLIT_DST`

* add changelog entry
2023-01-10 15:48:16 +01:00
James0124
e7ca1716f5
Fix panic in the GLES backend when creating a pipeline with opaque ty… (#3361)
* Fix panic in the GLES backend when creating a pipeline with opaque types other than samplers.

* Add changelog entry for #3361.
2023-01-10 09:26:45 +01:00
Teodor Tanasoaia
39f6b03e19
Document and improve extension detection (#3327)
* document and improve extension detection

* add changelog entry

* request `VK_KHR_get_physical_device_properties2` unconditionally

* remove commented code

* remove vk 1.1 check
2023-01-05 11:20:56 +01:00
Xiaopeng Li
71f50409e6
GraphicsCommandList validation (#3204)
* GraphicsCommandList validation

* Add change to CHANGELOG.md

* Close command list

* Destroy command buffer

* Find valid command list for reuse

* Fix clippy
2023-01-04 14:22:39 +01:00
Nathan Adams
186a29c34d
Implement TextureFormat::Stencil8 + add stencil example (#3343)
* Implement TextureFormat::Stencil8

* Add stencil-triangles demo to test Stencil8 and show how to use stencil testing

* Added changelog for Stencil8
2023-01-02 13:47:10 +01:00
Connor Fitzgerald
aa46e82f40 Fix texture view creation with full-resource views when using an explicit mip_level_count or array_layer_count 2022-12-21 17:24:46 -05:00
Connor Fitzgerald
9b9cc330ca
Fix up strict-assert usage (#3320)
* Removes unused assertions.rs

* Strict assert macro fixes

* Strict asserts shouldn't be default on wgpu
2022-12-20 22:04:45 -08:00
Connor Fitzgerald
4c5fef4a28
Re-add indirect execution to vulkan downlevel flags (#3319)
Closes https://github.com/gfx-rs/wgpu/issues/3318
2022-12-20 21:06:12 +00:00
Connor Fitzgerald
5241633b3a
Implement Presentation Timestamp Correlation (#3240)
Co-authored-by: Jim Blandy <jimb@red-bean.com>
2022-12-20 17:52:08 +00:00
Elabajaba
f3c50918c2
Suballocate DX12 buffer creation (#3163)
closes https://github.com/gfx-rs/wgpu/issues/2720
2022-12-20 12:23:44 -05:00
Teodor Tanasoaia
62e932b0a8
Add missing DEPTH_BIAS_CLAMP and FULL_DRAW_INDEX_UINT32 downlevel flags (#3316)
* add missing `DEPTH_BIAS_CLAMP` and `FULL_DRAW_INDEX_UINT32` downlevel flags

* add changelog entry

* use require_downlevel_flags
2022-12-20 18:21:54 +01:00
Teodor Tanasoaia
c91cae47d2
[dxgi] fix depth16Unorm formats for nodepth and typeless (#3313)
* [dxgi] fix `depth16Unorm` formats for nodepth and typeless

* add changelog entry
2022-12-20 15:29:43 +01:00
Erich Gubler
3cc6621fd3
Resolve Rust 1.66 clippy lints (#3304) 2022-12-16 17:23:12 -05:00
Jim Blandy
0e4c7dd6d2
Remove workspace inheritance (#3295) 2022-12-15 15:46:28 -05:00
Elabajaba
85fda2d18e
Update to ash 0.37.1 to replace deprecated function call (#3273)
* update to ash 0.37.1 to fix CI

* changelog

* Use equals for ash version

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2022-12-08 15:22:30 -05:00
Connor Fitzgerald
458fb9bed7
Implement SHADER_PRIMITIVE_INDEX on all Backends (#3272)
* Fix bunnymark on GL

* Implement SHADER_PRIMITIVE_INDEX on all backends

* Changelog
2022-12-08 08:47:44 -05:00
Jim Blandy
a50836e0cb
Make wgpu-core users responsible for choosing back ends. (#3254) 2022-12-07 20:58:45 -05:00
Erich Gubler
feddf187c0
fix: oops, remove gles feature from wgpu-hal's defaults (#3264) 2022-12-05 16:46:07 -05:00
Ashley
6147c91818
Support OES_texture_float_linear in webgl (#3261)
closes https://github.com/gfx-rs/wgpu/issues/3215
2022-12-05 12:58:06 -05:00