Commit Graph

1268 Commits

Author SHA1 Message Date
dan sinclair fbbc617888 Parse void function call.
This CL updates the WGSL parser to handle a void function call.

Fixes: tint:45
Change-Id: If5b2a4b9e62f0b10e0f2e2e10c0ca2586c5268e8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25322
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-07-21 15:13:36 +00:00
dan sinclair e5228407f4 [hlsl-writer] Add emission of identifiers
This CL adds identifier emission and an HLSL namer to guard against
names using reserved words.

Bug: tint:7
Change-Id: Id3d73ff683048c26ac99451d21c3dd7ef3c620a3
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25001
Reviewed-by: David Neto <dneto@google.com>
2020-07-21 14:51:33 +00:00
dan sinclair b44fe3c034 Emit call statements from the various backends.
This CL adds emission of CallStatement to the various backends.

Bug: tint:45
Change-Id: Ia2bdf0433f136c516ecccdcbc64a5365094220af
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25281
Reviewed-by: David Neto <dneto@google.com>
2020-07-21 13:44:27 +00:00
dan sinclair 50080b74e1 Type determine the call statement.
This CL adds type determination for the call statement.

Bug: tint:45
Change-Id: I2460fe6c6103bdf7e5d0367cded1d78ca5d671d6
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25321
Reviewed-by: David Neto <dneto@google.com>
2020-07-21 13:42:13 +00:00
dan sinclair 2e40491467 Add a call ast statement.
This CL adds CallStatement to the AST to allow wrapping a CallExpression
into a statement.

Bug: tint:45
Change-Id: I5a9525514344fcc2cf9900eb2cd78c1fb94ca2ef
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25320
Reviewed-by: David Neto <dneto@google.com>
2020-07-21 13:42:05 +00:00
David Neto 0a56a103be [spirv-reader] Support select over scalars and vectors
Still TODO: OpSelect over arrays and structures, as permitted in SPIR-V 1.4

Bug: tint:3, tint:99
Change-Id: I70f6c8a43ea3339cd715813c6eb0128d66ff0df8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25301
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-21 13:36:25 +00:00
David Neto d6b024b66d Add missing Doxygen comments on two methods.
Bug: tint:3
Change-Id: I5cb5c3ce078951363279ccc999074c0c46dfad6e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25300
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-20 23:31:56 +00:00
David Neto c29bad28ad [spirv-reader] Support function calls, except returning void
Functions returning void are blocked on https://crbug.com/tint/45

Change-Id: I15ec9cf0e267571bbfab921c678a59e25d0e3619
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25280
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-20 22:19:01 +00:00
dan sinclair feffa9d887 [hlsl-writer] Scaffold the HLSL backend.
This CL adds the scaffolding for the HLSL backend.

Bug: tint:7
Change-Id: Iaf9f5159bc409f3ac71fcec281229258bdfa021b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25000
Reviewed-by: David Neto <dneto@google.com>
2020-07-20 22:13:37 +00:00
dan sinclair 5dee499c57 [msl-writer] Emit storage buffers.
This Cl adds the emission of storage buffers to the MSL backend.

Bug: tint:8
Change-Id: I6923926b36e73f2e351443cf1d2bf6d70873bc9a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25264
Reviewed-by: David Neto <dneto@google.com>
2020-07-20 22:13:20 +00:00
dan sinclair 26c8a216e8 [msl-writer] Add import emission.
This CL adds emission of import function calls to the MSL backend.

Bug: tint:8
Change-Id: Ib8b8638b11caee2ff3557d551447b215ef2a4c69
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25262
Reviewed-by: David Neto <dneto@google.com>
2020-07-20 22:13:00 +00:00
David Neto 747e80a9b3 [spirv-reader] Drop NonWritable NonReadable for now
Pending WGSL issue https://github.com/gpuweb/gpuweb/issues/935

Bug: tint:3, tint:99
Change-Id: I90771e6e0c6a2f109fd6e361d79adea273ca7bc6
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25261
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-20 20:00:10 +00:00
Ryan Harrison c8af502c01 Fix issues with BUILD.gn
Couple of little style issues, and a path to a file that was incorrect.

Change-Id: I21d1a4ca41bc36163602378086989ac712f54469
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25265
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-20 19:54:23 +00:00
dan sinclair 18c85f52e4 [msl-writer] Cleanups and refactors.
This CL cleans up some interfaces and methods in the MSL generator and
generator impl classes.

Bug: tint:8
Change-Id: I9aabeb1ecb69baeaa9cb6bbc15e313806923dddc
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25163
Reviewed-by: David Neto <dneto@google.com>
2020-07-20 17:27:58 +00:00
dan sinclair f1c3fb7670 [msl-writer] Handle uniform buffers.
This CL adds support for handling uniform data. Currently the uniform is
added to a buffer where the number is the binding value. This will need
to be updated to accept the correct mapping from the embedder.

