This CL adds wgsl tests for the following rules:
v-switch01: switch statement selector expression must be of a scalar integer type
v-0008: switch statement must have exactly one default clause
v-switch03: the case selector values must have the same type as the selector expression the case selectors for a switch statement
v-switch04: a literal value must not appear more than once in the case selectors for a switch statement
v-switch05: a fallthrough statement must not appear as the last statement in last clause of a switch
Bug: tint: 6
Change-Id: Ia12b7d13d47b01e970a5a1e58d61ef05dd9f3830
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/28320
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: David Neto <dneto@google.com>
This CL adds validation for the following rules:
v-switch01: switch statement selector expression must be of a scalar integer type
v-0008: switch statement must have exactly one default clause
v-switch03: the case selector values must have the same type as the selector expression the case selectors for a switch statement
v-switch04: a literal value must not appear more than once in the case selectors for a switch statement
v-switch05: a fallthrough statement must not appear as the last statement in last clause of a switch
Bug: tint: 6
Change-Id: I264d5079cc6cb31075965c8721651dc76f3e2a24
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/28062
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: David Neto <dneto@google.com>
The get-by-name method on the function stack already
tells us if the name exists. We don't have to check,
and then get it later.
Change-Id: I26a1d395a9986df48f598055c3bc2864d94c87a8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/28260
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com>
Until now, we were only setting the function name.
Bug: tint:3
Change-Id: I6d82f6e9744201a04cc8969013694e2e8304a928
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/28080
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
This CL adds a rule to separate global variables and global consts in regards to storage class:
v-0022: Global variables must have a storage class
v-global01: const variables shouldn't have a storage class
Bug: tint: 225
Change-Id: I53d84afd771c78d91eaf47568e954986abf38e58
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/28141
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
This CL adds a return to convert_image_format_to_spv function to stop
clang from failing with this error: "control reaches end of non-void
function." because we haven't covered all the enums in the switch.
Change-Id: Ibcb02ff52ca4c6e597a36f5c3d57e41df9e7b02a
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/28061
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
This Cl adds the preliminary GenerateEntryPoint method to the WGSL
writer.
Bug: tint:211
Change-Id: Ib414ff66d482179f10eeeb890f6127bc585cd664
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/28045
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
This CL adds the stub methods for the various backends to generate
individual <pipeline stage, entry point> pairs.
Bug: tint:211
Change-Id: I7c5c6af4b44cb78976e4388a2b2174ee1a116531
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/28044
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: David Neto <dneto@google.com>
This CL allows the backend generators to be reset so they can be re-run
again.
Bug: tint:211
Change-Id: I67b0c650d0ab4615130777becc513099247339c9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/28043
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: David Neto <dneto@google.com>
This Cl will setup the code to allow a Reset method to be added to the
generators.
Bug: tint:211
Change-Id: I41c3aaf0daf832729aea9c76500e297ae32d7f5e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/28042
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: David Neto <dneto@google.com>
This CL adds 6 unit tests for validating switch statements.
v-switch01: switch statement selector expression must be of a scalar integer type
v-switch02: switch statement must have exactly one default clause
v-switch03: the case selector values must have the same type as the selector expression
v-switch04: a literal value must not appear more than once in the case selectors for a switch statement
v-switch05: a fallthrough statement must not appear as the last statement in last clause of a switch
Bug: tint: 6
Change-Id: I0283afec22e56097b6f63c8455da23b87dfe26dc
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27740
Commit-Queue: Sarah Mashayekhi <sarahmashay@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
This Cl simplifes the generated code for logical and/or expressions to
assign the LHS and RHS directly instead of using if statements.
Bug: tint:192
Change-Id: I358e07007510cf8df151a100fda678c1c299cf4f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/28040
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: David Neto <dneto@google.com>
This CL unifies the logical and/or HLSL code as it was mostly duplicate
code.
Bug: tint:192
Change-Id: Ied050afb0b054a9ccda1c8896edabf78deaa3709
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27921
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: David Neto <dneto@google.com>
This Cl adds more tests for the logical and/or expansion based on the
various statements and expressions where the expansion can happen.
Bug: tint:192
Change-Id: I143cf80402dc70e2fb89b6a41914cbbe167b5a96
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27920
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
This Cl emits the required code to handle LogicalAnd and LogicalOr short
circuting in HLSL.
Bug: tint:192
Change-Id: I30a88c207f7864e0a3c856d2dae1420c7ff35eb4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27782
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: David Neto <dneto@google.com>
This CL updates the if and else statement support to output the pre
streams in the proper places.
Bug: tint:192
Change-Id: If217de7f838fc033823987e20ba7efc5cd6108ff
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27781
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: David Neto <dneto@google.com>
This Cl updates the various statements to emit any pre strings which are
generated when emitting the statements.
Bug: tint:192
Change-Id: Ieb2e621a500c5d91a0b6a2938eabe8e2ffdd11d1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27800
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: David Neto <dneto@google.com>
This Cl updates all of the expression methods to accept a pre stream.
The prestream is used to output code _before_ the statement which is
executing the expression. This will allow for unwrapping logical and and
or expressions and emitting them prior to their expression.
Bug: tint:192
Change-Id: Ifb24e7b8964948a3893185710f17177aaec2a2c9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27780
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: David Neto <dneto@google.com>
Change-Id: I5ee292a4c408dc7ce368b2f078422ebce61dbf1f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27860
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
This missing in Dawn was being shadowed by spvc also including it.
BUG=dawn:521
Change-Id: I609cfcca74821ad07c0fd9e6fadf2c22fba40df0
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27901
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Roll build/ aae8259e7..b1d8cdddd (59 commits)
aae8259e75..b1d8cdddd3
$ git log aae8259e7..b1d8cdddd --date=short --no-merges --format='%ad %ae %s'
2020-08-31 pkotwicz Update renamed PRESUBMIT function in docs
2020-08-31 chromium-autoroll Roll Fuchsia SDK from 0.20200831.0.1 to 0.20200831.1.1
2020-08-31 chromium-autoroll Roll Fuchsia SDK from 0.20200830.3.1 to 0.20200831.0.1
2020-08-31 wenbinzhang Revert "Rename wrapper_scripts for generated_script tests in MB."
2020-08-30 chromium-autoroll Roll Fuchsia SDK from 0.20200830.1.1 to 0.20200830.3.1
2020-08-30 chromium-autoroll Roll Fuchsia SDK from 0.20200830.0.1 to 0.20200830.1.1
2020-08-30 chromium-autoroll Roll Fuchsia SDK from 0.20200829.3.1 to 0.20200830.0.1
2020-08-30 chromium-autoroll Roll Fuchsia SDK from 0.20200829.2.1 to 0.20200829.3.1
2020-08-29 chromium-autoroll Roll Fuchsia SDK from 0.20200829.1.1 to 0.20200829.2.1
2020-08-29 chromium-autoroll Roll Fuchsia SDK from 0.20200828.3.1 to 0.20200829.1.1
2020-08-29 dpranke Add xvfb logic to all windowed test launcher targets.
2020-08-29 magchen Revert "Reland "Reland "X11 and Ozone: enable use_x11 and use_ozone"""
2020-08-28 chromium-autoroll Roll Fuchsia SDK from 0.20200828.1.1 to 0.20200828.3.1
2020-08-28 nharper Revert "Enable whole-program devirtualization for arm64 Android build."
2020-08-28 bjoyce Add result sink for test uploads.
2020-08-28 msisov Reland "Reland "X11 and Ozone: enable use_x11 and use_ozone""
2020-08-28 dpranke Rename wrapper_scripts for generated_script tests in MB.
2020-08-28 chromium-autoroll Roll Fuchsia SDK from 0.20200828.0.1 to 0.20200828.1.1
2020-08-28 benmason Revert "Update TrichromeChrome version code."
2020-08-28 chromium-autoroll Roll Fuchsia SDK from 0.20200827.3.2 to 0.20200828.0.1
2020-08-28 dewittj [AAR] Re-enable info file asserts.
2020-08-28 thomasanderson Reland "Roll sysroots"
2020-08-28 chromium-autoroll Roll Fuchsia SDK from 0.20200826.2.2 to 0.20200827.3.2
2020-08-27 smaier Removing extract_assets from android_aar_prebuilt
2020-08-27 msisov Reland "linux sysroot: fix libwayland-client-symbols file."
2020-08-27 chonggu [Fuchsia] Switch to dynamic loading of loosely-coupled target modules.
2020-08-27 waynepie [Fuchsia] Add recommended command-line to get access to /dev/kvm
2020-08-27 wez [fuchsia] Use virtio-net-pci for both ARM64 and x64 emulation.
2020-08-27 thomasanderson Revert "Roll sysroots"
2020-08-27 agrieve Revert "Android: Enable vertical class merging in R8"
2020-08-27 sclittle Revert "linux sysroot: fix libwayland-client-symbols file."
2020-08-27 thomasanderson Roll sysroots
2020-08-27 msisov linux sysroot: fix libwayland-client-symbols file.
2020-08-27 msisov Revert "Reland "X11 and Ozone: enable use_x11 and use_ozone""
2020-08-27 agrieve Remove unused constant build_utils.JAVA_PATH
2020-08-26 chromium-autoroll Roll Fuchsia SDK from 0.20200826.1.1 to 0.20200826.2.2
2020-08-26 chromium-autoroll Roll Fuchsia SDK from 0.20200826.0.1 to 0.20200826.1.1
2020-08-26 yukishiino base/allocator: Fix android_cronet build with PA-Everywhere
2020-08-26 msisov Reland "X11 and Ozone: enable use_x11 and use_ozone"
2020-08-26 wuwang Replaces uncommon char in file name for filesystem compatibility.
2020-08-26 chromium-autoroll Roll Fuchsia SDK from 0.20200825.3.1 to 0.20200826.0.1
2020-08-26 mark mac/arm64: Update to Xcode 12b6 (12A8189n)
2020-08-26 kouhei Specify libtinfo5 legacy package for building on Ubuntu 20.04
2020-08-25 chromium-autoroll Roll Fuchsia SDK from 0.20200825.1.1 to 0.20200825.3.1
2020-08-25 caseq Revert "X11 and Ozone: enable use_x11 and use_ozone"
2020-08-25 smaier Ignoring raw resources in HardcodeSharedLibraryDynamicAttributes
2020-08-25 msisov X11 and Ozone: enable use_x11 and use_ozone
2020-08-25 thestig Fix outdated comment in install-build-deps.sh.
2020-08-25 thestig install-build-deps: select between lib32gcc1 and lib32gcc-s1 as needed.
2020-08-25 wnwen Android: Ignore AppCompatResource lint warning
2020-08-25 msisov lacros: don't set pangocairo
2020-08-25 chromium-autoroll Roll Fuchsia SDK from 0.20200825.0.1 to 0.20200825.1.1
2020-08-25 agrieve Android: Enable vertical class merging in R8
2020-08-25 chromium-autoroll Roll Fuchsia SDK from 0.20200824.3.1 to 0.20200825.0.1
2020-08-25 brucedawson Handle toolchains with/without ..\.. in variables
2020-08-25 nbilling Implement DWARF Fission support in Chrome Android.
2020-08-25 caseq Fix headless build broken after #800929
2020-08-24 chromium-autoroll Roll Fuchsia SDK from 0.20200824.2.1 to 0.20200824.3.1
2020-08-24 chromium-autoroll Roll Fuchsia SDK from 0.20200824.0.1 to 0.20200824.2.1
Roll testing/ 3a36cd6d9..2691851e4 (48 commits)
3a36cd6d92..2691851e49
$ git log 3a36cd6d9..2691851e4 --date=short --no-merges --format='%ad %ae %s'
2020-08-31 jonahr Reduce webgl testing load on Mac Pro
2020-08-31 wenbinzhang Revert "Rename wrapper_scripts for generated_script tests in MB."
2020-08-29 dpranke Add xvfb logic to all windowed test launcher targets.
2020-08-29 zhaoyangli [iOS][infra] Run tests in iOS14 runtimes on ios-simulator-full-configs
2020-08-28 dpranke Rename wrapper_scripts for generated_script tests in MB.
2020-08-28 rmhasan skew tests, weblayer: Use temporary CIPD package tags
2020-08-28 wuwang Disable chrome_java_test_wpr_tests on Marshmallow 64 bit Tester
2020-08-27 dpranke Rework command handling for MB generated_scripts.
2020-08-27 svenzheng [lacros] Disable some content_browsertests
2020-08-27 zhaoyangli [iOS][infra] Remove iOS14 tester pool "chromium.tests.ios14" config.
2020-08-27 livvielin Enable HTTPDangerWarning by default
2020-08-27 cyan [Tab Groups Collapse] Add field trial testing config.
2020-08-27 fdoray Revert "[blink scheduler] Add OptOutWebRTCFromAllThrottling to testing config."
2020-08-27 ajuma [iOS] Add field trial testing config for real-time Safe Browsing
2020-08-27 javierrobles [iOS][Biometric-Auth] Add experiment config
2020-08-27 schwering [Autofill] Field trial config for user-filled-override fix.
2020-08-27 schwering [Autofill] Launched company-name blacklisting experiments.
2020-08-27 jinsukkim Enable gesturenav flaky test on android-pie-x86-fyi-rel
2020-08-26 dom Delay competing low priority requests in the renderer
2020-08-26 szager Add fieldtrial config for CompositeCrossOriginIframes
2020-08-26 rmhasan Change indents in variants.pyl to match other .pyl files
2020-08-26 sgilhuly Add test names to parameterized cc_unittests
2020-08-26 zhaoyangli [infra] Roll iOS bots to Xcode 12 beta 6 12a8189n.
2020-08-26 chonggu [Fuchsia] Enable more gpu integration tests on Fuchsia CI and CQ
2020-08-26 sgilhuly Enable TranslucentRectangles test on SkiaRenderer Dawn
2020-08-26 thestig Remove EnableCustomMacPaperSizes feature flag.
2020-08-26 mohsen Removed field trial config for DisableLatencyRecoveryDesktop
2020-08-26 yaoxia Field trial testing config for FlocIdComputedEventLogging
2020-08-26 jdeblasio [MIX-DL] Update field trial testing config
2020-08-26 rmhasan skew testing: Add variants.pyl owners
2020-08-25 dtseng Adds support for EventFrom action in desktop tree
2020-08-25 estaab Relax requirement to run web tests on Mac 10.13 bots with GPUs.
2020-08-25 svenzheng [lacros] Disable some flaky browser and interactive ui tests
2020-08-25 hypan Revert "android: Temporarily remove content_browsertests from L CQ builder"
2020-08-25 kmilka Add SharingHub to fieldtrial testing config
2020-08-25 twellington Reland "Disable P/CompositorImplBrowserTestRefreshRate.VideoPreference on M x86"
2020-08-25 hypan Revert "Disable P/CompositorImplBrowserTestRefreshRate.VideoPreference on M x86"
2020-08-25 hypan android: Increase the expiration for builders Android WebView {N,O} (dbg)
2020-08-25 gbeaty Set compile targets for chromium builders in test specs.
2020-08-25 sinansahin [Offline indicator v2] Add field trial testing entry
2020-08-25 vovoy Enable CrOSUserSpaceLowMemoryNotification by default
2020-08-24 svenzheng [lacros] Run components_unittests on CQ
2020-08-24 twellington Disable P/CompositorImplBrowserTestRefreshRate.VideoPreference on M x86
2020-08-24 michaelbai Support simulation of internal-profile reporting
2020-08-24 mcrouse [LiteVideo] Fieldtrial updated for beta experiment.
2020-08-24 johnchen [Perf] Configure android-pixel4a_power-perf bot
2020-08-24 jeffyoon Reland "[ios] noncq to run tests on 14.0 simulators"
2020-08-24 rmhasan weblayer: Add skew tests for new versions released in beta
Roll third_party/googletest/ 1e315c5b1..df6b75949 (1 commit)
1e315c5b1a..df6b75949b
$ git log 1e315c5b1..df6b75949 --date=short --no-merges --format='%ad %ae %s'
2020-08-26 absl-team Googletest export
Roll third_party/spirv-tools/ 4dd122392..8a0ebd40f (14 commits)
4dd122392f..8a0ebd40f8
$ git log 4dd122392..8a0ebd40f --date=short --no-merges --format='%ad %ae %s'
2020-08-31 jaebaek Correctly replace debug lexical scope of instruction (#3718)
2020-08-28 afdx spirv-fuzz: Remove opaque pointer design pattern (#3755)
2020-08-27 stefanomil spirv-fuzz: Create synonym via OpPhi and existing synonyms (#3701)
2020-08-27 stefanomil Add LoopNestingDepth function to StructuredCFGAnalysis (#3754)
2020-08-27 afdx spirv-fuzz: Do not make synonyms of void result ids (#3747)
2020-08-26 greg Do not register DebugFunction for functions optimized away. (#3749)
2020-08-26 jaebaek Handle DebugScope in compact-ids pass (#3724)
2020-08-26 afdx spirv-fuzz: Overflow ids (#3734)
2020-08-25 greg Fix DebugNoScope to not output InlinedAt operand. (#3748)
2020-08-25 vasniktel spirv-fuzz: Split the fact manager into multiple files (#3699)
2020-08-25 andreperezmaselco.developer spirv-fuzz: Add inline function transformation (#3517)
2020-08-25 vasniktel spirv-fuzz: Fix MaybeGetZeroConstant (#3740)
2020-08-24 greg Fix SSA-rewrite to remove DebugDeclare for variables without loads (#3719)
2020-08-24 stevenperron Add undef for inlined void function (#3720)
Roll tools/clang/ 9784c4f72..fcef86e30 (7 commits)
9784c4f72a..fcef86e30a
$ git log 9784c4f72..fcef86e30 --date=short --no-merges --format='%ad %ae %s'
2020-08-31 hans blink_gc_plugin: Update stack_allocated test expectations
2020-08-28 hans Fix the blink_gc_plugin tests after crrev.com/802490
2020-08-28 yukiy Remove a template param of LinkedHashSet in stub
2020-08-27 hans Roll clang llvmorg-12-init-3492-ga1caa302-1 : llvmorg-12-init-4187-g33ce275f-1.
2020-08-25 hans Clang build.py: Update gnuwin version to 14
2020-08-24 thakis clang upload script: Run mac-arm64-rel try bot on compiler rolls.
2020-08-24 thakis clang upload script: sort cq-include-trybots footer alphabetically
Created with:
roll-dep build buildtools testing third_party/googletest third_party/gpuweb-cts third_party/spirv-headers third_party/spirv-tools tools/clang
Change-Id: I0f041fc70616672a715e6a8e63e988e947cc59ff
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27762
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Set source location on function variable declarations, const
declarations, and most normal instructions.
Bug: tint:3
Change-Id: I469afcdf1b7d8f6d1e64617189a6fa329056737f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27700
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
That includes texture_load, texture_sample, texture_sample_level,
texture_sample_bias, texture_sample_compare. Also determining the
result type.
Change-Id: I9e6fb19964fa171ee9b0594633b2dfe95e3e38b1
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27360
Commit-Queue: Tomek Ponitka <tommek@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
If there is a continuing block we pull the variables declared in the
loop up into the scope outside the loop. This allows those variables to
be used in the continuing block.
We pull out all variables instead of detecting ones which are only used
in continuing as that's easier and still correct.
Bug: tint:187, tint:186
Change-Id: I1de0e36111a236ff04a323cf9777bc79e67afa77
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27620
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com>
Reviewed-by: David Neto <dneto@google.com>
This is required so we actually emit values that are only used
in phis.
Bug: tint:3, tint:215
Change-Id: I9d957a697839b8d09246905c3f28064f0bc01731
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27701
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
If OpLine debug instructions are present, use their line and column
numbers. Otherwise, use the instruction number as the line number, starting
counting from 1.
Bug: tint:3
Change-Id: Ia46c10732922b80b5737b13af1ef71f4259a3555
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27680
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
If a definition occurs in the first block of an IfSelection or
SwitchSelection, then it should count as belonging to the scope of the
parent of that if or switch selection. This prevents some bad hoisting
decisions.
Bug: tint:3, tint:213
Change-Id: I89df5e8cbc163577e19e78c2bf393eb1eec4a0aa
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27660
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: David Neto <dneto@google.com>
Follow the actual SPIR-V type when computing a composite extract
instad of the canonicalized view in the optimizer's type manager.
Do this so we can generate the correct member name for a struct,
rather than using the member name for the other representative
struct type. The optimizer's type canonicalizer is insensitive to
struct member names.
Prompted by tint:213, for which the original case was an
access chain.
Bug: tint:3, tint:213
Change-Id: I8705c7ee655fe47c8b7a3658db524fe18833efdb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27603
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Follow the actual SPIR-V type when computing an access chain expression,
instead of the canonicalized view in the optimizer's type manager.
Do this so we can generate the correct member name for a struct,
rather than using the member name for the other representative
struct type. The optimizer's type canonicalizer is insensitive to
struct member names.
Fixes tint:213
Bug: tint:3, tint:213
Change-Id: I88ec42a4cb049b011a59d5522e4cb39bc181a4fb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27602
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: dan sinclair <dsinclair@chromium.org>
This CL updates the WGSL parser to consume the closing } of an empty
struct.
Bug: tint:218
Change-Id: I0b17d2178b1b4b7f44fcf007da867db07dc2a6ae
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27600
Reviewed-by: Sarah Mashayekhi <sarahmashay@google.com>
Commit-Queue: dan sinclair <dsinclair@chromium.org>