10225 Commits

Author SHA1 Message Date
Ben Clayton
af8a8ac3d6 transform: Add Data as an input
Like 42264, this is an attempt to keep transforms immutable, and to keep mutable I/O information in Data objects.

Bug: tint:389
Change-Id: Ie417872d3e97f3db3904245a30aa74fdcce76610
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/46260
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
2021-03-29 21:03:59 +00:00
Ben Clayton
de1e3c02e3 Fix linter errors
Change-Id: I7b8b5c00503564d220e50eb245e812b4a5a109cd
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/46267
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: David Neto <dneto@google.com>
Reviewed-by: David Neto <dneto@google.com>
2021-03-29 20:16:36 +00:00
Dawn Autoroller
d7d98509da Roll Tint from 9ef17472e871 to 01ac3dd9176d (1 revision)
https://dawn.googlesource.com/tint.git/+log/9ef17472e871..01ac3dd9176d

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC enga@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Bug: None
Tbr: enga@google.com
Change-Id: I1f3bc9b183a7dccf30a3702d0a8ba27fccd4f9aa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46280
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-29 16:00:56 +00:00
Corentin Wallez
e91975c79e dawn_native: Use an internal GetQueue that doesn't add a ref
Previously various places in dawn_native were using Device::GetQueue to
get the queue for some operations, and were inadvertently adding a
reference to the queue. Fix this by adding a getter that doesn't add a
ref.

Bug: dawn:723
Bug: chromium:1185070
Change-Id: Iba127dbd631305762f4cc6c37816407056c52cff
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46001
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-03-29 15:40:55 +00:00
Ben Clayton
01ac3dd917 Add utils/hash.h
Contains hash combining functions borrowed and tweaked from Dawn

Change-Id: I0bc9478bcdba0b923d0b01825c275290ffa29976
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/46268
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-29 15:13:55 +00:00
Corentin Wallez
2ce4b905b2 dawn_native: Prefix all API methods with API
This means that calling wgpu::Object::DoStuff will translate to a call
to dawn_native::ObjectBase::APIDoStuff. This will clarify the
difference between reentrant calls and internal calls in dawn_native.
Avoiding issues in the future.

This CL only changes the code generator to prefix with "API", performs
renames needed to make the code compile, and adds TODOs for things that
should be fixed in follow-up CLs.

Bug: dawn:723

Change-Id: Ie24471fa093adc4179d33d13323429847d076ecb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45921
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-03-29 14:02:05 +00:00
Dawn Autoroller
b745df8537 Roll Tint from cea744d55887 to 9ef17472e871 (5 revisions)
https://dawn.googlesource.com/tint.git/+log/cea744d55887..9ef17472e871

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: I3ed41def656d05e53b77e0eb7cd3157a37a03c96
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46200
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-26 21:04:45 +00:00
Antonio Maiorano
9ef17472e8 Add semantic::Variable::Type() and use it instead of ast::Variable::type()
In anticipation of adding support for type inference, no longer use
ast::Variable::type() everywhere, as it will eventually return nullptr
for type-inferred variables. Instead, the Resolver now stores the final
resolved type into the semantic::Variable, and nearly all code now makes
use of that.

ast::Variable::type() has been renamed to ast::Variable::declared_type()
to help make its usage clear, and to distinguish it from
semantic::Variable::Type().

Fixed tests that failed after this change because variables were missing
VariableDeclStatements, so there was no path to the variables during
resolving, and thus no semantic info generated for them.

Bug: tint:672
Change-Id: I0125e2f555839a4892248dc6739a72e9c7f51b1e
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/46100
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2021-03-26 12:47:58 +00:00
David Neto
d7f23f5c75 spirv-reader: Fix mixed-signedness binary ops
Fixed: tint:666
Change-Id: I77331081fc5acc128be81e7b85a253bf6ebab608
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/46140
Auto-Submit: David Neto <dneto@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-26 12:13:18 +00:00
Corentin Wallez
1257152485 Use RefCounted for DeviceBase
DeviceBase implemented its own Reference / Release methods for
historical reasons. Replace them with RefCounted's version that are
similar, just more thread safe.

Bug: dawn:723
Change-Id: Ib26f3e231eb12fe09612c8b5639576e2f26a3cfd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46000
Commit-Queue: Stephen White <senorblanco@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-03-25 23:50:24 +00:00
James Price
c63a64b795 [msl-writer] Fix struct constructor emission
Zero value struct expressions may still be broken (tint:477).

Change-Id: I5cf2f13ed891a50e4b8f55ce4b80d2768aa358d9
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/46101
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-25 21:32:27 +00:00
Bryan Bernhart
1a232448d2 D3D12: Remove WrapSharedHandle
Removes WrapSharedHandle in favor of using
ExternalImageDXGI.

BUG=dawn:625

Change-Id: Ibd469600959aea344e7a59557d986fc673a79727
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46020
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
2021-03-25 21:31:34 +00:00
James Price
a696b027b3 [spirv-writer] Use const for function parameters
The backend was wrongly generating OpLoad instructions for function parameter
accesses since it thought they were pointers.

Run SPIR-V validation for the entry point IO tests.

Bug: tint:509
Change-Id: Ic816a22973fb87c7ede26bad8fb595764a333250
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45941
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: James Price <jrprice@google.com>
2021-03-25 20:49:37 +00:00
Dawn Autoroller
d9b56a02c5 Roll Tint from 5c9906e3079f to cea744d55887 (2 revisions)
https://dawn.googlesource.com/tint.git/+log/5c9906e3079f..cea744d55887

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: I9af8664e04190557b00a530694f4766c25281fae
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46080
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-25 20:25:24 +00:00
James Price
ea855a9144 [spirv-writer] Handle non-pointer struct member accessors
These map to OpCompositeExtract instructions.

Fixed: tint:662
Change-Id: Ibd865bdb16326de7932157cbdfe543394415b3ff
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45940
Auto-Submit: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: James Price <jrprice@google.com>
2021-03-25 20:16:48 +00:00
Brandon Jones
37ad44eef2 Allow Dawn to surface Tint internal compiler errors as uncaptured validation errors
Raises any ICE errors reported by Tint during shader validation as uncaptured
validation errors. This allows them to show up in Chrome's dev tools console, for
example.

BUG: dawn:718
Change-Id: I85741787103e6c1174b7c73be6b9860b988d6130
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45840
Reviewed-by: Ben Clayton <headlessclayton@gmail.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Brandon Jones <bajones@chromium.org>
2021-03-25 15:37:44 +00:00
Antonio Maiorano
cea744d558 Move Switch validation from Validator to Resolver
* Formerly, we reported the same error message if we detected no default
clause or more than one. I made it so that we output a different error
message for each. This makes it more clear, and in the case of more than
one, the error source location points at the second default clause,
rather than at the switch statement.

* Add functions to ProgramBuilder to more easily define switch and case
statements.

* Fix broken tests as a result of this change.

Bug: tint:642
Change-Id: Iab4e610a563165862d9bc190772d32a4dd24ac45
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45880
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2021-03-25 12:55:27 +00:00
Ryan Harrison
0f5c26d5fd Add checking for ICEs in fuzzers
BUG=tint:668

Change-Id: I6b0bf79873b01140b1e87ea60abeb623b031af23
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45942
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-25 11:40:07 +00:00
Corentin Wallez
6d0438c21e Add documentation for the codegen.
Also does small cleanups in dawn.json

Bug: None
Change-Id: Icbe8c9370496fa63fdd32b43d4f7a0666acf71c4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45920
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-03-24 20:29:42 +00:00
Stephen White
ee820ca7c2 Roll third_party/angle/ d8557cc88..0c9f22d3a (162 commits)
d8557cc88f..0c9f22d3a7

