Commit Graph

1109 Commits

Author SHA1 Message Date
Alex S
6d2e6e5a56 Add Naga bypass to allow feeding raw SPIR-V shader data to the backend.
While Naga checking is undoubtedly very useful, it currently lags behind
what is possible in SPIR-V and even what is promised by WGPU (ie binding
arrays). This adds an unsafe method to wgpu::Device to allow feeding
raw SPIR-V data into the backend, and adds a feature flag to request a
backend supporting this operation.
2021-06-19 23:32:44 +03:00
Gordon-F
2873ac32d9 Remove MPL 2.0 header in files 2021-06-19 21:06:08 +03:00
bors[bot]
a8be371acf
Merge #1521
1521: Better compile error for not using resolver=2. r=kvark a=ElectronicRU

**Connections**
Usability fix proposed in #1517 with some re-wording to make the intent clearer.

**Description**
Provide a useful compile error in case a downstream project is using old Cargo resolver, instead of the deluge of obscure errors they get r/n if not on MacOS.

**Limitations**
On MacOS, vulkan feature is totally valid, so we cannot detect resolver=1 on Mac.


Co-authored-by: Alex S <alex0player@gmail.com>
2021-06-19 15:08:13 +00:00
Alex S
1dea443340 Better compile error for not using resolver=2. 2021-06-19 17:36:50 +03:00
Alex S
70168ee0f5 Query optimal tiling features for Vulkan.
Images are always created with vk::ImageTiling::OPTIMAL,
so it doesn't make much sense querying linear tiling features.
2021-06-19 17:25:39 +03:00
Alex S
1b96f1a27e Add TEXTURE_ADAPTER_SPECIFIC_FORMAT_FEATURES to supported for Vulkan and Metal.
Adapter callbacks are already there, so this is likely an oversight.
2021-06-19 17:25:39 +03:00
bors[bot]
1d2efb43bc
Merge #1511
1511: Added storage texture array support. r=kvark a=ElectronicRU

**Description**
Arrays of storage images (*f*image*n*D in GLSL parlance) should now be supported.
I also took the liberty to refactor texture format checking a bit,
and tighten up sampled texture support detection for Metal as well.

**Testing**
Not completely sure what's the proper testing approach here, open to suggestions.


