Commit Graph

556 Commits

Author SHA1 Message Date
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
Connor Fitzgerald
32af4f5607
Convert map_async from being async to being callback based (#2698) 2022-05-31 11:22:21 -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
Jinlei Li
8b2e6fe3a2
Roll naga to 571302e (50 revisions) (#2672) 2022-05-18 21:09:22 -07:00
Jinlei Li
36f8d83e5c
Roll wasm32 target dependencies to latest (#2669) 2022-05-17 12:17:06 -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
Emilio Cobos Álvarez
a613a568b6
Update parking_lot. (#2639) 2022-05-03 04:28:17 +00:00
Connor Fitzgerald
e54a36ee78
Move texture-array example over to wgsl (#2618) 2022-04-25 18:32:53 +00: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
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
Alphyr
d45e6b4119
Update ash to 0.37 (#2557) 2022-03-27 22:15:58 -07:00
Alphyr
b0da1a2c1d
Switch from cgmath to glam in examples (#2544) 2022-03-21 10:32:59 -04: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
c4e9797921 metal: roll metal-rs, fix read_write_texture_tier 2022-03-01 21:05:48 -08:00
Jinlei Li
1bd85a835a Roll naga from 8e2e39e to a45b9a6 (27 revisions) 2022-02-22 15:45:05 -05:00
Lucas Kent
bfcdcd6486
Update dev deps (#2493) 2022-02-18 23:24:18 -05:00
Jinlei Li
1c17d15507
Metal backend ASTC HDR formats support (#2477) 2022-02-15 09:43:16 -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
Alexander Guryanov
b19000367c feature: emscripten 2022-01-27 14:14:29 -05:00
Lucas Kent
effcf0874f
Get cargo-run-wasm from crates.io (#2415) 2022-01-23 00:26:04 +00: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
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
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
eda3d4fa34 Update naga to 09d35f3 2022-01-05 23:33:43 -05:00
Lucas Kent
b88808b454 Replace run-wasm-example.sh with aliased rust crate (xtask) 2022-01-04 23:56:47 -05:00
Dzmitry Malyshau
75b885b0ca hal/gles: support externally initialized contexts 2022-01-04 00:23:47 -05:00
Benoît du Garreau
66a661d14b Update ash to 0.35 2021-12-29 10:26:53 -05:00
Dzmitry Malyshau
39b7a8a202 Update naga to 8df5421 2021-12-25 00:03:15 -05:00
Alphyr
890f326461
Update ash to 0.34 (#2313) 2021-12-23 11:23:13 -05:00
Dzmitry Malyshau
c00e471274 Release 0.12 2021-12-18 12:36:41 -05: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
9bbea3d348 Update naga to c69f676 2021-12-04 12:46:49 -05:00
Igor Shaposhnik
c6d1491bb1 Update raw-window-handle to 0.4 2021-12-01 15:59:05 -05:00
Layl
2ef72b9313
Add multiview support (#2187)
Co-authored-by: Layl Bongers <2385329-layl@users.noreply.gitlab.com>
2021-11-19 10:56:48 -05:00
Dzmitry Malyshau
27aae2a2a2
Update naga to eda078d (#2172) 2021-11-10 16:06:32 -05:00
Alphyr
99830957e8
Update ron (#2154) 2021-11-04 22:41:21 -04:00
Dzmitry Malyshau
ca7ca749cd
Update naga to 323999f, report pretty errors in shader validation (#2141) 2021-11-01 16:57:33 -04:00
Andrew Wheeler(Genusis)
1759722b69
Added GLSL to ShaderSource behind Feature lock (#2055)
* Added GLSL to ShaderSource behind Feature lock

* Used full path for Naga's FastHashMap and ShaderStage rather than add them as a pub include

* changed spirv and glsl web feature to web-shader-translation. Now requires glsl or spirv to be choosen along with the web-shader-translation to unlock their usage

* Changed the Description of the Glsl enum

* Added README update

* Made With with

* added catch all that panics if web-shader-translation is not enabled with spirv or glsl

* added Compiler condition to prevent the catch all unless glsl or spirv exists without web-shader-translation

* We decided to use [target.'cfg(target_arch = wasm32)'.dependencies.naga] within cargo to include wgsl-out in the Web backend unconditionally, which removed the need for a panic

* Removed wasm targets section from readme as it is no longer needed

* Named Glsl fields to make them more understandable as to what they are for

* Fixed the enum usage for GLSL and Added documentation for the fields
2021-10-12 19:20:45 +00:00
Dzmitry Malyshau
5441556988 Release wgpu-hal-0.11.2 2021-10-12 12:22:49 -04:00
Dzmitry Malyshau
d48bc62826 hal/vk: check for NV optimus 2021-10-09 16:33:45 -04:00
Dzmitry Malyshau
016b319b38 Manifests update for 0.11 2021-10-07 19:15:49 -04:00
Dzmitry Malyshau
85fbbbbbf3
Cargo lock update, limits fix (#2033) 2021-10-07 16:57:33 -04:00
Connor Fitzgerald
6df5f95b67 Update naga to 2e7d629 2021-10-07 16:09:13 -04:00
Dzmitry Malyshau
dfa4948033 Update naga to 0e3fbc8 2021-10-07 08:32:01 -04:00
Connor Fitzgerald
647f6ee9f2 Disable partially bound arrays on intel/windows 2021-10-05 08:57:33 -04:00
Dzmitry Malyshau
4054d82454 Bring back the root lockfile 2021-10-04 08:47:13 -04:00
Luca Casonato
d5ba0b439d
WIP: add cts_runner and deno_webgpu crate (#1859)
* WIP: add cts_runner and deno_webgpu crate

* add test

* remove Cargo.lock

* review comment

* simplify

* fix bugs

* improve cts_runner to work with crowlKats/webgpu-examples

* fix

* remove build.rs

cts_runner binaries are now not portable anymore.

Also startup will now print a bunch of cargo:rerun-if-changed=. This
will be fixed in deno_core.

* remove d.ts

* add original deno license file
2021-09-03 13:23:35 -04:00
Dzmitry Malyshau
590ef1d8cf
Switch naga to latest on git (#1858) 2021-08-24 18:20:44 -04:00
Hugo Woodiwiss
663cb309a0
Update web-sys 0.3.51 to 0.3.53 (#1844)
* Update web-sys to work with newer ff nightly

* Update wgpu for web-sys 0.3.53

* Implement get_current_texture for web backend

* Set access for GpuStorageTextureBindingLayout

* Move inline mapping to use existing mapping fn

* Implement SPV to WGSL Conversion

Error handling is not completed yet.

* Update spv to wgsl conversion to match existing

Move to using spv::Parser struct
Remove need for unsafe block
Copied from f3c9f412f6/wgpu/src/backend/direct.rs (L971-L978)

* Add spirv-web feature

For spir-v --> wgsl conversion in the web backend

* Update README to include spirv-web
2021-08-24 15:52:08 +00:00
Dzmitry Malyshau
a296cf6e9e [metal] set threadgroup memory sizes reflected from the shader 2021-08-19 13:25:04 -04:00
Dzmitry Malyshau
564330432f Bump wgpu version to 0.10.1 2021-08-18 15:34:08 -04:00
Dzmitry Malyshau
9da5c1d3a0
Release v0.10 (#1820)
* Release v0.10

* hal/gles: update glow handles logic
2021-08-18 19:06:21 +00:00
Dzmitry Malyshau
9b85882ff8 [dx12] implement num_workgroups 2021-08-18 00:14:44 -04:00
Dzmitry Malyshau
4dc5546a17 Naga update to 69b70f8 2021-08-16 01:35:19 -04:00
Dzmitry Malyshau
1e7d86b655 Update Naga to 69b70f8 2021-08-13 02:09:43 -04:00
Dzmitry Malyshau
f2a18ee57c Update naga to 1907a92 2021-08-12 23:58:19 -04:00
Zicklag
9310f264f1
Update Naga With New Storage Classes API (#1766) 2021-08-05 13:50:51 -04:00
Dzmitry Malyshau
69f808c54a hal/dx12: support base vertex/instance 2021-07-27 08:59:41 -04:00
Dzmitry Malyshau
405cf57955 hal/dx12: compact register allocation, naga update 2021-07-26 02:01:14 -04:00
bors[bot]
35896df3b7
Merge #1716
1716: Update winit to 0.25 r=kvark a=Gordon-F

**Connections**


**Description**
Update winit to 0.25

**Testing**
Examples


Co-authored-by: Gordon-F <ishaposhnik@icloud.com>
2021-07-23 15:05:45 +00:00
Dzmitry Malyshau
8dc4942431 Update naga to bbfa9a0, tweak DX12 debug output 2021-07-23 10:48:32 -04:00
Gordon-F
f0b1d5a673 Update winit to 0.25 2021-07-23 14:30:38 +03:00
Dzmitry Malyshau
2c45796d9c Update Naga to cc91c77 2021-07-23 02:19:42 -04:00
Dzmitry Malyshau
be13fe3048 hal/dx12: fix the binding model 2021-07-20 10:07:40 -04:00
Craig
7b4bd2f788 Avoid depending on image 2021-07-19 12:43:19 -07:00
Dzmitry Malyshau
35145615bf Update naga, use binding map in DX12 2021-07-18 12:03:14 -04:00
initial-algebra
0db00e9657 Implement Feature::SHADER_PRIMITIVE_INDEX on Vulkan 2021-07-17 15:31:35 -03:00
Dzmitry Malyshau
0a609e74c0 hal/dx12: compute pipelines, update naga 2021-07-13 01:04:06 -04:00
Dzmitry Malyshau
c0432761d9 hal/dx12: use range-alloc for descriptor heaps 2021-07-13 01:03:15 -04:00
Dzmitry Malyshau
23615aa55d hal/dx12: texture and view creation 2021-07-13 01:01:19 -04:00
Dzmitry Malyshau
3a2bbfd563 hal/dx12: adapter initialization 2021-07-13 01:01:16 -04:00
Benoît du Garreau
8bd9e151cd Update web-sys 2021-07-07 16:09:15 +02:00
Benoît du Garreau
e7269e72f3 Upgrade arrayvec to 0.7 2021-07-06 00:45:24 +02:00
Dzmitry Malyshau
81b382f5cd Readme and clippy fixes 2021-07-02 20:43:01 -04:00
Connor Fitzgerald
f76200e725 Update testing limits for rpi4 2021-07-02 00:13:33 -04:00
Dzmitry Malyshau
6f13eebb7b hal/gles: compressed ETC2 texture support 2021-06-30 12:06:59 -04:00
Dzmitry Malyshau
582c128520 Pick up naga's GLSL continuing and Y-flip fixes 2021-06-30 02:29:30 -04:00
Dzmitry Malyshau
e4aee90341 hal/gles: object labels, view dimensions, and buffer clears 2021-06-30 02:29:29 -04:00
Dzmitry Malyshau
403ff6faf8 hal/gles: Update glow and fill up the missing methods 2021-06-30 02:29:29 -04:00
Dzmitry Malyshau
5083f56149 Add more downlevel flags, implement device opening on Gles 2021-06-30 02:29:26 -04:00
Dzmitry Malyshau
41bc9d0625 hal/gl: start the backend, port the Instance 2021-06-30 02:29:25 -04:00
Dzmitry Malyshau
5ca1fe58e9 Update naga to 57b3256020 2021-06-27 01:44:49 -04:00
Connor Fitzgerald
b060bf1afe Assorted touchups 2021-06-23 20:23:19 -04:00
Connor Fitzgerald
3356f5f993 PR comments 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
c0664c2bb7 Begin robust exception system 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
22b8e2851f Remove loom 2021-06-23 19:10:11 -04:00
Dzmitry Malyshau
4c03d286c6 Remove SPIRV entirely from wgpu-core 2021-06-22 12:35:22 -04:00
Connor Fitzgerald
f49c50442f Update naga to gfx-26 2021-06-18 13:15:28 -04:00
Dzmitry Malyshau
0b506afc60 hal/vk: use non-coherent-atom-size 2021-06-16 23:52:04 -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
1952ecb99c hal/vk: enable vulkan portability support on macos 2021-06-16 11:42:37 -04:00
Dzmitry Malyshau
b4380e4576 hal/vk: buffer and texture creation 2021-06-11 15:53:07 -04:00
Dzmitry Malyshau
dc340421c4 hal/vk: instance and adapter 2021-06-11 02:09:29 -04:00
Dzmitry Malyshau
38e13a178b hal/mtl: array length support 2021-06-10 14:22:32 -04:00
Dzmitry Malyshau
782c72d32c hal/mtl: queue 2021-06-10 10:54:06 -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
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
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
738ae2b227 Surface API 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
Dzmitry Malyshau
a6ff3ea086 Merge changelogs and readmes 2021-06-02 21:50:16 -04:00
Dzmitry Malyshau
19dfcd93ca Make player automatically start/stop the capture 2021-05-18 17:42:49 -04:00
Dzmitry Malyshau
e00251d3e3 Update naga to gfx-25 2021-05-13 23:56:26 -04:00
Dzmitry Malyshau
e5ddb94be0 Version bump to 0.8 2021-04-29 11:57:22 -04:00
Dzmitry Malyshau
087bd07f55 Add shader compile markers 2021-04-27 12:23:28 -04:00
Dzmitry Malyshau
6c7f2b917f Update profiling to 1.0 2021-04-26 11:59:15 -04:00
Dzmitry Malyshau
03c4e0969e Update naga to gfx-23 2021-04-26 11:10:22 -04:00
Dzmitry Malyshau
cc2e547d48 Update gfx to the new image view API 2021-04-20 10:16:30 -04:00
Dzmitry Malyshau
27f51ca252 Update naga to gfx-22, add interpolation sampling validation 2021-04-19 13:33:36 -04:00
adamnemecek
6d3a514c43
updated gfx (#1327)
* updated gfx

* use long rev
2021-04-14 14:37:13 -04:00
Dzmitry Malyshau
1ba95585ba Update naga to gfx-21 2021-04-11 01:07:46 -04:00
Dzmitry Malyshau
191f33871b Don't panic on change_extend errors 2021-04-08 12:03:46 -04:00
Dzmitry Malyshau
2e9d9d8267 Update gfx with fixed Metal cross feature 2021-04-05 00:48:17 -04:00
Dzmitry Malyshau
0bd8526239 Update naga to gfx-20 2021-04-04 11:25:10 -04:00
adamnemecek
d91ad13482 framecapture 2021-04-01 12:51:50 -07:00
Dzmitry Malyshau
49c59ec063 Update gfx to the MSL entry point fix 2021-03-30 21:25:40 -04:00
Gordon-F
124d5e3a7c Update naga to gfx-19 2021-03-31 02:00:48 +03:00
Igor Shaposhnik
6097421647 Update to latest gpu-alloc 2021-03-29 09:33:40 +00:00
Gordon-F
c1f8203f3c Update naga to gfx-18 2021-03-25 16:59:16 +03:00
Dzmitry Malyshau
c52dad9d47 Update naga to gfx-17 2021-03-19 13:43:11 -04:00
Dzmitry Malyshau
b97f5a5b24 Update naga to gfx-16 2021-03-17 09:07:08 -04:00
Connor Fitzgerald
cf6f9c3ca8 Move from tracing to log + profiling 2021-03-17 01:22:30 -04:00
Dzmitry Malyshau
3b1b11f441 Update naga to gfx-15 2021-03-16 12:52:32 -04:00
Wumpf
717c2d73e7
Add CONSERVATIVE_RASTERIZATION native feature (#1263)
* Add CONSERVATIVE_RASTERIZATION native feature

* update gfx to cd3042d8c02d9dc7fc74ac8c292099c9789f6d43

* error for polygon mode not fill +conservative raster
2021-03-14 20:43:02 -04:00
Dzmitry Malyshau
280c066e65 Update to naga-14 2021-03-14 00:27:57 -05:00
Anthony Cowley
f01feacc2e
Update gfx and naga to gfx-13 tag (#1248)
* wgpu-core: update gfx-hal usage related to sparse resources

* wgpu-core: support naga gfx-13

* Update gfx and naga dependencies to gfx-13 tag

Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-03-10 00:04:16 -05:00
Dzmitry Malyshau
7c1db12cdc Refactor implicit BGLs to support early tracing 2021-03-03 16:48:23 -05:00
Aaron Hill
8b4bec5d9a
Update gfx to 0a201d1c406b5119ec11068293a40e50ec0be4c8
Fixes #246

Pulls in https://github.com/gfx-rs/gfx/pull/3653,
which fixes a segfault when using wgpu from a non-main thread.
2021-02-25 15:25:40 -05:00
Dzmitry Malyshau
91f5329b33 Update gfx and naga to gfx-12 2021-02-21 11:25:45 -05:00
Dzmitry Malyshau
fdd50e10fd Update naga to gfx-11 2021-02-16 09:46:22 -05:00
Dzmitry Malyshau
b3387492a2 Handle player window resizing gracefully 2021-02-11 14:16:56 -05:00
Dzmitry Malyshau
42d3f1f087 Update naga to gfx-10, add push constants validation 2021-02-09 10:06:55 -05:00
Dzmitry Malyshau
8ed543f26a Update all versions 2021-02-01 00:35:40 -05:00
Dzmitry Malyshau
4764ff21e9 Update gfx with the new iterator API 2021-01-28 12:40:24 -05:00
Dzmitry Malyshau
952ccbcf85 Update naga to gfx-7 2021-01-23 22:17:09 -05:00
Matt Keeter
38b184428d Bump gfx to latest master 2021-01-22 08:58:51 -05:00
Dzmitry Malyshau
5fccabf3b8 Update gpu-alloc and remove the associated locking 2021-01-19 20:59:50 -05:00
Dzmitry Malyshau
7f8c776a85 Update gfx to unborrowed APIs 2021-01-19 00:33:45 -05:00
Dzmitry Malyshau
87c8cb8fde Update gfx and naga to gfx-6 tag, fix the hub clears 2021-01-16 01:38:57 -05:00
Dzmitry Malyshau
6c05470db0 Minor dependencies bumps 2021-01-15 01:11:28 -05:00
Dzmitry Malyshau
012569845d Update render pass and framebuffers logic to the latest gfx-hal 2021-01-15 00:53:28 -05:00
TheArtist
ce908c5f57 Changed Arc<B::Memory> to Arc<Mutex<B::Memory>> in GpuAllocator 2021-01-09 19:53:13 +02:00
Connor Fitzgerald
79973aaaff Bump gfx-hal and gpu-alloc 2020-12-27 01:10:24 -05:00
Dzmitry Malyshau
f07cc8156b Update naga and gfx, move the shader validation into a shader descriptor bit 2020-12-17 11:33:47 -05:00
Dzmitry Malyshau
a316fff427 Update Naga to gfx-4, update gfx with GL fixes 2020-12-07 01:30:52 -05:00
Dzmitry Malyshau
dccc57e7b5 Switch playtests to WGSL 2020-12-06 14:51:23 -05:00
Dzmitry Malyshau
749f737c89 Add pervasive Naga support to shader module loading
The purpose of the PR is to support Naga modules everywhere.
As a requirement, it updates the gfx-rs version used.
Most of the logic is dedicated towards building a shader interface,
where previously we just used naga's IR. Now we have our own mini-IR.
2020-12-05 11:31:03 -05:00
Dzmitry Malyshau
9e2f6c2f01 Move to gfx master 2020-11-30 22:50:13 -05:00
Dzmitry Malyshau
10c11d718d Replace gfx-descriptor by gpu-descriptor 2020-11-30 21:48:04 -05:00
lordnoriyuki
162cd6bd86 Disable gfx-backend-gl on macOS 2020-11-28 16:11:16 -08:00
Dzmitry Malyshau
55851add9b player: use the wgpu-cores's gfx-select macro 2020-11-26 14:47:48 -05:00
Dzmitry Malyshau
2f55c708b8 Update gpu-alloc and naga with linear allocation fixes 2020-11-24 09:40:36 -05:00
Dzmitry Malyshau
fccbca28bd [error] shader module creation, separate descriptor 2020-11-23 11:57:32 -05:00
Dzmitry Malyshau
b48764728d Update gpu-alloc and naga 2020-11-18 09:24:43 -05:00
msiglreith
b09027a74a export ndk toolchain path 2020-11-15 18:34:55 -05:00
Dzmitry Malyshau
b0a98548d1 Update naga to 4d4e1cd4cb 2020-11-13 12:26:48 -05:00
Dzmitry Malyshau
22efbeae70 Replace gfx-memory by gpu-alloc 2020-11-09 12:16:34 -05:00
Zicklag
f7f1ff699a Implement OpenGL Backend For Unix Platforms 2020-11-04 20:32:33 -06:00
Dzmitry Malyshau
a4e8d58144 Update gfx-backend-vulkan to 0.6.4 2020-10-15 16:03:30 -04:00
Dzmitry Malyshau
50594a747d Another small Naga update 2020-10-07 16:14:25 -04:00
Dzmitry Malyshau
c18ac58fd8 Update naga with the new usage validation 2020-09-28 10:18:35 -04:00
Dzmitry Malyshau
6a3c106cc4 Update naga with new image API 2020-09-11 12:34:20 -04:00
Dzmitry Malyshau
fc27920fde Unlock nightly builds on CI 2020-09-10 11:04:24 -04:00
Zicklag
7572dbeaf9 Use CFG Aliases to Replace the backends! Macro
Uses the `cfg_aliases` crate to replace the `backends!` macro and
provide a more natural way to gate backend specific code.
2020-08-29 21:55:17 -05:00
Dzmitry Malyshau
ceac2344fc Update naga to bd9efe5915 2020-08-27 11:52:02 -04:00
Dzmitry Malyshau
b5475d7d80 Update naga to 4797773152 2020-08-26 15:35:14 -04:00
Dzmitry Malyshau
901b043b19 Version bump to 0.6 and changelog update 2020-08-17 16:51:22 -04:00
Connor Fitzgerald
350637df40 Factor wgpu-subscriber into its own repo 2020-08-17 16:36:22 -04:00
Dzmitry Malyshau
d1da6d8106 Switch gfx-hal to 0.6 2020-08-17 10:34:50 -04:00
Dzmitry Malyshau
d8341c5996 Add labels to pipelines 2020-08-13 12:14:24 -04:00
Dzmitry Malyshau
d07d8503a0 Move the subscriber into a different crate 2020-08-12 15:00:15 -04:00
Dzmitry Malyshau
3291b72368 Update naga and fix type widths 2020-07-31 23:46:19 -04:00
Dzmitry Malyshau
bf862b7907 Clarity renames according to the Gecko review 2020-07-28 16:58:28 -04:00
Connor Fitzgerald
cb485f3798 Convert all logging to tracing and add fmt logger 2020-07-25 19:33:21 -04:00
Dzmitry Malyshau
82d149b871 Naga update, remove spirv_headers dependency 2020-07-22 11:05:42 -04:00
Gabriel Majeri
ce5bcf86f1 Use thiserror for validation module 2020-07-17 20:21:19 +03:00
Dzmitry Malyshau
acef9206a6 Player-based GPU test framework 2020-07-17 00:08:43 -04:00
Kunal Mohan
26dcdaae59
Add Error State to Storages (#776)
* Add Error State to Storages
fix #772

* use resize function in insert

* address review comments
2020-07-10 14:29:22 -04:00
Dzmitry Malyshau
7686bb5cad Update gfx-extras for the memory changes 2020-07-07 16:41:26 -04:00
Connor Fitzgerald
441b6e0d04 Implement MultiDrawIndirect Extensions 2020-06-27 23:43:23 -04:00
Dzmitry Malyshau
448ecc1bb1 gfx-memory update 2020-06-26 01:12:58 -04:00
Dzmitry Malyshau
0ed90d001b Tweak the logging a bit to make debug level usable 2020-06-24 10:26:43 -04:00
Connor Fitzgerald
62a870280f Refine Logging Levels 2020-06-22 02:13:04 -04:00
Connor Fitzgerald
c1f0021a05 Add Chrome Backend 2020-06-20 20:55:59 -04:00
Connor Fitzgerald
1b2cf3cd22 Add Tracing and Instrument Entry Points 2020-06-20 14:26:50 -04:00
Dzmitry Malyshau
365f4e8786 Remove peek-poke.
There was a lot of highly unsafe use of serialization based on peek-poke that we
weren't entirely happy with. It's replaced by just serializing the passes now.
Also, switch BufferSize to Option<NonZero>.
2020-06-20 00:39:11 -04:00
Dzmitry Malyshau
0c0ecc3b09 Switch to latest nightly 2020-06-19 11:16:29 -04:00
Dzmitry Malyshau
ff5c9c9ffc Naga update with offsets and strides 2020-06-19 11:14:29 -04:00
bors[bot]
d7d0fd5dfe
Merge #735
735: Set descriptor set name when creating bind group r=kvark a=GabrielMajeri

**Description**
There is a [`TODO` in the code](a02a566841/wgpu-core/src/device/mod.rs (L1428)) for setting the descriptor set name when creating a bind group. It was blocked on https://github.com/gfx-rs/gfx-extras/pull/5

**Testing**
Tested with examples from `wgpu-rs`.

Co-authored-by: Gabriel Majeri <gabriel.majeri6@gmail.com>
2020-06-19 13:33:32 +00:00
Gabriel Majeri
eba5c7e877 Set descriptor set name when creating bind group 2020-06-19 15:20:01 +03:00
Dzmitry Malyshau
0cd1ec2981 Dummy workspace crate 2020-06-18 14:16:04 -04:00
Dzmitry Malyshau
35a1dc3076 Basic support for WGSL 2020-06-17 13:29:43 -04:00
Connor Fitzgerald
bfcc369bc7 Implement SAMPLED_TEXTURE_ARRAY_NON_UNIFORM_INDEXING 2020-06-12 19:52:10 -04:00
Connor Fitzgerald
57b3b72571 Implement TEXTURE_BINDING_ARRAY extension 2020-06-10 22:35:25 -04:00
Dzmitry Malyshau
e648516ff9 player: enable x11 on Unix/Vulkan 2020-06-01 16:54:40 -04:00
Dzmitry Malyshau
6fb2b272e4 Fix recycling of command buffers 2020-05-31 11:50:24 -04:00
Gabriel Majeri
f70f32af87 Add optional SPIR-V shader validation
# Conflicts:
#	Cargo.lock
2020-05-09 19:55:10 +03:00
Paul Kernfeld
29a4cee002 Add a loom test for RefCount 2020-05-06 13:53:57 -04:00
Dzmitry Malyshau
5bbe6ec38c
Integrate with RenderDoc on winit-less captures (#627) 2020-05-01 15:34:32 -04:00
Dzmitry Malyshau
854c1be035 trace: support pipelines, refactor destruction sequence 2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
018417f174 trace: replaying all the commands 2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
dbb261b7f1 Remove wgpu-native and wgpu-remote 2020-04-16 22:35:59 -04:00
Dzmitry Malyshau
7dba052900 Version bump and CHANGELOG update 2020-04-06 08:55:39 -04:00
Rukai
99161cbeb5 Use crates.io release of peek-poke 2020-04-05 23:06:02 -04:00
Dzmitry Malyshau
4b69b4257f Parking lot update to 0.10 2020-03-27 10:42:18 -04:00
Dzmitry Malyshau
2e9610e8c9 Request NDC_Y_FLIP feature 2020-03-27 00:54:01 -04:00
Dzmitry Malyshau
8aeeb8e318 Port to gfx-extras and gfx-hal-0.5 2020-03-27 00:54:01 -04:00
Joshua Groves
b58c15815b Move more shared types into wgpu-types 2020-03-14 23:08:05 -02:30
Joshua Groves
9940aef599 Move some types into shared wgpu-types crate 2020-03-10 22:36:23 -02:30
Logan McGrath
7927f4cb2b Using default nsview if not provided by raw-window-handle 2020-01-18 10:06:10 -08:00
Dzmitry Malyshau
a51019795e Switch to a custom fork of peek-poke 2020-01-13 16:52:59 -05:00
Dzmitry Malyshau
40ac14e92c Switch the examples to use the new raw passes 2020-01-13 16:52:58 -05:00
Dzmitry Malyshau
c01a7c6abe Use peek-poke for compute pass encoding 2020-01-13 16:52:58 -05:00
Mark Swanson
c757ba827b Switch XlibHandle window to c_ulong 2020-01-01 10:49:00 -05:00
Mike Hommey
1175fb35f3 Run cargo update to pick newer compatible versions of dependencies 2019-12-06 15:13:05 +09:00
Mike Hommey
74d83fdedd Update smallvec to 1.0 2019-12-06 13:37:30 +09:00
Dzmitry Malyshau
6c632d1366 Separate native from the core 2019-11-16 00:36:23 -05:00
Dzmitry Malyshau
9ffcbe5f9d Release preparations 2019-11-03 18:52:57 -05:00
Dzmitry Malyshau
cb692620ca Don't depend on gfx-auxil 2019-11-02 00:24:36 -04:00
Dzmitry Malyshau
271c709645 Update to latest rendy with gfx-0.4 2019-10-28 11:59:18 -04:00
Dzmitry Malyshau
e37149b3a8 Remove all the IPC 2019-10-25 12:06:12 -04:00
Terrence Cole
78fbbba5e9 Support Limits::max_bind_groups (#348)
* Pass max_bind_count down into Binder.
* Use the existing hub.
* Remove accidental newline.
2019-10-14 21:57:05 -04:00
Rukai
31ef688213 Updated deps 2019-10-06 11:17:57 +11:00
Dzmitry Malyshau
5f1c432706 New swapchain model 2019-09-09 20:53:35 -04:00
Dzmitry Malyshau
988d78435a Switch to use gfx-rs latest and greatest master 2019-09-06 10:05:53 -04:00
Dzmitry Malyshau
175e992149 DX12/DX11 hookup, improved adapter selection 2019-08-29 09:44:34 -04:00
Dzmitry Malyshau
e84ae4a4b2 Feature-less backend selection
This PR removes optional backend features in favor of run-time
selection at the `request_adapter` entry point. Adapters from all
supported gpu backends on the platform are reported.

It also makes gfx-rs dependency to be public (for now).
2019-08-27 20:55:49 -04:00
Dzmitry Malyshau
6fdeea23c5 Refactor Id logic.
This change merges `Id` with `GenericId` and abstracts away its contents, exposing itself as just u64. This will allow us to encode the backend type into it, in addition to index and epoch.

It also refactors `TypedId` to have a single function extracting all the fields, since this is how it's used all the times anyway.
2019-08-27 20:54:30 -04:00
Dzmitry Malyshau
87b61d206c Fix instance init on Windows and check it on CI 2019-08-22 11:29:45 -04:00
Dzmitry Malyshau
a9cfde1d9d Fixed pipeline barriers that are not transitions 2019-08-21 13:11:46 -04:00
Dzmitry Malyshau
1d36203c9a Raw window handle support instead of winit 2019-08-20 23:41:14 -04:00
yanchith
f7418422f9 Update rendy-memory and rendy-descriptor to 0.4 from crates.io 2019-08-20 17:53:09 +02:00
Dzmitry Malyshau
f30cb20508 Make winit truly optional 2019-08-17 23:37:16 -04:00
Rukai
e61b16f7ed Update to gfx hal 0.3 2019-08-11 09:39:52 +10:00
Dzmitry Malyshau
41d0ce14d6 Rebind with proper dynamic offsets 2019-07-22 00:16:29 -04:00
John W. Bruce
25834b0312 Derive Debug for All Remaining Types
With gfx-hal 0.2.1 and the various backend releases on 2019-06-28, all
of the gfx-hal types that wgpu depends on implement Debug. Thus, some
types that could not derive Debug in #216 can now derive Debug.

This patch also adds Debug implementations for a few types that were
recently added to wgpu.

Fixes #76.
2019-07-04 17:49:21 -07:00
Rukai
194943c12c Full MSAA handling 2019-06-23 22:17:42 +10:00
Dzmitry Malyshau
351432aae2 hook up rendy-memory 2019-05-30 13:34:43 -04:00
Dzmitry Malyshau
9c408f919c Hook up rendy-descriptor 2019-05-30 08:35:34 -04:00
kyren
8680195c91 Add gfx-backend-gl support
Also adds glutin-specific support methods to wgpu-native
2019-05-19 15:10:52 -04:00
Dzmitry Malyshau
5597846018 Update to gfx-hal 0.2 2019-05-13 11:07:28 -04:00
Dzmitry Malyshau
6ce9cbd679 Remove Rust wrapper and examples 2019-05-10 20:40:42 -04:00
Rukai
16cc03be31 Update deps + upgrade examples to rust 2018 2019-05-07 22:38:41 +10:00
Dzmitry Malyshau
6ac666a5aa Introduce ClientFactory 2019-04-30 15:37:46 -04:00
Dzmitry Malyshau
61fca00f34 Remove wgpu-bindings in favor of configuration scripts 2019-04-30 12:45:05 -04:00
Dzmitry Malyshau
0011d9f4ff Global manager for instance names on the remote client 2019-04-30 09:19:40 -04:00
Dzmitry Malyshau
83a83f33e7 Track epochs of the frame semaphores to wait for 2019-04-03 17:48:26 -04:00
Dzmitry Malyshau
c283a8b115 Update changelog and versions 2019-03-31 20:04:39 -04:00
Dzmitry Malyshau
0b51c8a9d2 Clean up use statements.
Use copyless::VecHelper and ArrayVec for some things.
Refactor map_buffer internals.
2019-03-21 12:05:53 -04:00
Dzmitry Malyshau
dc31e4bdd0 Fix descriptor size, bump versions 2019-03-20 14:52:59 -04:00
Dzmitry Malyshau
81114a8ca2 Bump the descriptor pool size 2019-03-20 14:52:38 -04:00
Dzmitry Malyshau
0bb4daa696 Version bumps to 0.2.0 2019-03-06 10:02:43 -05:00
Dzmitry Malyshau
7149ba83ba Update dx11 dependency in the lockfile 2019-03-05 23:01:13 -05:00
Tristam MacDonald
6ef53d7705 Convert shadow sample to map_async 2019-03-05 19:04:21 -08:00
Dzmitry Malyshau
e16ceafb81 Epoch tracking of indices 2019-02-26 10:12:11 -05:00
Dzmitry Malyshau
bd0de53f8e First bits of wgpu-remote 2019-02-26 10:10:07 -05:00
Tristam MacDonald
8431da80ed Implement map read/write async 2019-02-26 06:45:07 -08:00
Dzmitry Malyshau
a7476ee69a rust: temporary vector of command buffers 2019-02-21 08:15:39 -05:00
Dzmitry Malyshau
844d371989 Command encoder interface 2019-02-12 16:48:56 -05:00
Dzmitry Malyshau
1c95eef7a3 Depenency gfx update to 0.1.1 2019-02-05 09:45:52 -05:00
Dzmitry Malyshau
d50f8199dd Buffer to texture copies 2019-02-03 21:59:35 -05:00
Dzmitry Malyshau
d4c8c881d0 gfx framework GLSL reading, most of the cube example 2019-02-02 22:48:53 -05:00
Dzmitry Malyshau
ed5499d025 Basic gfx-examples framework 2019-02-02 21:02:33 -05:00
Dzmitry Malyshau
57f0cd184f native: basic support for pipeine stages in barriers 2019-01-31 21:42:35 -05:00
Dzmitry Malyshau
8547b591ad Dependencies and Cargo configurations update for 0.1 2019-01-24 07:39:51 -08:00
Dzmitry Malyshau
08cd75f38c Set vertex and index buffers 2019-01-21 16:18:56 -05:00
Joshua Groves
e51cce7e5d Lock cbindgen to working revision 2019-01-20 15:47:54 -07:00
Dzmitry Malyshau
5deb6e2047 DX11 support 2019-01-17 23:03:11 -05:00
Dzmitry Malyshau
68cacd4829 native: basic surface and swapchain creation 2019-01-14 16:03:51 -05:00
porky11
6675a4d3e4 update to current version of gfx 2019-01-12 19:03:17 +01:00
Dzmitry Malyshau
f4bb1903bf Fix deadlock in barrier insertion 2018-12-01 22:53:21 -05:00
Dzmitry Malyshau
d4c415f666 Improve locking safety for Registry 2018-11-27 11:06:22 -05:00
Joshua Groves
d92f222078 Use git dependency for cbindgen 2018-11-11 12:32:19 -07:00
Joshua Groves
f4cd450687 Disable rendy temporarily 2018-11-11 12:02:40 -07:00
Dzmitry Malyshau
9aa5977c22 Bindings update with the new cbindgen 0.6.7 2018-10-30 22:02:07 -04:00
Dzmitry Malyshau
f3cfd2e09c Transition between command buffers 2018-10-26 22:15:48 -04:00
Dzmitry Malyshau
32b92afa5c Root Makefile 2018-10-22 12:01:42 -04:00
Joshua Groves
6fb3b06303 Add rendy and create textures 2018-10-06 22:27:02 -06:00
Dzmitry Malyshau
62f5fc480d Render pipeline states for Rust layer and example 2018-09-28 21:57:49 -04:00
Joshua Groves
e3d7fda9c7 Simplify registry access 2018-09-28 00:13:11 -06:00
Dzmitry Malyshau
3c583160d4 Port hello_triangle_rust example to use the new Rust wrapper 2018-09-26 14:31:06 -04:00
Dzmitry Malyshau
53c75d6aed First bits of wgpu-rs 2018-09-26 14:31:03 -04:00
Joshua Groves
19ddb63e11 Fix remote get_mut 2018-09-24 21:20:03 -06:00
grovesNL
5759f769b0 Add initial bindings 2018-09-22 16:54:19 -06:00
Dzmitry Malyshau
9ecc25e907 Restructure the repo to host multiple crates 2018-09-18 21:48:18 -04:00