Commit Graph

262 Commits

Author SHA1 Message Date
Sarah Mashayekhi 112314b73d [validation] add error number to invalid member accessor error: v-0007
Bug: tint:6
Change-Id: Ia92ed8a328ff3c7986d8e5298b13f5d1db33935b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/32384
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-11-16 14:35:17 +00:00
Sarah Mashayekhi 3b04058d19 [validation] Update entry points validation v-0020
Remove irrelevant unit tests
Add/Update ValdiateEntryPoints function
Update known failure file

Bug: tint:296
Change-Id: I7d5c9c96fcca29f3e0a4c0315eb8ce869160a3ea
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/32220
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
2020-11-11 14:21:05 +00:00
dan sinclair d5fd7e02ba Fixup lint errors.
This CL fixes up the various lint errors.

Change-Id: If4d3077b55aadec33980452c43917194d803fac6
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/31680
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
2020-11-03 16:26:09 +00:00
Ben Clayton adb10d60de Add option and target for generating code cov info
The new `tint-generate-coverage` CMake target can be used with the clang toolchain to generate a `lcov.info` file at the root of the project, along with a `coverage.summary` human readable plain text file.

The `lcov.info` file can then be used by various tools to display code coverage information in your IDE / code editor.

Useful for ensuring decent test coverage.

Change-Id: I3d846f6da3af25d3d600d8e028f27b89e35b545f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/31121
Commit-Queue: Ben Clayton <bclayton@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-10-27 21:04:59 +00:00
Sarah Mashayekhi 8f7c80347d [validation] Improve CTS test wrapper.
Updated to check if failure happened with the intended error code

Change-Id: If8eee7605b8ab1af481fde067dcb0e64e0df6256
Bug:tint:271
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/30002
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-10-21 19:24:00 +00:00
dan sinclair c9a3e47396 Roll Tint dependencies
Roll third_party/spirv-tools/ 8a0ebd40f..7e1825a59 (96 commits)

8a0ebd40f8..7e1825a596