$ git log d8557cc88..0c9f22d3a --date=short --no-merges --format='%ad %ae %s'
2021-03-24 angle-autoroll Roll Chromium from f1617b736428 to bda1e3894abc (469 revisions)
2021-03-18 amy.liu Compression of the data from vkGetPipelineCacheData.
2021-03-23 xiaoxuan.liu Vulkan: Fix gl_SamplePosition XY-flip and rotation.
2021-03-23 reveman [Fuchsia] Add ifndefs to vulkan_fuchsia_ext.h
2021-03-09 syoussefi Vulkan: Use VK_EXT_multisampled_render_to_single_sampled
2021-03-22 ianelliott Update ANGLEWrangling.md with Hotlist-Wrangler
2021-03-22 rafael.cintron Enable D3D11 debug names in ANGLE release builds
2021-03-22 penghuang Disable timestamp queries for Mali-G31 and older GPUs
2021-03-23 jmadill Revert "Save/Load missing members"
2021-03-22 jmadill Vulkan: Rename Uniforms/XFB descriptor desc.
2021-03-23 angle-autoroll Roll Chromium from 3eced2421f5a to f1617b736428 (473 revisions)
2021-03-19 cnorthrop Tests: Add Real Cricket 20 trace
2021-03-22 ianelliott Fix copyright dates of new test files per Shabi
2021-03-08 cclao Vulkan: Add test for filament gltf usage case
2021-03-17 timvp Save/Load missing members
2021-03-19 cnorthrop Tests: Add android log library to traces
2021-03-17 timvp Reorder ShaderVariable functions and members
2021-03-19 m.maiya Handle inactive structure type varyings correctly
2021-03-19 m.maiya Vulkan: Handle compilation error involving gl_InvocationID
2021-03-19 cclao Vulkan: Rename onImageHelperRelease to finalizeImageLayout
2021-03-18 jmadill Vulkan: More cleanups to perf counters.
2021-03-21 cnorthrop Tests: Add Avakin Life - 3D Virtual World trace
2021-03-18 cheryl.wei Skip ResizeWindow test on Linux.
2021-03-20 m.maiya Vulkan: Don't acquire new BufferHelper for external buffers
2021-03-22 angle-autoroll Roll Chromium from c33e21cce932 to 3eced2421f5a (477 revisions)
2021-03-19 ianelliott Add multi-thread/context test for compute shaders
2021-03-19 capn Disable EGL_EXT_buffer_age for SwiftShader Vulkan
2021-03-17 cclao Vulkan: Add VUID-vkCmdDraw-None-04584 validation error to ignore list
2021-03-08 cclao Vulkan: Track images used for both attachment and sampler
2021-03-18 m.maiya Add isYUV to angle::Format
2021-03-08 cclao Vulkan: Defer color image layout changes at endRenderPass time
2021-03-15 geofflang D3D: Mark images dirty after recovering from storage
2021-03-19 angle-autoroll Roll vulkan-deps from 6ea3512e6349 to 91a2a0b15f23 (6 revisions)
2021-03-19 angle-autoroll Roll Chromium from e7ef5f7d0368 to c33e21cce932 (451 revisions)
2021-03-17 cnorthrop Tests: Add Ragnarok M: Eternal Love trace
2021-03-15 jiajia.qin Fix the assert error and inbalence parens for SSBO
2021-03-18 jmadill Vulkan: Use packed enum map for descriptor set index.
2021-03-18 jmadill Vulkan: Clean up shader buffer DS allocation.
2021-03-08 cclao Vulkan: Move CommandBufferHelper::reset() closer to constructor
2021-03-08 cclao Vulkan: Test render and sample the same texture but with different LOD
2021-03-17 gert.wollny scripts: Ignore "rapidsjon/..." when checking includes
2021-03-18 angle-autoroll Roll Chromium from 60fea25f23e6 to e7ef5f7d0368 (472 revisions)
2021-03-18 angle-autoroll Roll vulkan-deps from 105af117f053 to 6ea3512e6349 (13 revisions)
2021-03-17 jdarpinian Fix immutable texture base level validation
2021-03-12 cnorthrop Tests: Add June's Journey trace
2021-03-12 jmadill Use bitset masks for active shader buffers.
2021-03-08 m.maiya Reland "Vulkan: Support EXT_sRGB_write_control"
2021-03-16 syoussefi Vulkan: Fix missing dirty bits for compute
2021-03-17 angle-autoroll Roll SwiftShader from 69b79eec6533 to a98fb3f8380a (2 revisions)
2021-03-03 xiaoxuan.liu Reland "Add support for Linux GPU info with Vulkan backend"
(...)
2021-03-05 ianelliott Work-around eglSwapBuffersWithDamageKHR() bug
2021-03-08 jmadill Allow graceful no-error failure in CastStateValues.
2021-03-04 penghuang Reland "Fix bindFramebuffer problem with GLES2 devices"
2021-03-03 penghuang Reland "Fix two issues with GLES2 devices"
2021-03-09 penghuang Revert "Vulkan: Support EXT_sRGB_write_control"
2021-03-09 penghuang Revert "Fix bindFramebuffer problem with GLES2 devices"
2021-03-09 penghuang Revert "Fix two issues with GLES2 devices"
2021-03-09 angle-autoroll Roll SwiftShader from de7d5775ab25 to 023914a27b63 (2 revisions)
2021-03-09 angle-autoroll Roll vulkan-deps from 6691fcec0bce to 32692e5de307 (12 revisions)
2021-03-04 penghuang Disable worker contexts on Android emulator
2021-03-08 ynovikov Further suppress tests failing on Ozone.
2021-03-04 penghuang Fix bindFramebuffer problem with GLES2 devices
2021-03-06 lexa.knyazev Metal: Enable iOS pixel formats on macOS 11
2021-03-08 m.maiya Vulkan: Support EXT_sRGB_write_control
2021-03-04 penghuang Fix two GL_OES_texture_half_float related problems with GLES2
2021-03-05 ynovikov Add Win x86 chromium.angle bots to CQ
2021-03-03 penghuang Fix two issues with GLES2 devices
2021-03-07 lexa.knyazev Fix PVRTC1 frontend validation
2021-03-02 m.maiya Handle nullptr in GetQueryObjectParameter()
2021-03-08 angle-autoroll Roll SwiftShader from 6846389f25ca to de7d5775ab25 (1 revision)
2020-10-13 lexa.knyazev Metal: Implement OES_draw_buffers_indexed
2021-03-06 angle-autoroll Roll VK-GL-CTS from a9c07acc33bc to c4e6dbe68e04 (15 revisions)
2021-03-05 ynovikov Skip tests failing on Ozone.
2021-03-06 angle-autoroll Roll VK-GL-CTS from 9be79728eafb to a9c07acc33bc (6 revisions)
2021-03-05 angle-autoroll Roll Chromium from e3e89758c942 to 76f6150ffdeb (205 revisions)
2021-03-05 angle-autoroll Roll VK-GL-CTS from 9cdde06fb38a to 9be79728eafb (18 revisions)
2021-03-05 ynovikov Skip vulkan_car_parking_multiplayer on Win Intel
2021-03-05 ynovikov Skip CopyTextureVariationsTest failing on Ozone
2021-03-05 Amy.Liu Revert "Compression of the data from vkGetPipelineCacheData."
2021-03-05 lexa.knyazev Fix Apple GPU detection for M1
2021-03-04 lubosz.sarnecki capture_replay_tests: Don't skip tests that pass.
2021-02-27 syoussefi Vulkan: Keep dynamic buffer's free list trimmed
2021-03-05 angle-autoroll Roll vulkan-deps from c0db6ae3d87d to 6691fcec0bce (2 revisions)
2021-03-05 angle-autoroll Roll SwiftShader from 084529f3a9b9 to 6846389f25ca (1 revision)
2021-03-05 angle-autoroll Roll Chromium from 143c12daa39f to e3e89758c942 (782 revisions)
2021-02-27 m.maiya Add FramebufferAttachmentPerfTest
2021-03-04 enga Revert "Add support for Linux GPU info with Vulkan backend"
2021-03-02 m.maiya Vulkan: Unmap buffer when adding to mBufferFreeList
2021-03-01 natsu Vulkan: Enable EGL_ANDROID_recordable for EGL configs on SwiftShader
2021-03-04 jmadill infra/config: Rename console/list views.
2021-02-25 syoussefi Translator: Rename GLSL to SPIR-V in Vulkan and Metal output
2021-03-02 ynovikov Suppress UNINSTANTIATED_PARAMETERIZED_TEST failures on Ozone
2021-03-03 xiaoxuan.liu Add support for Linux GPU info with Vulkan backend
2021-03-02 lexa.knyazev Partially upgrade codegen to Python 3
2021-03-03 ynovikov Replace Win x64 dEQP GPU.FYI bots with chromium.angle bots
2021-03-04 angle-autoroll Roll SwiftShader from 106e01583a3a to 084529f3a9b9 (1 revision)
2021-03-04 angle-autoroll Roll vulkan-deps from 6c3f8d8c39b9 to c0db6ae3d87d (6 revisions)
2021-03-03 syoussefi Vulkan: Fix overlay graph widgets
2021-03-02 syoussefi Vulkan: Fix Overlay for prerotation
2021-03-02 syoussefi Vulkan: Workaround Overlay draw issue on Android

Created with:
  roll-dep third_party/angle

