Commit Graph

2429 Commits

Author SHA1 Message Date
Corentin Wallez 3e4b57b77e ShaderModule: Store the tint::Program in the base class.
This is in preparation of removing all the DAWN_ENABLE_WGSL logic: the
ShaderModuleBase will have either mSpirv or mTintProgram set based on
UseTintGenerator.

Also improves the constness of some functions.

Also simplifies a bit ShaderModuleBase::Initialize.

Bug: dawn:706
Change-Id: Ib879e2aec8a004aeb8ac5dc6e1176b1667fc227d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45422
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-22 18:24:16 +00:00
Bryan Bernhart 5ff4978a5d Fix incorrect parsing logic in DawnTest
DawnTest incorrectly reports arguments as unused nor skips over ones
that were already parsed.

Change-Id: Ibd7874419226ca6404e44236c12fbd70132e4551
Bug: None
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45442
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
2021-03-22 17:18:46 +00:00
Corentin Wallez 8ac6a481a3 Make CreateRenderPipelineAsync use Descriptor2
Since it isn't used by anyone yet we can make a breaking change to
CreateRenderPipelineAsync to immediately start using
RenderPipelineDescriptor2.

Bug: dawn:1177501
Change-Id: I9f88c6fc1b325b7a9356536e2a071d4f17abd6ea
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45280
Commit-Queue: Brandon Jones <bajones@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
2021-03-21 23:13:04 +00:00
Corentin Wallez 682f32af32 Revert "CopyTextureForBrowser: Support color format conversion"
This reverts commit f84daa070f.

Reason for revert: Adds static initializers.

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

TBR=cwallez@chromium.org,jiawei.shao@intel.com,shaobo.yan@intel.com,enga@chromium.org

Change-Id: I29a4faf38332995db6bded9f5aead9af28dadfd3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: dawn:465
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45420
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-19 12:47:05 +00:00
Corentin Wallez 5709060143 Port MultisampledRenderingTests to WGSL.
Bug: dawn:572
Change-Id: I9e76b39c0df705cc3fde5058e618c1ecb2c446f7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44761
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-19 09:48:11 +00:00
Yan, Shaobo f84daa070f CopyTextureForBrowser: Support color format conversion
This CL enables blit from RGBA8Unorm soruce texture to dst texture that
|CopyImageBitmapToTexture| supported dst format.

BUG=dawn:465

Change-Id: I99846cf8dc37bc89e0c168a3d86193bb3a0c0ebb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44020
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-19 09:46:44 +00:00
Corentin Wallez ad8772dfb2 Fix incorrect WGSL u32 != i32 comparison in a test
Bug: tint:354
Change-Id: I4eef469334072aac606d6ed7384eb066986c2db1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45400
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-19 09:41:21 +00:00
Ryan Harrison bbabda3590 Fix Storage Buffers in WGSL tests & examples
Converts var<storage_buffer> to var<storage>

Adds in [[access(read_write)]] when no access qualifier was supplied.

BUG=dawn:699

Change-Id: I9da95366d0bb8734f1d134ee2dc764a7c16ef0cf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45300
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-18 17:20:48 +00:00
Corentin Wallez 3e5701c1a4 Skip deprecation warning expectations in RenderPipelineValidationTests
A commit conflict caused this to be included by mistake even if it is
failing.

TBR=bajones@chromium.org
TBR=enga@chromium.org
Bug: None

Change-Id: Ie4352d0b955d34af6f9614f0c6a6dad1e42da826
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45241
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-18 12:34:18 +00:00
Brandon Jones bff9d3a357 Updating end-2-end tests to use new RenderPipelineDescriptor format
Bug: dawn:642
Change-Id: Ie38dfe7286b51eb7f3ecd8902e5249321ff63c11
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44980
Auto-Submit: Brandon Jones <bajones@chromium.org>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2021-03-18 02:54:27 +00:00
Austin Eng 27c4f03de1 Skip create render pipeline deprecation warning expectation in UnsafeAPIValidationTests
The CL that fixed deprecation warning expectations landed at the same
time as the CL which added this expectation and broke CQ.
We shouldn't check deprecation warnings here now because the warnings
for CreateRenderPipeline are temporarily disabled.

