Commit Graph

2488 Commits

Author SHA1 Message Date
Brandon Jones 0e92e9bf3c Add GPUExternalTexture Types
Adds GPUExternalTexture-related types, as well as
Device::ImportExternalTexture. Adds a basic unit and end2end test.

Bug: dawn:728
Change-Id: Iee9533eb872c493a089cccd500748f1a61457407
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46060
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Brandon Jones <brandon1.jones@intel.com>
2021-04-01 20:46:42 +00:00
Bryan Bernhart a223e1f0c8 D3D12: Improve NV12 checkerboard test image.
Each quadrant now uses a unique color so
a test result failure can better indiciate any
unexpected sampling behavior.

BUG=dawn:733

Change-Id: If0e814956c1d686bdddcfb6de4dbf24f05d5a027
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46540
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
2021-04-01 17:15:15 +00:00
Corentin Wallez e88bca946e SubresourceTrackingPerf: use the result of textureDimensions
This fixes a failure when use_tint_generator on D3D12, but also preps
the code for the future where WGSL requires that return values from
functions are used.

Bug: None
Change-Id: I6b8a5e0aef6550ef39d2972cdc510e05e4be3662
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46620
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-04-01 13:50:25 +00:00
Brandon Jones 3ceb65443c Create RenderPipeline blueprints w/ RenderPipelineDescriptor2
This is another incremental change towards using the new render
pipeline descriptor throughout the entire stack. Creates blueprints for
hashing with the new descriptor when provided before then converting it
to the old format for the native backend creation.

BUG: dawn:642
Change-Id: I1927b12fd02b2fedf25ef4428f07e339fa666715
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46541
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2021-04-01 01:28:52 +00:00
Yunchao He 4eb40c1849 Implement 3D texture copy: preparation
This is a preparation CL for 3D texture copy. It refactors texture
result comparison MACROs and their implementations, in order to
add texture result comparison for 3D texture. Prior to this change,
texture result comparison supports 1D/2D texture only.

BUG: dawn:547
Change-Id: Ia242356e05f4762e33a8278ec0d038b8580f7aa9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46320
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
2021-03-31 22:15:53 +00:00
Corentin Wallez ad879f520d Remove the ConvertTimestampToNanoseconds toggle.
It was used to avoid requiring the dependency on Tint so it isn't needed
anymore now that Dawn unconditionally dependent on Tint.

Bug: dawn:686
Bug: dawn:706
Change-Id: Ifd12c2f94fcaaa70120ae7ef72bcdc34f970fbea
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46004
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-03-31 19:31:42 +00:00
Corentin Wallez 50f995851d DeviceBase: Make object creation use ResultOrError<Ref<T>>
This is in preparation for a change that will change all the
CreateFooInternal to be CreateFoo so they can be called in a
reentrant manner without special refcounting.

This also standardizes all the backends (except OpenGL and Null)
to use Object::Create that returns a Ref<T> or ResultOrError<Ref<T>>,
something we wanted to do for a long time.

Bug: dawn:723

Change-Id: I9e0baced333ffeb0affbc6a276c9bd9de082263a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46440
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-31 18:36:32 +00:00
Corentin Wallez 7ef8633593 Reassign some TODOs to a new bug for OpenGL buffer OOM
Bug: dawn:27
Bug: dawn:749
TBR=senorblanco@chromium.org

Change-Id: I1f9093f443bc28be08738fd3ff230b14ce0a55a4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46447
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-31 17:54:00 +00:00
Yunchao He 3db31ef757 Move T2B copy helpers for D3D12 backend to UtilsD3D12.h|cpp
Its counterpart functions (B2T copy helpers) are already at UtilsD3D12.

BUG: dawn:547

Change-Id: Ib9b9216e0b182429ab9bd9aa10241d7ca6cdee5b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46420
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
2021-03-31 17:23:30 +00:00
Corentin Wallez 79c9d125f2 Propagate more errors from reentrant calls
This CL propagates errors from reentrant WriteBuffer calls and makes
procy methods on BufferBase to show that it is safe to call
GetMappedRange and Unmap without handling errors.

