Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[meta] Feature Testing Checklist #807

Closed
21 tasks
kvark opened this issue Jul 17, 2020 · 3 comments
Closed
21 tasks

[meta] Feature Testing Checklist #807

kvark opened this issue Jul 17, 2020 · 3 comments
Labels
area: infrastructure Testing, building, coordinating issues type: enhancement New feature or request

Comments

@kvark
Copy link
Member

kvark commented Jul 17, 2020

Now that we got #786, we should start taking advantage of it by introducing local "playtests".
We can take wgpu-rs example matrix as a baseline:

  • vertex attributes
  • instancing
  • lines and points
  • sampled color textures
  • storage textures
  • binding array
  • comparison samplers
  • subresource views
  • cubemaps
  • multisampling
  • off-screen rendering
  • stencil testing
  • depth testing
  • depth biasing
  • read-only depth
  • blending
  • render bundles
  • compute passes
  • optional extensions
  • - binding indexing
  • - push constants
  • WGSL shaders

Note-1: we don't have to be super detailed in testing all the features in the world. It's just one of the testing layers in "defence in depth" onion of layers, above gfx-rs running on Warden and Vulkan CTS, and below wgpu-rs and WebGPU CTS. Common sense should be applied to weight the maintenance overhead versus the test coverage. I think getting a test for an entry in the feature matrix is a great start.

Note-2: it's not clear what shaders we should be using here. I suggest we start with a single shader module that outputs a full-screen quad (without vertex attributes) in VS, and writes down a solid fixed color to the output in FS. Perhaps, we can write test shaders in WGSL right away as this thing is getting more and more mature?

@kvark kvark added the type: enhancement New feature or request label Jul 17, 2020
@kvark kvark pinned this issue Jul 17, 2020
@kvark kvark added the area: infrastructure Testing, building, coordinating issues label Jul 17, 2020
@ncharlton02
Copy link
Contributor

I'd be interested in working on this, but I was curious about a few things.

  1. Should these tests be in the player/tests directory or in a separate dedicated crate?
  2. For the shaders, is WGSL ready enough to be used? I have never used it but would be wiling to learn it

If you had any other insights that would be appreciated

@kvark
Copy link
Member Author

kvark commented Aug 28, 2020

  1. player is already a dedicated development-only crate, so it's a good place to put the tests in. More specifically, into player/tests
  2. I don't think WGSL is ready just yet. We can go a long way with just a single SPIR-V shader that is compiled from source off-line and just fills out the screen with some color, for now.

If you had any other insights that would be appreciated

We'd love to chat on "#wgpu:matrix.org"!

bors bot added a commit that referenced this issue Sep 1, 2020
909: Add Quad play test r=kvark a=DevOrc

**Connections**
#807 

**Description**
Adds a play test that renders a white quad to a texture. The texture is then copied to a buffer and checked for accuracy with a file of expected bytes (All 0xFF). 

**Testing**
Cargo test succeeds

Co-authored-by: Noah Charlton <ncharlton002@gmail.com>
@cwfitzgerald cwfitzgerald changed the title [meta] Test plan [meta] Feature Testing Checklist May 8, 2021
@kvark kvark unpinned this issue Jun 4, 2021
@cwfitzgerald
Copy link
Member

Now that wgpu-rs is us and we have the ability to run the CTS, I'm going to close this as a lot of these things will be covered by the CTS.

@cwfitzgerald cwfitzgerald closed this as not planned Won't fix, can't repro, duplicate, stale Jun 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: infrastructure Testing, building, coordinating issues type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants