Commit Graph

3268 Commits

Author SHA1 Message Date
Luke Street 15cfcc3ab5 Create binding_model::buffer_binding_type_alignment fn 2021-09-08 13:22:39 -04:00
Luke Street 4c33b56522 Update docs & examples 2021-09-08 12:58:08 -04:00
Luke Street af9e805a84 Add Limits::using_alignment 2021-09-08 12:15:10 -04:00
Luke Street f39c56248d Implement min_{uniform,storage}_buffer_offset_alignment limits 2021-09-08 11:50:26 -04:00
Luke Street 5d00867f47 hal/dx12: fix offsets into storage buffer bindings (#1921) 2021-09-08 13:01:26 +00:00
Hugo Woodiwiss ce35395910 Update canvas context (#1917)
gpupresent Context has been deprecated in favour of webgpu
2021-09-07 21:33:01 +00:00
Dzmitry Malyshau 076031c1ba hal: switch texture copies to expect physical sizes (#1908) 2021-09-07 13:13:11 +00:00
Zhixing Zhang 66979eb68d add missing capability (#1911) 2021-09-07 01:30:50 +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 d23288e455 hal/linux: Work around Intel+Nvidia presentation conflict 2021-09-02 14:50:05 -04:00
Connor Fitzgerald 86c2a8057e Merge pull request #1897 from Gordon-F/hal_dx12_warning
[dx12] Fix compiler warning
2021-09-02 10:55:53 -04:00
Igor Shaposhnik 792fbc17e5 [dx12] Fix compiler warning 2021-09-02 14:06:18 +03:00
Dzmitry Malyshau 3ced8bf892 hal/vk: always request StorageImageExtendedFormats in SPIR-V 2021-09-01 19:08:01 -04:00
Connor Fitzgerald 90778c3a43 Implement compressed textures in DX12 2021-09-01 18:45:35 -04:00
Connor Fitzgerald 5b438de8e8 Merge pull request #1893 from cwfitzgerald/debug-labels
Implement render pass labels in Vulkan
2021-09-01 16:47:57 -04:00
Connor Fitzgerald 10daa83162 Merge pull request #1876 from kvark/gl-stride
hal/gles: fix the VB stride limit
2021-09-01 16:47:36 -04:00
Connor Fitzgerald 41c96a6574 Implement Debug Markers for Vulkan 2021-09-01 16:32:49 -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
Luca Casonato 9606f9cc40 Align wgpu_types serde serializations to spec
The representation of most wgpu_types objects now aligns to how the
WebGPU spec represents them. Enums are serialized as kebab-case strings,
and structs are serialized as camelCase objects.
2021-08-31 10:27:24 -04:00
chee d36c74e1fe Fix a few comments. 2021-08-31 09:52:01 -04:00