Bug: dawn:723
Change-Id: I4ea43adc4844505314bf84e2357b2d928f1d1f8c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46003
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-03-31 11:24:42 +00:00
Brandon Jones 7f77cfd7cf Implement validation for RenderPipelineDescriptor2
In the service of keeping these changes incremental and easier to
review this change only validates the RenderPipelineDescriptor2
before converting it back to a RenderPipelineDescriptor.

BUG: dawn:642
Change-Id: Ie24c999756fa74f7d3cd10662a6bc95649602b14
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46120
Auto-Submit: Brandon Jones <bajones@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-31 08:56:02 +00:00
Hao Li 864a364742 Suppress OcclusionQueryTests.QueryWithScissorTest on Intel
This case is failed weirdly on Intel TGL (Window Vulkan) which says the
destination buffer keep sentinel value in the second case, it cannot be
reproduced with any debug actions including Vulkan validation layers
enabled, and takes time to find out if the WriteBuffer and
ResolveQuerySet are not executed in order or the ResolveQuerySet does
not copy the results to the buffer. In order to integrate end2end tests
to Intel driver CL without unknown issues, skip it until we find the
root cause.

Bug:dawn:434

Change-Id: Ibdba667cb662ba69c8468d5b2ac2e84bcd3df5bc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46321
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
2021-03-31 01:22:02 +00:00
Ben Clayton e40553b940 ShaderModuleD3D12: Remap binding points
Using the new tint::transform::BindingRemapper.

Provides symmetry with TranslateToHLSLWithSPIRVCross().

Bug: tint:621
Bug: tint:671
Change-Id: I1a26c8cac236ac1133c688cf84bb810e15e30978
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46341
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-30 22:53:13 +00:00
Ben Clayton 78fdaa4eeb Disable SlantedPlaneMipmap for D3D12 + tint
Bug: tint:691
Change-Id: Ic002bdc1955724fb26d16b7f63712bd77febc67c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46377
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 20:30:37 +00:00
Ben Clayton 318ec2e893 Disable test for D3D12 + tint which use runtime sized arrays
Bug: tint:682
Change-Id: I254e0a4b02dd9348daab096e6fc16d9a004c527e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46369
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 20:14:07 +00:00
Ryan Harrison 1523d4cf18 Add using Tint for binding reflection
BUG=dawn:700

Change-Id: I5234d48867b500aece79b82515818afdfc3a6d9a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45100
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 19:55:27 +00:00
Ben Clayton 17941e1562 Disable BindGroupTests for D3D12 + tint
Bug: tint:681
Change-Id: I5cca1889d2ba26503530ead922278172e5e98ccf
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46368
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 18:54:07 +00:00
Ben Clayton 25d3f252a6 ComputeSharedMemoryTests: Add missing access qualifier
https://gpuweb.github.io/gpuweb/wgsl.html#variables:

> "Variables in the storage storage class and variables with a storage texture type must have an access attribute applied to the store type."

