1571: Removed feature="spirv" requirements from SPIRV_PASSTHROUGH support. r=cwfitzgerald a=ElectronicRU
.__________________________________________________________________.
Co-authored-by: Alex S <alex0player@gmail.com>
1568: fix conservative rasterization for vulkan r=cwfitzgerald a=Wumpf
**Connections**
Fixes#1553
**Testing**
image comparison test passes now
Co-authored-by: Andreas Reich <r_andreas2@web.de>
1522: Reduce feature flag surface for descriptor arrays. r=cwfitzgerald a=ElectronicRU
DYNAMIC_INDEXING is checked by default, since WGPU doesn't allow
for any kind of specialization constants and constant indexing is
nigh useless.
STORAGE_RESOURCE_BINDING_ARRAY is enabled iff the device supports:
- both or neither of uniform and buffer arrays with dynamic indexing;
- both or neither of sampled and storage images with dynamic indexing.
NONUNIFORM_INDEXING is enabled iff for ALL types of descriptor arrays
*that are supported for dynamic indexing*, nonuniform indexing is
also allowed.
These flags have a limitation in that some platforms
(eg.
https://vulkan.gpuinfo.org/displayreport.php?id=11692#features_core_12)
may support a strange subset of those features (example device
supporting non-uniform indexing for textures and storage buffers,
but NOT for storage textures or uniform buffers). In that case feature
will be reported as missing, even though it is partially present.
In the author's opinion, this flag set is convenient for the
users to query; however, due to aforementioned limitations, it would be
desirable to obtain statistics about "edge-case" platforms and what
percentage of reports they comprise.
**Connections**
Implementation of proposal outlined in #1515.
Co-authored-by: Alex S <alex0player@gmail.com>
DYNAMIC_INDEXING is checked by default, since WGPU doesn't allow
for any kind of specialization constants and constant indexing is
nigh useless.
STORAGE_RESOURCE_BINDING_ARRAY is enabled iff the device supports:
- both or neither of uniform and buffer arrays with dynamic indexing;
- both or neither of sampled and storage images with dynamic indexing.
NONUNIFORM_INDEXING is enabled iff for ALL types of descriptor arrays
*that are supported for dynamic indexing*, nonuniform indexing is
also allowed.
These flags have a limitation in that some platforms
(eg.
https://vulkan.gpuinfo.org/displayreport.php?id=11692#features_core_12)
may support a strange subset of those features (example device
supporting non-uniform indexing for textures and storage buffers,
but NOT for storage textures or uniform buffers). In that case feature
will be reported as missing, even though it is partially present.
In the author's opinion, this flag set is convenient for the
users to query; however, due to aforementioned limitations, it would be
desirable to obtain statistics about "edge-case" platforms and what
percentage of reports they comprise.
1563: Fix stray header in changelog r=cwfitzgerald a=HalfVoxel
It's definitely released by now. I'm guessing it was part of 0.8.1.
Co-authored-by: Aron Granberg <aron.granberg@gmail.com>
1562: Fix check for QUERY_SET_MAX_QUERIES was using >= instead of > r=cwfitzgerald a=HalfVoxel
Fixes#1560
Co-authored-by: Aron Granberg <aron.granberg@gmail.com>
1559: Query support fixes r=kvark a=Wumpf
**Connections**
Fixes#1374 for master
If PR is accepted,I already have a fix for 0.9 which came out as a sideproduct: https://github.com/Wumpf/wgpu/tree/v0.9-fix-buffer-init-on-query-resolve
**Description**
Fixes:
* (affects master, v0.8, v0.9) query resolve operation not marking buffers as initialized
* (affects master) Broken query stride handling for Vulkan
* (affects master) Vulkan not advertising query support
**Testing**
* added new test
* mipmap sample
Co-authored-by: Andreas Reich <r_andreas2@web.de>
1558: Update naga to 57b3256020 r=kvark a=kvark
**Connections**
Needed for #1510
Picks up https://github.com/gfx-rs/naga/pull/1039 and https://github.com/gfx-rs/naga/pull/916
**Description**
Updates Naga to latest on Git. Refactors the use of `ResourceBinding` and Metal's binding map.
Also enables safe bound check handling on Vulkan (`Restrict` policy, cc @jimblandy).
**Testing**
Examples.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1550: Update submission indices on all stateless resources r=pythonesque a=kvark
**Connections**
This is partially a regression by #1547, but also fixing more things.
**Description**
We stopped tracking the stateless resources included in bind groups. But we still need to update their submission indices, so that they don't get removed too early.
The PR also does the same for render bundles, but with a twist: bind groups used in a bundle are merged early.
**Testing**
untested
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
1554: Remove gfx-rs development section from wgpu README r=grovesNL a=Gordon-F
Outdated part of README.
Co-authored-by: Igor Shaposhnik <Gordon-F@users.noreply.github.com>
1549: Fix cargo-tarpaulin r=kvark a=cwfitzgerald
I have no way of actually testing this is tarpaulin is linux only, but this should work
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>
1538: Implement Integration and Example Tests r=kvark a=cwfitzgerald
**Connections**
Closes#1379! Closes#1465.
**Description**
This adds a testing framework for wgpu. This includes testing infrastructure for integration and example based reftests and other tests.
I have added env-based adapter and backend choices as a common utility in wgpu-rs. This is how the framework based examples choose their adapters, so WGPU_ADAPTER_NAME is how you can choose adapters based on a substring of the name.
I added explicit seeding to all examples that use random numbers so reftesting was deterministic. conservative-raster, mipmap, and texture-arrays (#1532) are broken and are marked as such. This testing framework will make CI fails if this is fixed, so tests don't fall out of date.
Note: as we get more integration tests, we can factor out more of the `pulling_common` to be common between all the tests.
**Testing**
It is testing :)
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com>