The backend panics while trying to process uniform global variables
when the variable's name is not found in the emitted ReflectionInfo.
This patch converts the panicking line into an explicit check, and
ignores the corresponding global variable if the name iis not found.
Resolves#1803
1732: Fix Tests on DX12/GL r=kvark a=cwfitzgerald
**Connections**
Marks #1730 as known failure
Closes#1695
**Description**
This fixes up tests on both DX12 and GL
**Testing**
Tests
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
1609: [Vulkan] Initialize wgpu objects from raw handles r=kvark a=zarik5
**Connections**
This PR is a successor of https://github.com/gfx-rs/gfx/pull/3762
**Description**
The `handle_is_external` flag mechanism was not enough to ensure safety, when for example the Instance is wrapped in `Arc<>` and a library cannot keep track of all its clones. This is the case with the bevy render rewrite. The solution was to let wgpu be in charge of destroying the handles, but it also has to keep a reference to a "drop guard" which is always dropped after the handle is destroyed. For the OpenXR integration, this drop guard will be `xr::Instance`.
For now this is just a proof of concept. Only instance creation is handled, and there is even type error in `wgc::Instance::from_hal()`.
I have a few concerns:
* Is it ok to expose `hal::Instance` from the wgpu crate? Or should the user pass all the parameters so `hal::Instance` can be constructed internally? This second options is more disruptive, since the wgpu-types crate would need to import all platform-specific crates to define the structure/enum to hold the raw handles.
* Without counting the call to create the `hal::Instance`, there are 4 indirection calls to save the raw instance. Can this be optimized in any way?
Do you think it is possible to merge wgpu-hal into wgpu-core? This could help with reducing the distance from the surface level API to the platform specific APIs even more.
**Testing**
Vulkan/Android (Oculus Quest) using [this sample](https://github.com/zarik5/openxrs/blob/wgpu-test/openxr/examples/vulkan.rs).
Co-authored-by: Riccardo Zaglia <riccardo.zaglia5@gmail.com>
1717: Work Around Fastclear Bug for Web and Native GL r=cwfitzgerald,kvark a=zicklag
**Connections**
Resolves#1627
**Description**
Works around Mesa fastclear bug by doing a manual shader clear on effected platforms
**Testing**
Tested on Mesa Intel(R) UHD Graphics (CML GT2) (Gl)
Co-authored-by: Zicklag <zicklag@katharostech.com>
1713: hal/dx12: rewrite view creation, use arrays more aggressively r=kvark a=kvark
**Connections**
**Description**
D3D12 has this thing where you can't create a 2D view with non-zero base array index.
So we have special logic now to fall back to 2D array views in these cases.
**Testing**
Tested on the Shadow example.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>