Co-authored-by: Alex S <alex0player@gmail.com>
2021-06-18 21:38:54 +00:00
Connor Fitzgerald
f49c50442f Update naga to gfx-26 2021-06-18 13:15:28 -04:00
Alex S
52fab481e6 Added storage texture array support.
I also took the liberty to refactor texture format checking a bit,
and tighten up sampled texture support detection for Metal as well.
2021-06-18 19:20:37 +03:00
Dzmitry Malyshau
e21e9c838c halmark: change instance flags 2021-06-17 21:10:13 -04:00
Dzmitry Malyshau
7c61fa481f Refactor halmark example to properly recycle command pools 2021-06-17 21:03:57 -04:00
Dzmitry Malyshau
c73ce25f42 hal/vk: update the fence value 2021-06-17 16:29:23 -04:00
Dzmitry Malyshau
220f359535 Address review notes 2021-06-17 14:18:30 -04:00
Dzmitry Malyshau
0b506afc60 hal/vk: use non-coherent-atom-size 2021-06-16 23:52:04 -04:00
Dzmitry Malyshau
7410b700d6 fix swapchain recycling, copies, device destruction, RODS 2021-06-16 23:18:50 -04:00
Dzmitry Malyshau
54d7391df0 Minor tweaks to make CI happy 2021-06-16 20:28:45 -04:00
Dzmitry Malyshau
fb662dfbec hal/vk: polishing to run halmark with no validation issues 2021-06-16 17:15:34 -04:00
Dzmitry Malyshau
c53addac8a hal/vk: draws and dispatches. Refactor query set descriptor 2021-06-16 14:17:37 -04:00
Dzmitry Malyshau
1952ecb99c hal/vk: enable vulkan portability support on macos 2021-06-16 11:42:37 -04:00
Dzmitry Malyshau
67dfdb9193 hal/vk: debug markers, bind groups, viewports 2021-06-16 02:05:34 -04:00
Dzmitry Malyshau
bc6bb0c3df hal/vk: render passes and queries 2021-06-16 01:26:14 -04:00
Dzmitry Malyshau
6f655e0b14 hal/vk: barriers and copies 2021-06-15 15:58:12 -04:00
Dzmitry Malyshau
a260cff0f0 hal/vk: queue operations 2021-06-15 11:38:07 -04:00
Dzmitry Malyshau
668fedd1c0 hal: rename aux to util 2021-06-15 01:33:19 -04:00
Dzmitry Malyshau
00de15990e hal/vk: pipeline creation 2021-06-15 01:24:25 -04:00
Dzmitry Malyshau
9d85602349 hal: re-architect command encoding and pooling 2021-06-14 13:30:28 -04:00
Dzmitry Malyshau
d8979cad4a hal/vk: command pools, clippy warnings 2021-06-14 10:26:40 -04:00
Dzmitry Malyshau
c2bb2d5dfc Experimental command pool API 2021-06-14 01:58:09 -04:00
Dzmitry Malyshau
4eae5a38d0 hal/vk: hook up gpu-descriptor 2021-06-12 01:04:15 -04:00
Dzmitry Malyshau
006c1baaf2 hal/vk: pipeline layout, object labels and logging 2021-06-11 20:23:15 -04:00
Dzmitry Malyshau
61e2e242cd hal/vk: textures and samplers 2021-06-11 19:14:41 -04:00
Dzmitry Malyshau
b4380e4576 hal/vk: buffer and texture creation 2021-06-11 15:53:07 -04:00
Dzmitry Malyshau
9ae5e36ad8 hal/vk: format mapping 2021-06-11 14:27:00 -04:00
Dzmitry Malyshau
dc340421c4 hal/vk: instance and adapter 2021-06-11 02:09:29 -04:00
Dzmitry Malyshau
75b6ecea58 hal: Fix iOS build 2021-06-10 17:09:46 -04:00
Dzmitry Malyshau
e345ad1c64 hal: make example to destroy temporary views 2021-06-10 16:55:17 -04:00
Dzmitry Malyshau
faf8f7e890 Simple API for coherent mapping 2021-06-10 16:05:44 -04:00
Dzmitry Malyshau
d88aa99997 Fix rows-per-image treatment, clippy warnings 2021-06-10 15:43:21 -04:00
Dzmitry Malyshau
38e13a178b hal/mtl: array length support 2021-06-10 14:22:32 -04:00
Dzmitry Malyshau
006f8abbba build and clippy fixes, command buffer cleanup 2021-06-10 12:44:29 -04:00
Dzmitry Malyshau
317237771e hal: rename bunnymark to halmark 2021-06-10 11:29:35 -04:00
Dzmitry Malyshau
782c72d32c hal/mtl: queue 2021-06-10 10:54:06 -04:00
Dzmitry Malyshau
3109b1b63d hal/mtl: most of the command encoding 2021-06-10 02:31:31 -04:00
Dzmitry Malyshau
bdaf57dbed hal/mtl: pipelines and fences 2021-06-09 23:38:48 -04:00
Dzmitry Malyshau
9f904700ee hal/mtl: creation of bind groups 2021-06-09 17:06:43 -04:00
Dzmitry Malyshau
f46459c589 hal/mtl: buffer, texture, and view creation 2021-06-09 01:51:45 -04:00
Dzmitry Malyshau
3475d839f9 hal/metal: instance,adapter, and surface 2021-06-09 00:55:49 -04:00
Dzmitry Malyshau
6d229847be hal: redesign the bind group descriptor 2021-06-08 17:12:28 -04:00
Dzmitry Malyshau
a0b51ce35c hal: remove the cows 2021-06-08 15:18:06 -04:00
Dzmitry Malyshau
502c57501f hal: bunnymark example 2021-06-08 14:58:48 -04:00
Dzmitry Malyshau
a421c1c8b6 Instance plumbing 2021-06-08 11:46:53 -04:00
Dzmitry Malyshau
ff2a3e84fc update synchronization, fix last errors in wgc 2021-06-08 02:03:44 -04:00
Dzmitry Malyshau
0a82c232ba hal: port the rest of wgpu-core 2021-06-08 00:46:08 -04:00
Dzmitry Malyshau
c61ee1262b hal: transfer operations 2021-06-08 00:46:08 -04:00
Dzmitry Malyshau
6d51fab864 hal:: Fill the command buffer calls 2021-06-08 00:46:08 -04:00
Dzmitry Malyshau
738ae2b227 Surface API 2021-06-08 00:46:08 -04:00
Dzmitry Malyshau
bae3c694bd Documentation update 2021-06-08 00:46:08 -04:00
Dzmitry Malyshau
0ea4cac04b Rework shader and pipeline creation 2021-06-08 00:46:08 -04:00
Dzmitry Malyshau
569cd0cdd6 WIP new wgpu-hal 2021-06-08 00:46:08 -04:00