Commit Graph

916 Commits

Author SHA1 Message Date
Dzmitry Malyshau
016b319b38 Manifests update for 0.11 2021-10-07 19:15:49 -04:00
Zicklag
312828f12f
Implement WebGL2 Backend (#1686)
* Implement WebGL Backend

* Add WebGL Fixes by @mrk-its

* Update Limits for WASM and Examples

* Address Review Points
2021-10-07 16:18:09 -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
Dzmitry Malyshau
5092fb7ea5 Refactor presentation to be explicit 2021-10-06 17:02:10 -04:00
Connor Fitzgerald
c3d906856f Add spans to provide more information profile gaps 2021-10-03 22:54:15 -04:00
Dzmitry Malyshau
1ee6036f44 Implement software adapter selection 2021-10-01 17:22:51 -04:00
Dzmitry Malyshau
97d6db4d18 Allow if/panic in wgpu-hal 2021-10-01 16:22:51 -04:00
memoryruins
13a0baaca5 Update mentions of gfx-hal to wgpu-hal 2021-10-01 13:50:19 -04:00
Connor Fitzgerald
b679342d9e Support descriptor arrays shorter than binding length 2021-09-30 14:11:51 -04:00
João Capucho
9bc5908492
Add method to create shader modules without runtime checks (#1978)
* Add method to create shader modules without runtime checks

* Use opaque struct to represent shader bound checks
2021-09-27 19:51:44 +00:00
Dzmitry Malyshau
a7aa72ba1c Check for color target count in bundle creation 2021-09-27 11:11:10 -04:00
Devin Brite
dbfdbf4e32
Move validation from Device::create_texture_from_hal() to Device::create_texture() (#2001)
* Move validation from `Device::create_texture_from_hal()` to `Device::create_texture()`

---

Users encountered a segfault upon creating a texture when mip_level_count was set to 0 with (at least) Vulkan.
This is due to wgpu's validation taking place after the API's texture is created.

This change moves wgpu's validation to before the API's texture is created, introducing a friendly error instead of a segfault.

* Make `Device::create_texture_from_hal()` infallible

* run cargo fmt
2021-09-27 13:26:36 +00:00
Dzmitry Malyshau
089294fc51 Skip mismatched epochs in the remove_abandoned check 2021-09-25 15:40:21 -04:00
Dzmitry Malyshau
180e3e3576 Fix write_texture for array textures 2021-09-23 10:49:15 -04:00
Dzmitry Malyshau
08ff76f150 Align buffer usage end to 4 2021-09-20 15:22:18 -04:00
Dzmitry Malyshau
be6898f166 Make "Unexpected varying type" a bit less annoying 2021-09-20 12:07:01 -04:00
Dzmitry Malyshau
c8436de1ec Force point size output on Vulkan 2021-09-15 19:15:23 -04:00
Connor Fitzgerald
7766ed194b
Improve CI testing code 2021-09-14 13:34:07 -04:00
Dzmitry Malyshau
95f4122b22 Store a reference to the device in texture views 2021-09-12 10:20:16 -04:00
João Capucho
bf29ceaf10 Update naga to latest 2021-09-11 11:44:27 -04:00
Dzmitry Malyshau
37288a657f Avoid AtomicU64 for it not being portable 2021-09-10 10:34:07 -04:00
Dzmitry Malyshau
ca6fd97c62 Codecoverage CI fix 2021-09-09 12:44:24 -04:00
Dzmitry Malyshau
83abe2a06d Still close the encoder on error 2021-09-09 09:43:38 -04:00
Dzmitry Malyshau
180dc27144 Work around Adreno's OpName bug 2021-09-08 22:24:27 -04:00
Connor Fitzgerald
809909137c
Merge pull request #1919 from kvark/spv
vulkan: compile shader modules at pipeline creation time
2021-09-08 17:25:50 -04:00
Luke Street
76bcd9c494
Implement min_{uniform,storage}_buffer_offset_alignment limits (#1923)
* Implement min_{uniform,storage}_buffer_offset_alignment limits

* Add Limits::using_alignment

* Update docs & examples

* Create binding_model::buffer_binding_type_alignment fn
2021-09-08 13:53:02 -04:00
Dzmitry Malyshau
e00bfac6cf vulkan: compile shader modules at pipeline creation time 2021-09-07 20:06:16 -04:00
Dzmitry Malyshau
076031c1ba
hal: switch texture copies to expect physical sizes (#1908) 2021-09-07 13:13:11 +00:00
Wumpf
df2a686c29
Reintroduce clear_texture Metal/Vulkan/DX12 (#1905)
* enable CLEAR_COMMANDS feature for all adapters

* replaced fill_buffer with clear_buffer (minus variable value)

* Improve clear buffer/texture test
and remove unused clear-buffer.ron test

* renamed clear_image to clear_texture

* skeleton for new wgpu-hal clear_texture

* clear_texture implementation for vulkan

* clear_texture now restricts usage

* clear_texture implementation for dx12

* Implemented clear_texture for Metal backend

* Clean up GLES clear_buffer and leave note on how to implement clear_texture in the future

* fix linux compilation & formatting issues

* comment & namespace fixes

* Extent3d has now a simple mipmap calculating function

Fix incorrect use of texture.size in clear_texture for metal/dx12
Fix incorrect mip/layer ranges in clear_texture for metal/dx12
2021-09-06 21:14:40 -04:00
Connor Fitzgerald
938c069608
Properly implement timestamp periods (#1907) 2021-09-04 22:24:15 -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
663f64c571 Fix read-write buffer barrier 2021-09-02 16:39:55 -04:00
Dzmitry Malyshau
53d262c8ee More validation of the surface texture lifetime 2021-09-01 16:19:32 -04:00
Christofer Nolander
06316c1bac
hal/metal: support Features::NON_FILL_POLYGON_MODE (#1885)
* hal/metal: support Features::NON_FILL_POLYGON_MODE

* Document Metal support for NON_FILL_POLYGON_MODE

* Split Features::NON_FILL_POLYGON_MODE in two

Adds two new features: `LINE_POLYGON_MODE` and `POINT_POLYGON_MODE`.

Allows metal to support `PolygonMode::Line` while not being required to
support `PolygonMode::Point`.

* Formatting

* Rename {LINE,POINT}_POLYGON_MODE to POLYGON_MODE_{LINE,POINT}
2021-08-31 16:20:38 +00:00
Riccardo Zaglia
0a2be6099c Add Texture::as_hal() 2021-08-31 10:30:23 -04:00
Dzmitry Malyshau
42194168e0 Fix implicit storage texture access 2021-08-26 11:36:05 -04:00
Dzmitry Malyshau
590ef1d8cf
Switch naga to latest on git (#1858) 2021-08-24 18:20:44 -04:00
Dzmitry Malyshau
43d44c89e1 Bump the vertex buffer sizes by 1 2021-08-24 13:39:57 -04:00
Dzmitry Malyshau
c05b064bc8
Check for query resolve alignment (#1853) 2021-08-23 12:32:18 -04:00
Dávid Kocsis
f34f88538b fixed mip level count check for storage textures 2021-08-23 17:49:20 +02:00
Dzmitry Malyshau
f3c9f412f6
Validate against cube storage textures (#1846) 2021-08-23 02:17:28 -04:00
Wumpf
9e1384dbb0
Memory init tracker refactor (#1839)
* split out init_tracker module
with explicit buffer init tracking types

* Added shortcut methods for checked init action handling
Fixed a few unchecked sites in the process

* fix clippy warnings
2021-08-22 22:46:13 -04:00
Andreas Reich
7f395b39af fix buffer collapse in initialize_buffer_memory
due to previous changes there was  only a no-op buffer collapse
The ranges it tried collapsing on were already guranteed to be merged by the init-trackers drain method. However, accross several init actions there can be opportunity for reducing fill_buffer calls.
2021-08-22 22:26:55 -04:00
adamnemecek
efd52e02af use self 2021-08-20 19:36:06 -07:00
Dzmitry Malyshau
62f26367cd Fix the check for depth+stencil aspect of views 2021-08-20 12:11:57 -04:00
Dávid Kocsis
b0d43f9cca add mapping for more storage formats 2021-08-19 16:03:26 +02: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
Connor Fitzgerald
80ec65e892
Merge pull request #1814 from kocsis1david/write-texture-data-offset
write_texture data offset
2021-08-18 02:29:15 -04:00
Connor Fitzgerald
c493b63b33 Fix zero sized buffer creation 2021-08-18 01:06:23 -04:00