Roll third_party/gpuweb-cts/ 177a4faf0..b0291fd96 (252 commits)

https://chromium.googlesource.com/external/github.com/gpuweb/cts.git/+log/177a4faf0a7c..b0291fd966b5

$ git log 177a4faf0..b0291fd96 --date=short --no-merges --format='%ad %ae %s'
2021-09-24 hao.x.li Implement api,validation,state,device_mismatched: Part Ⅰ (#741)
2021-09-22 kainino empty commit
2021-09-23 jiawei.shao Use vertex-only pipelines when initializing depth aspects (#754)
2021-09-21 rockot require indirect-first-instance for indirect draws with firstInstance > 0 (#752)
2021-09-20 kainino Add a NumberRepr class that represents f/i/u 64/32/16/8 (#747)
2021-09-17 yunchao.he Fix a bug about max color attachment (#749)
2021-09-14 yunchao.he Test buffer related validations for texture copies (#690)
2021-09-14 jiawei.shao Add operation tests on T2T copy with multisampled color textures (#739)
2021-09-13 enga Test compute shader variables are zero initialized (#743)
2021-09-13 enga Update default limits to match the spec (#745)
2021-09-14 hao.x.li Update destinationOffset alignment to 256 in resolveQuerySet tests (#742)
2021-09-10 enga Add an option to automatically batch large lists of subcases (#733)
2021-09-10 9856269+sarahM0 wgsl abs() built-in function execution test (#730)
2021-09-10 shaobo.yan Remove CopyImageBitmapToTexture (#738)
2021-09-09 9856269+sarahM0 wgsl type parameter generator (#731)
2021-09-10 hello Fix tools/deno (#734)
2021-09-09 kvarkus Include tools in the deploy (#735)
2021-09-09 bajones Update all uses of 'gpupresent' to 'webgpu' (#740)
2021-09-01 9856269+sarahM0 add noop unique id (#729)
2021-08-31 hao.x.li Implement api,validation,state,device_mismatched: helper functions (#717)
2021-08-27 kainino Test postMessage on ArrayBuffer from getMappedRange (#728)
2021-08-27 rockot Introduce expectGPUBufferRepeatsSingleValue (#723)
2021-08-27 rockot some stress tests for shaders and render passes (#722)
2021-08-27 kainino fix async race condition in expectCompileResult (#726)
2021-08-26 sarahmashay remove accidently added file
2021-08-25 84498356+jzm-intel Implement veretx_access validation test: Part 1 (#698)
2021-08-21 sarahmashay wgsl cts for builtin fucntions
2021-08-20 yunchao.he Revise validation tests for depth/stencil formats for copies (#719)
2021-08-19 yunchao.he Validate texture format for copies (#691)
2021-08-19 shrekshao Reftests expand with formats, write canvas methods, and compositingAlphaMode (#696)
2021-08-19 tojiro Remove template that wasn't really helping anyone
2021-08-18 tojiro Addressing more feedback
2021-08-18 tojiro Refactored as suggested by Kai
2021-08-12 tojiro Expanded tests to render passes and render bundles
2021-08-11 tojiro More tests and working on other pipeline types.
2021-08-11 tojiro Added three more tests and fixed issues
2021-07-01 tojiro Implementing preliminary api,operation,command_buffer,programmable,state_tracking:* tests
2021-08-18 shaobo.yan Pipeline_layout_compat: Add buffer and sampler binding equivalent checks (#701)
2021-08-17 kainino Constrain type to guard against future bugs like #716 (#718)
2021-08-17 yunchao.he Fix a bug in api/validation/image_copy/image_copy.ts (#716)
2021-08-17 hao.x.li api,validation,encoding,programmable,pipeline_bind_group_compat plan (#697)
2021-08-17 jiawei.shao Add operation tests on copyTextureToTexture with depth/stencil - Part II (#706)
2021-08-13 tojiro Change depth/stencil sample type to 'depth'
2021-08-14 mehmetoguzderin Fix project name (#714)
2021-08-14 mehmetoguzderin Use split account for previews (#712)
2021-08-13 rockot Implement some initial stress tests (#709)
2021-08-12 bajones Updating deprecated TextureUsage flags (#710)
2021-08-12 shrekshao Remove some alpha blending factor validation (#708)
2021-08-12 kainino re-hide extra stacks from different subcases, fix bug
2021-08-12 kainino Undo hiding of extra lines of message, and don't hide extra logs from different cases
(...)
2021-05-12 tojiro Style fix suggested by Kai
2021-05-12 kainino Use more subcases (#561)
2021-05-12 kainino Document cases/subcases and ParamsBuilder better (#562)
2021-05-12 bajones Review createBindGroupLayout spec (#559)
2021-05-12 shrekshao Add DrawIndirect test (#558)
2021-05-11 kainino Fix sampledTextureBindingTypeInfo (#560)
2021-05-11 shaobo.yan Expand operation tests for copyToTexture,ImageBitmap (#545)
2021-05-06 kainino api,operation,buffers,map: describe, clean notes, add cases (#552)
2021-05-05 bajones Reviewed createBindGroup spec (#554)
2021-05-05 bajones Added some CompilationInfo tests. (#548)
2021-05-04 kainino gen_wpt_cts_html: always split down to individual tests (#544)
2021-05-04 kbrussel Add compute,basic,large_dispatch test. (#555)
2021-05-04 enga Update/cleanup map_oom.spec.ts (#551)
2021-05-04 kainino docs: nits, add pointer to a good reference test (#550)
2021-05-04 rharrison Update variable_and_const.spec.ts shader to match current WGSL spec (#553)
2021-04-29 kainino doc: make heading clearer
2021-04-29 kainino small docs updates
2021-04-29 mehmetoguzderin Reduce expire field to 10 days (#547)
2021-04-28 enga Fix WGSL storage_buffer->storage in by_sampling.ts (#546)
2021-04-28 kainino operation,vertex_state: add todo (#541)
2021-04-26 hao.x.li Add validation tests for occlusion query (#539)
2021-04-16 kainino attachment -> view
2021-04-16 kainino blending renames, remove wrong test plan
2021-04-16 kainino storeOp: required
2021-04-16 kainino computeStage -> compute
2021-04-22 jrprice Use new WGSL entry point IO syntax (#543)
2021-04-21 kainino Replace fence tests with new onSubmittedWorkDone tests (#536)
2021-04-21 corentin Add tests for GCing GPUBuffer before their mappings. (#542)
2021-04-20 kainino Update bindings API usage (#538)
2021-04-19 jrprice Replace builtin(position) with builtin(frag_coord) (#540)
2021-04-16 shrekshao Update WGSL const -> let and remove '-> void' (#537)
2021-04-16 alanbaker Fix some storage buffers (#534)
2021-04-14 kainino add deprecation linter, but disabled for now
2021-04-14 kainino Suppress deprecation warnings
2021-04-14 kainino replace incidental usages of fence with onSubmittedWorkDone
2021-04-14 kainino TODOs for new binding structure
2021-04-14 kainino update DefaultLimits
2021-04-14 kainino rename extension->feature in capability_info
2021-04-14 kainino extensions->features pt 1
2021-04-14 kainino fix easy deprecations
2021-04-14 kainino roll types, fixes for Iterable color/extent/origin (#532)
2021-04-13 kainino roll types (#531)
2021-04-13 kainino Try again to get space at the top of the PR template
2021-04-13 corentin Update README.md (#530)
2021-04-14 hao.x.li Add selectDeviceForQueryTypeOrSkipTestCase to gpu_test.ts (#529)
2021-04-12 yunchao.he Add tests for mipmap with various formats (#528)
2021-04-09 yunchao.he Fix bugs for texture creation validation (#527)
2021-04-08 enga Add tests for GPUBlendComponent (#526)
2021-04-08 kainino Use <hr> because github won't keep the extra blank lines above the ---
2021-04-08 kainino Much more verbose checklists (#525)

Created with:
  roll-dep third_party/gpuweb-cts

Change-Id: I8d82c7299f74140b1ada627c5b1161f8e12c96b1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/65280
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
1 file changed
tree: 1d9b3584bd601266f4550acc2510085f2311dd1e
  1. .vscode/
  2. build_overrides/
  3. docs/
  4. fuzzers/
  5. include/
  6. infra/
  7. kokoro/
  8. samples/
  9. src/
  10. test/
  11. third_party/
  12. tools/
  13. .clang-format
  14. .gitignore
  15. .gn
  16. AUTHORS
  17. BUILD.gn
  18. CMakeLists.txt
  19. CMakeSettings.json
  20. CODE_OF_CONDUCT.md
  21. CONTRIBUTING.md
  22. CPPLINT.cfg
  23. DEPS
  24. Doxyfile
  25. LICENSE
  26. OWNERS
  27. PRESUBMIT.py
  28. README.md
  29. standalone.gclient
  30. tint_overrides_with_defaults.gni
README.md

Tint

Tint is a compiler for the WebGPU Shader Language (WGSL).

This is not an officially supported Google product.

Requirements

  • Git
  • CMake (3.10.2 or later)
  • Ninja (or other build tool)
  • Python, for fetching dependencies
  • depot_tools in your path

Build options

  • TINT_BUILD_SPV_READER : enable the SPIR-V input reader (off by default)
  • TINT_BUILD_WGSL_READER : enable the WGSL input reader (on by default)
  • TINT_BUILD_SPV_WRITER : enable the SPIR-V output writer (on by default)
  • TINT_BUILD_WGSL_WRITER : enable the WGSL output writer (on by default)
  • TINT_BUILD_FUZZERS : enable building fuzzzers (off by default)

Building

Tint uses Chromium dependency management so you need to install depot_tools and add it to your PATH.

Getting source & dependencies

# Clone the repo as "tint"
git clone https://dawn.googlesource.com/tint tint
cd tint

# Bootstrap the gclient configuration
cp standalone.gclient .gclient

# Fetch external dependencies and toolchains with gclient
gclient sync

Compiling using CMake + Ninja

mkdir -p out/Debug
cd out/Debug
cmake -GNinja ../..
ninja # or autoninja

Compiling using CMake + make

mkdir -p out/Debug
cd out/Debug
cmake ../..
make # -j N for N-way parallel build

Compiling using gn + ninja

mkdir -p out/Debug
gn gen out/Debug
autoninja -C out/Debug

Fuzzers on MacOS

If you are attempting fuzz, using TINT_BUILD_FUZZERS=ON, the version of llvm in the XCode SDK does not have the needed libfuzzer functionality included.

The build error that you will see from using the XCode SDK will look something like this:

ld: file not found:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.0/lib/darwin/libclang_rt.fuzzer_osx.a

The solution to this problem is to use a full version llvm, like what you would get via homebrew, brew install llvm, and use something like CC=<path to full clang> cmake .. to setup a build using that toolchain.

Checking [chromium-style] issues in CMake builds

The gn based work flow uses the Chromium toolchain for building in anticipation of integration of Tint into Chromium based projects. This toolchain has additional plugins for checking for style issues, which are marked with [chromium-style] in log messages. This means that this toolchain is more strict then the default clang toolchain.

In the future we will have a CQ that will build this work flow and flag issues automatically. Until that is in place, to avoid causing breakages you can run the [chromium-style] checks using the CMake based work flows. This requires setting CC to the version of clang checked out by gclient sync and setting the TINT_CHECK_CHROMIUM_STYLE to ON.

mkdir -p out/style
cd out/style
cmake ../..
CC=../../third_party/llvm-build/Release+Asserts/bin/clang cmake -DTINT_CHECK_CHROMIUM_STYLE=ON ../../ # add -GNinja for ninja builds

Issues

Please file any issues or feature requests at https://bugs.chromium.org/p/tint/issues/entry

Contributing

Please see the CONTRIBUTING and CODE_OF_CONDUCT files on how to contribute to Tint.

Tint has a process for supporting experimental extensions.