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

WebGPU: Tests asserting in tests/compute #5172

Closed
aleino-nv opened this issue Sep 27, 2024 · 3 comments
Closed

WebGPU: Tests asserting in tests/compute #5172

aleino-nv opened this issue Sep 27, 2024 · 3 comments
Assignees
Labels
goal:forward looking Feature needed at a later date, not connected to a specific use case. kind:enhancement a desirable new feature, option, or behavior

Comments

@aleino-nv
Copy link
Collaborator

aleino-nv commented Sep 27, 2024

The following tests are currently asserting for wgpu and are therefore disabled for this API.
This task is about triaging these issues -- either fix on the spot or file a more detailed task.

  1. tests/compute/atomics-buffer.slang
  2. tests/compute/atomics-groupshared.slang
  3. tests/compute/atomics.slang
  4. tests/compute/buffer-type-splitting.slang
  5. tests/compute/byte-address-buffer.slang
  6. tests/compute/column-major.slang
  7. tests/compute/constant-buffer-memory-packing.slang
  8. tests/compute/func-cbuffer-param.slang
  9. tests/compute/parameter-block.slang
  10. tests/compute/texture-get-dimensions.slang
  11. tests/compute/texture-sampling.slang
  12. tests/compute/texture-simple.slang
  13. tests/compute/texture-simpler.slang
  14. tests/compute/transcendental-double.slang
@aleino-nv aleino-nv self-assigned this Sep 30, 2024
@aleino-nv
Copy link
Collaborator Author

It turns out that the asserts are a bit spurious in the sense that they just mean "something went wrong" rather than being checks that the internal logic of slang-test is ok.

These failures boil down to these 6 categories:

  1. Capabilities: using of 'InterlockedAdd'
    • Tests:
      1. atomics-buffer
      2. atomics-groupshared
      3. atomics
    • Example output:
tests/compute/atomics.slang(23): error 36107: entrypoint 'computeMain' does not support compilation target 'wgsl' with stage 'compute'
tests/compute/atomics.slang(17): note: see using of 'InterlockedAdd'
  1. Capabilities: using of 'Load'
    • Tests:
      1. buffer-type-splitting
      2. byte-address-buffer
    • Example output:
tests/compute/byte-address-buffer.slang(35): error 36107: entrypoint 'computeMain' does not support compilation target 'wgsl' with stage 'compute'
tests/compute/byte-address-buffer.slang(23): note: see using of 'Load'
  1. WebGPU error: Binding doesn't exist
    • Tests:
      1. column-major
      2. constant-buffer-memory-packing
      3. func-cbuffer-param
      4. parameter-block
  2. WebGPU error: unresolved type 'texture_1d_array'
    • Tests:
      1. texture-get-dimensions
      2. texture-sampling
      3. texture-simple
    • Example output:
WGPU error: Error while parsing WGSL: :11:40 error: unresolved type 'texture_1d_array'
  1. Slang: unknown system-value semantic 'sv_groupindex'
    • Tests:
      1. texture-simpler
    • Example output:
tests/compute/texture-simpler.slang(18): error 40006: unknown system-value semantic 'sv_groupindex'
  1. Slang: unexpected: 'double' type emitted (WGSL emitter)
    • Tests:
      1. transcendental-double
    • Example output:
unexpected: 'double' type emitted

@aleino-nv
Copy link
Collaborator Author

I think 5 and 6 already have known issues. (I should add links to those issues where I disable the tests though.)
I will file issues to track any remaining issues that don't already have known related issues.

@aleino-nv
Copy link
Collaborator Author

I've split this issue into a few different tasks, after some initial investigation:

  1. Split into new issue WGSL: Missing capability for InterlockedAdd #5220
  2. Split into new issue WGSL: Missing capability for ByteAddressBuffer::Load #5221
  3. Split into new issue slang-RHI/WebGPU: Binding missing from bind group layout #5222
  4. Split into new issue WGSL: There is no texture_1d_array type in WGSL #5223
  5. Will be addressed by existing task WGSL: System semantics #4940
  6. Will be addressed by existing task Extend capability system to detect unsupported numerical types #4947

@aleino-nv aleino-nv added goal:forward looking Feature needed at a later date, not connected to a specific use case. kind:enhancement a desirable new feature, option, or behavior labels Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
goal:forward looking Feature needed at a later date, not connected to a specific use case. kind:enhancement a desirable new feature, option, or behavior
Projects
None yet
Development

No branches or pull requests

1 participant