Commit Graph

2355 Commits

Author SHA1 Message Date
Aleksi Sapon 0a1061da0c Fix CMake build with MSVC
Bug: None

Change-Id: I061984e649f89e92e2769fd8aba141bbfdc0d4bb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28144
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-09-09 07:08:38 +00:00
Jiawei Shao 12e97ed6a7 Transition bind group resource states before dispatch in compute pass
This patch fixes a crash issue in both D3D12 and Vulkan backends.
Previously on D3D12 and Vulkan before a compute pass we transitioned
the states of all the resources used in the pass, and before each
dispatch call we only checked if the states of the storage buffers,
read-only storage textures and write-only storage textures need to
be transitioned. This behavior causes two issues:

1. In a compute pass a buffer or texture can be used as both read-only
and writable usages in different dispatch calls (e.g. as storage
buffer in the first dispatch, and as the uniform buffer in the next
dispatch), while this is invalid state combination on D3D12 and isn't
allowed by D3D12 validation layer.
2. In the above case, the state of the buffer is not transitioned into
UNIFORM, which does not match the required state in the next dispatch.

This patch fixes this issue by transitioning all the states in the
current bind group before each dispatch() instead of the beginning
of the compute pass.

BUG=dawn:522
TEST=dawn_end2end_tests
Change-Id: Ibeb6c41dc493ee1068b43bd89ed5a15f2331ef75
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27942
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2020-09-09 01:14:38 +00:00
Austin Eng 7b7e098b11 Typeify ColorAttachmentIndex
Also moves BindingNumber, BindGroupIndex, and BindingIndex to
IntegerTypes.h. Future TypedIntegers should be declared here.

Bug: dawn:442
Change-Id: I5ba8de3412fb48b7957b67e7c413a5097f8ec00f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27880
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-09-09 00:08:38 +00:00
Aleksi Sapon 22e5e179fa Vulkan: unused resolve attachments must be marked as such
Change-Id: I61e1e6469c20149df5c6296ee237efced36a163c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28145
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-09-08 20:24:45 +00:00
Jiawei Shao 62442aceb0 D3D12: Combine all the barriers before dispatch() in one call
This patch combines all the resource barriers added before each
dispatch() into one call to reduce the number of ResourceBarrier() call
in the D3D12 command list.

BUG=dawn:522

Change-Id: I31d1520925e79f6a4ef8168a3713466866b2108c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28100
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2020-09-04 01:41:17 +00:00
Ryan Harrison 2cdb9f1ed1 Remove SPVC toggles and excise remaining references
BUG=dawn:521

Change-Id: Ib6428ca366a70d73096f9b4442c1b7fb69a539ba
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28142
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-09-03 18:39:37 +00:00
Ryan Harrison b44ca92f1c Roll 4 dependencies
Roll third_party/shaderc/ b6c82a149..011139094 (5 commits)

b6c82a149e..011139094e