Change-Id: Ifb50462ee7be965e1bac8c377ef021614da56402
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45862
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2021-03-24 19:56:43 +00:00
Dawn Autoroller
ca7166ba8b Roll Tint from 84ef13c84fb3 to 5c9906e3079f (3 revisions)
https://dawn.googlesource.com/tint.git/+log/84ef13c84fb3..5c9906e3079f

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Bug: None
Tbr: bclayton@google.com
Change-Id: I5cb4bd2003ef9236094884062204fc73e4f38be1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45960
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-24 19:48:33 +00:00
Ryan Harrison
9138fe253b Add test to confirm validation rejects invalid WGSL
BUG=dawn:504

Change-Id: If09b12d4df9c7aedcb28b4640557cc3cae6e989d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45700
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-24 19:39:33 +00:00
James Price
5c9906e307 [spirv-writer] Handle entry point IO struct types
Recursively hoist struct members out to module-scope variables, and
redeclare the structs without entry point IO decorations. Generate a
function for storing entry point outputs to the corresponding
module-scope variables and replace return statements with calls to
this function.

Fixed: tint:509
Change-Id: I8977f384b3c7425f844e9346dbbde33b750ea920
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45821
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2021-03-24 17:08:06 +00:00
Corentin Wallez
60ca94ba10 Pull buildtools DEPS directly instead of via recursedeps
Bug: chromium:1177288

Includes the following rolls:

Rolling 3 dependencies

Roll build/ 6fa63e6b1..ea192b29d (300 commits)

6fa63e6b15..ea192b29d2