Bug: none
Change-Id: I99a8b6643e64f87b2354058dbac9a236c51a2afd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45180
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-03-18 01:28:57 +00:00
Corentin Wallez 3fe857a621 ValidationTest: correctly assert deprecation warnings are emitted.
Bug: dawn:642
Change-Id: If8601c50e4a14b5de5098398381c7a6c5e1f73fd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44867
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Brandon Jones <bajones@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
2021-03-17 19:10:27 +00:00
Brandon Jones 6e5d47a396 Update majority of unittests to use RenderPipelineDescriptor2
Bug: dawn:642
Change-Id: I437967f590e03b7d85d7eda28400db9e3e5d0745
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44820
Auto-Submit: Brandon Jones <bajones@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Brandon Jones <bajones@chromium.org>
2021-03-17 17:48:59 +00:00
Ben Clayton c56868420d Migrate all tests over to using Default Struct Layout
The WGSL spec has been updated with 'Default Struct Layouts':
https://github.com/gpuweb/gpuweb/pull/1447

This removes the `[[offset(n)]]` decoration, and replaces it with two optional decorations: `[[size(n)]]` and `[[align(n)]]`, and a sensible set of sizes and alignments for each type.

Most `[[stride(n)]]` decorations have also been removed from arrays.

Bug: tint:626
Bug: tint:629
Change-Id: Ib0d2741f61ea943e6fb99d00cbb5cab2f97ae7be
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44280
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-17 09:48:19 +00:00
Jiawei Shao 0008432827 D3D12: Fix crash in the workaround for T2T copy issue on Intel GPUs
This patch fixes a bug in the computation of temporary buffer size in
the implementation of the workaround for the T2T copy issue on Intel
GPUs.

With this tests all the T2T operation tests in WebGPU CTS will be able
to pass on Intel Gen9 and Gen9.5 GPUs.

BUG=chromium:1161355
TEST=dawn_end2end_tests

Change-Id: Ic4fb0c0056cf7b01720e47cc91c37a9f293cd194
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44840
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2021-03-17 08:20:09 +00:00
Ryan Harrison 3209df5a9c Fix TimestampQueryTests
BUG=dawn:713

Change-Id: Ice1f9d948125daa68de661ad37bb07835ef9bec8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44940
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-17 08:03:39 +00:00
Ryan Harrison ed16517e32 Fix VertexStateTests
BUG=dawn:714

Change-Id: Ic9c478ae708d48cf78228edf831badb7c401d131
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44924
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>
2021-03-16 20:56:00 +00:00
Ryan Harrison 322e451a62 Fix CopyTextureForBrowserTests
BUG=dawn:712

Change-Id: Ie8b504a3566fae18a35029b63cf74f55dbe93b0d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44922
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>
2021-03-16 20:23:00 +00:00
Ryan Harrison ddc4712609 Fix ComputeStorageBufferBarrierTests
BUG=dawn:711

Change-Id: I566f2631721d10374027cf3959fce7eaf20a85c0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44921
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>
2021-03-16 20:04:10 +00:00
Ryan Harrison f4496c14b7 Fix ComputeDispatchTests
BUG=dawn:710

Change-Id: I47dac524f66f84e2d5e3aa966935bd2ca9d03144
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44920
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>
2021-03-16 19:53:29 +00:00
Ryan Harrison cc84ee24fc Fix ComputeCopyStorageBufferTests tests
BUG=dawn:709

Change-Id: Ib829a834546588a2948179f487fc75b1bf09cf06
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44901
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>
2021-03-16 19:34:41 +00:00
Corentin Wallez 0ed19c6640 Port invalid SPIR-V tests to SPVASM instead of GLSL.
Bug: dawn:572
Change-Id: I4d244d6837f70720a04236ecb751785e27a14d10
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44763
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-16 18:09:59 +00:00
Corentin Wallez af607f7f80 Port the MinimumBufferSizeValidationTests to WGSL.
Bug: dawn:572
Change-Id: I24d5e37711aecdef582c33cb4ad55d0e5fb30004
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44860
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-16 17:30:04 +00:00
Ben Clayton e76a33b6eb Fix more WGSL vector constructors
Constructor arguments need to match the vector element type.

Tint has new validation that now checks for this.

Bug: tint:632
Change-Id: Ifcb994260c167e326ce5c0776915d44954dd8aa9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44767
Auto-Submit: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-16 12:00:54 +00:00
Ben Clayton 175a7eb826 RenderPipelineValidationTest: Fix vector constructor
Integer literals need to be suffixed with `u` in order to be unsigned. This also includes 0.

Tint has new validation that now checks for this.

