222 Commits

Author SHA1 Message Date
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
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 d23288e455 hal/linux: Work around Intel+Nvidia presentation conflict 2021-09-02 14:50:05 -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
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
chee 5cdbf3f946 Fix some comment error. 2021-08-30 12:33:18 +08:00
Dzmitry Malyshau c05b064bc8 Check for query resolve alignment (#1853) 2021-08-23 12:32:18 -04:00
Dzmitry Malyshau f78061bcef Merge swap chain into surface 2021-08-11 20:58:42 -04:00
Connor Fitzgerald 3afab9c5aa Splits non-uniform indexing into two different features (#1785) 2021-08-10 22:43:08 -04:00
Agorgianitis Loukas 5bc42843cf Add downlevel flag for storage buffers in vertex shaders 2021-08-06 21:22:16 +03:00
Zicklag 88c58d2b20 Improve Docs for DownlevelFlags 2021-07-28 19:00:43 -05:00
Zicklag fd460fa1e4 Use Bitshift Style for All Bitflag Consts
This makes existing bitflags easier to read and makes it eaiser to add
new flags later.
2021-07-28 11:28:54 -05:00
Dzmitry Malyshau 552a5f138e Rename texture usage names 2021-07-28 00:17:54 -04:00
Dzmitry Malyshau 405cf57955 hal/dx12: compact register allocation, naga update 2021-07-26 02:01:14 -04:00
Dzmitry Malyshau bb218c1580 Check render bundle encoding for RODS 2021-07-23 11:24:05 -04:00
Connor Fitzgerald 683d03a8e4 Add Rgb9e5Ufloat 2021-07-21 23:54:46 -04:00
Dzmitry Malyshau 1a9a855ea9 Rename InputStepMode to VertexStepMode 2021-07-21 17:48:00 -04:00
Craig e837a589ad Fix a couple of spelling errors 2021-07-19 11:25:19 -07:00
initial-algebra 0db00e9657 Implement Feature::SHADER_PRIMITIVE_INDEX on Vulkan 2021-07-17 15:31:35 -03:00
Andreas Fischer 6514b22145 Removed metal from platforms that support multi draw indirect 2021-07-15 07:20:21 +02:00
Dzmitry Malyshau 8cd17aafe3 Switch read-only storage textures to be exclusive and behind a feature 2021-07-14 01:04:37 -04:00
bors[bot] 0f784bb3c0 Merge #1602
1602: New DX12 backend (unfinished) r=kvark a=kvark

**Connections**
Continuation of #1471

**Description**
Mostly fresh implementation on DX12 backend for wgpu-hal
Core changes:
  - texture usage is filtered before passing to `create_texture_view`, so that wgpu-hal can assume every bit is important.
  - all the copies involving textures are limited to one array layer at a time
  - remove render pass boundary usages

**Testing**
Examples (not running yet)


Co-authored-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-07-13 22:26:44 +00:00
Connor Fitzgerald adcd708cf1 Fix example limits 2021-07-13 14:07:39 -04:00
Dzmitry Malyshau 8163dc7b47 hal/dx12: pipeline creation 2021-07-13 01:04:07 -04:00