$ git log 6fa63e6b1..ea192b29d --date=short --no-merges --format='%ad %ae %s'
2021-03-23 aeubanks Use --gcc-toolchain instead of -B to find libgcc
2021-03-23 chromium-autoroll Roll Fuchsia SDK from 3.20210322.3.1 to 3.20210323.0.1
2021-03-23 yhirano Revert "Reland "Add test directory -> monorail component metadata to test invocations.""
2021-03-23 dpranke Reland "Add test directory -> monorail component metadata to test invocations."
2021-03-22 chromium-autoroll Roll Fuchsia SDK from 3.20210322.1.1 to 3.20210322.3.1
2021-03-22 sdefresne [apple] Split the iOS and macOS toolchain definitions
2021-03-22 mthiesse Tighten Instrumentation timeouts to avoid shard timeouts.
2021-03-22 wnwen Android: Fix FragmentActivityReplacer stack frame
2021-03-22 chromium-autoroll Roll Fuchsia SDK from 3.20210322.0.1 to 3.20210322.1.1
2021-03-22 chromium-autoroll Roll Fuchsia SDK from 3.20210321.0.1 to 3.20210322.0.1
2021-03-22 msta Add the ability to enable pseudolocales to chromium
2021-03-21 chromium-autoroll Roll Fuchsia SDK from 3.20210320.3.1 to 3.20210321.0.1
2021-03-21 chromium-autoroll Roll Fuchsia SDK from 3.20210320.1.1 to 3.20210320.3.1
2021-03-21 pkotwicz [Build] Support public_deps in java_library()
2021-03-20 chromium-autoroll Roll Fuchsia SDK from 3.20210320.0.1 to 3.20210320.1.1
2021-03-20 chromium-autoroll Roll Fuchsia SDK from 3.20210319.2.1 to 3.20210320.0.1
2021-03-19 chromium-autoroll Roll Fuchsia SDK from 3.20210318.1.1 to 3.20210319.2.1
2021-03-19 sergeyu [Fuchsia] Fix build_system_archive.py for Python3
2021-03-19 omerlevran Revert "[fuchsia] migrate device discovery to ffx"
2021-03-19 pkotwicz Remove unused OnDeviceInstrumentationDriver
2021-03-19 dpranke Fix a couple of mac build issues for Python3.9 compat.
2021-03-19 omerlevran [fuchsia] migrate device discovery to ffx
2021-03-18 steveroe [fuchsia] Write binary size package blob data to json file.
2021-03-18 wnwen Android: Update r8 to 3.0.28-dev
2021-03-18 chromium-autoroll Roll Fuchsia SDK from 3.20210318.0.1 to 3.20210318.1.1
2021-03-18 chromium-autoroll Roll Fuchsia SDK from 3.20210317.3.1 to 3.20210318.0.1
2021-03-18 findit-for-me Revert "Enable pseudolocales on non-official builds"
2021-03-18 msta Enable pseudolocales on non-official builds
2021-03-18 steveroe [fuchsia] Remove binary_sizes.py recipe interface code.
2021-03-18 chromium-autoroll Roll Fuchsia SDK from 3.20210317.1.1 to 3.20210317.3.1
2021-03-18 ehmaldonado Add auto rollers as OWNERS of the files they touch
2021-03-18 kmarshall [fuchsia] Delegate target construction to class level methods.
2021-03-17 wnwen Android: Add --dump-inputs to dex.py
2021-03-17 bjoyce Upload results of all test runs to result_db.
2021-03-17 mheikal Ignore empty proguard config files when writing expectations.
2021-03-17 chromium-autoroll Roll Fuchsia SDK from 3.20210317.0.1 to 3.20210317.1.1
2021-03-17 hans [build] Pass --rtlib=libgcc in Android builds
2021-03-17 ortuno Revert "Roll clang llvmorg-13-init-3462-gfe5c2c3c-2 : llvmorg-13-init-4330-g08a5277a-1."
2021-03-17 chromium-autoroll Roll Fuchsia SDK from 3.20210316.2.1 to 3.20210317.0.1
2021-03-16 rubensf [reclient] Add use_rbe where we have use_goma.
2021-03-16 chromium-autoroll Roll Fuchsia SDK from 3.20210316.1.1 to 3.20210316.2.1
2021-03-16 sdefresne [ios] Fix compilation of cronet
2021-03-16 thakis mac: Make win/cross build work when use_system_xcode is not explicitly set
2021-03-16 chromium-autoroll Roll Fuchsia SDK from 3.20210315.1.1 to 3.20210316.1.1
2021-03-16 hans Roll clang llvmorg-13-init-3462-gfe5c2c3c-2 : llvmorg-13-init-4330-g08a5277a-1.
2021-03-16 sdefresne [apple] Split definitions of mac and ios toolchains
2021-03-16 chromium-autoroll Roll Fuchsia SDK from 3.20210315.0.1 to 3.20210315.1.1
2021-03-16 pkotwicz [Build] Introduce GN variable for whether Java asserts are enabled
2021-03-15 ukai disable goma for x86_64-nacl-{gcc|g++}
2021-03-15 aeubanks Use LLVM's new pass manager on Android
(...)
2021-02-13 pkotwicz [Build] Switch androidx dependencies to use //third_party/androidx
2021-02-12 chromium-autoroll Roll Fuchsia SDK from 0.20210212.1.1 to 0.20210212.2.1
2021-02-12 tikuta build: do not use fdebug-compiation-dir in coverage build
2021-02-12 chromium-autoroll Roll Fuchsia SDK from 0.20210210.2.1 to 0.20210212.1.1
2021-02-12 akhuang [clang build] Disable PCH on Windows builds temporarily to unbreak ToT windows buildbots
2021-02-11 bjoyce [code-coverage] Combine code coverage profraw files locally.
2021-02-11 bpastene Install cpython on CrOS DUTs/VMs when running net_unittests.
2021-02-11 agrieve Android: Remove ProductConfig.COMPRESSED_LOCALES
2021-02-11 mheikal Add the ability to output keep rules between subsets of inputs.
2021-02-11 hans [build] Disable ThinLTO in PGO-instrumented builds on Windows
2021-02-11 chromium-autoroll Roll Fuchsia SDK from 0.20210210.1.1 to 0.20210210.2.1
2021-02-11 ynovikov Partially enable logcats for Android isolated scripts
2021-02-10 chromium-autoroll Roll Fuchsia SDK from 0.20210210.0.1 to 0.20210210.1.1
2021-02-10 kimstephanie Pass bucket name to goldctl
2021-02-10 hans [build] Include libstdc++.so.6 with llvm-symbolizer also for chromeos and android
2021-02-10 agl Mention FragmentActivityReplacer if indicated.
2021-02-10 heiserya Update perf tester build targets to deploy Chrome and Lacros to DUTs.
2021-02-10 agrieve Android: Tweak target names FOO_process_device -> FOO__process_device
2021-02-10 yfriedman [Flaky Tests] Android: don't re-run Batched unit tests
2021-02-10 wbielawski Fix chrome_public_apk build that utilizes python 3.
2021-02-10 chromium-autoroll Roll Fuchsia SDK from 0.20210209.2.2 to 0.20210210.0.1
2021-02-10 hans Reland "[build] Enable ThinLTO in official Windows builds"
2021-02-10 thakis win toolchain: Remove win8 sdk support, move toolchain hash to top
2021-02-10 chromium-autoroll Roll Fuchsia SDK from 0.20210209.0.1 to 0.20210209.2.2
2021-02-09 bpastene chromeos: Support --gtest_filter arg when running Tast tests.
2021-02-09 jkop Revert "[build] Enable ThinLTO in official Windows builds"
2021-02-09 chromium-autoroll Roll Fuchsia SDK from 0.20210208.3.1 to 0.20210209.0.1
2021-02-09 wnwen Android: Improve fast local dev build server
2021-02-09 rnk Reland "Roll src/buildtools/third_party/libc++/trunk/ d9040c75c..69897abe2 (1149 commits)"
2021-02-09 chromium-autoroll Roll Fuchsia SDK from 0.20210208.2.1 to 0.20210208.3.1
2021-02-09 thakis win: Use /winsysroot when using clang and the hermetic win toolchain.
2021-02-09 yucliu Fix use_custom_libcxx_for_host when host and target CPU are identical
2021-02-09 chromium-autoroll Roll Fuchsia SDK from 0.20210205.1.1 to 0.20210208.2.1
2021-02-08 hans [build] Enable ThinLTO in official Windows builds
2021-02-08 hans [build] Hoist import_instr_limit variable (take 2)
2021-02-08 drott Revert "[build] Hoist import_instr_limit variable"
2021-02-08 hans [build] Hoist import_instr_limit variable
2021-02-08 sdefresne [ios] Mark variables as "used"
2021-02-05 hans [build] Unify ThinLTO -import-instr-limit= between Android and Linux+Win
2021-02-05 hans Increase the ThinLTO cache size.
2021-02-05 sdefresne [ios] Improve performance of `gn gen` by 80%
2021-02-05 ythjkt Reland "Lacros: Flip OS_LINUX and OS_CHROMEOS on lacros."
2021-02-05 chromium-autoroll Roll Fuchsia SDK from 0.20210204.3.1 to 0.20210205.1.1
2021-02-05 aeubanks Roll clang llvmorg-12-init-17251-g6de48655-1 : llvmorg-13-init-794-g83e2710e-1.
2021-02-05 brucedawson Repackaged toolchain with Windows Kits\10 paths
2021-02-05 chromium-autoroll Roll Fuchsia SDK from 0.20210204.1.1 to 0.20210204.3.1
2021-02-04 alemate Add GN build-time option to support apitrace on Chrome OS
2021-02-04 agrieve Android: Delete main_dex_list.py and negative_main_dex_globs
2021-02-04 chromium-autoroll Roll Fuchsia SDK from 0.20210204.0.1 to 0.20210204.1.1
2021-02-04 ychoi Move //chrome/browser/{chromeos => ash}/profiles

Roll buildtools/ fc5af1ac7..69cc9b8a3 (33 commits; 3 trivial rolls)

fc5af1ac75..69cc9b8a3a