Bug: tint:632
Change-Id: I1af07590d93620561df1a0084521eb071d4af7ed
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44766
Commit-Queue: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-16 10:10:04 +00:00
Corentin Wallez 36f19daa7d Port D3D12 white box tests to WGSL.
Bug: dawn:572
Change-Id: I91cc56847c4970c3f32697738edb799f7468e76f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44760
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-16 10:00:44 +00:00
Corentin Wallez debab92fac GN: Use updated path to libtint.
Bug: dawn:706
Change-Id: I39864f75b12272992bd9129a8eeea1ac6479a99e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44764
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-16 09:31:44 +00:00
Corentin Wallez a94c9acd01 Fix the vertex attribute offset alignment rule.
Bug: dawn:130
Change-Id: Ib5fa24bf5520cb1ffe1653f1504dff244df928b4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44300
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2021-03-15 14:52:53 +00:00
Corentin Wallez 693b76bcd5 Remove usage of deprecated std::codecvt
It was causing issues building Dawn in Skia. The error message helpfully
suggests using WideCharToMultiByte instead.

Bug: dawn:706
Change-Id: I87dee1192123f49cc8e7243a29df446389454df4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44560
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-15 12:10:23 +00:00
Jiawei Shao d89814ed7a Enable DepthStencilCopyTests.ToStencilAspect on Windows/Intel/Vulkan
BUG=dawn:439
TEST=dawn_end2end_tests
Change-Id: I49448b201469ea29f7c740656e0f3b0822634e33
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44400
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2021-03-15 01:16:02 +00:00
Ryan Harrison bdc1340449 Add reflection for fragment inputs/outputs from Tint
BUG=dawn:702

Change-Id: I1a75929bbb91411c10dac5a5408e8fc57d67102b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44460
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-03-12 21:33:08 +00:00
Brandon Jones c53ea046a6 Don't use depth offset in TextureCopySplitter
Remove usage of the depth offset in TextureCopySplitter. Because there
is no slice pitch alignment requirement, it is simpler to express the
subresource footprint with just width and height. Fixes incorrect copies
when using WriteTexture on a texture with 64 or less width.

Bug: dawn:573
Change-Id: I51cb73b522a443b8b42d9ba290c69541211be4bb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39200
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Brandon Jones <brandon1.jones@intel.com>
2021-03-12 17:58:47 +00:00
Jiawei Shao a57308e60b Workaround the compile error when calling std::begin on C arrays
This patch adds a workaround for a compile error when calling
std::begin on C-style arrays when rolling Dawn to Skia.

BUG=chromium:1161355

Change-Id: I6b697c383c0f76866e1d35f75bd1f64b96c5d6c5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44520
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-12 08:22:47 +00:00
Bryan Bernhart 2f72aeda4f D3D12: Pass usage to ProduceTexture
Allow external images to specify all allowed texture usages which will
be checked by ProduceTexture. This avoids needing to assume the usage
between multiple calls to ProduceTexture is always the same.

Bug=dawn:625

Change-Id: I9fdb59af23e6c160e939ab1c51de03542248c0c8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44260
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-12 02:27:56 +00:00
Brandon Jones 0702b70469 Updating RenderPipelineDescriptor to the newest layout
Currently normalizes anything using the new layout to the old one for
the sake of getting things working as quickly as possible. Follow up
changes will gradually push the new layout through more of the stack.

Bug: dawn:642
Change-Id: Ie92fa9dde21174f62ceba1a1f4866cbc24c5fc6f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/38600
Commit-Queue: Brandon Jones <bajones@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-11 21:19:00 +00:00
Jiawei Shao f905e57be2 D3D12: Add workaround for T2T copy issue on Intel GPUs
On Intel Gen9 (SKL) and Gen9.5 (KBL, CFL, CML) GPUs with latest
Intel D3D12 driver (27.20.100.9316), there is a bug in the command
CopyTextureRegion() when we want to do the texture-to-texture copy
with the formats whose texel block size < 4 bytes and source mipmap
level > destination mipmap level.

This patch adds a workaround for this driver bug by implementing
the functionality of the T2T copy with one T2B copy and one B2T
copy.

BUG=chromium:1161355
TEST=dawn_end2end_tests

Change-Id: I688bb8bae277832aaba1be2680012040ee8e1160
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43860
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-03-11 19:34:50 +00:00
Aleksi Sapon 9f6bc4e3a9 CMake fix
Add missing source files to CMakeLists.txt (introduced in e3f10e3d8e).

