Commit Graph

2475 Commits

Author SHA1 Message Date
Corentin Wallez c01b26490a Remove wgpu::BindingType::StorageTexture
It isn't in the upstream WebGPU spec and completely unimplemented in
Dawn.

Bug: dawn:527
Change-Id: I2023c7b1de2a9fa50d26ab1678b7ef7e32c64af6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28500
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-09-18 10:31:40 +00:00
Hao Li d6498a41ab Query API: Timestamp Query on Vulkan
- Add WriteTimestamp and ResolveQuerySet on Vulkan
- Enable end2end tests of timestamp query on Vulkan
- Lazy initialize the distination buffer in ResolveQuerySet

Bug: dawn:434
Change-Id: Idbd117d6c198f6726ed922c08d030bb6fbae8be6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27540
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
2020-09-18 01:27:40 +00:00
Bryan Bernhart ac3765e663 D3D12: Align UBO sizes to 256B.
D3D debug layer uses the descriptor size (width) to
validate CBV bounds when directly allocating UBOs.
This causes validation failure when the buffer size
is misaligned (ie. not a multiple of 256B) even
through the underlying resource heap size is always
64KB aligned.

This change always aligns the buffer size to be 256B
to avoid such validation error should sub-allocation
fail.

BUG=dawn:506

Change-Id: Ic9072934cac65cfd25d0e2a20cb364bd3ca88e3b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/26820
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
2020-09-17 23:30:40 +00:00
Ryan Harrison 95e715873d Enable running robust buffer access pass on shaders
In addition to adding the pass running logic, how shaders are stored
in the ShaderModule is changed, so that cached shader that was used to
create the ShaderModule is differentiated from the
modified/intermediate shader that is actually being passed to
SPIRV-Cross.

Also rolling SPIRV-Tools to pick up a fix for a bug I discovered in
the RBA pass implementation.

Roll third_party/SPIRV-Tools/ fd05605be..34ef0c3fd (25 commits)

fd05605bef..34ef0c3fdc