$ git log fc5af1ac7..69cc9b8a3 --date=short --no-merges --format='%ad %ae %s'
2021-03-12 yahan [Build] Build libc++ with gcc need libs atomic
2021-03-12 ukai [reclient] add rewrapper_windows_nacl.cfg
2021-03-11 yahan Revert "[Build] Build libc++ with gcc need libs atomic"
2021-03-09 yahan [Build] Build libc++ with gcc need libs atomic
2021-03-09 thakis Remove buildtools/DEPS
2021-03-09 thakis Remove gn from buildtools/DEPS
2021-03-09 rubensf [reclient] Match windows server addr to linux server addr.
2021-03-06 thakis buildtools: remove clang_format from buildtools/DEPS
2021-03-04 thakis Update a comment after #859627
2021-03-04 thakis buildtools: remove libc++ from buildtools/DEPS
2021-03-03 rubensf [reclient] Add re client windows configs.
2021-03-03 thakis Temporarily move clang_format_revision back to clang_fmt_revision
2021-03-03 thakis Remove ensure_gn_version hook
2021-03-03 thakis Minor DEPS file gardening
2021-03-02 thakis buildtools: remove libc++abi from buildtools/DEPS
2021-02-26 thakis Roll src/buildtools/third_party/libc++abi/trunk/ 5fb4080bf..6918862bf (1 commit)
2021-02-26 thakis Remove reclient from buildtools/DEPS
2021-02-25 msavigny Update reclient version to 0.22.0
2021-02-24 jam Update documentation to allow owners of public APIs that are used throughout the codebase to Owners-Override changes across the source tree.
2021-02-24 thakis Reland "Roll src/buildtools/third_party/libc++abi/trunk/ 196ba1aaa..5fb4080bf (222 commits)"
2021-02-24 yekuang Upgrading to re-client version 0.21.0.04acc59
2021-02-23 thakis Make sure to build libc++abi without -fsanitize=vptr.
2021-02-22 thakis buildtools: Remove libunwind from buildtools/DEPS
2021-02-22 findit-for-me Revert "Roll src/buildtools/third_party/libc++abi/trunk/ 196ba1aaa..5fb4080bf (222 commits)"
2021-02-16 rubensf [reclient] Add nacl toolchain config to reclient
2021-02-12 sdefresne Reland "Roll GN from 55ad154c..dfcbc6fe"
2021-02-11 olaola Upgrading to re-client version 0.20.1.c4bbd2f
2021-02-09 rogerta Revert "Roll GN from 55ad154c..dfcbc6fe"
2021-02-09 sdefresne Roll GN from 55ad154c..dfcbc6fe
2021-02-09 rnk Reland "Roll src/buildtools/third_party/libc++/trunk/ d9040c75c..69897abe2 (1149 commits)"

Roll tools/clang/ aecd85e06..24cecabb8 (51 commits)

aecd85e062..24cecabb89

$ git log aecd85e06..24cecabb8 --date=short --no-merges --format='%ad %ae %s'
2021-03-20 chonggu [Fuchsia] Build Fuchsia runtime on Fuchsia ToT bots
2021-03-19 mmoss Revert "[Fuchsia] Build Fuchsia runtime on ToT bots"
2021-03-19 chonggu [Fuchsia] Add --with-fuchsia flag for clang
2021-03-18 chonggu [Fuchsia] Build Fuchsia runtime on ToT bots
2021-03-18 hans Roll clang llvmorg-13-init-3462-gfe5c2c3c-2 : llvmorg-13-init-4720-g7bafe336-1.
2021-03-18 keishi Fix rewrite-multiple-platforms.sh to avoid ~
2021-03-17 dpapad Remove NTP Kaleidoscope feature leftovers.
2021-03-17 ortuno Revert "Roll clang llvmorg-13-init-3462-gfe5c2c3c-2 : llvmorg-13-init-4330-g08a5277a-1."
2021-03-16 hans Roll clang llvmorg-13-init-3462-gfe5c2c3c-2 : llvmorg-13-init-4330-g08a5277a-1.
2021-03-16 keishi Add a rewrite_raw_ptr_fields rewrite script for multiple platforms
2021-03-14 aeubanks Revert "Build clang with stable clang"
2021-03-14 aeubanks Build clang with stable clang
2021-03-11 hans Pass --rtlib=libgcc to Clang when building Android sanitizer runtimes
2021-03-10 hans Build Clang with -DCLANG_DEFAULT_RTLIB=libgcc on Linux
2021-03-09 aeubanks Add llvm-nm and llvm-strip to Linux Clang package
2021-03-05 thakis [mac/lld] update things for new lld being the default lld now, and update docs
2021-03-05 thakis Roll clang llvmorg-13-init-1559-g01b87444-3 : llvmorg-13-init-3462-gfe5c2c3c-1.
2021-03-04 ynovikov Remove ANGLE "pinned Chromium" bots from WebGL and Clang rolls
2021-03-04 keishi Treat CheckedPtr specially in FindBadConstructsConsumer
2021-03-03 ynovikov Remove usages of obsolete Win ANGLE x64 bots
2021-02-25 aeubanks Build Clang on Windows with ThinLTO
2021-02-25 lukasza Replace machine-specific test expectations with machine-agnostic ones.
2021-02-24 thakis Revert "Treat CheckedPtr specially in FindBadConstructsConsumer"
2021-02-24 bartekn Add bartekn and his team to rewrite.sh OWNERS
2021-02-24 keishi Treat CheckedPtr specially in FindBadConstructsConsumer
2021-02-23 thakis Remove some references to the LLVM_FORCE_HEAD_REVISION env var
2021-02-22 aeubanks Add flag to specify build directory
2021-02-18 bartekn rewrite.sh should overwrite combined-fields-to-ignore.txt
2021-02-18 bartekn Remove CheckedPtr2/MTECheckedPtr related exclusions
2021-02-17 keishi Force rewrite base::FileDescriptorWatcher::Controller::watcher_ in rewrite_raw_ptr_fields
2021-02-17 keishi Exclude OutOfMemoryTest::value_ from rewrite_raw_ptr_fields
2021-02-17 chonggu Manually update clang.
2021-02-17 bartekn [BRP] Move the GigaCage DCHECKs into checked_ptr.cc
2021-02-17 chonggu [Fuchsia] Create/Reorganize documentation for Fuchsia
2021-02-17 keishi Exclude new checked_ptr.h dependencies from rewrite_raw_ptr_fields
2021-02-16 chonggu [Fuchsia] Build Fuchsia profile runtime
2021-02-14 thakis Roll clang llvmorg-13-init-794-g83e2710e-1 : llvmorg-13-init-1559-g01b87444-1.
2021-02-13 aeubanks Remove obsolete argument
2021-02-12 aeubanks Don't build instrumented build with ThinLTO
2021-02-12 thakis Revert "clang build script: omit libc++ tests on mac again after #852778"
2021-02-11 thakis clang build script: omit libc++ tests on mac again after #852778
2021-02-11 lukasza Avoid inserting new includes when the previous line is a doc comment.
2021-02-10 akhuang [build.py] Fix path for copying libstdc++ to test directories
2021-02-10 thakis clang build script: run check-all during bootstrap on mac
2021-02-10 bartekn Update CheckedPtr ignore lists (fields and paths)
2021-02-09 yutak rewrite_raw_ptr_fields: Follow upstream CommonOptionsParser change.
2021-02-09 akhuang [build.py] Add sanitizer_common tests to the list of places we copy libstdc++ because of a test that moves llvm-symbolizer around
2021-02-05 aeubanks Remove some remnants from the 12 -> 13 transition
2021-02-05 aeubanks Roll clang llvmorg-12-init-17251-g6de48655-1 : llvmorg-13-init-794-g83e2710e-1.
2021-02-04 bartekn [PA][BRP] Adjust pointer before checking belonging to GigaCage
2021-02-04 omerkatz heap: Roll clang for cppgc updates