Change-Id: Iac013e6119e9401a2b94a43220ca8f11d86f82dd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43961
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-11 16:27:00 +00:00
Shrek Shao 6fc6fce636 Add tests for zero sized index buffer out of bounds draw test
Bug: dawn:622
Change-Id: I9601a7d6fec246abd7a0941fcfc4253df03376a3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44240
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
2021-03-10 18:02:48 +00:00
Ryan Harrison 54c9b8244d Add reflection for used vertex attributes using Tint
BUG=dawn:701

Change-Id: I36e5492cc87afc597d52e5cab9424922fd99dcdc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/44200
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-10 16:44:08 +00:00
Ben Clayton 7fe018c065 ShaderModule: Use transform::Renamer
For sanitizing symbols.
Replaces use of Inspector::GetRemappedNameForEntryPoint()

Change-Id: I1e20f719e0e80c04c5c4e4ae52bdb47f8d0572f6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43884
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-09 13:58:07 +00:00
Ben Clayton 95034f6528 Enable the BoundArrayAccessors tint transform
Change-Id: I44cbfbeb09dadcf22ae77a85cef0aff3bc79b16b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42860
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-05 01:51:28 +00:00
Corentin Wallez 80915849ce Rename Buffer/TextureCopyView to ImageCopyBuffer/Texture.
This is to follow the renames in the upstream WebGPU specification.
Typedef are left in places to make a smooth deprecation period.

Bug: dawn:22

Change-Id: I5134b897930c1fa883c49dd80d2665d6684ec022
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43882
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Commit-Queue: Brandon Jones <bajones@chromium.org>
2021-03-04 18:13:45 +00:00
Austin Eng 6e62183aa5 Statically link the dawn_end2end_tests
This allows us to enable white_box tests that use Tint. It
fixes linking with symbols from both dawn_native statically
and dynamically.

Bug: dawn:696
Change-Id: I6a002ae5ec55a27b6bf7329c9ba301ce8014d521
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43840
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-03-04 16:49:35 +00:00
Ben Clayton 3b1a0c6e14 ShaderModule: Use tint::diag::List::str()
Cuts down on the noise

Change-Id: I3904b170a61e5884b4fb1479b885f188b5ea4a24
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43883
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-04 14:18:37 +00:00
Rafael Cintron c36a9e8579 Protect Texture::DestroyImpl against multiple calls for D3D12
Calling Texture::DestroyImpl will cause a crash when passing a
nullptr D3D12 resource to the Present method of
ID3D12SharingContract.

Protect against crashes by checking whether the allocation we're
destroying is valid before proceeding.

Change-Id: Ifb68c1f85383db5027006cf435f43c84d1a463d9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42580
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
2021-03-03 18:42:34 +00:00
Austin Eng 9b5f442c78 Add XlibXcbFunctions to the CMake build
Bug: none
Change-Id: I6987e99822d5a417c1ceac2f0a1f939d1c85cfb8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43720
Auto-Submit: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-03 08:21:47 +00:00
Stephen White 9b9e7b293e Skip SNORM formats on unsupported platforms.
Bug: dawn:447 dawn:667

Change-Id: I66d5a33febeee6a5ea4efd7c4e97461accce22ee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43580
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2021-03-02 17:54:19 +00:00
Ryan Harrison b9eec93172 Add missed level value to textureLoad
Caught by the bots running SwiftShader

BUG=tint:516

Change-Id: I4e93c2f73cf48242b49c8aea1f5f29a21ac6b8e7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/43600
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-02 17:53:39 +00:00
Yan, Shaobo fbda46da44 Refactor CopyTextureForBrowserTests to use compute shader
CopyTextureForBrowserTests will cover incoming color format conversion
cases. While it is OK for |unorm| formats to compare their pixel values
on the CPU side, we cannot do such comparisons for the |float| formats
because we may meet the precision issues when comparing a value
generated at the CPU side to the one from the GPU side.

Refactor this test suites by using compute shader and do bit-by-bit
comparison from source texture and destination texture.

BUG=dawn:465

Change-Id: I979fcf1a1d96bbe9f8a4cf2f1a305d488e88b257
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/36140
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-02 03:00:27 +00:00
Jiawei Shao 642ec1c30e D3D12: Clear texture with RecordCopyBufferToTextureFromTextureCopySplit
This patch uses RecordCopyBufferToTextureFromTextureCopySplit() to
record the D3D12 commands in Texture::ClearTexture() so that we can
remove some redundant code in that function.

BUG=dawn:145, dawn:693

Change-Id: Ifd0ba319c335fdf13e60bf748163451d71dad962
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/42760
Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2021-03-02 02:02:21 +00:00