$ git log 8a0ebd40f..7e1825a59 --date=short --no-merges --format='%ad %ae %s'
2020-10-19 afdx spirv-fuzz: Take care of OpPhi instructions when inlining (#3939)
2020-10-16 afdx spirv-fuzz: Fix to TransformationInlineFunction (#3913)
2020-10-16 afdx spirv-fuzz: Wrap early terminators before merging returns (#3925)
2020-10-16 jaebaek Add DebugValue for function param regardless of scope (#3923)
2020-10-16 afdx Temporary fix to make GoogleTest compile. (#3922)
2020-10-15 afdx spirv-fuzz: Lower probability of adding bit instruction synonyms (#3917)
2020-10-15 afdx spirv-fuzz: Fix handling of OpPhi in FlattenConditionalBranch (#3916)
2020-10-13 afdx spirv-fuzz: Avoid creating blocks without parents (#3908)
2020-10-13 afdx spirv-fuzz: Do not allow creation of constants of block-decorated structs (#3903)
2020-10-13 afdx spirv-fuzz: Fixes related to irrelevant ids (#3901)
2020-10-13 afdx spirv-fuzz: Fix to transformation that adds a synonym via a loop (#3898)
2020-10-13 afdx spirv-fuzz: Fix to duplicate region with selection (#3896)
2020-10-09 afdx spirv-fuzz: Do not expose synonym facts for non-existent ids (#3891)
2020-10-08 afdx spirv-fuzz: Do not add synonyms involving irrelevant ids (#3890)
2020-10-08 afdx spirv-fuzz: Do not replace irrelevant ids that are not in blocks (#3892)
2020-10-08 afdx spirv-fuzz: Wrap OpKill and similar in function calls (#3884)
2020-10-08 dj2 Update val to handle reversed instruction sections. (#3887)
2020-10-06 afdx spirv-fuzz: Replace dead-block terminators with OpKill etc. (#3882)
2020-10-06 vasniktel spirv-fuzz: TransformationPropagateInstructionDown (#3692)
2020-10-06 afdx spirv-fuzz: Transformation to add wrappers for OpKill and similar (#3881)
2020-10-06 afdx spirv-fuzz: Use overflow ids when duplicating regions (#3878)
2020-10-06 vasniktel spirv-fuzz: Fix rvalue references (#3883)
2020-10-02 afdx spirv-fuzz: Avoid using block-decorated structs in transformations (#3877)
2020-10-02 afdx spirv-fuzz: Use overflow ids when inlining functions (#3880)
2020-10-02 jaebaek Debug info preservation in convert-local-access-chains pass (#3835)
2020-10-02 vasniktel spirv-fuzz: Refactor fact manager tests (#3879)
2020-10-02 afdx spirv-fuzz: Integrate spirv-reduce with shrinker (#3849)
2020-10-02 afdx spirv-fuzz: Only recommend passes when a pass had an effect (#3863)
2020-10-02 stefano.milizia00 spirv-fuzz: Merge the return instructions in a function (#3838)
2020-10-01 jaebaek Debug info preservation in redundancy-elimination pass (#3839)
2020-10-01 jaebaek Debug info preservation in if-conversion pass (#3861)
2020-10-01 vasniktel spirv-fuzz: Refactor conditions in the fact manager (#3867)
2020-10-01 vasniktel spirv-fuzz: TransformationWrapRegionInSelection (#3674)
2020-10-01 afdx spirv-fuzz: Enable some passes with high probability (#3860)
2020-10-01 afdx spirv-fuzz: Do not add constants for Block-decorated structs (#3862)
2020-10-01 vasniktel spirv-fuzz: Fix to FuzzerPassFlattenConditionalBranches (#3865)
2020-09-30 vasniktel spirv-fuzz: Fix TransformationRecordSynonymousConstants (#3868)
2020-09-30 afdx spirv-fuzz: Fix flatten conditional branch transformation (#3859)
2020-09-29 afdx spirv-fuzz: Report fresh ids in transformations (#3856)
2020-09-28 dj2 [spirv-dis] Add some context comments to disassembly. (#3847)
2020-09-28 emaxx Fix use-after-move in val/validate.cpp (#3848)
2020-09-26 antonikarp spirv-fuzz: Fix bug in TransformationDuplicateRegionWithSelection (#3819)
2020-09-26 andreperezmaselco.developer spirv-fuzz: Support OpNot bit instruction case (#3841)
2020-09-25 afdx spirv-fuzz: Return IR and transformation context after replay (#3846)
2020-09-24 paulthomson spirv-fuzz: fix test (#3845)
2020-09-24 afdx spirv-fuzz: Use unique_ptr<FactManager> in TransformationContext (#3844)
2020-09-24 ehsannas Start SPIRV-Tools v2020.6
2020-09-24 ehsannas Finalize SPIRV-Tools v2020.5
2020-09-24 ehsannas Update CHANGES
2020-09-24 vasniktel spirv-fuzz: Support dead blocks in TransformationAddSynonym (#3832)
2020-09-24 vasniktel spirv-fuzz: Move IRContext parameter into constructor (#3837)
2020-09-24 Simran-B Add missing backticks around <result-id> (#3840)
2020-09-23 rharrison Validate SPIRV Version number when parsing binary header (#3834)
2020-09-23 stefanomil spirv-fuzz: Create synonym of int constant using a loop (#3790)
2020-09-22 58573781+richard-lunarg Fix compiler error on macOS with XCode12 (#3836)
2020-09-22 vasniktel spirv-fuzz: Handle OpPhis in TransformationInlineFunction (#3833)
2020-09-22 stevenperron Update CHANGES
2020-09-22 afdx spirv-fuzz: Refactor fuzzer, replayer and shrinker (#3818)
2020-09-18 afdx spirv-fuzz: Add pass recommendations (#3757)
2020-09-18 stefanomil spirv-fuzz: Consider all ids from dead blocks irrelevant (#3795)
2020-09-18 afdx Fix header guard macros (#3811)
2020-09-18 antonikarp spirv-fuzz: Fix TransformationDuplicateRegionWithSelection (#3815)
2020-09-17 46493288+sfricke-samsung spirv-val: Add DeviceIndex (#3812)
2020-09-16 rharrison Fix missed modification flagging (#3814)
2020-09-16 andreperezmaselco.developer spirv-fuzz: Use an irrelevant id for the unused components (#3810)
2020-09-16 stefanomil spirv-fuzz: Improvements to random number generation (#3809)
2020-09-16 greg Add buffer oob check to bindless instrumentation (#3800)
2020-09-16 vasniktel spirv-fuzz: Remove CanFindOrCreateZeroConstant (#3807)
2020-09-15 andreperezmaselco.developer spirv-fuzz: Add bit instruction synonym transformation (#3775)
2020-09-16 vasniktel spirv-fuzz: Skip unreachable blocks (#3729)
2020-09-15 afdx Fix build errors (#3804)
2020-09-15 vasniktel spirv-fuzz: Handle invalid ids in fact manager (#3742)
2020-09-15 vasniktel spirv-fuzz: Support memory instructions MoveInstructionDown (#3700)
2020-09-15 stefanomil spirv-fuzz: Pass submanagers to other submanagers when necessary (#3796)
2020-09-15 stefanomil spirv-fuzz: Transformation to flatten conditional branch (#3667)
2020-09-14 46493288+sfricke-samsung spirv-val: Add BaseInstance, BaseVertex, DrawIndex, and ViewIndex (#3782)
2020-09-14 dnovillo Properly mark IR changed if instruction folder creates more than one constant. (#3799)
2020-09-11 afdx Add missing file to BUILD.gn (#3798)
2020-09-11 antonikarp spirv-fuzz: Add TransformationDuplicateRegionWithSelection (#3773)
2020-09-11 afdx spirv-reduce: Support reducing a specific function (#3774)
2020-09-10 afdx spirv-reduce: Refactoring (#3793)
2020-09-10 afdx Favour 'integrity' over 'coherence' as a replacement for 'sanity'. (#3619)
2020-09-10 antonikarp spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784)
2020-09-10 paulthomson spirv-fuzz: Add SPIRV_FUZZ_PROTOC_COMMAND (#3789)
2020-09-10 paulthomson Add missing include (#3788)
2020-09-09 paulthomson Improve spirv-fuzz CMake code (#3781)
2020-09-08 stevenperron Allow SPV_KHR_8bit_storage extension. (#3780)
2020-09-08 stefanomil spirv-opt: Add function to compute nesting depth of a block (#3771)
2020-09-03 stefanomil spirv-fuzz: Transformation to convert OpSelect to conditional branch (#3681)
2020-09-02 46493288+sfricke-samsung spirv-val: Add Vulkan VUID labels to BuiltIn (#3756)
2020-09-02 vasniktel spirv-fuzz: Add support for BuiltIn decoration (#3736)
2020-09-02 stefanomil spirv-fuzz: Fix GetIdEquivalenceClasses (#3767)
2020-09-02 stefanomil spirv-fuzz: Replace id in OpPhi coming from a dead predecessor (#3744)
2020-09-01 stefanomil spirv-fuzz: Transformation to replace the use of an irrelevant id (#3697)
2020-09-01 vasniktel spirv-fuzz: TransformationMutatePointer (#3737)
2020-09-01 stefanomil spirv-fuzz: Compute interprocedural loop nesting depth of blocks (#3753)

Created with:
  roll-dep third_party/spirv-tools

Roll third_party/gpuweb-cts/ 40e337a38..2a53a9bd3 (61 commits)

40e337a387..2a53a9bd3d

$ git log 40e337a38..2a53a9bd3 --date=short --no-merges --format='%ad %ae %s'
2020-10-13 9856269+sarahM0 Update WGSL tests (#303)
2020-10-01 yunchao.he Fix a bug for texture usage validation in compute (#300)
2020-09-29 kainino Rename asyncReinitDeviceWithDescriptor -> selectDeviceOrSkipTestCase (#298)
2020-09-29 jiawei.shao Add tests about compressed texture formats in CopyT2T validation tests (#296)
2020-09-28 kainino Add cts.code-workspace for project-global settings. (#299)
2020-09-28 yunchao.he Test replaced bindings for texture usage validation in compute (#291)
2020-09-28 jiawei.shao Add .vscode/ to gitignore
2020-09-25 enrico.galli Moving createEncoder to ValidationTest (#293)
2020-09-25 kainino Enable WebGPU tests with descriptors (#294)
2020-09-24 shaobo.yan Validation tests for copyImageBitmapToTexture. (#285)
2020-09-23 jiawei.shao Add validation tests for CopyTextureToTexture - Part II (#287)
2020-09-21 yunchao.he Resource usage validation in compute (#288)
2020-09-18 kainino Allow per-test descriptions (#290)
2020-09-18 kainino Add a very lightweight preprocessor using JS template strings (#280)
2020-09-18 kainino Significantly speed up build by optimizing n^2 code (#289)
2020-09-15 enrico.galli Add debug groups and makers test (#286)
2020-09-12 jiawei.shao Add validation tests of CopyTextureToTexture - Part I (#284)
2020-09-09 yunchao.he Add texture usage validation scope test (#283)
2020-09-10 jiawei.shao Add operation tests of CopyBufferToBuffer (#282)
2020-09-08 yunchao.he Combine Texture subresource shapes/overlap with using bundle or not (#281)
2020-09-02 yunchao.he Add more texture usage validation tests: unused bindings (#274)
2020-08-28 yunchao.he Enhance texture usage validation tests (#273)
2020-08-27 dj2 Fix WGSL test syntax errors. (#277)
2020-08-25 44079328+kunalmohan Fix setScissorRect() validation (#276)
2020-08-20 tommek Copy between linear data and texture operation tests (#269)
2020-08-20 yunchao.he Add more tests for texture resource usage tracking in render (#260)
2020-08-19 fd Add w3c.json file for W3C tracking purpose
2020-08-19 kainino Revise README and include new guidelines for pull requests (#271)
2020-08-18 kainino Support JSON objects in param values (#270)
2020-08-16 kainino empty commit (#268)
2020-08-14 yunchao.he Add test for different read write usages combinations (#253)
2020-08-15 tommek Adding a TODO for copy between linear data and texture tests (#261)
2020-08-14 kainino Split IDL flags tests into one case per member; add QUERY_RESOLVE (#267)
2020-08-14 kainino Update types and split texture tables to accommodate compressed formats (#263)
2020-08-14 kainino Make jsUndefinedMagicValue less magic (#266)
2020-08-12 kainino standalone: use <pre> for descriptions (#259)
2020-08-13 jiawei.shao Add validation tests for CopyBufferToBuffer (#256)
2020-08-11 tommek Copy between linear data and texture validation tests (#255)
2020-08-10 44079328+kunalmohan Use Babel plugin to support Nullish Coalescing operator (#257)
2020-08-04 yunchao.he Add subresource usage validation tests for different shader stages (#254)
2020-07-31 yunchao.he Add texture subresource usage validation tests in render (#252)
2020-07-30 brandon1.jones Implement Render Pass Resolve Validation Tests (#250)
2020-07-27 brandon1.jones Implement RenderPass StoreOp Operation Tests (#243)
2020-07-27 yunchao.he Fixes about hasDynamicOffset and multisampled in BGL (#249)
2020-07-24 kainino Update to use new mapping primitives everywhere (#245)
2020-07-24 yunchao.he Refactor some validation tests in createBindGroupLayout (#244)
2020-07-24 kainino Represent undefined with a magic value in JSON (#247)
2020-07-23 68128706+cerisano Update README.md (#246)
2020-07-17 brandon1.jones RenderPass StoreOp Validation Tests (#241)
2020-07-17 kainino In params().combine() types, flatten unions of interfaces before merging them (#242)
2020-07-15 yunchao.he Add tests for bindGroupLayout's variables (#238)
2020-07-16 shaobo.yan CTS for CopyImageBitmap: test color conversion (#237)
2020-07-13 yunchao.he Add a test for minBufferBindingSize (#233)
2020-07-13 yunchao.he Update node_module/@webgpu/types to 0.0.27 (#235)
2020-07-10 yunchao.he Remove dynamic_set_to_true_is_allowed_only_for_buffers (#231)
2020-07-08 brandon1.jones Add Initial Coverage TODOs for Render Pass StoreOP (#227)
2020-07-07 kainino Update README.md (#229)
2020-07-06 yunchao.he Move visibility_and_dynamic_offset to createBindGroupLayout tests (#224)
2020-07-06 brandon1.jones Minor Improvements To Setup Instructions (#226)
2020-06-29 kainino Travis deploy master->main (#222)
2020-06-23 44079328+kunalmohan Use babel plugin to prevent optional chaining in generated code (#221)

Created with:
  roll-dep third_party/gpuweb-cts

Roll third_party/googletest/ df6b75949..3c95bf552 (35 commits)

df6b75949b..3c95bf5524

$ git log df6b75949..3c95bf552 --date=short --no-merges --format='%ad %ae %s'
2020-10-15 dmauro Googletest export
2020-10-14 absl-team Googletest export
2020-10-14 dmauro Googletest export
2020-10-14 dmauro Googletest export
2020-10-14 absl-team Googletest export
2020-10-14 dmauro Googletest export
2020-10-14 absl-team Googletest export
2020-10-13 dmauro Googletest export
2020-10-13 dmauro Googletest export
2020-10-13 absl-team Googletest export
2020-10-13 absl-team Googletest export
2020-10-09 ofats Googletest export
2020-10-09 absl-team Googletest export
2020-10-08 absl-team Googletest export
2020-10-12 peternewman Fix a typo
2020-10-07 pravin1992 Issue 2135: Change template args in NiceMock, NaggyMock and StrictMock from A1, A2, ... to TArg1, TArg2,... to avoid clash with legacy header files
2020-09-29 absl-team Googletest export
2020-10-01 63450189+ranodeepbanerjee A slight Gramatical change.
2020-09-29 dmauro Googletest export
2020-09-29 absl-team Googletest export
2020-09-25 absl-team Googletest export
2020-09-27 56075233+keshavgbpecdelhi Update cook_book.md
2020-09-23 absl-team Googletest export
2020-09-23 absl-team Googletest export
2020-09-21 absl-team Googletest export
2020-09-24 thomas.barbier Fix warning maybe-uninitialized
2020-09-18 absl-team Googletest export
2020-09-17 absl-team Googletest export
2020-09-18 63900998+JethroSama Update README.md, added missing 'a'
2020-09-08 absl-team Googletest export
2020-09-02 dmauro Googletest export
2020-09-01 absl-team Googletest export
2020-09-01 absl-team Googletest export
2020-08-25 27jf Add timestamp to in old method mock macro guide
2020-05-05 igor.n.nazarenko Detect proto messages based on presense of DebugString.

Created with:
  roll-dep third_party/googletest

Roll third_party/spirv-headers/ 3fdabd0da..c43a43c7c (4 commits)

3fdabd0da2..c43a43c7cc

$ git log 3fdabd0da..c43a43c7c --date=short --no-merges --format='%ad %ae %s'
2020-10-12 hwguy.siplus  Register the Xenia emulator as a generator (#171)
2020-09-27 atyuwen Register the Messiah SPIR-V CodeGen (#169)
2020-09-10 syoussefi Register the ANGLE compiler (#168)
2020-09-08 cepheus Rebuild of latest headers, which slightly moves OpTerminateInvocation

Created with:
  roll-dep third_party/spirv-headers

Change-Id: Id23cf07aedff60a09d068fd145c2dcfc88aea95b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/30460
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-10-19 15:31:17 +00:00
dan sinclair 453eb97a30 Handle review feedback.
This CL implements review feedback from previous CL.

Change-Id: I913c09d11b4eeb1831494653c38227387775b346
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25600
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-07-23 15:51:02 +00:00
dan sinclair 429aa812a0 Add simple test runner.
This CL adds a script to run tint over the shaders in a given folder and
attempt to generate the WGSL, HLSL, MSL and SPIRV-ASM shaders. The
GPUWeb CTS is added to third_party and the validation folder set as the
default folder to execute.

Change-Id: I63a0af056416e2f99ed8e3f92f9e2ca31c2b3e49
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25561
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com>
Commit-Queue: Sarah Mashayekhi <sarahmashay@google.com>
2020-07-23 15:01:37 +00:00
Kai Ninomiya f526d777e0 Fix is_asan build (at least on Mac)
The changes in this CL are copied from Chromium.

Bug: dawn:355
Change-Id: I3772b5849b096dd11541b94331309293f1a64fb5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/18903
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-04-06 22:27:02 +00:00
dan sinclair b595052ea3 Set root folder for linter.
This CL sets the root folder to be used by the linter when determining
header guards.

Bug: tint:23
Change-Id: I52ce8d3cd67e9882d4ea8a2c9cbd2d5d5650d5b7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/17205
Reviewed-by: David Neto <dneto@google.com>
2020-03-19 13:03:35 +00:00
Ryan Harrison db6ade73b2 Convert dependency management to using gclient
BUG=tint:12

Change-Id: I9c6b9cdd584f9a2e6c360c9a457069670146da7c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/16482
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-03-05 15:58:27 +00:00
Dan Sinclair 6e581895a5 Initial commit 2020-03-02 15:47:43 -05:00