Created with:
  roll-dep build buildtools tools/clang

Change-Id: Ia1abedb6374eda26f6ccf84c4ddeff65d0da0c86
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45606
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-24 16:22:32 +00:00
Corentin Wallez
9037669b2e Remove the dependency on shaderc and glslang.
With all tests converted to WGSL we only use shaderc to assemble SPIRV
assembly to binary. shaderc requires glslang but we don't use it at all.
By using SPIRV-Tools directly to assemble SPIR-V, we can remove both the
shaderc and glslang dependencies.

Bug: dawn:572
Bug: chromium:1150045
Change-Id: I1588428dfb9478e7b724478bec662d002ee920e0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45765
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-24 16:02:13 +00:00
Corentin Wallez
7aec4ae7c5 Remove utility to create shader modules from GLSL
And rename CreateShaderModuleFromWGSL to CreateShaderModule.

Bug: dawn:572
Change-Id: I80dab401078b2001d738b87d6e24437f93b690d1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45764
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
2021-03-24 15:55:32 +00:00
Ben Clayton
1452cf60e5 ComputePipelineD3D12 - check result of CreateComputePipelineState()
This was silently failing for me, resuling in a crash somewhere completely different.

Change-Id: Iba9dfba8bb4c9e51a947a1337fc9718437ad5254
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45766
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-24 14:29:53 +00:00
Ben Clayton
af55c04e36 .vscode/tasks.json: Implement tasks for Windows
Change-Id: I67a55990edcffe3c8f79fddd6c26b51216a80995
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45763
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-24 13:08:41 +00:00
Ben Clayton
fe5fea8a7b .gitignore: Add Visual Studio config directory
Change-Id: If736ad9f8b1212e60e017b5ee3b7580d9aa79960
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45762
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-24 12:00:11 +00:00
Ben Clayton
be88f17692 Add .vscode/tasks.json
Contains a few helper tasks that make developing with VSCode easier

Change-Id: I4bc8c86638804255e6a23f95f4bb6d02dfeef7cd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45601
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-24 10:20:01 +00:00
Ben Clayton
218d48890a Port ComputeSharedMemoryTests to WGSL
Tint now supports barriers

Bug: dawn:572
Change-Id: I1b5cdd9026e0ead7ecd743295c81ef147bdc5080
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45602
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-24 09:48:11 +00:00
Ben Clayton
fcafc6e347 Port TextureViewTests to WGSL
tint: 639 has been fixed

Bug: dawn:572
Change-Id: I3c6bcb4e6c04109f633694a8813ae5f0edb21da8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45603
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-24 09:12:53 +00:00
Austin Eng
d020de4501 Validate the texture Aspect enum in ImageCopyTexture
Bug: chromium:1191389, chromium:1191770
Change-Id: I973b8951d43bd0463afcd05fdd7104184db1be2d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45841
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-24 08:38:32 +00:00
Antonio Maiorano
88d3d2e1de CMake: fix clang-cl builds on Windows
Broke this in https://dawn-review.googlesource.com/c/tint/+/45621
We don't want /MP enabled for clang-cl builds as this results in an
unused parameter /MP warning.

Also opportunistically clean up CMake script a little.

