Commit Graph

180 Commits

Author SHA1 Message Date
Dzmitry Malyshau
509b683e6b hal: renderdoc integration 2021-07-14 16:17:39 -04:00
Boris-Chengbiao Zhou
1ecb48db80 hal/vulkan: Respect swapchain's minImageCount 2021-07-14 19:20:17 +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
Zicklag
2896a6e5f3 Fix Vulkan Backend Texture Format Mapping
Fixes the Bgra8UnormSrgb texture format.

Resolves #1646.
2021-07-13 20:21:47 -05: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
Zicklag
f0c7e990f7 Disable Intel Fastclear in GL Backend
This works around a Mesa bug on Intel cards:

- https://gitlab.freedesktop.org/mesa/mesa/-/issues/2565
- https://github.com/gfx-rs/wgpu/issues/1627#issuecomment-877854185
2021-07-13 11:21:06 -05:00
Dzmitry Malyshau
0df804e9c2 hal/dx12: bunch of validation fixes 2021-07-13 02:54:37 -04:00
Dzmitry Malyshau
7fb0315700 hal/dx12: build fixes for the new arrayvec 2021-07-13 01:11:47 -04:00
Dzmitry Malyshau
450e5dc08b hal/dx12: queue operations 2021-07-13 01:04:08 -04:00
Dzmitry Malyshau
8163dc7b47 hal/dx12: pipeline creation 2021-07-13 01:04:07 -04:00
Dzmitry Malyshau
0a609e74c0 hal/dx12: compute pipelines, update naga 2021-07-13 01:04:06 -04:00
Dzmitry Malyshau
040a602b69 hal/dx12: bind group creation 2021-07-13 01:03:45 -04:00
Dzmitry Malyshau
7d29a3b70e hal/dx12: binding resources and index/vertex buffers 2021-07-13 01:03:44 -04:00
Dzmitry Malyshau
c0432761d9 hal/dx12: use range-alloc for descriptor heaps 2021-07-13 01:03:15 -04:00
Dzmitry Malyshau
ba1bff58ed hal/dx12: attachment clears and resolvess 2021-07-13 01:03:14 -04:00
Dzmitry Malyshau
00859b9e0c Stop using render pass boundary usages for resource transitions 2021-07-13 01:02:42 -04:00
Dzmitry Malyshau
12bc3eb3fc hal/dx12: set render targets 2021-07-13 01:01:31 -04:00
Dzmitry Malyshau
81f31f5555 hal: change blend color argument 2021-07-13 01:01:30 -04:00
Dzmitry Malyshau
1f91c5f297 hal/dx12: debug markers 2021-07-13 01:01:30 -04:00
Dzmitry Malyshau
27b8085048 hal/dx12: queries 2021-07-13 01:01:29 -04:00
Dzmitry Malyshau
b818157f67 hal/dx12: draws and dispatches 2021-07-13 01:01:28 -04:00
Dzmitry Malyshau
9069c2301f hal/dx12: implement fill_buffer with zero 2021-07-13 01:01:28 -04:00
Dzmitry Malyshau
2c76b0e656 hal/dx12: clippy fixes, buffer-texture copies 2021-07-13 01:01:27 -04:00
Dzmitry Malyshau
35ee65707f hal: make copy to work on one array layer at a time 2021-07-13 01:01:26 -04:00
Dzmitry Malyshau
f79c3781c3 hal/dx12: buffer-buffer and texture-texture copies 2021-07-13 01:01:25 -04:00
Dzmitry Malyshau
4f6812fc36 hal/dx12: resource barriers 2021-07-13 01:01:25 -04:00
Dzmitry Malyshau
43a39a229e hal/dx12: command pooling 2021-07-13 01:01:24 -04:00
Dzmitry Malyshau
e128021aee hal/dx12: pipeline layout 2021-07-13 01:01:23 -04:00
Dzmitry Malyshau
904621ee19 hal/dx12: sampler and query set creation 2021-07-13 01:01:23 -04:00
Dzmitry Malyshau
04ca3212de hal/dx12: intercept debug output 2021-07-13 01:01:22 -04:00
Dzmitry Malyshau
855689462c hal/dx12: fences 2021-07-13 01:01:21 -04:00
Dzmitry Malyshau
c7519432ee Filter texture usages on view creation 2021-07-13 01:01:21 -04:00
Dzmitry Malyshau
925ece8b40 hal/dx12: creation of RTV/DSV/UAV 2021-07-13 01:01:20 -04:00
Dzmitry Malyshau
23615aa55d hal/dx12: texture and view creation 2021-07-13 01:01:19 -04:00
Dzmitry Malyshau
c01f6a557e hal/dx12: enable the backend in wgpu-core 2021-07-13 01:01:19 -04:00
Dzmitry Malyshau
971aee0e1c hal/dx12: buffer creation, device idling 2021-07-13 01:01:18 -04:00
Dzmitry Malyshau
0942fb1346 hal/dx12: swap chain configuration 2021-07-13 01:01:17 -04:00
Dzmitry Malyshau
eb565a59f7 hal/dx12: move device and encoder into modules 2021-07-13 01:01:17 -04:00
Dzmitry Malyshau
3a2bbfd563 hal/dx12: adapter initialization 2021-07-13 01:01:16 -04:00
Zicklag
7e837ffcdc Enable VK_KHR_timeline_semaphore On Vulkan < 1.2 2021-07-12 18:51:38 -05:00
Connor Fitzgerald
6c1dd5e153 Always use EXT Robustness 2021-07-11 22:28:45 -04:00
bors[bot]
4781d9da7b
Merge #1607
1607: Fix Downlevel Vertex Stage Storage Buffer Check r=kvark a=cwfitzgerald

