This reverts commit 9fdbb74072.
Reason for revert: The SPIRV-Cross GN files have a bug which is fixed upstream, but Skia is on an old version of SPIRV-Cross so they don't have the fix. So, the build fails when rolling Dawn into Skia complaining about unknown `-fno-exceptions` on the windows bots. Need Skia to either move to vulkan-deps, or roll their spirv-cross forward before this can re-land.
Original change's description:
> Use upstream SPIRV-Cross GN files.
>
> Previously spirv-cross didn't have its own sources files but this
> changed recently so we should use them. This will ultimately allow
> sharing targets between multiple components in Chromium.
>
> Bug: chromium:1179277
> Change-Id: Ib4bb1884b9ba9c4c3804e96d8adbb8905c60c9a3
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41725
> Auto-Submit: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Peng Huang <penghuang@chromium.org>
> Reviewed-by: Austin Eng <enga@chromium.org>
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Bug: chromium:1179277
Change-Id: If1003bafa7b35f502c08b2dab91dd3d416aab077
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42420
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
As was done for DawnTest, we should set ANGLE's default backend to
SwiftShader for the examples as well.
Bug: dawn:691
Change-Id: I6ced2ffbeed48a555e74a9373c52cbf9e1e3c708
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42301
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
The new tint::transform::[Spirv,Hlsl,Msl] transforms sanitize the tint::Program for the given backend.
The tint::transform::Spirv transform handles edge cases for sample masks (crbug.com/tint/372). We can now enable these tests.
Rework dawn_native::[opengl,vulkan]::ShaderModule::Initialize() so that transforms are applied *before* calling ShaderModuleBase::InitializeBase(). This is done as InitializeBase() wants to validate the SPIR-V, which requires the pre-processing of tint::transform::Spirv.
InitializeBase() also performs shader reflection which needs to be performed on the post-transformed program for the information to be correct.
Bug: tint:372
Change-Id: I4c96ce89b6ae286972549d8c7efe59e77c469063
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42223
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Having the [[block]] decorator on the nested Particle struct causes
SPIRV-Cross to not emit it (see bug). Removing the decorator from
the Particle while leaving it on the top-level struct works fine.
This fixes the issue, but validation should be added to Tint
to catch the problem (this work is tracked in https://bugs.chromium.org/p/tint/issues/detail?id=320).
Bug: dawn:611
Change-Id: I8bef811e314ed758f805247977f8b129477abd39
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42300
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Store index buffer size in CommandBufferStateTracker and skip
issuing drawIndexed call if it's out of bounds.
Bug: dawn:622
Change-Id: I8f4bd8ba03dea931815dc0db87ffacb9936a123d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42000
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
SwANGLE does not support GL_EXT_texture_compression_s3tc.
However, it does support GL_EXT_texture_compression_dxt1,
GL_ANGLE_texture_compression_dxt3 and GL_ANGLE_texture_compression_dxt5,
which should be sufficient for Dawn's purposes.
Note that sRGB formats may be problematic for OpenGL ES in general,
but ANGLE does support them, so we can satisfy the requirements for
Dawn's texture_compression_bc and exercise the codepaths on ES.
glPixelStorei is not only unsupported for CompressedTexSubImage*D()
but causes asserts in ANGLE and validation errors elsewhere. The fix
is to scope the glPixelStorei() calls to the non-compressed codepath.
Bug: dawn:580
Change-Id: I68fa019eda2aee37a097e697cfc87bcdc28c1f12
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42120
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
This introduces a macro DAWN_TRY_WITH_CLEANUP which allows
some code to be run before the early return.
Bug: chromium:1177332
Change-Id: I529c9ca6f2b0cf6ffd4bf85719a4e2a1c2552d1b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42003
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
In upstream WebGPU, error scopes do not wait for queue operations or
async operations like create*PipelineAsync or mapAsync. This simplifies
the implementation so we don't need to track error scopes by parent
pointers but can instead have a simple stack.
Bug: dawn:22, chromium:1177107
Change-Id: Ic7344cbd96e257cbabc0f414934a5e42a4020a13
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41980
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Previously spirv-cross didn't have its own sources files but this
changed recently so we should use them. This will ultimately allow
sharing targets between multiple components in Chromium.
Bug: chromium:1179277
Change-Id: Ib4bb1884b9ba9c4c3804e96d8adbb8905c60c9a3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41725
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Compressed textures (BC formats) can support full or partial mip chains.
This tiny change adds a validation test to ensure it.
Bug: dawn:558
Change-Id: I584b65b7d049a3f188e3b56ca5c9ff36748151ae
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42004
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
This makes the primitives in the serialized wire protocol
the same across platforms and architectures which is better
for both fuzzing and remoting Dawn.
Commands that used size_t are updated to use uint64_t, and
the server-side implementation checks if conversion to
size_t would narrow.
Bug: dawn:680
Change-Id: Icef9dc11a72699685ed7191c34d6a922b652c887
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41582
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
- Encapsulate deserialize buffer and size into a DeserializeBuffer
class. This limits the possible operations so we can be sure
buffer/size are not manually mutated such that we consume more
bytes than available.
- Ensure that memberLength (on deserialization) doesn't narrow (or
widen). Previously, values were always implicitly cast to size_t.
- Slight optimization that removes "= nullptr" initialization for
pointers written by DeserializeBuffer::Read. These
are always written to on success, so we don't need to initialize
to nullptr.
Bug: dawn:680
Change-Id: I3779a343e85ff90810707148a952c6ba27cf9d22
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41521
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
String deserialization requires one more byte than the length
computed from strlen. This CL guards against the case when
length+1 overflows.
Also include a slight optimization to memcpy string contents
instead of using std::copy. It's safe to cast away volatile
qualifiers here since the string data doesn't affect control flow.
Bug: dawn:680
Change-Id: Icaf319ea6c5aedcf0c33d17a0ea7c253f4f249e1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41800
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
They were in QueueSubmitValidationTests which was confusing.
Bug: None
Change-Id: I58406149e9e71feafaf111c35aed255c78b9b642
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41726
Commit-Queue: Stephen White <senorblanco@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
BufferConsumer wraps a buffer pointer and size and exposes a
limited number of operations to get data while decrementing
the remaining available size. This makes it so that code
reading or writing into a buffer cannot easily consume more
bytes than available.
This CL guards against serialization overflows using
BufferConsumer, and it implements GetPtrFromBuffer
(for deserialization) on top of BufferConsumer. A future patch
will make the rest of the deserialization code use BufferConsumer.
Bug: dawn:680
Change-Id: Ic2bd6e7039e83ce70307c2ff47aaca9891c16d91
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41780
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
This version renames HasBackendType() -> HasBackendTypeFilter() and
adds a test, similar to HasVendorIdFilter().
Bug: dawn:687
Change-Id: I444d3cb668eb7402ba45f14aaec290390f4c3944
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41900
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Roll third_party/shaderc/ 6216d098d..8d081127e (11 commits)
6216d098d8..8d081127ee
$ git log 6216d098d..8d081127e --date=short --no-merges --format='%ad %ae %s'
2021-02-09 quaresma.jose cmake: add option to skip build the examples (#1170)
2021-02-01 dneto Fix typo
2021-01-28 dneto Improve file+line parsing from Glslang messages
2021-01-18 rharrison Deprecate WebGPU SPIRV support (#1167)
2021-01-06 rharrison Roll 4 dependencies (#1165)
2020-12-09 rharrison Start shaderc v2020.5
2020-12-09 rharrison Finalize v2020.4
2020-12-09 rharrison Updated CHANGES
2020-12-09 rharrison Rolling 5 dependencies (#1161)
2020-12-07 dneto Update SPIRV-Tools, SPIRV-Headers, glslang with raytracing fixes
2020-11-12 dneto copyright check: Exclude .venv in source tree
Roll third_party/vulkan-deps/ c493c6112..0d42e8392 (141 commits)
https://chromium.googlesource.com/vulkan-deps/+log/c493c6112021..0d42e83928f7
$ git log c493c6112..0d42e8392 --date=short --no-merges --format='%ad %ae %s'
2021-02-17 chromium-autoroll Roll SPIRV-Cross from 92d379bab456 to 6f1f6775f35b (1 revision)
2021-02-17 chromium-autoroll Roll SPIRV-Cross from bae17e820438 to 92d379bab456 (1 revision)
2021-02-16 chromium-autoroll Roll SPIRV-Tools from c79edd260c2b to 05cda81aba8c (1 revision)
2021-02-16 chromium-autoroll Roll Vulkan-ValidationLayers from f9eec56cc82f to 74aa762a95df (1 revision)
2021-02-16 chromium-autoroll Roll Vulkan-ValidationLayers from 6302c649ca95 to f9eec56cc82f (1 revision)
2021-02-16 chromium-autoroll Roll Vulkan-Tools from 6952dfcc1df5 to 88ea55de928a (1 revision)
2021-02-16 chromium-autoroll Roll Vulkan-ValidationLayers from 97e718edc638 to 6302c649ca95 (2 revisions)
2021-02-16 chromium-autoroll Roll Vulkan-ValidationLayers from 47bbe90d54c8 to 97e718edc638 (1 revision)
2021-02-16 chromium-autoroll Roll Vulkan-ValidationLayers from c62432713f23 to 47bbe90d54c8 (1 revision)
2021-02-16 chromium-autoroll Roll SPIRV-Cross from 5789e3eed9bc to bae17e820438 (1 revision)
2021-02-15 chromium-autoroll Roll glslang from b0f8a0c3abb9 to 51b86c1a2b77 (1 revision)
2021-02-15 chromium-autoroll Roll glslang from 6ab923c69df7 to b0f8a0c3abb9 (1 revision)
2021-02-15 chromium-autoroll Roll Vulkan-Loader from a66ceba27225 to c5678a03db38 (1 revision)
2021-02-15 chromium-autoroll Roll SPIRV-Cross from 05a1a07f700f to 5789e3eed9bc (1 revision)
2021-02-15 chromium-autoroll Roll SPIRV-Cross from 8f5ab50fb832 to 05a1a07f700f (1 revision)
2021-02-15 chromium-autoroll Roll SPIRV-Cross from 4741bbaa641d to 8f5ab50fb832 (1 revision)
2021-02-15 chromium-autoroll Roll Vulkan-Headers from ec2db85225ab to 1d99b835ec3c (1 revision)
2021-02-12 chromium-autoroll Roll Vulkan-ValidationLayers from 7de10e83093e to c62432713f23 (1 revision)
2021-02-12 jmadill Update commit message script to write as strings.
2021-02-12 chromium-autoroll Roll Vulkan-ValidationLayers from e02e6f73e68c to 7de10e83093e (1 revision)
2021-02-12 chromium-autoroll Roll glslang from 4afd69177258 to 6ab923c69df7 (1 revision)
2021-02-11 chromium-autoroll Roll SPIRV-Tools from cfa1dadb1e62 to c79edd260c2b (1 revision)
2021-02-11 chromium-autoroll Roll Vulkan-ValidationLayers from 01c9ae9b47e5 to e02e6f73e68c (1 revision)
2021-02-10 chromium-autoroll Roll Vulkan-ValidationLayers from d1bfbcd594d6 to 01c9ae9b47e5 (1 revision)
2021-02-10 chromium-autoroll Roll Vulkan-Loader from ff6a9e31358a to a66ceba27225 (2 revisions)
2021-02-10 chromium-autoroll Roll SPIRV-Tools from f0c96f40c79d to cfa1dadb1e62 (1 revision)
2021-02-09 chromium-autoroll Roll Vulkan-Tools from a03938051ff6 to 6952dfcc1df5 (1 revision)
2021-02-09 chromium-autoroll Roll Vulkan-ValidationLayers from 7b727b773d50 to d1bfbcd594d6 (1 revision)
2021-02-09 chromium-autoroll Roll Vulkan-ValidationLayers from 64ffe55c3bf6 to 7b727b773d50 (2 revisions)
2021-02-09 jmadill Add script for formatting commit messages.
2021-02-09 chromium-autoroll Roll Vulkan-Loader from 6fcd515be5b3 to ff6a9e31358a (1 revision)
2021-02-09 chromium-autoroll Roll glslang from 386b4fcb28e5 to 4afd69177258 (1 revision)
2021-02-09 chromium-autoroll Roll Vulkan-ValidationLayers from b2c81e3615bf to 64ffe55c3bf6 (3 revisions)
2021-02-08 chromium-autoroll Roll Vulkan-ValidationLayers from db287d4ad474 to b2c81e3615bf (1 revision)
2021-02-08 chromium-autoroll Roll Vulkan-ValidationLayers from 264cce03f6e4 to db287d4ad474 (2 revisions)
2021-02-06 chromium-autoroll Roll Vulkan-ValidationLayers from 047a6b59c90b to 264cce03f6e4 (1 revision)
2021-02-05 chromium-autoroll Roll Vulkan-ValidationLayers from 6ee1006a4ec9 to 047a6b59c90b (1 revision)
2021-02-05 chromium-autoroll Roll Vulkan-ValidationLayers from 773871cc7e99 to 6ee1006a4ec9 (2 revisions)
2021-02-05 chromium-autoroll Roll SPIRV-Tools from 3ad7e5fcc0ee to f0c96f40c79d (1 revision)
2021-02-05 chromium-autoroll Roll Vulkan-ValidationLayers from 2292623a4339 to 773871cc7e99 (1 revision)
2021-02-05 chromium-autoroll Roll Vulkan-ValidationLayers from 4b8c885ffebf to 2292623a4339 (1 revision)
2021-02-05 chromium-autoroll Roll SPIRV-Tools from f11f74348158 to 3ad7e5fcc0ee (1 revision)
2021-02-05 chromium-autoroll Roll SPIRV-Tools from c91a25af13e1 to f11f74348158 (1 revision)
2021-02-05 chromium-autoroll Roll Vulkan-ValidationLayers from d68ee750eb0b to 4b8c885ffebf (1 revision)
2021-02-04 chromium-autoroll Roll Vulkan-ValidationLayers from e3025c6cdeba to d68ee750eb0b (2 revisions)
2021-02-04 chromium-autoroll Roll Vulkan-ValidationLayers from 1c3d365b1008 to e3025c6cdeba (1 revision)
2021-02-03 chromium-autoroll Roll glslang from 5c4f421121c4 to 386b4fcb28e5 (1 revision)
2021-02-03 chromium-autoroll Roll Vulkan-Loader from fd5cc6962213 to 6fcd515be5b3 (1 revision)
2021-02-03 chromium-autoroll Roll Vulkan-ValidationLayers from 5f585ae240dd to 1c3d365b1008 (1 revision)
2021-02-03 chromium-autoroll Roll Vulkan-ValidationLayers from 669dfd5ce67f to 5f585ae240dd (1 revision)
(...)
2021-01-22 chromium-autoroll Roll SPIRV-Tools from f37547c73a98 to 968659aee8af (1 revision)
2021-01-21 chromium-autoroll Roll glslang from 9b4e82efb482 to 6abdde3ce511 (1 revision)
2021-01-20 chromium-autoroll Roll SPIRV-Tools from 1bd539b9bfc4 to f37547c73a98 (1 revision)
2021-01-20 chromium-autoroll Roll SPIRV-Tools from 56f8ed48efd5 to 1bd539b9bfc4 (1 revision)
2021-01-19 chromium-autoroll Roll SPIRV-Tools from e25db023c47a to 56f8ed48efd5 (1 revision)
2021-01-19 chromium-autoroll Roll Vulkan-ValidationLayers from c7ffe6890160 to ab73ad637606 (2 revisions)
2021-01-19 chromium-autoroll Roll Vulkan-ValidationLayers from efecc309816c to c7ffe6890160 (2 revisions)
2021-01-19 chromium-autoroll Roll Vulkan-ValidationLayers from fb6e414f76dc to efecc309816c (1 revision)
2021-01-19 chromium-autoroll Roll Vulkan-ValidationLayers from 03e41cc0c2a8 to fb6e414f76dc (2 revisions)
2021-01-19 chromium-autoroll Roll Vulkan-ValidationLayers from 6886c4b57f10 to 03e41cc0c2a8 (3 revisions)
2021-01-19 chromium-autoroll Roll Vulkan-ValidationLayers from 10651a9c0bc2 to 6886c4b57f10 (1 revision)
2021-01-19 chromium-autoroll Roll glslang from 5b7d68ca6b3f to 9b4e82efb482 (1 revision)
2021-01-19 chromium-autoroll Roll glslang from 3de5cfe50ede to 5b7d68ca6b3f (1 revision)
2021-01-19 chromium-autoroll Roll Vulkan-Headers from 9efc4a631161 to 684390cedbff (1 revision)
2021-01-19 chromium-autoroll Roll SPIRV-Tools from 8383bd5d6f26 to e25db023c47a (1 revision)
2021-01-19 chromium-autoroll Roll Vulkan-ValidationLayers from ca3216a3a24f to 10651a9c0bc2 (1 revision)
2021-01-18 chromium-autoroll Roll Vulkan-ValidationLayers from fb2ab876edcd to ca3216a3a24f (2 revisions)
2021-01-18 chromium-autoroll Roll SPIRV-Tools from ee39b5db5f1d to 8383bd5d6f26 (1 revision)
2021-01-18 chromium-autoroll Roll Vulkan-Loader from 9ba835885ffe to aed40d52837d (1 revision)
2021-01-15 chromium-autoroll Roll Vulkan-Tools from 93a6c58d76e1 to 7c25ce965b92 (1 revision)
2021-01-15 chromium-autoroll Roll Vulkan-Tools from c86cec54abe6 to 93a6c58d76e1 (1 revision)
2021-01-15 chromium-autoroll Roll SPIRV-Tools from 9150cd441f43 to ee39b5db5f1d (1 revision)
2021-01-15 chromium-autoroll Roll SPIRV-Cross from a5eaf2f44a5d to 9acb9ec31f5a (1 revision)
2021-01-14 chromium-autoroll Roll SPIRV-Tools from b2cfc5d1ceca to 9150cd441f43 (1 revision)
2021-01-14 chromium-autoroll Roll Vulkan-ValidationLayers from 586c46b96b62 to fb2ab876edcd (1 revision)
2021-01-14 chromium-autoroll Roll SPIRV-Cross from 820179bf4689 to a5eaf2f44a5d (1 revision)
2021-01-14 chromium-autoroll Roll SPIRV-Tools from cec658c11603 to b2cfc5d1ceca (1 revision)
2021-01-13 chromium-autoroll Roll Vulkan-ValidationLayers from f5dea94f6f15 to 586c46b96b62 (1 revision)
2021-01-13 chromium-autoroll Roll Vulkan-Tools from a3b988fa5588 to c86cec54abe6 (1 revision)
2021-01-13 chromium-autoroll Roll Vulkan-ValidationLayers from 04b58c5bea3a to f5dea94f6f15 (1 revision)
2021-01-13 chromium-autoroll Roll SPIRV-Tools from 7bbe1a316419 to cec658c11603 (2 revisions)
2021-01-12 chromium-autoroll Roll Vulkan-Tools from be70e017bff5 to a3b988fa5588 (1 revision)
2021-01-12 chromium-autoroll Roll Vulkan-ValidationLayers from 61a57c023e10 to 04b58c5bea3a (1 revision)
2021-01-12 chromium-autoroll Roll SPIRV-Tools from c32277c0ba0d to 7bbe1a316419 (1 revision)
2021-01-11 chromium-autoroll Roll Vulkan-Tools from a7825740f316 to be70e017bff5 (1 revision)
2021-01-11 chromium-autoroll Roll Vulkan-ValidationLayers from 645a15bbaa59 to 61a57c023e10 (1 revision)
2021-01-11 chromium-autoroll Roll Vulkan-ValidationLayers from 46237b593c3f to 645a15bbaa59 (1 revision)
2021-01-11 chromium-autoroll Roll SPIRV-Tools from f3ccb633dfd7 to c32277c0ba0d (1 revision)
2021-01-10 chromium-autoroll Roll Vulkan-ValidationLayers from f0634ebbb36f to 46237b593c3f (2 revisions)
2021-01-09 chromium-autoroll Roll SPIRV-Cross from 702c903f982d to 820179bf4689 (1 revision)
2021-01-08 chromium-autoroll Roll Vulkan-ValidationLayers from 04cf3fd95555 to f0634ebbb36f (1 revision)
2021-01-08 chromium-autoroll Roll Vulkan-ValidationLayers from ebd3ea2ecbac to 04cf3fd95555 (2 revisions)
2021-01-08 chromium-autoroll Roll SPIRV-Cross from ce18d1b8a563 to 702c903f982d (1 revision)
2021-01-08 chromium-autoroll Roll SPIRV-Cross from 0e5078dc0cfb to ce18d1b8a563 (1 revision)
2021-01-08 chromium-autoroll Roll SPIRV-Cross from 134a52003407 to 0e5078dc0cfb (1 revision)
2021-01-08 chromium-autoroll Roll SPIRV-Cross from 234c65c0f32c to 134a52003407 (1 revision)
2021-01-07 chromium-autoroll Roll SPIRV-Tools from ad77ed7a8d52 to f3ccb633dfd7 (1 revision)
2021-01-07 chromium-autoroll Roll Vulkan-ValidationLayers from 9f10caf9c4f3 to ebd3ea2ecbac (2 revisions)
2021-01-07 chromium-autoroll Roll Vulkan-ValidationLayers from cc435b55410a to 9f10caf9c4f3 (2 revisions)
2021-01-07 chromium-autoroll Roll SPIRV-Tools from aa005e8bd435 to ad77ed7a8d52 (1 revision)
Created with:
roll-dep third_party/shaderc third_party/vulkan-deps
Change-Id: I70784aee8bd05fefa51a475f9d58e0c8cb1b9f5c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41860
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Bug: dawn:681
Change-Id: I5d9cd3636a656df1ba9d23964c18011b9cfcf5c0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41440
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Removes special casing depth-stencil or multi-planar formats.
Like depth-stencil, NV12 views can be created but not sampled.
BUG=dawn:551
Change-Id: I3cd43d079253f4ee45660d0efd2723e1650f88d3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41342
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Releasing this configuration is no longer part of the PoR, so no need
to fuzz it.
BUG=dawn:683,chromium:904410
Change-Id: Ic499c68d48b88240361f4ffa937c878b3e3c8526
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41760
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Some of these are skipped by lack of optional feature support,
but at least this brings them on the radar by increasing the
skip counts for the GL backends.
Bug: dawn:580
Change-Id: I3439f41584e70dd51f6d0f7826ef9da7c046020e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41401
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
This is a reland of fb0bf70459
Reland after making libx11-xcb dynamically loaded since it isn't present
on all Linux deployment targets of Chromium. Also includes a couple of
additional cosmetic changes to d3d12/PlatformFunctions noticed while
looking at it for inspiration.
Original change's description:
> Vulkan: Fallback to XCB for Xlib surfaces
>
> Chromium builds the Vulkan loader without support Xlib (because it
> prefers XCB) which caused Xlib wgpu::SwapChain creation to fail on the
> Vulkan backend.
>
> This CL adds a fallback to use VK_KHR_xcb_surface if VK_KHR_xlib_surface
> isn't present.
>
> Bug: dawn:662
> Change-Id: I0e0128ee6b5c75da03998dbae231d17e48bacc81
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41180
> Reviewed-by: Austin Eng <enga@chromium.org>
> Commit-Queue: Austin Eng <enga@chromium.org>
> Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Bug: dawn:662
Change-Id: I617fcd1059dddfa05c29ac20d77f891ca6962342
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41380
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Tint automatically infers a storage class of `handle` for these types
of variable, as per the WGSL spec. Explicitly specifying a storage
class for them will soon become an error.
Bug: tint:332
Change-Id: Ib67e44a5afcdd364470488fd4b456a2b42304daa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41402
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: James Price <jrprice@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
This is to match the upstream WebGPU specification.
Also remove maxVertexAttributeEnd in favor maxVertexBufferStride.
Bug:dawn:678
Change-Id: Ia498ff522ba257d40e9ddd6e145a0ba77f6753ca
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41182
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Currently the queries availability info is only stored on the encoders
where they are written, and we need the info in the compute shader. If
resolving them from a different encoder, 0s are returned because the
queries are not written on resolving encoder.
Besides the encoders, we also need to add availability info to query
set, and use it in compute shader instead.
When resolving query set without any written, we need to reset queries
before resolveQuerySet based on the query set availability on Vulkan.
Added more end2end tests for these cases.
Bug: dawn:645
Change-Id: I09bf1230934aa885587fa4f671925940c1795cd9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39740
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
Sample mask variables and all functionality introduced by GL_OES_sample_variables was not made core until ES 3.2.
Implement a toggle to disable the functionality if not supported by the backend.
Bug: dawn:673
Change-Id: I7a5ec61fb57da343f0f72ffd3b0c69031eaaff8f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41142
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Readback of stencil is not supported on vanilla ES, so we introduce a toggle to disable it. NVidia GLES drivers support NV_stencil_read and NV_depth_stencil_read extensions, so we use those where available.
It turns out ANGLE supports NV_stencil_read but not NV_depth_stencil_read (for reading from the packed depth/stencil buffers which Dawn uses), so that's the extension we check for.
Bug: dawn:667 dawn:634
Change-Id: I136674d3d47fecee2b8b390d5d219bab07e3bb64
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41141
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
This reverts commit fb0bf70459.
Reason for revert: Failing build during roll:
https://chromium-review.googlesource.com/c/chromium/src/+/2686267/2
Original change's description:
> Vulkan: Fallback to XCB for Xlib surfaces
>
> Chromium builds the Vulkan loader without support Xlib (because it
> prefers XCB) which caused Xlib wgpu::SwapChain creation to fail on the
> Vulkan backend.
>
> This CL adds a fallback to use VK_KHR_xcb_surface if VK_KHR_xlib_surface
> isn't present.
>
> Bug: dawn:662
> Change-Id: I0e0128ee6b5c75da03998dbae231d17e48bacc81
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41180
> Reviewed-by: Austin Eng <enga@chromium.org>
> Commit-Queue: Austin Eng <enga@chromium.org>
> Auto-Submit: Corentin Wallez <cwallez@chromium.org>
TBR=cwallez@chromium.org,jiawei.shao@intel.com,hao.x.li@intel.com,enga@chromium.org
Change-Id: Ia8d2ffb715260b1de490ca04cc76f41bb60b1f61
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: dawn:662
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41343
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>