Bug: tint:8
Change-Id: Icccccbe599a9555defa6136e384745f4093df020
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25104
Reviewed-by: David Neto <dneto@google.com>
2020-07-20 13:46:32 +00:00
David Neto e6c575538a [spirv-reader] Support DescriptorSet and Binding
Bug: tint:3
Change-Id: I92d44cc59883d3834aedd2529ab5e20b49d6eb31
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25200
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-20 13:24:58 +00:00
David Neto 6982c22eee [spirv-reader] Handle old-style storage buffers
Old way:
  - struct decorated with BufferBlock
  - Uniform storage class

New way
  - struct decorated with Block
  - StorageBuffer storage class

Also fixes the result type for an access chain.

Bug: tint:99
Change-Id: I2324ba94bb19b369d206313de798bdfec6099fe0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24605
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-20 13:24:26 +00:00
David Neto 13904a612d Rolling 6 dependencies
Roll build/ 1a541c158..9b01e295f (100 commits)

1a541c1582..9b01e295f8

$ git log 1a541c158..9b01e295f --date=short --no-merges --format='%ad %ae %s'
2020-07-17 chromium-autoroll Roll Fuchsia SDK from 0.20200717.0.1 to 0.20200717.1.1
2020-07-17 chromium-autoroll Roll Fuchsia SDK from 0.20200716.2.1 to 0.20200717.0.1
2020-07-17 sdefresne [ios] Force target to be dirty if xcode_version changes
2020-07-17 mheikal Remove unneeded extra_r_text_files from resource management
2020-07-17 bpastene Reland #2: "Split the cros_boards gclient var into two for fetching QEMU images."
2020-07-17 wnwen Android: Add direct deps for turbine
2020-07-17 thomasanderson [XProto] Remove usage of XCursor
2020-07-16 liaoyuke [lacros] Add functions to download ash-chrome in the test runner
2020-07-16 chromium-autoroll Roll Fuchsia SDK from 0.20200716.1.1 to 0.20200716.2.1
2020-07-16 liaoyuke [lacros] Fix argument helper
2020-07-16 wfh Turn on CFG linker config and bitmap generation for DLLs.
2020-07-16 liaoyuke [lacros] Fix build/lacros OWNERS file
2020-07-16 wnwen Android: More direct deps for turbine
2020-07-16 wnwen Android: Direct deps for //net
2020-07-16 bpastene Revert "Reland "Split the cros_boards gclient var into two for fetching QEMU images.""
2020-07-16 wnwen Android: Direct deps for //media
2020-07-16 sdefresne [ios] Force target to be dirty if xcode_version changes
2020-07-16 chromium-autoroll Roll Fuchsia SDK from 0.20200716.0.1 to 0.20200716.1.1
2020-07-16 chromium-autoroll Roll Fuchsia SDK from 0.20200715.2.1 to 0.20200716.0.1
2020-07-16 wnwen Android: Direct deps for chrome/android etc
2020-07-16 liaoyuke [lacros] Generate a test runner wrapper for lacros
2020-07-15 wnwen Android: Prefer direct deps for turbine
2020-07-15 chromium-autoroll Roll Fuchsia SDK from 0.20200715.1.1 to 0.20200715.2.1
2020-07-15 wnwen Android: Add new build speed benchmarks
2020-07-15 bpastene Reland "Split the cros_boards gclient var into two for fetching QEMU images."
2020-07-15 torne android: use final_android_sdk when setting versionCode.
2020-07-15 pkotwicz [Android] Re-enable custom errorprone plugins
2020-07-15 nelakaczmarek Test commit
2020-07-15 chromium-autoroll Roll Fuchsia SDK from 0.20200715.0.1 to 0.20200715.1.1
2020-07-15 hans Clang: the tip-of-tree version is now 12.0.0
2020-07-15 chromium-autoroll Roll Fuchsia SDK from 0.20200714.1.1 to 0.20200715.0.1
2020-07-15 bjoyce Use coverage on the fly for junit tests.
2020-07-14 thakis Update a TODO bug link.
2020-07-14 chromium-autoroll Roll Fuchsia SDK from 0.20200714.0.1 to 0.20200714.1.1
2020-07-14 bjoyce Set jvm arg for jacoco to false.
2020-07-14 agrieve Android: Dump logcat to logdog when gtests are listing tests
2020-07-14 chromium-autoroll Roll Fuchsia SDK from 0.20200713.3.1 to 0.20200714.0.1
2020-07-14 agrieve Add "list_java_targets.py" to make it easy to build all java targets
2020-07-14 chromium-autoroll Roll Fuchsia SDK from 0.20200713.1.1 to 0.20200713.3.1
2020-07-13 sebmarchand Disable the segment heap by default and add a GN flag to control it.
2020-07-13 agrieve Android: Reduce link pool when R8 or Android Lint is enabled.
2020-07-13 wnwen Android: Add deps' transitive classes to classpath
2020-07-13 hypan Reland "emulator: Disable the feature GLDMA."
2020-07-13 thakis win: Don't pass -mllvm flags to ms assembler.
2020-07-13 zhin [Py3] Make mac_toolchain Python 3 compatible
2020-07-13 agrieve Android: Make android_test_apk() define target with name=target_name
2020-07-13 chromium-autoroll Roll Fuchsia SDK from 0.20200713.0.1 to 0.20200713.1.1
2020-07-13 chromium-autoroll Roll Fuchsia SDK from 0.20200712.3.1 to 0.20200713.0.1
2020-07-13 chromium-autoroll Roll Fuchsia SDK from 0.20200712.2.1 to 0.20200712.3.1
2020-07-12 chromium-autoroll Roll Fuchsia SDK from 0.20200712.1.1 to 0.20200712.2.1
2020-07-12 chromium-autoroll Roll Fuchsia SDK from 0.20200711.3.1 to 0.20200712.1.1
2020-07-12 chromium-autoroll Roll Fuchsia SDK from 0.20200711.2.1 to 0.20200711.3.1
2020-07-11 chromium-autoroll Roll Fuchsia SDK from 0.20200711.1.1 to 0.20200711.2.1
2020-07-11 chromium-autoroll Roll Fuchsia SDK from 0.20200710.4.1 to 0.20200711.1.1
2020-07-11 hypan Revert "emulator: Disable the feature GLDMA."
2020-07-11 chromium-autoroll Roll Fuchsia SDK from 0.20200710.2.1 to 0.20200710.4.1
2020-07-11 thakis Roll clang n358615-fb1aa286-3 : n359864-04b9a46c-1.
2020-07-10 hypan emulator: Disable the feature GLDMA.
2020-07-10 chromium-autoroll Roll Fuchsia SDK from 0.20200710.1.1 to 0.20200710.2.1
2020-07-10 ehmaldonado Allow DIR_METADATA files within res
2020-07-10 vasilyt Remove GLStreamTextureImage
2020-07-10 agrieve Reland #3 "Android: Bump default target_sdk_version 24 -> SDK used to compile"
2020-07-10 chromium-autoroll Roll Fuchsia SDK from 0.20200710.0.1 to 0.20200710.1.1
2020-07-10 sdefresne [ios] Fix intent_definition template
2020-07-10 chromium-autoroll Roll Fuchsia SDK from 0.20200708.2.1 to 0.20200710.0.1
2020-07-10 wnwen Android: Use direct classpath for android_webview
2020-07-09 wnwen Android: Prefer direct interface classpaths
2020-07-09 bsheedy Revert "Reland #2 "Android: Bump default target_sdk_version 24 -> SDK used to compile""
2020-07-09 mheikal java_library_impl targets can now generate their own R.java files
2020-07-09 mmoss Revert "Split the cros_boards gclient var into two for fetching QEMU images."
2020-07-09 agrieve Android: Dump logcat when gtest fails to list tests
2020-07-09 mmoss Revert "Simplify Simple Chrome's gclient and GN conditionals."
2020-07-09 agrieve Android: Fix -checkdiscard regex'es to ignore comments
2020-07-09 sdefresne [ios] Add support for compiling .intentdefinition
2020-07-08 agrieve Reland #2 "Android: Bump default target_sdk_version 24 -> SDK used to compile"
2020-07-08 chromium-autoroll Roll Fuchsia SDK from 0.20200708.1.1 to 0.20200708.2.1
2020-07-08 agrieve Revert "Reland "Android: Bump default target_sdk_version 24 -> SDK used to compile""
2020-07-08 sdefresne Reland "[ios] Add --landmines-path to build/landmines.py script"
2020-07-08 bpastene Simplify Simple Chrome's gclient and GN conditionals.
2020-07-08 agrieve Reland "Android: Bump default target_sdk_version 24 -> SDK used to compile"
2020-07-08 bsheedy Report public and internal Gold links
2020-07-08 sdefresne Revert "[ios] Add --landmines-path to build/landmines.py script"
2020-07-08 chromium-autoroll Roll Fuchsia SDK from 0.20200707.4.1 to 0.20200708.1.1
2020-07-08 sdefresne [ios] Add --landmines-path to build/landmines.py script
2020-07-08 sdefresne [ios] Fix interaction of build/clobber.py & ios/build/tools/setup-gn.py
2020-07-08 chromium-autoroll Roll Fuchsia SDK from 0.20200707.3.1 to 0.20200707.4.1
2020-07-08 thomasanderson [XProto] Remove usage of XRRUpdateConfiguration and XRandR
2020-07-07 bpastene Split the cros_boards gclient var into two for fetching QEMU images.
2020-07-07 bpastene chromeos: Correctly set the '--flash' arg for host-side tests.
2020-07-07 chromium-autoroll Roll Fuchsia SDK from 0.20200707.1.1 to 0.20200707.3.1
2020-07-07 bpastene chromeos: Treat all unknown-args as the cmd to run in host-side tests.
2020-07-07 chromium-autoroll Roll Fuchsia SDK from 0.20200706.3.1 to 0.20200707.1.1
2020-07-07 jiancai Redirect clang crash diagnosese
2020-07-07 chromium-autoroll Roll Fuchsia SDK from 0.20200706.2.1 to 0.20200706.3.1
2020-07-06 mthiesse Move Activity finishing for Instrumentation tests to BaseChromiumAndroidJUnitRunner
2020-07-06 wnwen Android: Refactor write_build_config.py java paths
2020-07-06 mheikal Improve pydeps related errors
2020-07-06 steimel Add libdbus to tsan_suppressions
2020-07-06 wnwen Android: Fix comments in compile_java.py
2020-07-06 chromium-autoroll Roll Fuchsia SDK from 0.20200706.0.1 to 0.20200706.2.1