$ git log fd05605be..34ef0c3fd --date=short --no-merges --format='%ad %ae %s'
2020-09-16 rharrison Fix missed modification flagging (#3814)
2020-09-16 andreperezmaselco.developer spirv-fuzz: Use an irrelevant id for the unused components (#3810)
2020-09-16 stefanomil spirv-fuzz: Improvements to random number generation (#3809)
2020-09-16 greg Add buffer oob check to bindless instrumentation (#3800)
2020-09-16 vasniktel spirv-fuzz: Remove CanFindOrCreateZeroConstant (#3807)
2020-09-15 andreperezmaselco.developer spirv-fuzz: Add bit instruction synonym transformation (#3775)
2020-09-16 vasniktel spirv-fuzz: Skip unreachable blocks (#3729)
2020-09-15 afdx Fix build errors (#3804)
2020-09-15 vasniktel spirv-fuzz: Handle invalid ids in fact manager (#3742)
2020-09-15 vasniktel spirv-fuzz: Support memory instructions MoveInstructionDown (#3700)
2020-09-15 stefanomil spirv-fuzz: Pass submanagers to other submanagers when necessary (#3796)
2020-09-15 stefanomil spirv-fuzz: Transformation to flatten conditional branch (#3667)
2020-09-14 46493288+sfricke-samsung spirv-val: Add BaseInstance, BaseVertex, DrawIndex, and ViewIndex (#3782)
2020-09-14 dnovillo Properly mark IR changed if instruction folder creates more than one constant. (#3799)
2020-09-11 afdx Add missing file to BUILD.gn (#3798)
2020-09-11 antonikarp spirv-fuzz: Add TransformationDuplicateRegionWithSelection (#3773)
2020-09-11 afdx spirv-reduce: Support reducing a specific function (#3774)
2020-09-10 afdx spirv-reduce: Refactoring (#3793)
2020-09-10 afdx Favour 'integrity' over 'coherence' as a replacement for 'sanity'. (#3619)
2020-09-10 antonikarp spirv-fuzz: Fix header guards in transformations/fuzzer passes (#3784)
2020-09-10 paulthomson spirv-fuzz: Add SPIRV_FUZZ_PROTOC_COMMAND (#3789)
2020-09-10 paulthomson Add missing include (#3788)
2020-09-09 paulthomson Improve spirv-fuzz CMake code (#3781)
2020-09-08 stevenperron Allow SPV_KHR_8bit_storage extension. (#3780)
2020-09-08 stefanomil spirv-opt: Add function to compute nesting depth of a block (#3771)

Created with:
  roll-dep third_party/SPIRV-Tools

BUG=dawn:523,dawn:480

Change-Id: I1f424f5fe6d67999412f286e831ea2ea26372b9e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28540
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2020-09-17 19:58:40 +00:00
Austin Eng 4099f65525 Typeify VertexBufferSlot and VertexAttributeLocation
Bug: dawn:442
Change-Id: Ic4c29eed51984d367dc7fd6055e33d26bfc7faed
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28041
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2020-09-17 19:07:00 +00:00
Hao Li 6419bddd9b Add buffer lazy initialization before resolve queries on D3D12
- Reomve buffer initialization at buffer creation in end2end tests,
and implement lazy initialization when resolving queries to buffer
on D3D12 backend.
- Add buffer lazy zero init tests for resolveQuerySet on D3D12.
- For other backends, buffer lazy initialization will be added when
its resolve method is implemented.

Bug: dawn:434
Change-Id: Ib91c004b37ca912135a1c2fbb53bbd16e2d4eac6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28461
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
2020-09-17 01:59:29 +00:00
Corentin Wallez 19b910d796 Make dawn components support CMake's BUILD_SHARED_LIBS
Convention in CMake land is that libraries default to STATIC or
SHARED based on BUILD_SHARED_LIBS. Do that for Dawn components
that users will link against, but make sure to correctly set
macros used for the export headers.

Bug: None

Change-Id: I6a96cb95706b63c18942424baada11ff81691866
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28503
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-09-16 19:03:18 +00:00
Corentin Wallez c236769548 Fix CMake build on Mac
Bug: None
Change-Id: I7e5410338707628ac0632e20ba720c3f271a1751
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28502
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-09-16 17:11:28 +00:00
Corentin Wallez dbd34449af Roll third_party/spirv-cross/ bad9dab8d..bdbef7b1f (3 commits)
bad9dab8df..bdbef7b1f3

$ git log bad9dab8d..bdbef7b1f --date=short --no-merges --format='%ad %ae %s'
2020-09-04 cwallez Fix -Wduplicate-enum and -Wrange-for-analysis.
2020-09-04 post Roll glslang/SPIRV-Tools deps.
2020-09-04 post Handle OpUndef %void.

Created with:
  roll-dep third_party/spirv-cross

TBR=enga@chromium.org
Bug: None

Change-Id: I94afddf93b187bbde37c4e7088231d4f28959403
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28422
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-09-11 11:12:06 +00:00
Corentin Wallez d05e532c6b Fix typo in README.md
Bug: None
TBR=enga@chromium.org

Change-Id: Ib86da5fca2fb3cf1287cca47be1d739433fd2048
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28420
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-09-11 10:38:46 +00:00
Hidehiko Abe 948b3a0555 Expand is_linux to is_linux || is_chromeos.
Currnetly ,is_linux GN variable is set to true on Chrome OS build,
but it is planned to be set false. This CL is the preparation
to keep the bahavior compatible.

Bug: chromium:1110266
Test: Build locally.
Change-Id: Iffbfafe3ac5b00899804afa7471a04709046610a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28340
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Hidehiko Abe <hidehiko@chromium.org>
2020-09-11 02:24:16 +00:00
Bryan Bernhart 9427c97d9c Fix ASSERT in WindowsDebugLogger again
If debugger was already attached, closing
the exit handle would incorrectly assert.

Bug: None
Change-Id: I322591c66a9885a260a87750e066ba2e9d07fe23
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28321
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2020-09-10 15:53:47 +00:00
Corentin Wallez 498d5ea20a Rename BC6HRGBSfloat to BC6HRGBFloat
Bug: dawn:22
Change-Id: Ib579e15ff923cbd7c4f523a58c2ef582d39ba7c4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/27200
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2020-09-10 08:48:57 +00:00
Jiawei Shao 87f25134a8 Vulkan: 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
vkCmdPipelineBarrier() in the Vulkan command buffer.

BUG=dawn:522

Change-Id: I1b5943e62eb0a09db96de12196fcabb3448e9e4d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28283
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2020-09-10 00:26:07 +00:00
Corentin Wallez 39d1cc9e9c ShaderModule: Add support for multiple entryPoints
Also adds validation tests that reflection data is correctly computed by
entryPoint, and end2end tests that using a shader module with multiple
entryPoints works correctly.

Bug: dawn:216
Change-Id: Id2936bb220d4480872a68624996e4c42452a507d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28244
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-09-09 23:11:57 +00:00
Corentin Wallez b8712c01c1 D3D12: Make HLSL generation per-entrypoint.
Also make the CompileShaderDXC/FXC standalone functions because
they don't use ShaderModule except to GetDevice().

Bug: dawn:216
Change-Id: Iaec9abe52ad4422891474086c3b973baf07046a5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28243
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-09-09 22:55:17 +00:00
Corentin Wallez 28efed139f OpenGL: Make GLSL generation per-entrypoint.
Bug: dawn:216
Change-Id: I7b4c0e9c210af59711318a744d8055cfb9b82092
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28242
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-09-09 22:51:37 +00:00
Corentin Wallez 676e8f39df Metal: Use ShaderModule reflection when possible.
This change the Metal backend in preparation for supporting multiple
entrypoints:

 - Explicitly set the spirv_cross entry point before compiling.
 - Moves gathering of the local size to the frontend as it will be
   useful for validation in the future.
 - Query spirv-cross for the modified entrypoint name instead of
   duplicating the code in Dawn.
 - Move some conversion helpers from ShaderModule.cpp to their own
   SpirvUtils file.

Bug: dawn:216
Change-Id: I87d4953428e0bfeb97e39ed22f94d86ae7987782
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28241
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-09-09 22:47:07 +00:00
Corentin Wallez 947201da19 Make ShaderModuleBase use its own spirv_cross for reflection.
Bug: dawn:216
Change-Id: Ie79aaeb3a878960606e8c09a4969bf7a1dbe1b13
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28240
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2020-09-09 22:44:57 +00:00
Aleksi Sapon 97b880e6ff Add missing CMake spirv-cross dependency
Also add a missing SPIRV-Tool link

Change-Id: I0d81b6878f09017147b9ccbe21a5784383535ba9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/28280
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2020-09-09 16:39:00 +00:00
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