**Connections**

Fixes a bug in #1599. Also follows up on #1583 marking all of hello-compute as a failure.

**Testing**

Tests now pass on rpi4.


Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2021-07-07 14:01:37 +00:00
Connor Fitzgerald
8ded21862e Fix downlevel vertex stage storage buffer check 2021-07-06 21:43:47 -04:00
bors[bot]
d2a27e0c4e
Merge #1604
1604: Upgrade `arrayvec` to 0.7 r=kvark a=a1phyr

Upgrade `arrayvec` to version 0.7 (using const generics).

Co-authored-by: Benoît du Garreau <bdgdlm@outlook.com>
2021-07-06 05:31:22 +00:00
Dzmitry Malyshau
2efccb2bf8 hal/vk: fix indirect stage flag 2021-07-06 00:56:43 -04:00
Mikko Lehtonen
7e277c2ed9 Fix macos build 2021-07-06 02:08:19 +03:00
Benoît du Garreau
e7269e72f3 Upgrade arrayvec to 0.7 2021-07-06 00:45:24 +02:00
bors[bot]
118cf2cdba
Merge #1599
1599: Fix Limits for lava/llvmpipe and re-enable and re-work CI r=kvark,groves,wumpf a=cwfitzgerald

**Connections**

No longer fixes #1551.

**Description**

This PR has a couple things going on at once.

- Fixes limits for llvmpipe, lavapipe, and rpi4.
- Added a downlevel limit to express that RPI4 does not allow storage buffers in vertex shaders on GL.
- Added a `Limits::downlevel_default()` that takes minimum limits from GLES and adds some more documentation on how to choose limits.
- Moved all examples to the new downlevel limits
- Reworks CI to re-enable software testing and unify instructions.

**Testing**

It is

Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
2021-07-04 19:23:23 +00:00
Connor Fitzgerald
130ddcf561 Unify CI and testing 2021-07-04 15:22:51 -04:00
Dzmitry Malyshau
3de1681eb0 hal/vk: enable timeline semaphores 2021-07-04 00:50:05 -04:00