Roll buildtools/ 6b951673d..eb3987ec7 (2 commits)

6b951673d1..eb3987ec70

$ git log 6b951673d..eb3987ec7 --date=short --no-merges --format='%ad %ae %s'
2020-07-06 estaab Roll GN from b6203d18..d585128c
2020-07-06 bpastene Update chromium's DEPS-file presubmits with new 'Str' type.

Roll testing/ a711b1132..cadd4e1eb (71 commits)

a711b11325..cadd4e1eb3

$ git log a711b1132..cadd4e1eb --date=short --no-merges --format='%ad %ae %s'
2020-07-17 jdoerrie [Passwords] Enable Touch To Fill by default
2020-07-17 sky history: renames ThumbnailDatabase to FaviconDatabase
2020-07-17 wylieb Update client testing config to match server group
2020-07-17 cduvall Add system_webview_google_apk compile target to perf bots
2020-07-17 bsheedy Target Mac 10.15.5 for GPU Intel stable
2020-07-17 jeffyoon [ios] ios14 tests on chromium.tests.ios14
2020-07-16 dpranke Update //testing/buildbot to remove no-longer-used test types.
2020-07-16 thegreenfrog [ios] Add Testing Config for Fullscreen Finch Config
2020-07-16 liaoyuke [lacros] Encapsulates lacros test runner with test_env or xvfb
2020-07-16 dpranke Remove some unused code paths in the test() GN template.
2020-07-16 behdadb Low cpu_Wall_time_ratio can invalidate failures
2020-07-16 bsheedy Target experimental Win10 NVIDIA machines
2020-07-16 robertma Fix --additional-expectations for disable-site-isolation-trials
2020-07-16 jdeblasio [MIX-DL] Update field trial testing config for m85
2020-07-16 behdadb Updated upper limits of rep_perf_tests including CPU_wall_time_ratios
2020-07-16 sgilhuly Enable more cc_unittests for Skia Dawn
2020-07-16 andzaytsev Privacy elevated on Android: added to the field trial config
2020-07-16 sreejakshetty [bfcache] Cleanup empty test filters
2020-07-16 rsesek Forward invoker.frameworks in fuzzer_test template.
2020-07-16 liaoyuke [code coverage] Clean up code coverage merge script
2020-07-16 liaoyuke [lacros] Generate a test runner wrapper for lacros
2020-07-16 justincohen ios: Pause EmbedderBlockRestoreUrl and remove config.
2020-07-15 svenzheng Fix linux-lacros-tester-rel failure
2020-07-15 johnidel Add fieldtrial testing config for Heavy Ads
2020-07-15 svenzheng LUCI config for linux-lacros
2020-07-15 dpranke Reland "Add a first pass of the desktop test wrapper scripts."
2020-07-14 kimstephanie Revert "Add mac-official builder"
2020-07-14 jeffyoon [pgo] deprecate --no-sparse from merge scripts
2020-07-14 kimstephanie Add mac-official builder
2020-07-14 fhorschig [PwdCheckAndroid] Configure trybots to execute controller tests
2020-07-14 seblalancette [iOS] Fix QR Code Generation Study Name
2020-07-14 jochen Remove code that allows non-CORS whitelisted extra headers from intents
2020-07-14 tby Update field trial testing config for launcher experiments.
2020-07-14 bsheedy Switch GPU Mac Intel Exp to 10.15.5
2020-07-13 hypan emulator: Disable flaky tests in content_shell_test_apk on MM
2020-07-13 xinghuilu Split real time lookup with desktop and Android in field trials.
2020-07-13 steveroe Add fuchsia-fyi-arm64-dbg CI and try builder.
2020-07-11 jam Increase sharding of storage_service content_browsertest on CrOS debug to match content_browsertests.
2020-07-10 vikassoni Add fieldtrial config for DisableGles2ForOopR.
2020-07-10 isamsonov Add flag expectations file to high dpi builder.
2020-07-10 lpz Set --chunk-type=hash in run_wpt_tests.py.
2020-07-10 kerneis Implement OSMetrics::FillOSMemoryDump on Fuchsia
2020-07-10 chanli Remove step_name from telemetry_gpu_integration_test's test_id_prefix
2020-07-09 tbansal Enable idle unused socket timeout of 60 seconds on desktop
2020-07-09 ccameron Increase limit for aquarium_20k average frame time
2020-07-09 michaeldo Roll bots to Xcode 12 beta 2
2020-07-09 rockot Revert "Reland "Add MojoDedicatedThread field trial testing config""
2020-07-09 dullweber Enable ImprovedCookieControls by default
2020-07-09 masonfreed Add Webview fieldtrial testing config for WebComponentsV0
2020-07-08 jam Increase sharding for browser test suites on Linux ASan Tests (sandboxed).
2020-07-08 sreejakshetty [bfcache] Filter out newly failing content_browsertests
2020-07-08 kimstephanie Add win-official and win32-official
2020-07-08 kimstephanie Mac10.15 to main waterfall with no_nacl
2020-07-08 sreejakshetty [bfcache] Filter out newly failing content_unittests
2020-07-08 hazems AW UMA: delete fieldtrial config for WebViewCollectNonEmbeddedMetrics
2020-07-08 alcooper Remove vr_testapp from bots
2020-07-07 svenzheng Pixel tests add retry and disable some tests
2020-07-07 hypan android: Temporarily remove content_browsertests from L CQ builder
2020-07-07 bpastene Remove all unused build & test configs for betty CrOS testers.
2020-07-07 sreejakshetty [bfcache] Filter out newly failing content_browsertests
2020-07-07 dhoss Add CupsIppPrintingBackend experiment to field trial testing config
2020-07-07 wenbinzhang [benchmarking] Disable android-go-perf tester from uploading perf data
2020-07-07 dpranke Reland "Remove //chrome/test wrapper targets for angle."
2020-07-07 bpastene Enable pre-test flashing on all internal CrOS device tests.
2020-07-07 mbonadei Smoke tests to check Abseil is built with ABSL_OPTION_HARDENED=1.
2020-07-07 sreejakshetty [bfcache] Filter out new content_unittests failures
2020-07-07 sreejakshetty [bfcache] Filter out newly failing chrome_public_test_apk
2020-07-07 ricea Add WebSocketReassembleShortMessages config
2020-07-07 sreejakshetty [bfcache] Filter out newly failing unit_tests
2020-07-07 alito Enable WebRTC-SendSideBwe-WithOverhead field trial for testing.
2020-07-07 khushalsagar cc: Enable desychronized scrolling for field trial testing.

