Commit Graph

2917 Commits

Author SHA1 Message Date
Dzmitry Malyshau
31e6ed82cb hal/gles: creation of buffers, textures, view, and samplers 2021-06-30 02:29:26 -04:00
Dzmitry Malyshau
5083f56149 Add more downlevel flags, implement device opening on Gles 2021-06-30 02:29:26 -04:00
Dzmitry Malyshau
804b17bb29 hal/gl: version parsing 2021-06-30 02:29:25 -04:00
Dzmitry Malyshau
d88bc440e6 hal/gles: describe format, adapter info 2021-06-30 02:29:25 -04:00
Dzmitry Malyshau
41bc9d0625 hal/gl: start the backend, port the Instance 2021-06-30 02:29:25 -04:00
bors[bot]
81214b21ec
Merge #1571
1571: Removed feature="spirv" requirements from SPIRV_PASSTHROUGH support. r=cwfitzgerald a=ElectronicRU

.__________________________________________________________________.


Co-authored-by: Alex S <alex0player@gmail.com>
2021-06-29 15:06:45 +00:00
Alex S
70abd33e30 Removed feature="spirv" requirements from SPIRV_PASSTHROUGH support.
.__________________________________________________________________.
2021-06-29 17:56:30 +03:00
bors[bot]
d5dc5bac41
Merge #1568
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>
2021-06-28 19:11:15 +00:00
Andreas Reich
9aa251c675 fix conservative rasterization for vulkan 2021-06-28 21:08:06 +02:00
bors[bot]
aed736da12
Merge #1522
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>
2021-06-28 11:45:27 +00:00
Alex S
b4b3dd720c Reorder & reassign flags to group up the binding flags together. 2021-06-28 14:44:08 +03:00
Alex S
2828100143 Reduce feature flag surface for descriptor arrays.
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.
2021-06-28 14:44:00 +03:00
bors[bot]
ce753cf542
Merge #1563
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>
2021-06-27 21:25:37 +00:00
bors[bot]
4ca6ab302d
Merge #1562
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>
2021-06-27 21:10:32 +00:00
Aron Granberg
407ee82825 Fix stray header in changelog 2021-06-27 17:19:51 +02:00
Aron Granberg
f0919141e2 Update changelog 2021-06-27 17:17:31 +02:00
Aron Granberg
6416bc5b68 Fix check for QUERY_SET_MAX_QUERIES was using >= instead of > 2021-06-27 17:08:49 +02:00
bors[bot]
8332493d3d
Merge #1559
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>
2021-06-27 14:27:27 +00:00
Andreas Reich
a745383516 Do multiple queries in pipeline-statistics-query test 2021-06-27 11:20:53 +02:00
Andreas Reich
b44b5eded9 Fix query stride handling
Fixes #1374
2021-06-27 11:20:38 +02:00
Andreas Reich
2525d6ce9d Add player test for pipeline statistics 2021-06-27 08:43:48 +02:00
bors[bot]
3ea833ea50
Merge #1558
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>
2021-06-27 05:45:16 +00:00
Dzmitry Malyshau
5ca1fe58e9 Update naga to 57b3256020 2021-06-27 01:44:49 -04:00
Andreas Reich
11b5e10c38 Fix Vulkan not advertising TIMESTAMP_QUERY & PIPELINE_STATISTICS_QUERY 2021-06-26 14:34:44 +02:00
bors[bot]
ebe2152719
Merge #1550
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>
2021-06-24 14:06:28 +00:00
bors[bot]
8ddb3be82b
Merge #1554
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>
2021-06-24 12:26:08 +00:00
Igor Shaposhnik
7df4815c41
Remove gfx-rs development section from wgpu README 2021-06-24 15:05:17 +03:00
bors[bot]
86e4b9ba03
Merge #1549
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>
2021-06-24 05:42:57 +00:00
Dzmitry Malyshau
cfed43face Update submission indices on all stateless resources 2021-06-24 01:40:18 -04:00
Connor Fitzgerald
f1a6fe12db Fix cargo-tarpaulin 2021-06-24 01:30:17 -04:00
bors[bot]
632f85b703
Merge #1538
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>
2021-06-24 04:43:25 +00:00
Connor Fitzgerald
7b3a7db72e Disable CI testing pending further investigation 2021-06-24 00:39:16 -04:00
Connor Fitzgerald
9377149e85 Remove holes from wgpu-info 2021-06-23 21:29:44 -04:00
Connor Fitzgerald
cfb84748bf Exclude llvmpipe due to segfaults 2021-06-23 20:51:24 -04:00
Connor Fitzgerald
b060bf1afe Assorted touchups 2021-06-23 20:23:19 -04:00
Connor Fitzgerald
3356f5f993 PR comments 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
18ac365f79 Please CI 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
c0664c2bb7 Begin robust exception system 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
ad0c8d4f78 Add documentation 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
382fc751c7 Keep raising the mipmap limit 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
ccef63e914 Isolate hello-compute examples to own file 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
f47a54009d Finish reftest and test running infra 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
54f1b0ac01 Begin wgpu-info 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
d094712cd4 Make screenshots pass on laptop 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
ec74722d57 Add image comparison to all examples 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
22b8e2851f Remove loom 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
ebbbf2216b Add image comparison to the mipmap example 2021-06-23 19:10:11 -04:00
Connor Fitzgerald
3d8a4baeb8 Add out multiple tests of vertex pulling 2021-06-23 19:09:45 -04:00
Connor Fitzgerald
528a311dd1 Get test functioning 2021-06-23 19:09:44 -04:00
Connor Fitzgerald
cfda2258f5 Finish fs_main 2021-06-23 19:09:44 -04:00