Bug: tint:692
Change-Id: I61774bb6bda9a7d31e3a85c24fcdb6e2fc25e7b1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46378
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 16:37:07 +00:00
Ben Clayton 5da990b0a4 Disable SampledAndWriteonlyStorageTexturePingPong for D3D12 + tint
Bug: tint:690
Change-Id: If3bdba33f843885c7e056b68b361d890a7a58c04
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46376
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 16:29:37 +00:00
Ben Clayton eef7a6a58c Disable tests for D3D12 + tint that fail due 'undeclared identifier'
Bug: tint:688
Change-Id: Ic1f0fbd6da112557711595eae38b5d034bbe594b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46374
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 16:23:27 +00:00
Ben Clayton 682d764e85 Disable TextureFormatTest for D3D12 + tint
Bug: tint:689
Change-Id: Ib006a2e726078426cd00479c35d47eecf9b3d601
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46375
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 16:21:07 +00:00
Ben Clayton 1894d5d83a Disable SizedArrayOfStruct tests for D3D12 + tint
Bug: tint:683
Change-Id: I55c513108cb5c8e14bd72bb8dd3177afff353623
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46370
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 16:08:07 +00:00
Ben Clayton 1bcfdce243 Disable MultipleWriteThenMultipleReadTests for D3D12 + tint
Bug: tint:686
Change-Id: Iaca48aa7fb4cddbc008d66a248d01a6e4d36f5ea
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46372
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 16:05:17 +00:00
Ben Clayton 9421afc46f Disable VertexFormatTest for D3D12 + tint
Bug: tint:687
Change-Id: Ib839f629ea4095c007c1a8b3f9ad490c1e9e4910
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46373
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 16:00:57 +00:00
Ben Clayton 51d81c1d56 Disable DepthStencilSamplingTest for D3D12 + tint
Bug: tint:684
Change-Id: Iff76442349da1a399c7460a1a6ce047229b0ab88
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46371
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 15:44:07 +00:00
Ben Clayton ed73e6f51e Disable TimestampComputeShader test on D3D12 + WARP + Validation
Bug: dawn:741
Change-Id: I5ee730e4f7b0e9041373bfe9ecc1be3b2535a775
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46367
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 15:23:37 +00:00
Ben Clayton 9ef74c56fd Disable EncodeUBOOverflowMultipleSubmit test on D3D12 + WARP
Bug: dawn:742
Change-Id: I11fc4c49c4040d694703ed43ebd8b1e2fe62bf17
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46366
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 15:22:17 +00:00
Ben Clayton 74879450c5 Disable SlantedPlaneMipmap test on D3D12 + WARP
Bug: dawn:740
Change-Id: I127c7698cf9103ef85dafe44c5dc5781ccea031d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46365
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 15:21:37 +00:00
Ben Clayton d48c5ed77c Disable SwitchedViewHeapResidency test on D3D12 + WARP + Validation
Bug: dawn:739
Change-Id: I56f17f75bd2e5a12d90c6875817d980cb98d3e01
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46364
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 15:19:37 +00:00
Ben Clayton 2922d8d603 Skip ClearTwiceInD3D12ReadbackInD3D11 for WARP + validation
Bug: dawn:735
Change-Id: I26d06528aebb4f2c2a391d65ab8a16ef1e6e01f7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46360
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 13:23:27 +00:00
Ben Clayton fed33fa18a Disable ArbitraryBindingNumbers on D3D12 + WARP
Bug: dawn:736
Change-Id: I3402dee42c71a88160667ea8ea00b43734441741
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46361
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 13:15:27 +00:00
Ben Clayton 47a8cf3410 Disable MultisampledRenderingTest tests on D3D12 + WARP
Bug: dawn:738
Change-Id: I208d9851f14c25f16a97382953150eba7f4667b9
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46363
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 13:13:17 +00:00
Aleksi Sapon 7f8c91cdde Fix crash from async callback calling Queue::Submit
An async callback which calls Queue::Submit will cause
reentrance in QueueBase::Tick and CreatePipelineAsyncTracker::Tick,
which invalidates the task queue being used by the original call,
and leads to a crash from an invalid pointer.

The Tick functions should remove the tasks from the queues before
the callbacks are called, so invalidation doesn't cause a crash.

Bug: dawn:729

Change-Id: I0d952d51040a3d1a475767400de3333a8b9b0821
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45900
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-03-30 13:06:17 +00:00
Ben Clayton 98028718e1 Disable DepthStencilStateTest tests on D3D12 + WARP
Bug: dawn:737
Change-Id: I55d22ad54fe3983bbae67572a428d01a64e634e3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46362
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-30 12:55:17 +00:00
Ben Clayton 955146e9ac Skip ColorStateTest.* for D3D12 and WARP
These don't pass.

Bug: dawn:489
Change-Id: Ic9a5f34bc3325326d2c6217e82d75633ff0a7534
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46344
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-30 12:05:47 +00:00
Ben Clayton 8d57426a80 Skip ClearInD3D12ReadbackInD3D11 for WARP + validation
Bug: dawn:735
Change-Id: I5731e198f6888bf6ad7d244a54053b917a277e4a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46343
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
2021-03-30 11:53:07 +00:00
Corentin Wallez 1bc1ed4bc9 Propagate errors from Tick in backend::Queue::SubmitImpl
Otherwise errors in Tick could cause the device to be lost and further
processing in Queue::SubmitImpl to fail in interesting ways.