Bug: tint:665
Change-Id: I4047b75332c1aa64b32b695dfe050c255009e922
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45820
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2021-03-23 20:51:09 +00:00
Antonio Maiorano
f43643f19b Kokoro: implement Windows build scripts
Bug: tint:665
Change-Id: Ib2aa90b2a3a3e334880431bd2a20d5be065bf7ce
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45681
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2021-03-23 20:06:29 +00:00
Dawn Autoroller
54e150b7c2 Roll Tint from 2e97435ba613 to 84ef13c84fb3 (4 revisions)
https://dawn.googlesource.com/tint.git/+log/2e97435ba613..84ef13c84fb3

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Bug: dawn:706
Tbr: bclayton@google.com
Change-Id: Id5b06e65a5a29bbebb8b96a149bbdf6e532d5755
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45780
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-23 19:09:52 +00:00
Corentin Wallez
c48e487998 Avoid unnecessary recompiles with code generators.
Previously code generators would unconditionally write the generated
files even if they didn't change, causing all many more files to be
rebuilt than necessary.

Make extract_json.py check the file content to skip writing if it can to
fix this.

Bug: None
Change-Id: I22389444179c9b16a7ccc03ea133a973d419fad3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45761
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-03-23 19:06:02 +00:00
Corentin Wallez
266bce86b4 Port Animometer's vertex shader to WGSL
Bug: dawn:572
Change-Id: I21093b5bd09cb319cdf92616cd95e64935fcd1ed
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/33822
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-23 17:26:20 +00:00
Corentin Wallez
3b3ab0217e Use SPVASM for ShaderFloat16Tests.
Tint/WGSL don't support 16bit floats yet, so use SPIRV assembly to
remove the dependency on glslang, instead of WGSL.

Bug: dawn:572
Change-Id: I6dd209e62f0550e7aecd18626b8807f7f1414b19
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45605
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-23 17:21:00 +00:00
David Neto
84ef13c84f spirv-reader: disallow OpSwitch without preceding OpSelectionMerge
This was updated/clarified by the SPIR WG.

Bug: tint:3
Change-Id: Ie4c503f0e5f80ffeabada9c526375588e81a5ceb
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45740
Auto-Submit: David Neto <dneto@google.com>
Commit-Queue: Alan Baker <alanbaker@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Alan Baker <alanbaker@google.com>
2021-03-23 17:06:29 +00:00
Corentin Wallez
a82ed35cf1 BUILD.gn: Remove warning suppression for Skia
Skia changed to only use -Weverything for Skia files so we no longer
need to suppress this warning.

Bug: dawn:706
Change-Id: Ifcb2421abd24ec514396b8033057a62abd312e16
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45608
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-23 16:58:50 +00:00
Corentin Wallez
83ee832ebd Port the last BufferZeroInitTest to WGSL
It required storageBarrier() to be implemented in Tint.

Bug: dawn:572
Change-Id: I62e8d89ef7a049044f3381dc66163466d62c839d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45604
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-23 16:52:31 +00:00
Austin Eng
be621bd0e6 Update the wire-based fuzzers to always assume an injected error
This also removes the ability for the fuzzer to perform error
injection to generate testcases. The preferred method is to
use one of the Dawn test binaries to produce the trace directly.

Bug: dawn:629
Change-Id: If7295f9e6da5618be8f44e9301aa12dc56fcdfef
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40301
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-03-23 16:47:50 +00:00
Corentin Wallez
f40330502d Remove the warning suppression for Skia
Skia changed to only add -Weverything for Skia files so this warning is
no longer needed.

Bug: dawn:706
Change-Id: I7ac111cfaf580ee0868fb318f953fe983ee17df2
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45607
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-23 16:32:59 +00:00
Antonio Maiorano
fe6129f38f Add initial no-op Kokoro Windows build scripts
Bug: tint:665
Change-Id: I833a64d37fe39335da45476fac282b501dda4973
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45622
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2021-03-23 14:44:08 +00:00
Antonio Maiorano
e547605da7 Fix msvc build and enable multiprocessor builds
Disable warning C4324: 'struct_name' : structure was padded due to
__declspec(align())

Multiprocessor builds are not enabled by default when using msbuild,
unlike for Ninja builds.

Bug: tint:665
Change-Id: I0e50c88ac91acd963c31c07cbbf2fae6b743e77d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45621
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2021-03-23 14:03:58 +00:00
Corentin Wallez
94b8b7408e Port VertexFormatTests to WGSL
Bug: dawn:572
Change-Id: I68484defb240528b0a7dd0eced6012d9866f30fc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44765
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-23 13:25:29 +00:00
Dawn Autoroller
2be3db9624 Roll Tint from 4daddd1759c6 to 2e97435ba613 (13 revisions)
https://dawn.googlesource.com/tint.git/+log/4daddd1759c6..2e97435ba613

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC bclayton@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Bug: dawn:700
Tbr: bclayton@google.com
Change-Id: I678ed75af1eacd5bca6cc1d1f4f232ab0c3ab99a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45660
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-03-23 09:51:47 +00:00
Yan, Shaobo
d42f4b3ca5 Reland "CopyTextureForBrowser: Support color format conversion"
This is a reland of f84daa070f05eb80672a9a23e23aed205fe72a5e

Eliminate static initializer(disallowed in Chromium) by replacing
shader string living in anonymous namespace from type "std::string"
to char array.

Original change's description:
> CopyTextureForBrowser: Support color format conversion
>
> This CL enables blit from RGBA8Unorm soruce texture to dst texture that
> |CopyImageBitmapToTexture| supported dst format.
>
> BUG=dawn:465
>
> Change-Id: I99846cf8dc37bc89e0c168a3d86193bb3a0c0ebb
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44020
> Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Austin Eng <enga@chromium.org>

Bug: dawn:465
Change-Id: Ic3a156f5a20b217fd2aa5f86b01bad8ce77dc41c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45443
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-23 02:09:37 +00:00
Antonio Maiorano
2e97435ba6 Move return validation from Validator to Resolver
Improved error message to use friendly names. Fixed tests that broke as
a result of this change.

Bug: tint:642
Change-Id: I9a1e819e1a6110a89c826936b96ab84f7f79a084
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/45582
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
2021-03-22 23:20:17 +00:00