Roll third_party/googletest/ 356f2d264..a781fe29b (10 commits)

356f2d264a..a781fe29bc

$ git log 356f2d264..a781fe29b --date=short --no-merges --format='%ad %ae %s'
2020-07-13 ofats Googletest export
2020-07-11 ashikpaul17 Fixed some minor typos
2020-07-09 absl-team Googletest export
2020-07-07 ofats Googletest export
2020-07-07 absl-team Googletest export
2020-07-07 absl-team Googletest export
2020-04-11 olivier.ldff use target_compile_features to use c++11 if cmake > 3.8
2020-06-19 amatanhead Make EXPECT_THROW and EXPECT_NO_THROW macros more informative
2020-05-30 eli fix compilation on OpenBSD 6.7
2020-01-22 mjvk Fixes extensions missing for QNX

Roll third_party/spirv-tools/ bd2a9ea85..717e7877c (35 commits)

bd2a9ea852..717e7877ca

$ git log bd2a9ea85..717e7877c --date=short --no-merges --format='%ad %ae %s'
2020-07-17 alanbaker Store location values sparsely (#3488)
2020-07-17 dneto Permit Simple and GLSL450 memory model in WEBGPU_0 (#3463)
2020-07-17 antonikarp spirv-fuzz: support floating-point in TransformationInvertComparisonOperator (#3551)
2020-07-17 stefanomil Change MaybeApplyTransformation to return a boolean (#3555)
2020-07-17 stefanomil spirv-fuzz: Implement MaybeApplyTransformation helper function (#3540)
2020-07-17 stefanomil spirv-fuzz: Assert false in IsApplicable method of TransformationAccessChain (#3528)
2020-07-16 vasniktel spirv-fuzz: Add support for OpBitcast to TransformationEquationInstruction (#3523)
2020-07-16 vasniktel spirv-fuzz: Add support for OpConvert to TransformationEquationInstruction (#3472)
2020-07-15 alanbaker Fix reachability in the validator (#3541)
2020-07-15 vasniktel spirv-fuzz: Remove TransformationCopyObject (#3531)
2020-07-15 vasniktel spirv-opt: Add support for OpLabel to dominator analysis (#3516)
2020-07-15 stefanomil spirv-fuzz: Fuzzer pass to interchange zero-like constants (#3524)
2020-07-15 afdx spirv-fuzz: Add replay range option (#3535)
2020-07-14 jaebaek Rewrite KillDebugDeclares() (#3513)
2020-07-14 andreperezmaselco.developer spirv-fuzz: Fix instruction insertion issue (#3521)
2020-07-14 andreperezmaselco.developer spirv-fuzz: Implement the OpMatrixTimesMatrix linear algebra case (#3527)
2020-07-14 greg Add support to GPU-AV instrumentation for Task and Mesh shaders (#3512)
2020-07-14 andreperezmaselco.developer spirv-fuzz: Support adding dead break from back-edge block (#3519)
2020-07-14 andreperezmaselco.developer Support OpPhi when replacing boolean constant operand (#3518)
2020-07-12 vasniktel spirv-fuzz: TransformationAddSynonyms (#3447)
2020-07-11 vasniktel spirv-fuzz: Remove unused functions (#3510)
2020-07-11 vasniktel spirv-fuzz: Minor refactoring (#3507)
2020-07-10 greg Preserve OpenCL.DebugInfo.100 through elim-local-single-store (#3498)
2020-07-10 jaebaek Preserve debug info in vector DCE pass (#3497)
2020-07-10 stefano.milizia00 Implement transformation to record synonymous constants. (#3494)
2020-07-09 jaebaek Fix build failure (#3508)
2020-07-09 greg Upgrade elim-local-single-block for OpenCL.DebugInfo.100 (#3451)
2020-07-09 vasniktel spirv-fuzz: TransformationReplaceParameterWithGlobal (#3434)
2020-07-09 andreperezmaselco.developer Implement the OpMatrixTimesVector linear algebra case (#3500)
2020-07-08 jaebaek Preserve OpenCL.100.DebugInfo in reduce-load-size pass (#3492)
2020-07-08 andreperezmaselco.developer spirv-fuzz: Add image sample unused components transformation (#3439)
2020-07-07 andreperezmaselco.developer spirv-fuzz: Add variables with workgroup storage class (#3485)
2020-07-07 andreperezmaselco.developer spirv-fuzz: Implement the OpVectorTimesMatrix linear algebra case (#3489)
2020-07-07 vasniktel spirv-fuzz: fuzzerutil::MaybeGetConstant* #3487
2020-07-06 jaebaek Debug info preservation in copy-prop-array pass (#3444)

Roll tools/clang/ b49c12a8f..6412135b3 (10 commits)

b49c12a8f3..6412135b39

$ git log b49c12a8f..6412135b3 --date=short --no-merges --format='%ad %ae %s'
2020-07-15 aeubanks Set -DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=OFF
2020-07-15 hans Clang: fix syntax error in build.py
2020-07-15 hans Clang: the tip-of-tree version is now 12.0.0
2020-07-14 lukasza Teach the rewriter about additional thirdy-party paths.
2020-07-12 bartekn Fix a field and add more to manual-fields-to-ignore.txt
2020-07-11 thakis Roll clang n358615-fb1aa286-3 : n359864-04b9a46c-1.
2020-07-10 thakis clang/win bots: Switch to gnuwin-13.
2020-07-08 lukasza Only exclude const-qualified char pointers.
2020-07-08 lukasza Make raw-output-tests ignore changes in absolute path of Chromium repo.
2020-07-07 glenrob Always remove gomacc in compile_db.py, so clang is called directly.

Created with:
  roll-dep build buildtools testing third_party/binutils third_party/googletest third_party/spirv-headers third_party/spirv-tools tools/clang

R=rharrison@google.com
Change-Id: I1f5a20578b6909f556270c807b6be048a97182db

Change-Id: I8cf650a6be72c832bf50e74b4aed1ed1aff9b661
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25160
Reviewed-by: David Neto <dneto@google.com>
2020-07-17 17:04:06 +00:00
David Neto 3c3d2275fe [spirv-reader] Support Location on module vars
Bug: tint:3
Change-Id: If7fc85251cbffab477b0b4f86c204de6c6a853f6
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25103
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-16 21:13:58 +00:00
David Neto d8a4d4b06f [spirv-reader] Ignore empty string user names
Bug: tint:3
Change-Id: Ibef645b123706cf9fa7d5b98413a709d4624244d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25102
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-16 20:58:09 +00:00
David Neto 5f43fedcdd [spirv-reader] Handle gl_Position
Emits it as a module-level variable.  Deconstruct and throw away
the gl_PerVertex struct.

Not handled: unusual patterns that are technically valid but
which don't occur in practice:
- loading, storing, or producing intermediate values of the whole structure.
- multiple definitions of the per-vertex structure (e.g. if someone had
  put both a vertex shader and a tessellation shader in the same
  module.)

Bug: tint:3, tint:99
Change-Id: I3ad9ff6ab780a002367f01f385bfa7d6ddba6db9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24880
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-16 20:15:22 +00:00
Ryan Harrison 31cfdb111e Clean up how deps are defined in BUILD.gn
gn gen --check is failing in chromium due to how includes are propagated
out of deps. Re-organizing them to resolve this.

Change-Id: I3c21bbb0cb8b5bc5bdad4ab97d557d718a3cdc33
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25120
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-16 20:13:16 +00:00
dan sinclair 53b1770d06 Remove refs.cfg.
After submitting the last CL I received an email with the note:

Some configs in revision 780c594 in tint repo have validation errors.
luci-config had to reject all configs in this revision.

  * ERROR: refs.cfg: refs.cfg is not used since 2019 and must be deleted

Change-Id: I40c4fcdccd9af53aa47e32f074065782876f179d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25080
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-07-16 19:02:29 +00:00
dan sinclair 780c5941b5 Fixup group list name
The try job group is project-tint-tryjobs-access.

Change-Id: Ib9541dbc36ec08d3b90850808a1d118926f2e110
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25061
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-16 18:41:14 +00:00
dan sinclair 4264af9d3d [msl-writer] Emitting of program constants.
This CL adds code to emit program constants in the MSL backend.

Bug: tint:8
Change-Id: I63e40983253349d2e293904fbe9b6f543b885b34
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24940
Reviewed-by: David Neto <dneto@google.com>
2020-07-16 17:54:26 +00:00
dan sinclair 3f10421cee [msl-writer] Fixup matrix and array constructors.
This CL fixes up the array constructors to emit `{}` instead of
`<type>[<size>]()`. The matrix example is also updated to have the
correct data format for WGSL matrices which fixes the MSL output.

Bug: tint:8
Change-Id: I3a08a8814d4b8b38a57b6324e2182a271c958ef3
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25060
Reviewed-by: David Neto <dneto@google.com>
2020-07-16 14:35:44 +00:00
dan sinclair 4556cbe24f Differentiate size and stride in array type name.
This CL adds a `_stride_` into the array type name to differentiate an
array of 8 elements and a runtime array of stride 8.

Bug: tint:102
Change-Id: Iaf10fe5957acde16a9ccdf2a0fd8a83e47bb57bc
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24962
Reviewed-by: David Neto <dneto@google.com>
2020-07-16 14:02:40 +00:00
David Neto aa601387a2 [spirv-reader] Support duplicate type definitions
Affects structs, runtime arrays

Bug: tint:3, tint:99
Change-Id: I9ca73f8f3f6395c829d134460ad4b1a9e50c3ec9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24720
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-16 13:00:37 +00:00
dan sinclair b0391c6fa4 [msl-writer] Add struct offset support.
This CL adds support for injecting padding into structs in the MSL
backend.

Bug: tint:8
Change-Id: I83631a71ce4a2f00b61974ee2c0c7ca1b97f3028
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24601
Reviewed-by: David Neto <dneto@google.com>
2020-07-15 20:54:48 +00:00
dan sinclair 7caf6e5959 [msl-writer] Add builtin support
This CL extends module scoped variables to include support for builtins.

Bug: tint:8
Change-Id: I9e4363be32401bfdd45ad5d1727d9432aca206fe
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24786
Reviewed-by: David Neto <dneto@google.com>
2020-07-15 20:51:16 +00:00
dan sinclair 5423d91d87 Add helpers for referenced variables.
This CL adds a helper to get referenced builtins and referenced
locations from the ast::Function.

Change-Id: I95cf7efd6b0fe9569c5e514d3245112e78147ffe
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24783
Reviewed-by: David Neto <dneto@google.com>
2020-07-15 18:26:25 +00:00
dan sinclair d1684ed287 [msl-writer] Refactor some entry point variable code.
This CL cleans up some of the entry point variable code.

Bug: tint:8
Change-Id: Ic89ff3608d34af26eeb9fe9408cdbd5c7de22dda
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24782
Reviewed-by: David Neto <dneto@google.com>
2020-07-15 18:26:17 +00:00
dan sinclair df415a8919 [msl-writer] Generate entry point functions.
This CL generates entry point functions and duplicate functions as
needed to call from the entry points.

Bug: tint:8
Change-Id: I8092ce463248e7a887c26ae05b0774e8fa21ab94
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24764
Reviewed-by: David Neto <dneto@google.com>
2020-07-15 18:04:11 +00:00
dan sinclair c5a5f9666f [msl-writer] Handle emitting user function calls.
This CL adds support for calling user defined functions from the MSL
backend. Intrinsics and imports are not handled yet.

Bug: tint:8
Change-Id: I45c3078d014ab89cc0eec76dd626759077e1a890
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24763
Reviewed-by: David Neto <dneto@google.com>
2020-07-14 20:37:38 +00:00
dan sinclair de2dd68f2b Inherit refererenced globals up the call stack.
A given caller should inherit the globals referenced from a callee. This
way, a given entry point will have a list of all the variables used up
the stack which it needs to reference.

Change-Id: Ib6efcdd5c3347749ad2d54aecfa425bd966a62fd
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24762
Reviewed-by: David Neto <dneto@google.com>
2020-07-14 20:37:28 +00:00
dan sinclair a2eb8c52b2 [msl-writer] Generate input/output structs
This CL adds generation of the input/output structures for entry points.

Bug: tint:8
Change-Id: I93942496bcea0a2eea944e5e1cd0baf383530f5e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24721
Reviewed-by: David Neto <dneto@google.com>
2020-07-14 20:37:20 +00:00
dan sinclair 16890b9ce8 Add determination of entrypoint callees.
This Cl updates the type determiner to annotate each function with the
name of any entry points which call into the given function. This will
allow determining in the backends if we need to duplicate the function
due to differing entry point parameter requirements.

Bug: tint:8
Change-Id: Icd7c4ccab72dd6eabcf0abaf1159319949c4ecf5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24760
Reviewed-by: David Neto <dneto@google.com>
2020-07-14 19:45:47 +00:00
dan sinclair 8604eb4495 Update cube example
This Cl updates the cube example to use unique names for the entry
points and fixes the duplicate name used for fragColor between the
vertex and fragment shaders.

Change-Id: Icb77897bac88f7641cab2702b37573bfd771a586
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24781
Reviewed-by: David Neto <dneto@google.com>
2020-07-14 19:43:02 +00:00
David Neto 919011af0a [spirv-reader] Refactor how we emit const definitions
Take the type of a const-definition (or a write to a hoisted variable)
from the generated expression rather than the directly-converted type
from the SPIR-V ID.

This prepares the way for remapping storage buffers from
Uniform/BufferBlock to StorageBuffer/Block representation.

Bug: tint:99
Change-Id: I6104d8ad96312053562468a3cdb247932c1cb6cb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24604
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-13 14:16:12 +00:00
David Neto 018428dcd0 [spirv-reader] avoid using WGSL reserved words
Bug: tint:3
Change-Id: I8ab9ee4604f725cefcfab854e953caba7051b1ee
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24524
Reviewed-by: dan sinclair <dsinclair@chromium.org>
2020-07-13 14:15:52 +00:00
dan sinclair 25058a9213 [msl-writer] Fix output of array-of-array.
This CL fixes the output of multi-dimentional arrays in the MSL backend.

Bug: tint:7, tint:100
Change-Id: I8fe925145973555f77673e9db97f150077e2471f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24560
Reviewed-by: David Neto <dneto@google.com>
2020-07-10 00:03:19 +00:00
dan sinclair 45101598a1 [msl-writer] Add variable declarations.
This CL adds variable declarations to the MSL backend.

Bug: tint:7
Change-Id: Icf63ad44a217213e5036eb76429e25a3031822eb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24540
Reviewed-by: David Neto <dneto@google.com>
2020-07-08 20:52:46 +00:00
dan sinclair d0f7381090 [msl-writer] Better error message for missing statement and expression.
If the statement or expression being emitted is not implemented this
will now output the failed statement.

Bug: tint:7
Change-Id: I8a359abd369067540d503a1facbee018e91e8666
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24523
Reviewed-by: David Neto <dneto@google.com>
2020-07-08 18:29:21 +00:00
dan sinclair 723c5b4889 [msl-writer] Add missing include.
Need the algorithm include to build on Windows.

Bug: tint:7
Change-Id: I5691c9e30c762271c767934921fe925120a67e01
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24522
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-07-08 17:17:46 +00:00
dan sinclair 928f59ca46 [msl-writer] Handle remapping remap collisions.
If the remapper give an ident a new name which collides with a future
ident name we need to rename the future name to not collide.

Bug: tint:7
Change-Id: I162a3071f75ed714cee730b78aebefa8c75c77de
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24521
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-07-08 17:17:35 +00:00
dan sinclair 28ba9a369e Fixup format parsing in sample app.
This Cl fixes up the format parsing so it doesn't get recognized as an
invalid option.

Change-Id: I92626830ef36c3de5908edeb8900afd5807b31b0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24520
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-07-08 15:28:26 +00:00
Ryan Harrison 7b819aa162 Multiple fixes to get BUILD.gn builds working again
Change-Id: I00c8050d85e25c4e926c06b4df1381434de92f34
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24460
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-07-07 19:11:07 +00:00
David Neto 6453bee795 [spirv-reader] Even better hoisted variables
Use the fact that in WGSL the scope corresponding to the loop construct
encloses the scope for its associated continue construct.
In our construct data structure, the two are adjacent but not
overlapping.

This improvement means that when a definition is in a loop construct,
but used only in the loop or associated continue construct, then no
hoisting is required.

Bug: tint:3
Change-Id: I8d33b8f76303ab2868306847e846b4c26899e746
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24420
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-07-07 17:25:48 +00:00
dan sinclair 6249e38189 Use Tint Generator Number.
This Cl updates the code to use the new Tint generator ID.

Bug: tint:5

11d7637e7a..308bd07424

$ git log 11d7637e7..308bd0742 --date=short --no-merges --format='%ad %ae %s'
2020-06-26 dj2 Register the Tint compiler

Created with:
  roll-dep build buildtools testing third_party/binutils third_party/googletest third_party/spirv-headers third_party/spirv-tools tools/clang

Change-Id: I703d7bf7ad81bc6190e45a5271a30bc7110f4cb7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24401
Reviewed-by: David Neto <dneto@google.com>
2020-07-06 19:50:42 +00:00
David Neto 91cb60f2ec [spirv-reader] Improve placement of hoisted vars
When we hoist a variable out of a continue construct, put it
in associated loop construct, if it exists.  This reduces its
lifetime in WGSL, and easier to understand as a code reader.

Change-Id: I8f0cc37640bfe67874cbc27b55029e79e9a8992c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/24321
Reviewed-by: dan sinclair <dsinclair@google.com>
2020-07-06 18:10:52 +00:00