Bug: dawn:723
Bug: chromium:1191777
Change-Id: I586c6b0f97c89938b9e7deeb6f31231ec19e826c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46002
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-03-30 10:21:36 +00:00
Corentin Wallez e91975c79e dawn_native: Use an internal GetQueue that doesn't add a ref
Previously various places in dawn_native were using Device::GetQueue to
get the queue for some operations, and were inadvertently adding a
reference to the queue. Fix this by adding a getter that doesn't add a
ref.

Bug: dawn:723
Bug: chromium:1185070
Change-Id: Iba127dbd631305762f4cc6c37816407056c52cff
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46001
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-03-29 15:40:55 +00:00
Corentin Wallez 2ce4b905b2 dawn_native: Prefix all API methods with API
This means that calling wgpu::Object::DoStuff will translate to a call
to dawn_native::ObjectBase::APIDoStuff. This will clarify the
difference between reentrant calls and internal calls in dawn_native.
Avoiding issues in the future.

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

Bug: dawn:723

Change-Id: Ie24471fa093adc4179d33d13323429847d076ecb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45921
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-03-29 14:02:05 +00:00
Corentin Wallez 1257152485 Use RefCounted for DeviceBase
DeviceBase implemented its own Reference / Release methods for
historical reasons. Replace them with RefCounted's version that are
similar, just more thread safe.

Bug: dawn:723
Change-Id: Ib26f3e231eb12fe09612c8b5639576e2f26a3cfd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46000
Commit-Queue: Stephen White <senorblanco@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
2021-03-25 23:50:24 +00:00
Bryan Bernhart 1a232448d2 D3D12: Remove WrapSharedHandle
Removes WrapSharedHandle in favor of using
ExternalImageDXGI.

BUG=dawn:625

Change-Id: Ibd469600959aea344e7a59557d986fc673a79727
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/46020
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
2021-03-25 21:31:34 +00:00
Brandon Jones 37ad44eef2 Allow Dawn to surface Tint internal compiler errors as uncaptured validation errors
Raises any ICE errors reported by Tint during shader validation as uncaptured
validation errors. This allows them to show up in Chrome's dev tools console, for
example.

BUG: dawn:718
Change-Id: I85741787103e6c1174b7c73be6b9860b988d6130
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45840
Reviewed-by: Ben Clayton <headlessclayton@gmail.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Brandon Jones <bajones@chromium.org>
2021-03-25 15:37:44 +00:00
Ryan Harrison 9138fe253b Add test to confirm validation rejects invalid WGSL
BUG=dawn:504

Change-Id: If09b12d4df9c7aedcb28b4640557cc3cae6e989d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45700
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2021-03-24 19:39:33 +00:00
Corentin Wallez 9037669b2e Remove the dependency on shaderc and glslang.
With all tests converted to WGSL we only use shaderc to assemble SPIRV
assembly to binary. shaderc requires glslang but we don't use it at all.
By using SPIRV-Tools directly to assemble SPIR-V, we can remove both the
shaderc and glslang dependencies.

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

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

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

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

Bug: dawn:572
Change-Id: I3c6bcb4e6c04109f633694a8813ae5f0edb21da8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45603
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-24 09:12:53 +00:00
Austin Eng d020de4501 Validate the texture Aspect enum in ImageCopyTexture
Bug: chromium:1191389, chromium:1191770
Change-Id: I973b8951d43bd0463afcd05fdd7104184db1be2d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45841
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-03-24 08:38:32 +00:00
Corentin Wallez 3b3ab0217e Use SPVASM for ShaderFloat16Tests.
Tint/WGSL don't support 16bit floats yet, so use SPIRV assembly to
remove the dependency on glslang, instead of WGSL.

Bug: dawn:572
Change-Id: I6dd209e62f0550e7aecd18626b8807f7f1414b19
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/45605
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
2021-03-23 17:21:00 +00:00