$ git log b6c82a149..011139094 --date=short --no-merges --format='%ad %ae %s'
2020-09-03 rharrison Adding back non-spvc BUILD.gn that I accidentally nuked (#1136)
2020-09-03 rharrison Remove spvc (#1135)
2020-09-02 rharrison Start SPIRV-Tools v2020.4
2020-09-02 rharrison Finalize SPIRV-Tools v2020.3
2020-09-01 rharrison Roll 3 dependencies and update expectations (#1133)

Created with:
  roll-dep third_party/shaderc

Roll third_party/spirv-cross/ 685f86471..bad9dab8d (4 commits)

685f86471e..bad9dab8df

$ git log 685f86471..bad9dab8d --date=short --no-merges --format='%ad %ae %s'
2020-08-27 cdavis MSL: Support layered input attachments.
2020-09-02 post MSL: Fix OpCompositeInsert and OpVectorInsertDynamic.
2020-08-23 cdavis MSL: Don't set the layer for multiview if the device doesn't support it.
2020-08-07 cdavis MSL: Fix multiview view index calculation with a non-zero base instance.

Created with:
  roll-dep third_party/spirv-cross

Roll third_party/SPIRV-Tools/ 8a0ebd40f..fd05605be (8 commits)

8a0ebd40f8..fd05605bef

$ git log 8a0ebd40f..fd05605be --date=short --no-merges --format='%ad %ae %s'
2020-09-03 stefanomil spirv-fuzz: Transformation to convert OpSelect to conditional branch (#3681)
2020-09-02 46493288+sfricke-samsung spirv-val: Add Vulkan VUID labels to BuiltIn (#3756)
2020-09-02 vasniktel spirv-fuzz: Add support for BuiltIn decoration (#3736)
2020-09-02 stefanomil spirv-fuzz: Fix GetIdEquivalenceClasses (#3767)
2020-09-02 stefanomil spirv-fuzz: Replace id in OpPhi coming from a dead predecessor (#3744)
2020-09-01 stefanomil spirv-fuzz: Transformation to replace the use of an irrelevant id (#3697)
2020-09-01 vasniktel spirv-fuzz: TransformationMutatePointer (#3737)
2020-09-01 stefanomil spirv-fuzz: Compute interprocedural loop nesting depth of blocks (#3753)

Created with:
  roll-dep third_party/SPIRV-Tools

Roll third_party/tint/ 464928ed9..e7ec7f168 (17 commits)

https://dawn.googlesource.com/tint/+log/464928ed913b..e7ec7f16895a

$ git log 464928ed9..e7ec7f168 --date=short --no-merges --format='%ad %ae %s'
2020-09-03 dsinclair [wgsl-writer] Add GenerateEntryPoint
2020-09-03 dsinclair Stub out the method to generate individual entry points.
2020-09-03 dsinclair Add reset method to the generators.
2020-09-03 dsinclair Move generators to unique pointers.
2020-09-02 sarahmashay [validation] Add disabled tests for validating switch statements
2020-09-02 tommek [wgsl-reader] Parsing sampled texture type
2020-09-02 dsinclair [hlsl-writer] Simplify generated logical and/or expressions.
2020-09-02 dsinclair [hlsl-writer] Simplify logical and/or code.
2020-09-02 dsinclair [hlsl-writer] More logical and/or tests.
2020-09-02 dsinclair [hlsl-writer] Emit LogicalAnd and LogicalOr operations
2020-09-02 dsinclair [hlsl-writer] Support pre stream in if/else statements.
2020-09-02 dsinclair [hlsl-writer] Emit pre strings
2020-09-02 dsinclair [hlsl-writer] Update all expressions to take a pre stream.
2020-09-02 tommek [wgsl-reader] Parsing texture sampler types
2020-09-02 dsinclair Fixup doxygen comment
2020-09-02 tommek [wgsl-reader] Parsing depth texture type
2020-09-02 tommek [wgsl-reader] Parsing sampler type

Created with:
  roll-dep third_party/tint

Change-Id: I34e0e77b0f3d1b8050d465fa20e6846ef573c092
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28140
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-09-03 15:36:37 +00:00
Corentin Wallez 9e261b46a4 Fix compilation with dawn_enable_wgsl=false
Bug: None
TBR=rharrison@chromium.org
TBR=enga@chromium.org
Change-Id: I5376983a0aefbd355a2d2a5da822a34bd6f264dc

Change-Id: I89c8c1e14030f01b76cab0f61cd76526a96ca01e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28120
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-09-03 08:45:40 +00:00
Ryan Harrison c35e2ba379 Remove usages of SPVC
Remove all usages of SPVC from the code and update the fuzzers. Some
of the include paths and deps came transitively from spvc, so needed
to update build rules.

This patch does NOT remove the flags related to spvc usage, they are
just no-ops as the moment. After this patch lands I will remove the
usage of those flags from the bots, then remove the flags.

BUG=dawn:521

Change-Id: I0d7c3e28f79354c78f00c48b6a383b823094a069
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27900
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-09-02 22:09:08 +00:00
Austin Eng a1758eef07 Cleanup: always clear Vulkan textures with vkCmdClear*Image
Previously, this code path was gated on whether or not the texture
format is renderable. This should not be the case as this Vulkan
command only requires the texture to have TRANSFER_DST.

Bug: dawn:145
Change-Id: Ifd8f75a70477a8d159c04d1180247cd076c767bc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27941
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2020-09-02 21:03:29 +00:00
Austin Eng ea82272fd6 Cleanup: Make TexelBlockInfo a member of Format, not superclass
Bug: dawn:439
Change-Id: I1255086d29e8b85045776f183b3fb563eec0b090
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27940
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-09-02 18:50:09 +00:00
Corentin Wallez 8ec8f31e3b Make ShaderModule reflection go through EntryPointMetadata
PipelineBase now collects the EntryPointMetadata for all its
stages which makes the rest of the code agnostic to the entrypoint
name (except D3D12 and OpenGL that required transition hacks and
will be fixed in follow-up CLs).

Bug: dawn:216

Change-Id: I643da198cb2a20a9d94d805a2dc783d6d4346ae9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27260
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-09-02 15:57:39 +00:00
Corentin Wallez e9bc506e0a TextureVk: Add a couple TODOs related to barriers.
Bug: None
Change-Id: I2da575ce7b79c92f5a2a320334e51e571f672b46
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28003
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-09-02 12:56:29 +00:00
Ryan Harrison 5ffc1e1adb Roll third_party/tint/ 765348516..464928ed9 (3 commits)
https://dawn.googlesource.com/tint/+log/765348516259..464928ed913b

$ git log 765348516..464928ed9 --date=short --no-merges --format='%ad %ae %s'
2020-09-01 rharrison Add missing include patch
2020-09-01 tommek [spirv-writer] Generate sampler type
2020-08-31 rharrison Rolling 5 dependencies

Created with:
  roll-dep third_party/tint

Bug=tint:521

Change-Id: Ib1927977fa0914c65f22109f61a26d112caff805
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27960
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-09-02 05:08:59 +00:00
Jiawei Shao 8800135793 Remove Toggle LazyClearBufferOnFirstUse
This patch removes the Toggle LazyClearBufferOnFirstUse and uses
the Toggle::LazyClearResourceOnFirstUse, which means buffer lazy
initialization has been enabled by default in Dawn.

BUG=dawn:414
TEST=dawn_end2end_tests

Change-Id: I6b247d9442b57b6bb3cb5a2208467036fef6b293
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27820
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2020-09-02 00:21:08 +00:00
Austin Eng f114a68b8f Update depth-stencil copy validation
Depth/stencil copies of partial subresources is disallowed in
WebGPU because this is a D3D12 restriction. This restriction
need also to be enforced on B2T, T2B and WriteTexture.

This CL also fixes the subresource whole size calucation to use
the mip level. Previously, the 0th level size was always used.

This CL updates the validation to be correct and adds tests.
The DepthStencilCopy tests are factored into smaller helpers to
reduce code duplication.

Bug: dawn:439
Change-Id: I45d4836f6be1707c5171bddef875e535e935f7f4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26660
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-09-01 18:40:18 +00:00
Brandon Jones ccda6a0009 Various cleanups for updated indexFormat handling
Addresses post-merge comments left by cwallez@ on
https://dawn-review.googlesource.com/c/dawn/+/27182

BUG=dawn:502

Change-Id: I9bce09da9bb46e92a4c613df2279bdefdd06d747
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27761
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Brandon Jones <bajones@chromium.org>
2020-09-01 18:32:49 +00:00
Ryan Harrison be53792880 Roll 9 dependencies
Roll third_party/glslang/ 983698bb3..517f39eee (1 commit)

983698bb34..517f39eee4

$ git log 983698bb3..517f39eee --date=short --no-merges --format='%ad %ae %s'
2020-08-26 jmadill Suppress two override suggestion warnings.

Created with:
  roll-dep third_party/glslang

Roll third_party/shaderc/ 21b36f736..b6c82a149 (1 commit)

21b36f7368..b6c82a149e

$ git log 21b36f736..b6c82a149 --date=short --no-merges --format='%ad %ae %s'
2020-08-25 rharrison Roll 4 dependencies and updated expectations (#1132)

Created with:
  roll-dep third_party/shaderc

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)

Created with:
  roll-dep third_party/SPIRV-Tools

Roll third_party/tint/ c3038ddfa..765348516 (34 commits)

https://dawn.googlesource.com/tint/+log/c3038ddfa6eb..765348516259

$ git log c3038ddfa..765348516 --date=short --no-merges --format='%ad %ae %s'
2020-08-31 dneto [spirv-reader] Set some source locations
2020-08-31 tommek [spirv-writer] Generate texture type
2020-08-31 tommek [spirv-writer] Convert ast image format types to spv
2020-08-31 tommek [type-determination] Adding builtin texture operations
2020-08-31 tommek [ast] Determining subtype of StorageTextureType
2020-08-31 dsinclair [msl-writer][hlsl-writer] Pull loop variables out with continuing.
2020-08-31 dneto [spirv-reader] Uses in phis count as uses
2020-08-29 dneto [spirv-reader] Don't hoist pointers that are already in scope.
2020-08-28 dneto [spirv-reader] Track line numbers
2020-08-28 dneto [spirv-reader] Avoid certain hoisting cases
2020-08-28 dneto [spirv-reader] Follow non-canonicalized SPIR-V type for composite extract
2020-08-28 dneto [spirv-reader] Follow non-canonicalized SPIR-V type for access chains
2020-08-27 dsinclair [wgsl-parser] Consume empty struct closing brace.
2020-08-27 sarahmashay [validation] check if at least one of vertex, fragment or compute shader is peresent
2020-08-27 sarahmashay [validation] Add a helper function to create a fake entry point
2020-08-26 dsinclair Add missing doc comments.
2020-08-26 dsinclair [hlsl-writer] Move test helper to a template.
2020-08-26 dsinclair [hlsl-writer] Support matrices in storage buffers.
2020-08-26 dsinclair [hlsl-writer] Emit numthreads for compute shaders.
2020-08-26 dsinclair [hlsl-writer] Emit zero matrix values.
2020-08-26 dsinclair [hlsl-writer] Extract storage buffer index generation.
2020-08-26 dsinclair Emit structs when emitting the aliases.
2020-08-26 dsinclair [hlsl-writer] Refactor output emission.
2020-08-25 dsinclair [hlsl-writer] StorageBuffer support.
2020-08-25 sarahmashay [validation] implement the pair of entry point stage and name must be unique
2020-08-25 sarahmashay [valdiation] Add disable test for v-0020, the <entry point name, pipeline stage> must be unique
2020-08-25 sarahmashay [validation] validates if global variables have a storage class
2020-08-25 dsinclair [wgsl-parser] Set max recursion depth on const_expr
2020-08-25 rharrison Ran 'git cl format' over an empty CL
2020-08-25 sarahmashay [validation] clean up: using ValidatorImpl member instead of creating one
2020-08-25 sarahmashay [validation] Add a validator test helper class
2020-08-24 tommek [wgsl-reader] Adding for loops
2020-08-24 rharrison Rolling 6 dependencies
2020-08-24 sarahmashay [validation] Validate if entry point functions accept parameters

Created with:
  roll-dep third_party/tint

Roll build/ b8f14c09b..c10077be5 (401 commits)

b8f14c09b7..c10077be58

$ git log b8f14c09b..c10077be5 --date=short --no-merges --format='%ad %ae %s'
2020-08-31 agrieve Make Cronet use GN arg for min_sdk_version and bump android32_ndk_api_level
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-07-18 chromium-autoroll Roll Fuchsia SDK from 0.20200717.2.1 to 0.20200717.3.1
2020-07-18 liaoyuke [lacros] Make test runner differentiate different test targets
2020-07-18 mheikal Revert "Fix build issues with creating R.java in java_library targets"
2020-07-17 mheikal Fix build issues with creating R.java in java_library targets
2020-07-17 bjoyce Run jacoco on host jar files.
2020-07-17 chromium-autoroll Roll Fuchsia SDK from 0.20200717.1.1 to 0.20200717.2.1
2020-07-17 bpastene Reland "Simplify Simple Chrome's gclient and GN conditionals."
2020-07-17 chouinard Remove unnecessary UnusedResources suppressions
2020-07-17 liaoyuke [lacros] Remove unused ash-chrome versions
2020-07-17 wfh Re-enable CFG loader config in component builds.
2020-07-17 oysteine Revert "[Clank SSM]: Enable stack sampling in android browsertests."
2020-07-17 etiennep [Clank SSM]: Enable stack sampling in android browsertests.
2020-07-17 sdefresne [ios] Assert that Xcode version is recent enough
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

Created with:
  roll-dep build

Roll buildtools/ eb3987ec7..ff93f3ea1 (6 commits)

eb3987ec70..ff93f3ea1a

$ git log eb3987ec7..ff93f3ea1 --date=short --no-merges --format='%ad %ae %s'
2020-08-21 dpranke Roll GN from e327ffdc..6f13aaac and update BUILD files.
2020-08-07 sdefresne Roll GN from 3028c6a4..e327ffdc
2020-08-04 dpranke Remove 'dpranke@chromium.org' from OWNERS.
2020-08-03 tikuta sort buildtools/.gitignore
2020-07-31 smcallis Rewrite is_linux flag for base and build components.
2020-07-20 sdefresne Roll GN from d585128c..3028c6a4

Created with:
  roll-dep buildtools

Roll tools/clang/ d027d75e8..fcef86e30 (31 commits)

d027d75e8d..fcef86e30a

$ git log d027d75e8..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
2020-08-21 lukasza CheckedPtr rewriter: Skip fields resulting in global destructors.
2020-08-21 karelkral Implement a tool to annotate methods with tracing
2020-08-20 aeubanks Roll clang llvmorg-12-init-1771-g1bd7046e-5 : llvmorg-12-init-3492-ga1caa302-1.
2020-08-18 aeubanks Move file modification to after branch checkout
2020-08-16 sidereal remove copybara initialization artifacts
2020-08-16 sidereal Copybara Service Migration Initialization.
2020-08-16 sidereal Revert "Roll clang llvmorg-12-init-1771-g1bd7046e-5 : llvmorg-12-init-3132-g95fad44e-1."
2020-08-16 aeubanks Roll clang llvmorg-12-init-1771-g1bd7046e-5 : llvmorg-12-init-3132-g95fad44e-1.
2020-08-14 aeubanks Build Clang with ThinLTO on Linux
2020-08-10 karelkral Fix empty_string tool
2020-08-09 lukasza Generalize path exclusions by supporting --exclude-paths parameter.
2020-08-07 aeubanks Fix upload_revision.py
2020-08-06 aeubanks Use `git description` as CLANG_REVISION, remove references to SVN
2020-08-06 akhuang Set ENABLE_X86_RELAX_RELOCATIONS=NO in clang build script.
2020-08-05 hans Clang build.py: Verify zlib support after building
2020-08-02 thakis Roll clang n361601-7e8d5a90-1 : n362116-1bd7046e-2.
2020-08-01 lukasza Skip `ExprWithCleanup` AST node via `ignoringImplicit` AST matcher.
2020-07-29 hans Roll clang n359864-04b9a46c-1 : n361601-7e8d5a90-1.
2020-07-22 aeubanks Clang build.py: Open instrumented temp file as binary
2020-07-22 aeubanks Allow building Clang with ThinLTO
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.

Created with:
  roll-dep tools/clang

Roll third_party/vulkan-loader/ 006586926..d846ea5a2 (46 commits)

006586926a..d846ea5a24

$ git log 006586926..d846ea5a2 --date=short --no-merges --format='%ad %ae %s'
2020-08-27 charles docs: Remove mention of old layers
2020-08-27 shannon build: Update known-good files for 1.2.152 header
2020-08-27 lenny tests: Change license to Apache 2.0
2020-08-26 jmadill GN: Add missing header dependencies.
2020-08-25 lenny repo: Prevent cmake name mismatch warning
2020-08-26 rharrison Fix formatting
2020-08-26 rharrison Move variables into scope they are referenced within
2020-08-18 lenny loader: Fix invalid cleanup on allocation error
2020-07-29 nathbappai loader: Fix some non-msvc compiler warnings
2020-08-17 cnorthrop loader: Fixes for gn build
2020-08-17 shannon build: Update known-good files for 1.2.151 header
2020-08-16 Neonfxsh docs: Remove COPYRIGHT.txt from the readme
2020-08-14 lenny repo: Set appveyor build to use Win10 SDK
2020-08-14 lenny loader: Move tag to avoid linux warning
2020-08-07 piotr.bialecki loader: Fix physical device sorting crash
2020-08-03 lenny loader: Remove illegal asssignment
2020-08-03 lenny loader: Fix variable name
2020-08-03 lenny loader: Fixpossible memory corruption
2020-07-30 lenny loader: Add reporting for physical device sorting
2020-04-06 lenny docs: Update loader doc with device sorting info
2020-07-27 lenny loader: Sort physical devices on Windows
2020-08-13 shannon build: Update known-good files for 1.2.150 header
2020-08-13 jmadill Fix double delete in loaderScanForImplicitLayers.
2020-08-06 lenny loader: Make invalid std val layer an error
2020-08-06 dorian.apanel loader: fix memory leak of failed to load layers
2020-08-05 lenny docs: Pass inst handles when getting func pointers
2020-08-05 charles loader: fix override paths leaking in VerifyAllMetaLayers
2020-07-20 shannon build: Update known-good files for 1.2.148 header
2020-07-15 bob scripts: fix update_deps retry clone
2020-07-14 shannon build: Update known-good files for 1.2.147 header
2020-07-14 lenny loader: Remove RTLD_DEEPBIND flag
2020-07-13 bob scripts: udpate_deps retry on clone or fetch failure
2020-07-09 charles loader: Make RTLD_DEEPBIND conditional on ASAN
2020-07-02 mikes build: Roll GN DEPS file
2020-07-07 caramelli.devel Remove duplicate key / value in scripts/common_codegen.py
2020-07-06 shannon build: Update known-good files for 1.2.146 header
2020-07-04 caramelli.devel loader: Add support for directfb surface extension
2020-07-05 alexbatashev loader: Fix symbol lookup order
2020-07-02 sdefresne Convert GN libs lists to frameworks
2020-07-01 charles loader: fix wrongly returned error code
2020-07-02 charles loader: fix TSAN warning
2020-06-09 shannon build: Update known-good files for 1.2.145 header
2020-06-19 jbeich build: include system headers last
2020-06-15 charles loader: Use MoltenVK in app bundle if found
2020-06-11 lenny loader: Fix crash in vkGetDeviceQueue2
2020-06-09 dsinclair scripts: Use named params for generator options

Created with:
  roll-dep third_party/vulkan-loader

Roll third_party/vulkan-headers/ 4c079bf40..ced848d69 (13 commits)

4c079bf40c..ced848d699

$ git log 4c079bf40..ced848d69 --date=short --no-merges --format='%ad %ae %s'
2020-08-26 oddhack Update for Vulkan-Docs 1.2.152
2020-08-11 mchock Add VI WSI platform support to vk_icd.h
2020-08-16 oddhack Update for Vulkan-Docs 1.2.151
2020-08-10 oddhack Update for Vulkan-Docs 1.2.150
2020-07-30 lenny Add a loader features interface
2020-07-27 lenny Add missing ifdef for extern "C"
2020-07-27 lenny Update vk_icd.h with proper extern "C" declaration
2020-07-27 lenny Update vk_icd.h with typedefs and prototypes
2020-08-03 oddhack Update for Vulkan-Docs 1.2.149
2020-07-22 git Fix enum order for backwards compatibility
2020-07-20 oddhack Update for Vulkan-Docs 1.2.148
2020-07-13 oddhack Update for Vulkan-Docs 1.2.147
2020-07-04 caramelli.devel Update vk_icd.h for VK_EXT_directfb_surface extension

Change-Id: I1a6b1b3e3727b2cb05e41b2c108d13c97a03f052
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27763
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-09-01 18:14:18 +00:00
Jiawei Shao 1c4a7f780f Fix the initialization of the buffers with MapRead and MapAtCreation
This patch fixes the issues on the initialization of buffers with
MapRead usage and mappedAtCreation == true.
1. The buffers with MapRead usage and mappedAtCreation == true can be
   read from the CPU side just after the creation of the buffer,
   however at that time the internal pending command buffers may not
   be executed, thus causing the buffer is not cleared as is expected.
2. On D3D12 the buffer with MapRead and mappedAtCreation == true is
   created on the READBACK heap, so all the data written in the CPU
   side cannot be uploaded to the GPU memory. When the buffer is mapped
   again all the original data written through the CPU pointer will be
   overwritten by the data in the GPU memory (which means it is also
   cleared to 0).

This patch fixes this issue by:
1. clearing the buffers with mappedAtCreation == true on the CPU side.
2. on D3D12 making the buffer with MapRead and mappedAtCreation == true
   use the staging buffer instead of mapping itself.

Note that this change is only related to the code path with Toggle
"nonzero_clear_resources_on_creation_for_testing" enabled, currently
we don't plan to do the similar change when we enable Dawn wire.

BUG=dawn:414
TEST=dawn_end2end_tests

Change-Id: I2b3d0840333e8d99759800ab9fc141d0a7cf2f8d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27220
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2020-09-01 08:08:57 +00:00
Austin Eng 0b89b27263 Move client-side OnCompletion callbacks to the server.
We need callbacks to be processed server-side so that callback
ordering can be made consistent.

Bug: dawn:516
Change-Id: Ie5590ca33fce6bda431f93ae9ff8e832468109c1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27481
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-08-28 21:23:50 +00:00
Corentin Wallez 9ed8d518ca Unify ProgrammableStageDescriptor handling in PipelineBase
Previously both Render and Compute pipelines handled extracting data
from the ProgrammableStageDescriptors. Unify them in PipelineBase in
preparation for gathering EntryPointMetadata in the PipelineBase.

Bug: dawn:216
Change-Id: I633dd2d8c9fdd0c08bb34cbf18955445951e312f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27263
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2020-08-28 14:26:00 +00:00
Jiawei Shao 900bd341a3 Enable TextureSubresourceTest.MipmapLevelsTest on Vulkan w/ validation
This patch re-enables TextureSubresourceTest.MipmapLevelsTest on Vulkan
with validation layer because the bug in Vulkan validation layer has
been fixed.

BUG=dawn:517
TEST=dawn_end2end_tests

Change-Id: I654603369717a32c5c9168621fb81e8a822d50d0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27560
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-08-27 13:12:29 +00:00
Xinghua Cao 8c012e8796 D3D12: fix shader model comparison
D3D12_SHADER_MODEL is encoded as 0xMm with M the major version and
m the minor version. After decoding D3D12_SHADER_MODEL to a custom
shader model format as Mm, which is a decimal value, it's meaningless
to compare these two values.

Bug: dawn:426
Change-Id: I3eb9a2a1392307616a5ac4d0aa49790bcc363629
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27300
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
2020-08-27 02:56:05 +00:00
Brandon Jones 8575cb3ec7 Add setIndexBufferWithFormat method
First step of a multi-part change to bring the setIndexBuffer
method up-to-date with the current WebGPU spec. This change
preserves the previous setIndexBuffer semantics for backwards
compatibility until developers have been notified and given
a grace period to transition to the new signature.

BUG=dawn:502
Change-Id: Ia8c665639494d244f52296ceadaedb320fa6c985
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27182
Commit-Queue: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-08-27 01:13:35 +00:00
Austin Eng 320c6c87b2 Revert "Skip TextureSubresourceTest.MipmapLevelsTest on Vulkan w/ validation"
This reverts commit e8dc820fbc.

Reason for revert: The Vulkan validation layers bug has been fixed

Original change's description:
> Skip TextureSubresourceTest.MipmapLevelsTest on Vulkan w/ validation
> 
> This test is broken after a validation layers update.
> 
> Tbr=cwallez@chromium.org
> Bug: dawn:517
> Change-Id: Ia685ba7bd17d8cdb49477997aaee4e5a9f00f9c7
> 
> Change-Id: I6f05516f00c8d05b96c8af578e09df9dc416385b
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27123
> Reviewed-by: Austin Eng <enga@chromium.org>
> Commit-Queue: Austin Eng <enga@chromium.org>

TBR=cwallez@chromium.org,enga@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: dawn:517
Change-Id: I844960bfda35be59659ee88ff8b5028fbd0ca612
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27400
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-08-26 15:26:32 +00:00
Corentin Wallez 4f8bdaf473 Make ShaderModuleBase use an internal EntryPointMetadata
WGSL and SPIR-V modules can contain multiple entrypoints, for different
shader stages, that the pipelines can choose from. This is the first CL
in a stack that will change Dawn internals to not rely on ShaderModules
having a single entrypoint.

EntryPointMetadata is introduced that will contain all reflection data
for an entrypoint of a shader module. To ease review this CL doesn't
introduce any functional changes and doesn't expose the
EntryPointMetadata at the ShaderModuleBase interface. Instead
ShaderModuleBase contains a single metadata object for its single entry
point, and layout-related queries and proxied to the EntryPointMetadata
object.

Finally some small renames and formatting changes are done.

Bug: dawn:216
Change-Id: I0f4d12a5075ba14c5e8fd666be4073d34288f6f9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27240
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-08-26 09:57:52 +00:00
Ryan Harrison c3e3c30b0d Roll 4 dependencies
Roll third_party/glslang/ f257e0ea6..983698bb3 (2 commits)

f257e0ea6b..983698bb34

$ git log f257e0ea6..983698bb3 --date=short --no-merges --format='%ad %ae %s'
2020-08-23 john Revert "Merge pull request #2371 from RafaelMarinheiro/master"
2020-08-21 julius.ikkala Obey ENABLE_PCH CMake option

Created with:
  roll-dep third_party/glslang

Roll third_party/spirv-cross/ 4c7944bb4..685f86471 (6 commits)

4c7944bb42..685f86471e

$ git log 4c7944bb4..685f86471 --date=short --no-merges --format='%ad %ae %s'
2020-08-24 post Run format_all.sh.
2020-08-24 post Work around annoying warning on GCC 10.2.
2020-08-21 post Overhaul how we deal with reserved identifiers.
2020-08-20 post HLSL: Fix FragCoord.w.
2020-08-20 post HLSL: Deal with partially filled 16-byte word in cbuffers.
2020-08-20 post HLSL: Fix bug in is_packing_standard for cbuffer.

Created with:
  roll-dep third_party/spirv-cross

Roll third_party/SPIRV-Tools/ 1023dd7a0..4dd122392 (7 commits)

1023dd7a04..4dd122392f

$ git log 1023dd7a0..4dd122392 --date=short --no-merges --format='%ad %ae %s'
2020-08-21 andreperezmaselco.developer spirv-fuzz: Add words instead of logical operands (#3728)
2020-08-20 dnovillo CCP should mark IR changed if it created new constants. (#3732)
2020-08-19 antonikarp spirv-fuzz: add FuzzerPassAddCompositeInserts (#3606)
2020-08-19 antonikarp spirv-fuzz: Support pointer types in FuzzerPassAddParameters (#3627)
2020-08-18 jaebaek Let ADCE pass check DebugScope (#3703)
2020-08-18 andreperezmaselco.developer spirv-opt: Implement opt::Function::HasEarlyReturn function (#3711)
2020-08-17 andreperezmaselco.developer spirv-fuzz: Check termination instructions when donating modules (#3710)

Created with:
  roll-dep third_party/SPIRV-Tools

Roll third_party/tint/ b08e25388..c3038ddfa (23 commits)

https://dawn.googlesource.com/tint/+log/b08e25388629..c3038ddfa6eb

$ git log b08e25388..c3038ddfa --date=short --no-merges --format='%ad %ae %s'
2020-08-24 sarahmashay [validation] Adds disable test for v-0023, entry point functions accept no params
2020-08-24 tommek [wgsl-reader] Adding body_statement to statement grammar
2020-08-24 cwallez Fix triangle.wgsl's floating point literals.
2020-08-21 dneto Re-enable float emission tests
2020-08-21 sarahmashay [validation] validate if entry point functions return void
2020-08-20 sarahmashay [validation] Add disabled test for v-0024-entry point functions return void
2020-08-20 sarahmashay [validation] checks if function used in entry point exists
2020-08-20 sarahmashay [validation] Add disabled test for v-0019-entry point functions must exist
2020-08-20 sarahmashay [validation] Checks if recursions exist
2020-08-19 dsinclair [hlsl-writer] Add support for import statements.
2020-08-19 dsinclair [hlsl-writer] Generate intrinsics.
2020-08-19 dsinclair [hlsl-writer] Emit cast expressions.
2020-08-19 dsinclair [hlsl-writer] Add tests for entry point data.
2020-08-19 dsinclair [hlsl-writer] Emit module constants.
2020-08-19 dsinclair [hlsl-writer] Fix emission of struct aliases.
2020-08-19 dsinclair [hlsl-writer] Emit uniform variables.
2020-08-19 dsinclair [hlsl-writer] Add CallExpression.
2020-08-19 dsinclair [hlsl-writer] Add support for input locations and builtins.
2020-08-19 dsinclair [hlsl-writer] Add function handling.
2020-08-18 dsinclair Add missing block decoration.
2020-08-18 sarahmashay [type-determiner] return false when type determining an undeclared function
2020-08-17 sarahmashay [validation] Add Disabled test for detecting recursion
2020-08-17 dsinclair [spirv-writer] Output name for constant global variables.

Created with:
  roll-dep third_party/tint

Change-Id: Idccbaa1b9b2acd7e1180670250b2cfa37be97b64
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27281
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-08-24 15:58:56 +00:00
Jiawei Shao ef74473347 Fix issues in end2end tests for enabling buffer lazy clear by default
This patch cleans up some issues in the end2end tests that will cause
test failures when we enable buffer lazy initialization by default.

This patch also skips a test that always fails with Vulkan validation
layer.

BUG=dawn:414
TEST=dawn_end2end_tests

Change-Id: I40f643615b3fec4e52c90d576285534a99950915
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26960
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2020-08-23 06:08:05 +00:00
Corentin Wallez ce78ce2e28 Tiny cleanup of GetMappedRange.
Fix the last TODOs for the deletion of the "old mapping".

Bug: dawn:445
Change-Id: Ie7443446e4696cf38801980db3d3cfdb09094578
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27060
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-08-22 11:08:34 +00:00
Austin Eng e8dc820fbc Skip TextureSubresourceTest.MipmapLevelsTest on Vulkan w/ validation
This test is broken after a validation layers update.

Tbr=cwallez@chromium.org
Bug: dawn:517
Change-Id: Ia685ba7bd17d8cdb49477997aaee4e5a9f00f9c7

Change-Id: I6f05516f00c8d05b96c8af578e09df9dc416385b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27123
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-08-21 00:23:59 +00:00
Bryan Bernhart ef0fee48c4 D3D12: check if resource manager exists before releasing
ClusterFuzz injects errors into the device which may not
initialize the resource manager which would later fail upon
shutdown. This adds a check to see if the resource manager
exists before releasing the pool.

BUG=chromium:1117595

Change-Id: Ie2b90f947f3ddd3906ecabc65e959915c1f7e386
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27040
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
2020-08-20 17:06:39 +00:00
Jiawei Shao ab4e4feb01 Workaround Intel Mesa driver issue about T2B copy with stencil aspects
In the test DepthStencilCopyTests/FromStencilAspect we are writing into
gl_FragDepth but we disable the depth writing when creating the render
pipeline, which causes Intel Mesa driver hangs when the test is running
on it. In this patch we try to add workaround to this issue by enabling
the depth writing.

BUG=dawn:439
TEST=dawn_end2end_tests

Change-Id: I618246097a26ee62c830f0ac8dc1aa0ab4d224a9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27000
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-08-20 16:17:59 +00:00
Corentin Wallez f7123d7463 Remove MapRead/WriteAsync and CreateBufferMapped
Bug: dawn:445

Change-Id: I0b0755b6bb754d1fff99aa59b08362f89950e300
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26301
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-08-20 14:22:29 +00:00
Tomek Ponitka d720785616 Refactoring Queue::WriteTexture implementation
More code is now shared across backends.

Bug: dawn:483
Change-Id: I7ca1b8cbc2f12e408c94fbe5bca9fd29e47e0004
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27021
Commit-Queue: Tomek Ponitka <tommek@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-08-20 13:29:39 +00:00
Tomek Ponitka 7f265d1d40 Fixing offset alignments when using DynamicUploader
When using a dynamic uploader we didn't align the offset
that the allocated memory might have already had.
That fixes WriteTexture, WriteBuffer, ClearTexture and
on D3D12 ClearBuffer.

Bug: dawn:512
Change-Id: I64c7511ad6b0d3d6a28a494e1324a10ad4d38091
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27020
Commit-Queue: Tomek Ponitka <tommek@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
2020-08-20 11:25:49 +00:00
Hao Li eff9ef0f22 Query API: QuerySet on Vulkan
- Implement QuerySet on Vulkan backend.
- Enable end2end tests on Vulkan. The timestamp tests will be enabled
  in following CL which implement timestamp query.

Bug: dawn:434
Change-Id: I7ee04380c5f6b5af561cc23e28637dcae70bc7b9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26360
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
2020-08-20 00:40:07 +00:00
Corentin Wallez 2f6e4ec6c0 Add wgpu::TextureFormat::RGB9E5Ufloat
Also update RG11B10Float to be name RG11B10Ufloat

Bug: dawn:22

Change-Id: I0ea76dc25c37ebaeb4c2c2c2a119d00940acc145
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/25760
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
2020-08-19 21:51:20 +00:00
Austin Eng b54c82ed39 Support depth-only/stencil-only COPY_SRC on OpenGL
Bug: dawn:439
Change-Id: I09d33d3115d54c03e3ba5a32f34843065edb8020
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24961
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-08-18 18:53:26 +00:00
Corentin Wallez caec4ab04a Metal: Remove usage of MTLTextureUsagePixelFormatView
This usage is only needed when reinterpreting formats, which Dawn
doesn't support yet, and has a significant cost in that textures can't
be compressed as well.

Bug: dawn:510
Change-Id: I6e416a97c84a708f97d83f9b15c60b05bbf15908
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26881
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-08-18 15:39:06 +00:00
Dirk Pranke 9aed03dcb0 Fix visibility rules for configs enforced by latest GN.
Prior versions of GN had a bug (gn:22) where visibility rules
for configs weren't enforced properly.

This CL tweaks the visibility settings of some configs to conform
to the latest version.

Change-Id: If0e9f06667d3d89bcd0bbfc938e159e590e11e27
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26929
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-08-18 13:26:26 +00:00
Corentin Wallez 7268e7d36f OpenGL: Unconditionally set glFrontFace
Previously glFrontFace was called only if some cull mode was set. This
was incorrect because the front face also influences whether a triangle
uses stencilFront or stencilBack.

Because OpenGL default to GL_CCW (which with the Y-flip is the inverse
of wgpu::FrontFace::CCW that's default in the descriptor), if
stencilFront != stencilBack and cull mode is none, then the incorrect
stencil face descriptor was used.

Also adds a regression test for this issue.

Bug: dawn:508
Change-Id: I00d93bda6d4f030cf9db472a9f2b0deefc72707f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26880
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-08-18 12:30:06 +00:00
Ryan Harrison d95180dede Roll 4 dependencies
Roll third_party/glslang/ d253278f9..f257e0ea6 (9 commits)

d253278f98..f257e0ea6b

$ git log d253278f9..f257e0ea6 --date=short --no-merges --format='%ad %ae %s'
2020-08-14 john Build: fix a build warning
2020-08-14 rafael.fariasmarinheiro Use --test-root to pass files to Bazel tests.
2020-08-14 john Fix #2366, fix #2358, correctly separate out numerical feature checking
2020-08-14 john Non-functional (almost): Refactor when 'extensionRequested' is called.
2020-08-14 john Non-functional: Remove reinventing the scalar type, note code issues
2020-08-11 john Non-functional: spellings of "destinaton" and "addPairConversion"
2020-08-10 ezdiy GLSLANG_EXPORT for C APIs.
2020-08-07 john Non-functional: correctly do GL_EXT_buffer_reference2 semantic checking
2020-08-06 john Non-functional: consistently use 'const TSourceLoc&' to pass location.

Created with:
  roll-dep third_party/glslang

Roll third_party/shaderc/ ffd805115..21b36f736 (1 commit)

ffd805115e..21b36f7368

$ git log ffd805115..21b36f736 --date=short --no-merges --format='%ad %ae %s'
2020-08-17 rharrison Roll 4 dependencies (#1131)

Created with:
  roll-dep third_party/shaderc

Roll third_party/SPIRV-Tools/ b4c4da3e7..1023dd7a0 (6 commits)

b4c4da3e76..1023dd7a04

$ git log b4c4da3e7..1023dd7a0 --date=short --no-merges --format='%ad %ae %s'
2020-08-17 jackoalan Fix -Wrange-loop-analysis warning (#3712)
2020-08-17 andreperezmaselco.developer spirv-fuzz: Check header dominance when adding dead block (#3694)
2020-08-16 jaebaek Allow DebugTypeTemplate for Type operand (#3702)
2020-08-14 antonikarp spirv-fuzz: Improve code coverage of tests (#3686)
2020-08-14 stefanomil spirv-fuzz: Fuzzer pass to randomly apply loop preheaders (#3668)
2020-08-14 vasniktel spirv-fuzz: Support identical predecessors in TransformationPropagateInstructionUp (#3689)

Created with:
  roll-dep third_party/SPIRV-Tools

Roll third_party/tint/ 23c3fee35..b08e25388 (2 commits)

https://dawn.googlesource.com/tint/+log/23c3fee35436..b08e25388629

$ git log 23c3fee35..b08e25388 --date=short --no-merges --format='%ad %ae %s'
2020-08-17 sarahmashay [validation] Validates if return statement type matches function return type
2020-08-17 sarahmashay [validation] Validates function name uniqueness

Created with:
  roll-dep third_party/tint

Change-Id: I0c94f6a7f9f90a68ecdabfd6ce07e8e675dbfc13
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26940
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-08-17 19:25:05 +00:00
Austin Eng c0fd9d0945 D3D12: only lazy clear OutputAttachment textures with render target ops
Previously, lazy clearing always added DEPTH_STENCIL or RENDER_TARGET to
textures because we cleared using ClearDepthStencilView or
ClearRenderTargetView. Now, we're able to clear using copies.

This also allows textures to actually use the small resource heap
placement optimization. Doing so generates debug layer warnings when the
small alignment is first tried but rejected. This CL silences those
warnings.

Bug: dawn:145
Change-Id: Id385846536b337cddcfdadc5739561c7adc30c8c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26840
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-08-17 18:39:25 +00:00
Bryan Bernhart 988f19e208 Pool sub-allocated resource heaps.
Allow resource heaps to be recycled when
no longer used.

BUG=dawn:496

Change-Id: I36518f8b0c0b26d2cceecc4e7b05e00a5fd5bd25
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26126
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
2020-08-17 17:47:15 +00:00
Austin Eng 5e9b29fab9 Fix ASSERT in WindowsDebugLogger
SetEvent returns non-zero on success, not zero.

Tbr=cwallez@chromium.org
Bug: none
Change-Id: Ib6ea74b19799bc3211136a5788b2bce8880f3b17
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26841
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-08-14 22:44:02 +00:00
Austin Eng f580096468 end2end_tests: Forward Windows debug messages to stderr
When validation layers are enabled, D3D12 warnings and error
messages are logged to the shared DBWIN_BUFFER segment of memory.
This CL has makes the test environment watch for new events and
logs them to stderr so they show up in the test bot logs. This helps
debug problems in the D3D12 backend which previously just crashed
with a general Device Lost message.

Bug: none
Change-Id: I0eaddf9e16303bd65579e85fe6693bd8cdfbd8da
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26640
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-08-14 21:02:12 +00:00
Corentin Wallez 24b5971b84 Remove deprecated wgpu::BufferCopyView members
Bug: dawn:22

Change-Id: Iec26e9945443411a8f322a80d7e63c96c74f3508
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26702
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-08-14 09:31:00 +00:00
Idan Raiter d315022be5 Add Metal vertex pulling behind a flag
Implements vertex pulling on the Metal backend, hidden behind a flag
until ready for use (we are missing support for more complicated vertex
input types).

Bug: dawn:480
Change-Id: I38028b80673693ebf21309ad5336561fb99f40dc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26522
Commit-Queue: Idan Raiter <idanr@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-08-13 23:53:59 +00:00
Idan Raiter e1604b9a64 Enable robust buffer access pass if robustness on
Turns on SPVC buffer access pass if robustness is also enabled.

Bug: dawn:480
Change-Id: Ib4d74e177f4f65139219f3ce8662566370f4a108
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26741
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-08-13 20:53:59 +00:00
Enrico Galli 76d9e34bbc Eagerly destroy CommandBuffer commands after submission
Command buffers hold references to all encoded objects. Freeing them
eagerly significantly reduces the amount memory held before the JS GC
clears the command buffers.

Bug: dawn:262, dawn:372
Change-Id: I68dfa973f980fba8d94611ed1de3c593bdb91a63
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26562
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-08-13 20:25:39 +00:00