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 default
s ( #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
Kevin Reid
2209463a54
Return an error instead of panicking when canvas context is unavailable ( #3052 )
...
* Low-level error handling in canvas context creation (for WebGPU and WebGL 2).
Part of fixing #3017 . This commit changes the handling of `web_sys`
errors and nulls from `expect()` to returning `Err`, but it doesn't
actually affect the public API — that will be done in the next commit.
* Breaking: Change type of `create_surface()` functions to expose canvas errors.
Part of fixing #3017 .
2022-11-30 23:41:29 -05:00
Erich Gubler
46b121667b
refactor(dx12): remove unsafe
ops in Adapter::texture_format_capabilities
( #3194 )
2022-11-30 16:48:03 -05:00
Jinlei Li
d7fe7ef8cc
vk: eliminate duplicate values in SurfaceCapabilities
's formats field ( #3227 )
2022-11-26 03:37:37 -05:00
Jim Blandy
73b23f1c8d
Move minimum supported rust version (MSRV) from 1.65 back to 1.64. ( #3231 )
2022-11-23 21:22:03 +00:00
Andreas Reich
2ccfb42440
allow gles float textures to be multisampled if available ( #3183 )
2022-11-23 16:10:11 -05:00
Erich Gubler
18f3f5f6f0
Enable unsafe_ops_in_unsafe_fn
lint in all workspaces ( #3044 )
2022-11-14 10:49:39 -08:00
Jim Blandy
bc1728065b
wgpu-hal: Document some details of buffer binding. ( #3169 )
2022-11-09 15:50:06 -05:00
Ali
3c82a4cd5c
Added support for MSAA(x2,x8) beyond WEBGPU restrictions for native a… ( #3140 )
...
Closes https://github.com/gfx-rs/wgpu/issues/2910
2022-11-09 15:19:05 -05:00
Jinlei Li
04d12baa81
Change get_metal_layer()
visiability to pub(crate)
2022-11-08 20:16:32 -08:00
Erich Gubler
4a9797276a
refactor: resolve clippy::needless_borrow
2022-11-07 17:36:04 -08:00
Erich Gubler
a818b8540a
refactor: resolve clippy::needless_return
in raw-gles
example
2022-11-07 17:36:04 -08:00
Erich Gubler
fb67de908e
refactor: resolve clippy::explicit_auto_deref
2022-11-07 17:36:04 -08:00
Erich Gubler
98eb19c854
refactor: resolve clippy::bool_to_int_with_if
2022-11-07 17:36:04 -08:00
Andreas Reich
a377ae2b7f
Alpha to coverage support for GLES ( #3187 )
2022-11-07 16:56:59 -05:00
Andreas Reich
b838b0871c
Added new UNRESTRICTED_INDEX_BUFFER downlevel flag. ( #3157 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2022-11-07 15:45:50 -05:00
Lilith
a31cd2ef5c
Remove DEPTH24PLUS_STENCIL8
feature ( #3151 )
2022-11-02 16:44:15 -04:00
i509VCB
d81cb46be0
enable doc_auto_cfg for docs.rs ( #3113 )
...
* enable doc_auto_cfg for docs.rs
This should expose more feature labels in the generated documentation and removes the needs for the manually labeling the features for a type, function or enum variants.
* enable docsrs cfg when building docs for master
2022-10-26 17:07:25 -04:00
Jinlei Li
cc448817e7
Use cargo 1.64 workspace inheritance feature ( #3107 )
2022-10-20 01:41:17 -04:00
Ashley
d3ab5a197e
WebGL2 multiview support via OVR_multiview2 ( #3121 )
...
* Add OVR_multiview2 support
* Add changelog entry
* Only use multiview on wasm32 + unknown
* Add note to Features::MULTIVIEW
2022-10-18 12:14:18 -04:00
Connor Fitzgerald
ce081796c8
Rework CI ( #3097 )
2022-10-14 22:55:36 -04:00
i509VCB
7aca31fe9c
allow creation of wgpu_hal textures for gles backend ( #3046 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2022-10-13 06:41:12 +00:00
Xiaopeng Li
9272cc65cc
Fix memory leak on macOS ( #3056 )
2022-10-13 02:13:31 -04:00
Jim Blandy
f3d455b617
vulkan: Don't use pointer to dropped PhysicalDeviceDriverProperties. ( #3076 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2022-10-12 20:52:32 +00:00
Andreas Reich
351ca3ea3d
Fix webgl srgb blit not setting the viewport correctly ( #3093 )
...
* Fix webgl srgb blit not setting the viewport correctly
* Add changelog notes
2022-10-11 14:04:06 -04:00
Andreas Reich
acadd8dad5
webgl backend supports now non-srgb framebuffer ( #3070 )
2022-10-08 23:48:44 -04:00
daxpedda
02cc2ae234
[BREAKING] Make Shader(Module)Source::Wgsl
optional ( #2890 )
2022-10-08 01:12:50 -04:00
Nicolas Silva
0a3e209c90
Shrink the default max binding index to 640 and expose it in Limits.
...
Following the corresponding changes happening in WebGPU.
2022-10-06 10:12:16 -07:00
Nicolas Silva
7892b0f96e
Set web-sys dep to 0.3.60.
...
Looks like web-sys makes non-breaking version bumps when there are breaking changes in unstable APIs so sticking to specific versions should avoid unnecessary breakage.
2022-10-06 10:12:16 -07:00
Connor Fitzgerald
872b436104
Update version to 0.14
2022-10-05 18:45:25 -04:00
Connor Fitzgerald
91e0dbd1ae
Update naga + deps
2022-10-05 18:45:25 -04:00
Nicolas Silva
37de3a3574
Set the image stride to zero when updating a single layer on metal. ( #3063 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2022-10-05 21:45:12 +00:00
Jinlei Li
b13bb468cb
gl: add Rgba16Float
format support for color attachments ( #3045 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2022-10-05 21:31:22 +00:00
Jinlei Li
4992de5938
gl: ASTC_HDR
feature detection ( #3042 )
2022-10-05 17:08:45 -04:00
Dragoș Tiselice
5c33e23b66
Fixed buffer sizes encoding on Metal. ( #3047 )
2022-10-05 16:44:51 -04:00
i509VCB
2372895944
Handle unsupported surfaces more gracefully ( #3054 )
2022-10-05 16:42:06 -04:00
Jim Blandy
b79c455144
Make hal::CommandEncoder and hal::CommandBuffer extend Debug. ( #3060 )
2022-10-05 16:38:21 -04:00
Mauro Gentile
7b8dd4e0bd
Vulkan Command pool optimization ( #3065 )
2022-10-05 16:36:18 -04:00
Xiaopeng Li
c927e810de
Fix label leak ( #3053 )
2022-09-27 02:49:21 -04:00
Jim Blandy
27a27568d6
Placate clippy 0.1.64. ( #3048 )
...
Derive `Eq` on some types in `wgpu-hal`.
2022-09-23 23:54:40 +00:00
i509VCB
061e04bff1
expose driver info in AdapterInfo ( #3037 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2022-09-21 02:45:28 +00:00
Mauro Gentile
cdf6ee0c87
Updating TextureFormat matching specs ( #2954 )
...
Co-authored-by: Mauro Gentile <Mauro.Gentile@ubisoft.com>
2022-09-20 12:08:06 -04:00
i509VCB
65e405193e
vulkan: use effective api version for determining device features ( #3011 )
2022-09-20 01:11:15 -04:00
i509VCB
f877a8a3c9
Vendor id clarification ( #3036 )
...
* set GL vendor for id Mesa and Apple
* match on "apple m" to mark M2 cpu as integrated in gles
* document AdapterInfo::vendor if the vendor has no PCI id
2022-09-19 23:52:00 -04:00
João Capucho
c61f61ca0e
dx12: Add support for push constants ( #2866 )
2022-09-19 20:47:24 -04:00
i509VCB
6f2c393024
move GL vendor magic numbers to "auxil::db" ( #3035 )
2022-09-19 06:48:15 +00:00
daxpedda
95408cd48b
[BREAKING] Wrap ShaderSource::Naga
in Cow<'static>
( #2903 )
2022-09-19 00:50:46 -04:00
Jinlei Li
44399bb4a3
Expose alpha_mode, support non-opaque mode on metal and vk backends ( #2836 )
2022-09-19 00:10:21 -04:00
Alphyr
d1c94d09e2
Update dependencies ( #3021 )
2022-09-18 23:53:21 -04:00
i509VCB
9e3efd7019
pass around RawDisplayHandle and RawWindowHandle in implementation ( #3022 )
...
This change is to help with an attempt to allow the Context type in wgpu to be swappable at runtime. In order to do that, the functions provided by Context and it's associated types need to be object safe. Instead of passing a impl trait that combines both HasRawWindowHandle and HasRawDisplayHandle, we seperate the types into their RawDisplayHandle and RawWindowHandle parts internally to reduce some of the hal implementation code mess.
2022-09-15 16:29:20 -07:00
Jinlei Li
e350f50b2f
metal: remove PrivateCapabilities's format_rgb10a2_unorm_surface
field ( #2981 )
...
* metal: remove PrivateCapabilities's format_rgb10a2_unorm_surface field
* Update CHANGELOG
2022-09-02 20:28:26 -07:00
Andreas Monitzer
6348a07d28
Expose the vk::Queue and the queue index in the Vulkan hal. ( #2950 )
2022-09-02 22:58:01 +00:00
Jinlei Li
ee7fd47ecb
metal: fix max_storage_xx
max_texture
max_sampler
and max_vertex_xx
limits ( #2978 )
2022-09-02 15:36:07 -07:00
i509VCB
c519901d57
vulkan: remove use of Vulkan12Features/Properties types ( #2936 )
...
Vulkan prohibits including `VkPhysicalDeviceVulkan12Features` structures in the chain passed to `VkCreateDevice` along with other more specific features structs. Similiar restrictions apply to the `...Properties` structures.
Fixes #2925 .
2022-09-02 21:05:13 +00:00
François
b9564dbe74
enable union feature of smallvec
2022-09-02 11:41:20 -07:00
François
a50335f0f8
use smallvec instead of onplace_it with fixed size
2022-09-02 11:41:20 -07:00
Jim Blandy
58bc205f2a
Update to Naga b209d911
(2022-9-1).
...
This removes an expected failure on AMD RADV. I guess #2751 was our
bug all along.
2022-09-02 11:33:55 -07:00
Jim Blandy
2cd08a1c9c
Placate Clippy 0.1.63. ( #2977 )
2022-08-24 17:25:59 -04:00
Jinlei Li
f918ac1ed1
vk: fix astc_hdr
formats support ( #2971 )
...
* vk: fix `astc_hdr` formats support
* Update CHANGELOG
2022-08-20 19:18:39 +00:00
Jinlei Li
a08ea2a255
metal: add the missing msg_send![view, retain]
call within from_view
( #2976 )
...
* metal: add the missing `msg_send![view, retain]` call within `from_view`
* Update CHANGELOG
2022-08-20 07:14:57 -07:00
Wyatt Herkamp
f7526ae960
winit 0.27 Update and raw-window-handle 0.5 ( #2918 )
2022-08-04 06:09:37 +00:00
i509VCB
8444fbe460
vulkan: fix issues querying multiview support ( #2934 )
2022-08-01 20:55:53 -04:00
Seamooo
0dce58dfbd
changed websys features in core and hal to align with used features ( #2922 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2022-08-01 19:06:26 +00:00
Reece
4cbf8cfcf1
Fix opening of renderdoc lib ( #2930 )
...
* Fix opening renderdoc lib
Renderdoc needs to not be opened by us, but instead open the existing copy.
Unfortunately this requires OS specific flags for opening, plus `libloading`
doesn't have full API coverage currently.
* Added changelog entry for #2930
* Hide RTLD_NOLOAD behind a cfg for unix
Co-authored-by: ABuffSeagull <reecevanatta@hey.com>
2022-08-01 01:39:55 +00:00
Kevin Reid
b784eee5af
Silence clippy::let_unit_value
false positives on objc::msg_send
calls. ( #2924 )
2022-07-31 17:55:37 -04:00
Valentin
271bb8690e
Fix documentation claiming shader entry points must return void ( #2911 )
2022-07-26 03:40:32 +00:00
i509VCB
75519839be
export AdapterContext
in Gles hal ( #2870 )
2022-07-25 23:37:50 -04:00
Jinlei Li
ecf3f5ec38
metal | vulkan-portability: extract the generic code into get_metal_layer
( #2826 )
2022-07-10 23:06:32 -04:00
i509VCB
a108efe6b6
expose context and display from adapter and device for egl hal ( #2860 )
2022-07-10 18:50:54 -04:00
i509VCB
0dfb1115d2
document Adapter::new_external in wgpu-hal ( #2863 )
2022-07-10 18:49:53 -04:00
i509VCB
94c065cb33
allow access to queue family index in vulkan hal device ( #2859 )
2022-07-07 19:43:13 -04:00
Connor Fitzgerald
259991e258
Refactor GLES's texture_format_capabilities
2022-07-06 11:06:34 -04:00
Connor Fitzgerald
499e9e628e
Properly query SRV and UAV format features for depth formats
2022-07-06 11:06:34 -04:00
Connor Fitzgerald
bb273a908f
DX12/VK allow texture_format_capabilities to be called on any texture format
2022-07-06 11:06:34 -04:00
Craig
1da5bbd7b4
Prevent OpenGL from taking preference over Vulkan ( #2853 )
...
* Prevent OpenGL from taking preference over Vulkan
* update changelog
* fix wasm build of example
2022-07-06 00:11:22 -04:00
Jinlei Li
b574354af4
gl: fix depth stencil texture format capability ( #2854 )
...
* gl: fix depth stencil texture format capabilitys
* Update CHANGELOG
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2022-07-06 03:37:26 +00:00
Connor Fitzgerald
87552a92cc
Fix GL_EXT_color_buffer_float detection on desktop
2022-07-03 01:08:40 -04:00
Connor Fitzgerald
e125321bff
Release 0.13 two - electric boogaloo ( #2827 )
2022-07-01 14:38:04 +00:00
Connor Fitzgerald
1ceef24261
Add changelog for 0.13 ( #2823 )
...
* Changelog
* Update CHANGELOG.md
* Bump versions to 0.13
2022-06-30 20:25:49 +00:00
Connor Fitzgerald
ea05b44f38
Improve Presentation Api ( #2803 )
...
* Add new presentation modes
* Expand presentation formats
* Add Surface::get_supported_modes
* Update to rust 2021 and improve some metal surface code
* Update wgpu-types/src/lib.rs
Co-authored-by: bjorn3 <17426603+bjorn3@users.noreply.github.com>
* Fix windows build errors
* Fix issues with ALLOW_TEARING
Co-authored-by: bjorn3 <17426603+bjorn3@users.noreply.github.com>
2022-06-30 14:24:17 -04:00
Jim Blandy
7cfbd874af
Update Naga to 27d38aae
(2022-6-27). ( #2816 )
2022-06-27 21:36:00 -04:00
Jinlei Li
61796b1d59
Relax render pass color_attachments validation ( #2778 )
...
* Make the color attachments `Option`-al in render pipelines, render passes, and render bundles
* vk: `Option`-al color attachments support
* dx12: sparse color_attachments support
* Only non-hole attachments is supported on wasm target and gl backend
* deno_webgpu: `Option`-al color attachments support
* Follow all suggestions
2022-06-27 16:10:18 -07:00
Nicolas Silva
892c272d18
Replace android-properties with android_system_properties. ( #2815 )
...
The former use statically linked Android libc symbols while the latter loads them dynamically. This is required to support old and new versions of Android with the same binary. It unblocks updating wgpu in Gecko.
Fixes #2805 .
2022-06-27 16:56:11 -04:00
Connor Fitzgerald
84633a8b12
Force binding sizes to be multiples of 16 on webgl ( #2808 )
2022-06-27 02:39:51 +00:00
tuchs
1af3b9096c
Fix gles buffer-texture copy for 2d arrays ( #2809 )
2022-06-26 00:21:38 +00:00
Connor Fitzgerald
de5fe90f20
Restrict WriteTimestamp Inside Passes ( #2802 )
...
* Define feature flags in terms of the previous
* Add WRITE_TIMESTAMP_INSIDE_PASSES feature
2022-06-25 01:23:13 -04:00
Nicolas Silva
5dcd19c167
Add a vulkan workaround for large buffers. ( #2796 )
...
* Add Limit::max_buffer_size.
* Prevent very large buffer with some drivers.
Some drivers run into issues when buffer sizes and ranges are larger than what fits signed 32 bit integer. Adapt the maximum buffer size accordingly.
2022-06-22 12:31:53 -04:00
Jim Blandy
aba7197fe8
Update Naga to 0b60f410
(Thu 2022-6-16). ( #2779 )
2022-06-17 16:51:22 -04:00
Jinlei Li
f4c01052ef
Rename MAX_COLOR_TARGETS to MAX_COLOR_ATTACHMENTS to match spec
2022-06-16 20:36:15 -07:00
Nicolas Silva
191537021e
Expose naga span location helpers ( #2752 )
...
* Expose the source location in CreateShaderModuleError.
* Bump naga dep to 89bed99
.
2022-06-14 23:10:22 -04:00
Ashley
a880eb9642
[WebGL] Add a downlevel capability for rendering to floating point textures ( #2729 )
...
* Add a downlevel capability for rendering to floating point textures
* Rename capabilities to _capabilities
* Run cargo fmt
* Pass downlevel_flags to the adapter
* Add wgt::DownlevelFlags::COLOR_ATTACHMENT_FLOAT to dx11
* Remove downlevel_flags from the adapter and use is_ext_color_buffer_float_supported instead
* Add DownlevelFlags::WEBGPU_TEXTURE_FORMAT_SUPPORT
* Apply suggestions
2022-06-14 00:43:56 -04:00
i509VCB
e0327b1db7
expose vulkan physical device capabilities, enabled device extensions ( #2688 )
2022-06-10 15:32:52 -04:00
Jinlei Li
5e070783bc
vk: fix PIPELINE_STATISTICS_QUERY feature support ( #2750 )
2022-06-08 01:08:16 -04:00
kwillemsen
ed9cdb7946
Fixed builtin(primitive_index) for vulkan backend ( #2716 )
...
Co-authored-by: Koen Willemsen <koen.willemsen@materialise.be>
2022-06-07 20:24:46 +00:00
Josh Groves
be625f9a01
gles: allow clearing index buffers on WebGL ( #2740 )
2022-06-07 02:08:51 -04:00
Jinlei Li
31c6b39c20
metal: check if in the main thread when calling create_surface
( #2736 )
2022-06-07 02:07:38 -04:00
Harald Reingruber
25b16d5cc8
OffscreenCanvas Support for WebGL Backend ( #2603 )
...
* First attempt of exposing create_surface_from_canvas for webgl
* Test Fix Compile For WebGL Offscreen Canvas
* Only specify web-sys feature version in wgpu-core, so that patch version is taken from workspace
* Reuse already existing fn create_surface_from_canvas
* Remove unnecessary unsafe
* Remove unsafe prefix also from top-level create_surface_from_canvas
* Add create_surface_from_offscreen_canvas() for webgl
* Cargo fmt
* Store webgl2_context instead of canvas, which works also for OffscreenCanvas
* Copy skybox example for OffscreenCanvas example
* Use offscreen_canvas instead in newly created example
* Update skypbox_offscreen readme.md
* Allow enabling OffscreenCanvas in examples via http://localhost:8000/?offscreen_canvas=true
* Fix cargo fmt
* [fix warning] Only import FromStr for wasm32
* [fix warning] Exclude offscreen_canvas_setup from non-wasm32
* [fix warning] Add ImageBitmap feature as well so that all related methods can be used
* Fix cargo fmt
* Fix emscripten build
* Remove `webgl` feature from wgpu-core as webgl is the only wasm32 backend
Co-authored-by: Zicklag <zicklag@katharostech.com>
2022-06-07 01:57:16 -04:00
Ashley
717bc40106
Add Features::MULTI_DRAW_INDIRECT to Metal ( #2737 )
2022-06-06 08:00:34 -04:00
Ashley
a3b241857d
[gles] Handle cubemap copies ( #2725 )
2022-06-05 17:23:31 -04:00
Connor Fitzgerald
5bd0a6c4ac
Implement submission indexes ( #2700 )
...
* Implement submission indexes
* Write some unit tests for poll
* Update wgpu/src/lib.rs
Co-authored-by: Jim Blandy <jimb@red-bean.com>
* Unify Maintain in both wgc and wgpu
Co-authored-by: Jim Blandy <jimb@red-bean.com>
2022-06-05 17:22:25 -04:00
Robert Bragg
444836f747
Acquire texture: Option<std::time::Duration>
timeouts ( #2724 )
...
* surface.acquire_texture: pass Option<Duration> for timeout
A std::time::Duration allows for timeouts to be specified more clearly in
Rust using whatever units are convenient for the caller, and an Option also
makes it clearer in case no timeout is wanted, as opposed to passing a
bitwise !0 as special timeout value.
Notably there was an impedance mismatch with the Vulkan backend that
takes a 64bit timeout in nanoseconds and uses u64::MAX to indicate no
timeout and the backend was not mapping a given u32::MAX into a u64::MAX
* surface.acquire_texture: ignore timeout for Android < 11
Prior to Android 11 then Android's vkAcquireNextImageKHR implementation was
non-conformant and didn't support timeouts and additionally would log a
verbose warning if a timeout was requested.
For reference this version of AcquireNextImageKHR doesn't support timeouts:
https://android.googlesource.com/platform/frameworks/native/+/refs/tags/android-mainline-10.0.0_r13/vulkan/libvulkan/swapchain.cpp#1426
and this version does:
https://android.googlesource.com/platform/frameworks/native/+/refs/tags/android-mainline-11.0.0_r45/vulkan/libvulkan/swapchain.cpp#1438
(i.e. timeout support was added in Android 11)
This patch adds a dependency on the `android-properties` crate that provides
a simple wrapper for the `__system_property_set` syscall so that the
platform version can be read via the `ro.build.version.sdk` property
and then for versions < 30 (corresponds to Android 11) any timeout
given to `acquire_texture` will be ignored (and `u64::MAX` will be
passed to Vulkan)
2022-06-04 16:05:40 +00:00
Xiaopeng Li
46420212d7
Add raw_adapter method for dx12 hal adapter ( #2714 )
2022-06-04 01:20:13 -04:00
Jinlei Li
8063edc648
Add DEPTH24UNORM_STENCIL8 feature ( #2689 )
2022-05-30 15:29:12 -04:00
Daisuke Kato
16c796578c
Add symlink LICENSE files into crates. ( #2604 )
2022-05-29 03:07:42 -04:00
i509VCB
2c9c5bbbe5
expose egl display in gles ( #2670 )
2022-05-29 03:05:57 -04:00
Connor Fitzgerald
9114283707
Tracking Optimization and Rewrite ( #2662 )
...
* Texture state full is dead code
* temp
* temp2 - next is lifetime only
* temp3 - all trackers in place
* temp4 - continue muddling along
* temp5 - doodle doodle
* temp6 - continuous progress is continuous
* temp7 - pro-gress
* temp8 - Add refcounts to trackers
* temp9 - Soundness, generics, refcounts, and epochs
* temp10 - Compiling?!1?!1?!1
* temp11 - Add bind group state optimization
* temp12 - Safety and adding size setting
* temp13 - unsafe
* temp14 - Abstract all the state transitions
* temp15 - It verks! kinda...
* temp16 - it more verks!
* temp17 - debugging and unit tests
* temp18 - fixing unfixed things
* temp19 - hmmm
* temp20 - curious about line deltas
* temp21 - working texture trackers
* temp22 - write merge/update/barrier for buffers
* temp23 - cleanup and buffers
* temp24 - clippy cleanup
* temp25 - Add inline markers on buffer functions
* temp26 - Fix buffer trackers
* temp27 - fixed texture insert to handle both sides
* temp28 - document tracker and usages
* temp29 - document track/mod.rs
* temp30 - convert STORAGE_WRITE to STORAGE_READ_WRITE
* temp31 - Add some debug asserts to make sure we can't insert invalid states
* temp32 - clippy is opinionated sometimes
* temp33 - renaming and documentation
* temp34 - logging
2022-05-24 11:36:13 -04:00
i509VCB
435188cb89
expose some underlying types in Vulkan hal
2022-05-22 08:49:04 -07:00
Jinlei Li
eb260ba7a6
metal: fix Depth24Plus | Depth24PlusStencil8 capabilities ( #2686 )
2022-05-22 08:31:15 -07:00
Ashley
1ec26784c4
[Gles] Fix clearing depth and stencil at the same time ( #2675 )
2022-05-19 17:10:27 -04:00
Jinlei Li
8b2e6fe3a2
Roll naga to 571302e
(50 revisions) ( #2672 )
2022-05-18 21:09:22 -07:00
Jinlei Li
26f96c7dfe
Add DEPTH32FLOAT_STENCIL8 featue ( #2664 )
2022-05-17 02:11:05 -04:00
Jim Blandy
c608ee0bbe
Accept both parking-lot 0.11 and 0.12.*, to avoid windows-rs. ( #2660 )
...
In parking_lot 0.12 and parking_lot_core 0.9.0, those crates switched
from the winapi crate to the official Microsoft windows-sys crate.
This is fine, except that windows-sys and its dependencies are even
larger than winapi. Some users may wish to stick with winapi for the
time being; this change allows wgpu to accommodate them.
2022-05-16 01:16:53 -04:00
Jinlei Li
8e5ac75d45
metal: fix Rgb9e5Ufloat
capabilities and sampler_lod_average
support ( #2656 )
2022-05-14 01:06:06 +00:00
Jinlei Li
ddf1903b03
Add SHADER_FLOAT16
feature ( #2646 )
...
* Add SHADER_FLOAT16 feature
* vk: check SHADER_FLOAT16 feature
2022-05-12 22:14:19 -07:00
Poly
8e62ca0538
Add new integrated GPU to the list: AMD Renoir
...
Renoir is codename for AMD series of mainstream mobile and desktop APUs based on the Zen 2 CPU and Vega GPU microarchitectures succeeding Picasso.
2022-05-11 20:32:43 -07:00
Poly
bfcf5fa513
Make GLES DeviceType unknown by default
2022-05-11 20:32:43 -07:00
Jim Blandy
85b4815f83
Rename timeout_us
to timeout_ns
, to match actual units. ( #2645 )
2022-05-06 21:32:30 -04:00
Jim Blandy
ee3d23d546
Raise wgpu_hal::MAX_COLOR_TARGETS
to 8. ( #2640 )
2022-05-03 04:07:15 -04:00
Emilio Cobos Álvarez
a613a568b6
Update parking_lot. ( #2639 )
2022-05-03 04:28:17 +00:00
Ashley
ebca3298f0
Remove gles compressed texture log::error! ( #2630 )
2022-04-25 17:38:57 -04:00
Connor Fitzgerald
e54a36ee78
Move texture-array example over to wgsl ( #2618 )
2022-04-25 18:32:53 +00:00
Connor Fitzgerald
bc850d2a0e
Bind group deduplication ( #2623 )
2022-04-25 04:19:25 +00:00
Dragoș Tiselice
59d640a107
metal: Don't skip incomplete binding resources. ( #2622 )
2022-04-21 19:49:33 +00:00
Ashley
ff07716f79
Do a downlevel check for anisotrophy and enable it in the webgl backend ( #2616 )
...
* Do a downlevel check for anisotrophy and enable it in the webgl backend
* Run cargo fmt
* Change to sample_parameter_i32
2022-04-20 20:56:16 -04:00
Jinlei Li
0b61a19124
metal: fix some supported limits
2022-04-18 20:40:03 -07:00
Jim Blandy
6d7c092dad
Update Naga to 85056524
(2022-4-18).
2022-04-18 20:27:42 -07:00
Jim Blandy
3d10678a91
Update to Naga 0e2bb019
.
2022-04-18 09:09:47 -07:00
Jim Blandy
579f809573
Avoid new WGSL reserved words in wgpu examples.
2022-04-17 21:33:55 -07:00
Kevin Reid
cb7ad30d58
Prefix every wgpu-generated label with (wgpu internal)
.
...
This is intended to help developers new to wgpu or to graphics debugging
quickly recognize in a debugging tool which items are wgpu-generated, as
opposed to either part of their program or part of the platform graphics
system.
I also removed existing marker-like text such as leading underscores and
angle brackets.
2022-04-15 22:39:08 -07:00
xiaopengli89
abdf1cd741
Add raw_queue for d3d12 device
2022-04-15 21:50:32 -07:00
Igor Shaposhnik
eff50436f5
Update to Naga rev 1720725
2022-04-15 22:22:48 +03:00
Jim Blandy
a47b5c554f
Update to Naga rev 7aaac25f
.
2022-04-13 14:41:26 -07:00
Jim Blandy
988990c24d
Fix doc links. ( #2579 )
2022-04-05 18:56:25 +00:00
Jim Blandy
75e82afd35
wgpu-hal: Work around cbindgen bug: ignore gles::egl
module. ( #2576 )
2022-04-03 19:32:10 -04:00
Alphyr
d45e6b4119
Update ash
to 0.37
( #2557 )
2022-03-27 22:15:58 -07:00
Igor Shaposhnik
c5d5dbc7eb
[naga] Update naga with new struct members separator
2022-03-16 20:42:21 -07:00
Jinlei Li
ba07db90c8
metal: improve push | pop_debug_marker
2022-03-14 22:21:46 -07:00
Connor Fitzgerald
73f42352f3
Dx11 Backend ( #2443 )
2022-03-12 17:14:18 +00:00
Jinlei Li
d3c210160f
metal: refactor texture_format_capabilities function
2022-03-02 22:23:48 -08:00
Jinlei Li
810dc5aa27
gl | metal: updates the upper bounds of the extends of SurfaceCapabilities
2022-03-01 21:05:48 -08:00
Jinlei Li
12f68ff15b
metal: refactor PrivateCapabilities
creation
2022-03-01 21:05:48 -08:00
Jinlei Li
c4e9797921
metal: roll metal-rs, fix read_write_texture_tier
2022-03-01 21:05:48 -08:00
João Capucho
e672974d9d
gles: Fix texture description for bgra formats ( #2520 )
2022-03-01 14:43:57 -05:00
Connor Fitzgerald
926bf848cf
hal/gles: Fix compressed texture stride calculations
2022-02-28 21:38:52 -08:00
Connor Fitzgerald
4d7f6eb07a
Implement validation canary
2022-02-28 21:38:52 -08:00
Connor Fitzgerald
7241dae871
Fill out GLES texture capability table
2022-02-28 21:38:52 -08:00
Connor Fitzgerald
b61939650c
Add DownlevelFlag to prevent copies between Depth32 Textures
2022-02-28 21:38:52 -08:00
Connor Fitzgerald
58bf05f046
Support flipped Y on VK 1.1 devices ( #2512 )
2022-02-25 22:47:59 +00:00
Connor Fitzgerald
59ca27d08d
Wrap all validation logs with catch_unwinds ( #2511 )
2022-02-25 22:42:43 +00:00
Connor Fitzgerald
df50028e49
Fix up some downlevel capabilities
2022-02-24 23:52:41 -05:00
Connor Fitzgerald
30dbc1d01f
hal/gles: support bcn textures
2022-02-24 23:52:41 -05:00
Connor Fitzgerald
8cf39030d1
hal/gles: improve gles texture format conversions
2022-02-24 23:52:41 -05:00
Connor Fitzgerald
484c7d2904
hal/gles: fix handling of rows_per_image for compressed texture uploads
2022-02-24 23:52:41 -05:00
Jinlei Li
dd4a5396d6
metal: simplify surface fn dimensions()
2022-02-23 23:14:32 -05:00
Jinlei Li
6595188e8e
metal: set max_buffer_size
by the correct physical device limits, M1 Max can support up to 36GB
2022-02-23 23:14:32 -05:00
Jinlei Li
1bd85a835a
Roll naga from 8e2e39e
to a45b9a6
(27 revisions)
2022-02-22 15:45:05 -05:00
Jinlei Li
7f3c6f7019
vulkan: correctly set INDEPENDENT_BLEND,make runable on Android 8.x
2022-02-22 15:45:05 -05:00
Jinlei Li
01628a1fad
vulkan: HDR ASTC formats support
2022-02-20 00:00:06 -05:00
Connor Fitzgerald
eacc2929ca
Fix emscripten ( #2494 )
2022-02-19 05:42:41 +00:00
Dmitry Sharshakov
70db03dc99
Use EGL surfaceless platform when windowing system is not found ( #2339 )
...
* Use EGL surfaceless platform when windowing system is not found
Falling back to egl::DEFAULT_DISPLAY usually results in X11 EGL platform being picked and then rejected because of unavailability on a head/GPU-less system. EGL_PLATFORM_SURFACELESS_MESA works with both radeonsi and llvmpipe/swrast when Xorg/Wayland sockets are being hidden from application. Needs to be tested in a truly GPU-less environment such as CI it is required to run in. Addresses #1551
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Set backend for capture by environment variables
Useful for testing surfaceless
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Check for EGL_MESA_platform_surfaceless extension before using surfaceless platform
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Format
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Unify types for GLES config tiers
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Remove red.png
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
* Enable GL backend for CI
* Bump outliers count for skybox_etc2 due to llvmpipe test (102)
* Add SURFACE_TYPE PBUFFER_BIT requirement to off-screen surface tier
* Re-nix GL Backend on CI
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2022-02-19 05:21:05 +00:00
Lucas Kent
bfcdcd6486
Update dev deps ( #2493 )
2022-02-18 23:24:18 -05:00
Jinlei Li
8dd711ed3d
hal/vk: Refactor create_surface_from_ns_view
, make it both correct on iOS macOS
2022-02-18 20:26:53 -05:00
Jinlei Li
fa35c0a0f4
Re-allow vk backend on Apple platforms via vulkan-portability feature
2022-02-18 20:26:53 -05:00
Vladimir Mitrović
c1dcd6ddee
Add COPY_DST to Metal's surface usage bits
2022-02-18 12:03:40 -05:00
Jinlei Li
1c17d15507
Metal backend ASTC HDR formats support ( #2477 )
2022-02-15 09:43:16 -05:00
Dzmitry Malyshau
046f008cc0
vk: fix ASTC format mapping
2022-02-13 20:20:08 -05:00
Jinlei Li
48f8811f0f
Fix Metal backend Surface::frome_uiview can not guarantee set correct view's contentScaleFactor ( #2470 )
2022-02-10 15:16:15 -05:00
Alexander Guryanov
f05e070d60
feature = emscripten, compability fixes for wgpu-native ( #2450 )
2022-02-07 14:58:27 -05:00
Xiaopeng Li
8c351970ce
Support to create surface from visual on Windows ( #2434 )
...
* Support to create surface from visual on Windows, add mpo(Multiple Plane Overlay) feature to AdapterInfo
* Expose create_surface_from_visual method
* Fix code style
* Make code more concise
* Revert mpo from AdapterInfo
2022-02-07 14:57:57 -05:00
Jinlei Li
af83b7f2c8
Angle support on macOS ( #2461 )
2022-02-07 14:56:09 -05:00
Dzmitry Malyshau
6b4f1b843f
msl: support unsized array not in structures ( #2459 )
2022-02-06 05:33:20 +00:00
Samuel Hurel
3e0305d27d
Allow non struct buffers in wgsl ( #2451 )
...
* Bump naga
* Update examples
2022-02-05 09:53:04 -05:00
Robert Swain
5e2c2f8687
Fix M1 in macOS incorrectly reports supported compressed texture formats ( #2453 )
...
* Metal: Correctly identify ASTC and EAC/ETC2 support
* Metal: Correctly expose ASTC / BC / EAC/ETC2 compressed texture support
* Metal: Only call supports_family when supported, and use Apple6 for ASTC check
2022-02-04 14:11:08 -05:00
Robert Swain
766c6cda19
Identify Apple M1 GPU as integrated ( #2429 )
...
* Identify Apple M1 GPU as integrated
* metal: Call has_unified_memory conditional on OS version
Fall back to current low_power implies integrated GPU for older OSes.
2022-01-28 18:40:26 -05:00
Dzmitry Malyshau
9219489894
hal/gles: fix dirty vertex buffers that are unused
2022-01-28 01:07:56 -05:00
Jinlei Li
9cff141d7f
Add MULTISAMPLED_SHADING downlevel flag ( #2425 )
...
* Fix msaa-line example's unnecessary MSAA data store
* Add MULTISAMPLED_SHADING downlevel flag
2022-01-27 23:29:40 -05:00
Alexander Guryanov
b19000367c
feature: emscripten
2022-01-27 14:14:29 -05:00
Connor Fitzgerald
39a0256bcb
Properly set msl version to 2.3 if supported
2022-01-24 09:41:53 -05:00
João Capucho
dcd07f0391
Update to upstream naga
2022-01-22 18:36:26 -05:00
João Capucho
83d0d16177
hal/gl: Allow push constants trough emulation
...
Uses freestanding uniforms for push constants
2022-01-22 18:36:26 -05:00
Dzmitry Malyshau
f3891fed33
hal/dx12: improve RowPitch computation ( #2409 )
2022-01-20 19:59:25 -05:00
Aaron O'Mullan
5877117529
chore: bump naga to a1840be
( #2401 )
...
* chore: bump naga to a1840be
So tip no longer indirectly pins indexmap, etc...
* feedback
* TODO push_constant_binding
2022-01-17 19:17:31 -05:00
Ibiyemi Abiodun
0183e7d1e8
add AddressMode::ClampToZero ( #2364 )
...
* add AddressMode::ClampToZero
* add feature checks
* oops
* rustfmt
* fix dx12
* change to use SamplerBorderColor
* fix metal
* update to use new config
* update dx12 + docs
* address nits
* cargo fmt
* fix dx12
2022-01-15 05:16:35 +00:00
Rob Parrett
5b2b6f514b
Fix index buffer state not being reset in reset_state
2022-01-13 14:34:22 -05:00
Mikko Lehtonen
99b3a6ebfb
metal: Set preserveInvariance for shader options
...
This enables invariance for metal, for stable vertex positions, which
are useful for depth prepass and similiar things.
2022-01-12 15:03:16 -05:00
Dzmitry Malyshau
6bc896fe8c
hal/vk: use stencil read/write masks
2022-01-11 13:38:40 -05:00
Dzmitry Malyshau
1bab287eae
Update naga to c0b7ac7
2022-01-11 11:45:33 -05:00
Dzmitry Malyshau
dbec075cdc
Texture format MSAA capabilities
2022-01-11 09:32:25 -05:00
Dzmitry Malyshau
f8a63c4055
hal/gles: small fixes for external context
2022-01-08 12:32:17 -05:00
xiaopengli89
10a07e4807
Add raw_device for dx12, vulkan device
2022-01-06 12:59:08 -05:00
Dzmitry Malyshau
043e36c59a
Test WebGPU backend with extra features
2022-01-06 12:48:40 -05:00
Dzmitry Malyshau
4bfa2722f7
hal: limit binding sizes to i32
2022-01-06 12:37:26 -05:00
Dzmitry Malyshau
eda3d4fa34
Update naga to 09d35f3
2022-01-05 23:33:43 -05:00
Dzmitry Malyshau
75b885b0ca
hal/gles: support externally initialized contexts
2022-01-04 00:23:47 -05:00
Dzmitry Malyshau
55cbbdea62
metal: fix surface texture clear view
2021-12-31 11:41:00 -05:00
Dzmitry Malyshau
a1251dc36a
Improve detection and validation of cubemap views
2021-12-30 11:34:40 -05:00
Dmitry Sharshakov
52f11d8d1f
Search for different versions of libwayland
...
Workaround for distributions that do not have symlinks for Wayland libraries
Signed-off-by: Dmitry Sharshakov <d3dx12.xx@gmail.com>
2021-12-30 10:58:39 -05:00
Benoît du Garreau
66a661d14b
Update ash to 0.35
2021-12-29 10:26:53 -05:00
Wumpf
2fa75aaf05
Do texture init via clear passes when possible ( #2307 )
...
* CLEAR_COMMANDS extension is now more of a window into wgpu zero-init
this has mostly implications on the constraints, but also allows a more leaky documentation which makes sense for this non-standard function as there is no other place to look it up
* clear_texture via renderpasses wip
* 3D depth textures are no longer allowed, volumes are always cleared via CPY_DST
* cleanup texture's clear_views
* rename CLEAR_COMMANDS to CLEAR_TEXTURE
* separate clear_texture into reusable & more descriptive parts
* texture clear views are now created ahead of time
* discarded surface fixup goes through new clear_texture method now
* onq ueue texture initialization now goes threw clear_texture
pending inits need to store Stored textures now though, causing more ref count bumping
* texture init on queue_write_texture now also goes through new clear_texture
* transfer functions on commandbuffer use now new texture init route
* merge collect_zero_buffer_copies_for_clear_texture into clear_texture_via_buffer_copies
* clear functions now take TextureInitRange
* Fix clippy lints
* command_encoder_clear_texture no longer takes write lock on texture
* TextureClearMode encodes now is_color
* code cleanup, mostly about `use`
* Handle volume textures in clear_texture_via_render_passes properly
* texture clear no longer requires id::Stored
* init tracking fixes for volumes and init on partial subresource writes
* texture creation enforces COPY_DST only if absolutely necessary
* unrolled functional chain, reduce unsafe scope size
* fix clippy lints
* clear_texture test no longer creates 1D textures
see #2323
* 3D textures are no longer cleared as render target since this isn't supported on Metal
* fix deno building issue, fix formatting
* TextureInner::Surface can now be zero initialized
2021-12-28 17:05:53 -05:00
victorvde
588777fa2d
explicitly set Vulkan debug message types instead of !empty() ( #2321 )
...
Fixes:
The Vulkan spec states: messageType must be a valid combination of VkDebugUtilsMessageTypeFlagBitsEXT values
Full message:
VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-parameter(ERROR / SPEC): msgNum: -553000032 - Validation Error: [ VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-parameter ] Object 0: VK_NULL_HANDLE, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xdf09e3a0 | vkCreateDebugUtilsMessengerEXT: value of pCreateInfo->messageType contains flag bits that are not recognized members of VkDebugUtilsMessageTypeFlagBitsEXT The Vulkan spec states: messageType must be a valid combination of VkDebugUtilsMessageTypeFlagBitsEXT values (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkDebugUtilsMessengerCreateInfoEXT-messageType-parameter )
Objects: 1
[0] 0, type: 3, name: NULL
2021-12-28 00:15:20 -05:00
Wumpf
bdfddca628
[dx12] Fix partial texture barrier not affecting stencil aspect ( #2308 )
...
* [dx12] Fix partial texture barrier not affecting stencil aspect
Fix clearing of D24Plus also clearing "hidden" stencil
* [dx12] fix handling stencil only formats for clears & barriers
2021-12-26 12:07:08 -05:00
Dzmitry Malyshau
39b7a8a202
Update naga to 8df5421
2021-12-25 00:03:15 -05:00
TheOnlyMrCat
61fa8a3b63
Implement push constants for metal backend ( #2314 )
...
* Implement push constants for metal backend
* Clear push constants on reset; get upload size from layout
2021-12-24 19:49:57 +00:00
Alphyr
890f326461
Update ash to 0.34 ( #2313 )
2021-12-23 11:23:13 -05:00
Dzmitry Malyshau
54f20bedef
hal/dx12: Fix UMA check
2021-12-19 00:09:35 -05:00
Dzmitry Malyshau
c00e471274
Release 0.12
2021-12-18 12:36:41 -05:00
Dzmitry Malyshau
18f644e19b
hal: check for surface caps in the example ( #2298 )
2021-12-16 21:41:45 +00:00
stshine
f42342bbbf
hal/dx12: enable TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES ( #2295 )
2021-12-16 14:40:19 +00:00
Dzmitry Malyshau
3960658529
Remove block decorations ( #2292 )
2021-12-15 12:29:37 -05:00
Dzmitry Malyshau
0e5892fa04
Update naga with Metal bounds checks ( #2276 )
2021-12-15 04:59:06 +00:00
Dzmitry Malyshau
6c2e8edb64
hal/gles: support ASTC, fix WebGL extensions for compressed formats ( #2289 )
2021-12-14 15:25:57 +00:00
Dzmitry Malyshau
f8beffe289
hal/dx12: expose WARP as a fallback adapter ( #2290 )
2021-12-14 15:05:28 +00:00
aloucks
79e42e08c3
Fix gles data type for 16bit unsigned normalized texture formats ( #2288 )
2021-12-13 14:57:04 -05:00
aloucks
70f7c375e0
Add feature gated 16-bit normalized texture support ( #2282 )
...
* Add feature gated 16-bit normalized texture support
Fixes #1934
* Query format properties only once
* Prevent supports_format from erroneously reporting false if the format wasn't queried
* Assert that 16bit norm formats also support on vulkan
* Add storage to TextureFormatInfo for 16-bit norm formats now that we check for support
2021-12-13 12:31:16 -05:00
Victor van den Elzen
f875e32455
GLES Wayland: properly resize on configure ( #2094 )
2021-12-12 14:13:42 -05:00
João Capucho
1446b5274f
egl: Report if clamp to border is available
2021-12-09 21:28:46 -05:00
Dzmitry Malyshau
90685b5625
hal/vk: don't ask for 0 logging severity
2021-12-09 14:06:17 -05:00
Dzmitry Malyshau
a8caa367ee
Add limits for compute storage and max invocations
2021-12-08 21:43:41 -05:00
Connor Fitzgerald
d51f70e8a4
Workaround qcomm resolve attachment bug
2021-12-06 13:39:20 -05:00
Dzmitry Malyshau
e867a7434c
Let GLES/Angle path compile on macOS
2021-12-05 17:09:36 -05:00
Dzmitry Malyshau
ab28009d80
Angle support on Windows
...
Also remove the macros module in favor of generic functions.
2021-12-05 17:09:36 -05:00
Dzmitry Malyshau
c8d572a001
hal/gles: refactor EGL code to support Angle
2021-12-05 00:02:20 -05:00
Dzmitry Malyshau
8c3558d65e
hal/gles: try robustness extension first before the core
2021-12-05 00:02:20 -05:00
Dzmitry Malyshau
9bbea3d348
Update naga to c69f676
2021-12-04 12:46:49 -05:00
Samuel Hurel
35be31f02a
Add SampleRateShading spv capability
2021-12-03 17:12:16 -05:00