Commit Graph

581 Commits

Author SHA1 Message Date
Corentin Wallez 1b48cc0d6f Add more supported swapchain texture usages.
Adds the CopySrc and CopyDst usages to swapchain textures when
available in backends so that the wgpu::Texture returned from
GetCurrentTexture can be used in copies.

Also adds a swapchain tests to check that these usages indeed
work.

Bug: dawn:1551
Change-Id: I8495075b0bfb5b8dd953a7811a9d75a76096b143
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133464
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-26 15:48:12 +00:00
Corentin Wallez 943a1a2d7a Add SwapChain::GetCurrentTexture
This is to eventually allow more using swapchain textures as CopySrc and
CopyDst. Note that this commit doesn't add any additional usages.

Because textures can reflect their creation parameters, swapchains now
need to pass in the correct texture descriptor in all code paths. This
requires additional handling in dawn::native error swapchains, and
dawn::wire::client's SwapChain reservation and Device::CreateSwapChain
code.

Tests are added for all of these code paths except
dawn::wire::client::Device::CreateSwapChain because there is no way to
create a Surface in wire tests at the moment (they don't have an
instance).

Bug: dawn:1551
Change-Id: I22d5e909e1e94d48eb52cae57aabff8a7f0c04c1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133463
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
2023-05-26 10:32:17 +00:00
Zhaoming Jiang 2ef42221d4 Dawn: Rename remaining DiscoverAdapters to DiscoverPhysicalDevices
This CL rename the remaining DiscoverAdapter names to
DiscoverPhysicalDevices.

Bug: dawn:1774
Change-Id: I417ef2d1e02c98a61bb48c3c7251a031380c9233
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134420
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
2023-05-26 09:27:20 +00:00
Stephen White 0c7a99f894 Tint/GLSL: rename identifiers containing double-underscores.
This is prohibited by the GLSL ES spec:

"In addition, all identifiers containing two consecutive underscores (__) are reserved for use by underlying
software layers. Defining such a name in a shader does not itself result in an error, but may result in
unintended behaviors that stem from having multiple definitions of the same name."

(https://registry.khronos.org/OpenGL/specs/es/3.1/GLSL_ES_Specification_3.10.withchanges.pdf, section 3.7).

However, while glslang validation will not give an error on this, NVidia
ES drivers will. So I've added a Dawn end2end test instead of a WGSL test.

Bug: tint:1944
Change-Id: I4b965af00039ca7a232bc11be884483f8e02ccf6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134140
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-26 04:53:17 +00:00
Austin Eng ab6a9b9906 Skip dawn_end2end_tests on d3d11 NVIDIA
Suspect causing undefined behavior seen in crbug.com/1448982

The D3D11 backend is producing validation layers errors, so
that could be the root cause.

Bug: chromium:1448982, dawn:1847
Change-Id: I3fa943f6f9fb48f6cf05da0e571041e6d0c48bed
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134542
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-26 03:18:14 +00:00
jchen10 7d6abb70b2 d3d11: enable NonzeroBufferCreationTests
Bug: dawn:1705
Change-Id: I5c6f77a9728fd47593716a1ce2ea69a8960178ef
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133964
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Peng Huang <penghuang@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-26 00:23:47 +00:00
Gregg Tavares 110358f2e6 Compat: Reject non-matching blend state / write mask
Bug: dawn:1839
Change-Id: I1284fb0c5b6a0d21603d9a9806d31e931b17b615
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134061
Reviewed-by: Stephen White <senorblanco@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Gregg Tavares <gman@chromium.org>
2023-05-25 04:37:12 +00:00
Jiawei Shao daffe42b6a Implement device.CreateErrorShaderModule()
This patch implements device.CreateErrorShaderModule() for Blink to
directly create an error shader module and insert validation and
compilation errors when anything wrong is detected.

Bug: dawn:1345
Test: dawn_unittests
Change-Id: I1415aaf0609febaff49c40ebbfedbbcefa2e5504
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134104
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2023-05-25 03:32:41 +00:00
Zhaoming Jiang 6663a97b74 Dawn: Deprecate DiscoverAdapters with DiscoverPhysicalDevices
This CL deprecate Discover[Default]Adapters and replace them with
Discover[Default]PhysicalDevices. This help clearify the behavior of
discovering physical devices and requesting / getting adapters, and
prepare for adding adapter toggles in GetAdapters.

Related end-to-end tests AdapterDiscoveryTests are split into
PhysicalDeviceDiscoveryTests and AdapterCreationTests as well.

Bug: dawn:1774, dawn:1495
Change-Id: Iac3d9da3022e5eb3c6dd6b3e3b2224f523792289
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133968
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-25 02:42:27 +00:00
Austin Eng 817c076eb8 Enable testing of compat in dawn_end2end_tests only on GLES
Change-Id: I049bc6499f22ddb359b9d4701eaa5df31f5a652a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/134340
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 21:31:36 +00:00
Shrek Shao 13f8bf205e Compat GL/GLES: blit a stencil texture to a buffer using compute
Add compute blit emulation path for Stencil8 textures for
OpenGLES backend.

Bug: dawn:1782, dawn:1835
Change-Id: I4719d339ee78fd5fc524d809417504125d2c0aee
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133364
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-24 20:59:21 +00:00
Gregg Tavares 0bdf2da9b8 Compat: Reject CubeArrays via Validation
Bug: dawn:1825
Change-Id: I32917a479c3eea457c8f315cfc089351b64292b6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133320
Commit-Queue: Gregg Tavares <gman@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-24 12:39:46 +00:00
jchen10 028726497a d3d11: enable MaxLimitTests
Bug: dawn:1705

Change-Id: I3f977913ed808db7a949a64fdb360a3c84e48d50
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133282
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-24 02:30:30 +00:00
Corentin Wallez 858ccc8a0c Make GetCurrentTextureView use an internal GetCurrentTexture
This is a small refactor in preparation for exposing GetCurrentTexture
on the SwapChain.

Bug: dawn:1551
Change-Id: I7cc8ec4a9042f48c4af7b2cc2126b1d9248a2003
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133462
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
2023-05-23 12:30:36 +00:00
Corentin Wallez deef739bb9 Remove suppression for a fixed VVL issue.
See https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/2256

Change-Id: I3fc05688f8b3ae365df5071b86796d8aceb14a30
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133461
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-23 09:40:17 +00:00
Corentin Wallez 47245bc33f Remove wgpu::TextureUsage::Present
This is an internal usage only used for barriers management in some
backends, and doesn't need to be exposed publicly.

Fixed: dawn:1535
Change-Id: I0474977227230acbf7dd3cfa91bf589ffd9464fd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133460
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2023-05-23 08:16:01 +00:00
jchen10 7aed27a2b0 d3d11: enable PipelineLayoutTests
Bug: dawn:1705

Change-Id: I4b194b1471abfcfb1688c0e87b81c99b2ed8f42a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133283
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-23 06:42:42 +00:00
jchen10 cd1fb68767 d3d11: enable DynamicBufferOffsetTests
This binds UAV slots all together at the same time.

Bug: dawn:1816
Bug: dawn:1705

Change-Id: Iea7af9cf00caf126a3964cc43bbf2162b35f80e0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132600
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2023-05-23 00:54:15 +00:00
Li Hao d3875fc9b6 Add workaround for resolving overlapping queries on Intel Gen12
TimestampQueryTests.ResolveTwiceToSameBuffer fails on Mesa driver >=
21.2.0 and D3D driver >= 31.0.101.3413 on Intel Gen12 GPUs due to driver
bugs with different root causes, but the workaround of clearing
destination buffer before resolving queries works for both.

Bug: dawn:1546, dawn:1823

Change-Id: I3f20a9100f4b6d3386e9685b351ad4fed69195bd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133284
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-19 08:07:40 +00:00
Peng Huang fe58d80871 d3d11: fix and enable ReadOnlyDepthStencilAttachmentTests
Bug: dawn:1705
Bug: dawn:1727
Change-Id: I28f20d2be10753f6a7e7bd727fa80d050cfb8694
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133360
Kokoro: Kokoro <noreply+kokoro@google.com>
Auto-Submit: Peng Huang <penghuang@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-05-18 14:26:24 +00:00
Loko Kung 9fb0eed227 Implements float32-filterable feature.
- Adds the feature and the major backend supports.
- Adds initial validation testing.

Bug: dawn:1664
Change-Id: I9918c3de8cce379319d3d1877e45c51acb388961
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133281
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Brandon Jones <bajones@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
2023-05-18 07:21:11 +00:00
Peng Huang 62d9b14b6f d3d11: enable OpArrayLengthTest
Bug: dawn:1705
Change-Id: Ie16b368bb371a379710f99f5a0569eff671e7b56
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133340
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-05-18 00:15:06 +00:00
shrekshao e121931563 Compat GL/GLES: blit a depth texture to a buffer using compute
Add compute blit emulation path for Depth16Unorm/Depth32Float
depth textures in OpenGL/OpenGLES backend.

Extend DepthCopyTests for better test coverage, especially for
testing Depth16Unorm compute emulation path.

Bug: dawn:1782, dawn:1291, dawn:1237
Change-Id: I02f6e10d13e8b0080b412a9f9a6d62b1e470ac9c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/130820
Auto-Submit: Shrek Shao <shrekshao@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
2023-05-17 22:25:34 +00:00
Loko Kung 5ae7d10977 Fixes TSAN race by moving cleanup of platform into dtor.
- Before since it was in the TearDown, cleanup can be called before
  the device was gone which meant that async tasks could still be in
  flight.

Bug: dawn:1374
Change-Id: I4cd5a4e096a3fe13e230197a6a4d4d57daea31c8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133480
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Loko Kung <lokokung@google.com>
2023-05-17 22:03:16 +00:00
Austin Eng 3f18fc9a05 Suppress tests failing on Apple GPUs
Bug: dawn:1828, dawn:1829, dawn:1830
Change-Id: If6f6b107b58822b46c286cf84075ca7981c3edc7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133441
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
2023-05-17 20:27:23 +00:00
Austin Eng 2731b76ded Namespace dawn/common/ and dawn/utils/ in dawn::
Only Constants.h remains in no namespace; but it may be addressed
in the future as well.

Bug: dawn:302
Change-Id: Ib9b9ab4b974ad1de1bb9f2302f4d24d8216f55e4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132841
Kokoro: Austin Eng <enga@chromium.org>
Auto-Submit: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-05-17 18:41:02 +00:00
Brandon Jones 112b7fd856 Allow device lost callback to be passed at creation
This change updates the Device descriptor to allow a device lost
callback to be passed in at device creation time. This will be
important for allowing the API to return devices which have
already been lost in a future CL, which is the behavior required
by the spec.

This change does not yet deprecate the old method for setting the
callback, as there's still some tricky scenarios that will need to
be worked around to enable that and this CL is already fairly
large. (The uses in question pass the device or a value created
from the device as the userdata.)

Bug: chromium:1234617
Change-Id: I1adea5ceffdfdcfedff9fff4960f12303abba29c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/121041
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Brandon Jones <bajones@chromium.org>
2023-05-17 01:52:30 +00:00
Peng Huang 34832fe82f d3d11: enable CopyTextureForBrowserTests
Bug: dawn:1705
Change-Id: I13dda162ed1b9a7714ffbe729d691bcbde6abdab
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133120
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-16 21:47:58 +00:00
Peng Huang 7ddaaf23cf d3d11: enable CopyExternalTextureForBrowserTests
Bug: dawn:1705
Change-Id: I9963d446b6bfb71e4bb70a5b9174a631a5229a8a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/133121
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-05-16 20:29:09 +00:00
Loko Kung 14ed533565 Updates DawnInstanceDescriptor to pass in the Platform.
Notes:
- Separates ChainedStruct to be reusable without cpp header. (Also
  updates native structs to directly use it.)
- Manually implements the descriptor in DawnNative.
- Reworks ChainUtils with mapping from struct to STypes.
- Updates the tests to use either SetPlatformForTesting which is still
  required because DawnTest uses a "global" instance for all tests and
  some tests require setting (and cleaning up) a test specific platform.

Bug: dawn:1374
Change-Id: I078c78f22c5137030cf3cf0e8358fe4373ee9c6c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132268
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
2023-05-16 04:50:32 +00:00
Peng Huang 64df2e6235 d3d11: fix and enable ExternalTextureTests
Bug: dawn:1705
Change-Id: I29fbb5bebbc217a4f95a51e24ec295d6e3cd6e8e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132740
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-16 02:43:53 +00:00
jchen10 c29e10c442 d3d11: enable GpuMemorySynchronizationTests
RTV and UAV in d3d11 pixel shaders share the same resource slots. To
avoid any potential conflicts, this assigns UAV slots reversely.

Bug: dawn:1807
Bug: dawn:1705

Change-Id: Ie0ca20aa0e532736c0534c6810b8a807dde6f972
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132274
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-16 01:30:02 +00:00
Austin Eng 6d50a49da6 Suppress another TextureViewRenderingTest on Intel d3d11
failing with DXGI_ERROR_DEVICE_HUNG

Bug: dawn:1812
Change-Id: Ib76d91784e9ec1102427c7b4468e9d4a214f99ec
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132560
Auto-Submit: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
2023-05-12 06:35:50 +00:00
Brandon Jones d5611aa7c2 Validate compute pass timestamp queries are unique
This validation existed for render passes but not for compute passes,
and it's not clear why.

Bug: dawn:1809
Change-Id: I8babb6ddf455a915f5a0c85ad1a7d741fdb467a8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132481
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Brandon Jones <bajones@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-11 22:36:36 +00:00
Yunchao He 9924426c94 Unset vertex buffer: validations and unittests
If vertex buffer is null, SetVertexBuffer() actually unset that
buffer slot. This is a new feature in WebGPU. This change adds
validations and unittest in order to support this feature.

Bug: dawn:1675
Change-Id: Ia3e5d4196423590ff5b60ea78cc1e8cdd9c67d15
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124842
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2023-05-11 19:26:30 +00:00
Peng Huang eb53af192f d3d11: suppress two TextureViewRenderingTest with Intel D3D11
Bug: dawn:1812
Change-Id: I22d28af0e299e8368f485bbd6117bb0a6778ef35
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132500
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-11 18:19:34 +00:00
Austin Eng 096ce5936a Move Adapter toggles from PhysicalDevice to Adapter
Bug: dawn:1774
Change-Id: I25a4040af929b5dc49ad481f85a067e427b97424
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132267
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-05-11 17:10:28 +00:00
Peng Huang 61446e63b6 d3d11: enable TextureViewTest
Bug: dawn:1705
Bug: dawn:1810
Change-Id: I0a975e074c69d866f1b0b8454a364d05ba1989bc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132443
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-11 13:16:29 +00:00
Peng Huang c06625efc7 d3d11: enable VertexStateTests
Bug: dawn:1705
Change-Id: I289c2eb1c61b8f0119e136c7538be947ce461fd5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132442
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-05-11 13:15:42 +00:00
Peng Huang 6a975ff044 d3d11: enable src/dawn/tests/end2end/DepthStencilStateTests.cpp
Bug: dawn:1705
Change-Id: Id0e383d2d2689df667c854e2a1daba280e8d2f03
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132022
Commit-Queue: Peng Huang <penghuang@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-11 01:14:50 +00:00
Peng Huang 91fd9d97a2 d3d11: fix and enable some BufferZeroInitTests & Compute tests
Bug: dawn:1755
Bug: dawn:1798
Bug: dawn:1721
Change-Id: I7e5d4964bd248b4429cb393168b0e7dbe119c08c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132001
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
2023-05-11 00:19:49 +00:00
Austin Eng 039e886f9b Reland "Allow internal errors for pipeline creation failure"
This is a reland of commit e241d64d25
It adds handling and tests for internal errors in the wire

Original change's description:
> Allow internal errors for pipeline creation failure
>
> Change-Id: I6b8c109ae67e230fea3fb14511c2b3562191c0fa
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132300
> Kokoro: Kokoro <noreply+kokoro@google.com>
> Commit-Queue: Austin Eng <enga@chromium.org>
> Reviewed-by: Loko Kung <lokokung@google.com>

Change-Id: Icfda2d04bbb340fc4fdacf5ae65593bf958172fb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132441
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-11 00:06:38 +00:00
Loko Kung 0214a30479 Renames C++ object Release function to MoveToCHandle.
Bug: dawn:1639
Change-Id: If4aaeefbb629cbef4302bbb430e09d740f057d8f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132273
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Loko Kung <lokokung@google.com>
2023-05-10 23:48:22 +00:00
Peng Huang b8233deafe d3d11: enable FragDepthTests end2end test
Bug: dawn:1705
Bug: dawn:1805
Change-Id: Ibe663a6be07eb9c17b2165073d6a973b72c23e5f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132023
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-10 23:23:09 +00:00
Austin Eng ccc78f6be4 Revert "Allow internal errors for pipeline creation failure"
This reverts commit e241d64d25.

Reason for revert: Missing the change to handle the enums in the wire

Original change's description:
> Allow internal errors for pipeline creation failure
>
> Change-Id: I6b8c109ae67e230fea3fb14511c2b3562191c0fa
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132300
> Kokoro: Kokoro <noreply+kokoro@google.com>
> Commit-Queue: Austin Eng <enga@chromium.org>
> Reviewed-by: Loko Kung <lokokung@google.com>

TBR=enga@chromium.org,noreply+kokoro@google.com,dawn-scoped@luci-project-accounts.iam.gserviceaccount.com,lokokung@google.com

Change-Id: I12309e85e888cc400729f88bb2340e8ecdf6b798
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132440
Auto-Submit: Austin Eng <enga@chromium.org>
Kokoro: Austin Eng <enga@chromium.org>
Reviewed-by: Loko Kung <lokokung@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
2023-05-10 20:36:33 +00:00
Brandon Jones dfaeb429f8 Add test for D3D12 descriptor heap allocation lifetimes
Adds a white box test to ensure that D3D12 descriptor heap allocations
only are valid during the serial they are created on.

Bug: dawn:1701
Change-Id: I1e1587ab602d5472fbba9e751bf3cd1e6e5ead11
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132266
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Brandon1 Jones <brandon1.jones@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2023-05-10 18:51:52 +00:00
Peng Huang c872e6a552 d3d11: support uniform buffer with other GPU accelerated usage
d3d11 doesn't allow creating a constant buffer with other GPU
accelerated usage.  This CL workarounds problem by creating two
buffers one for uniform buffer usage, one for other usage, and
copy content to uniform buffer when it is needed.

Bug: dawn:1755
Bug: dawn:1798
Bug: dawn:1721
Change-Id: I26bfee1cca2204f6464ba611872c490165e97f68
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132020
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-10 17:21:53 +00:00
Loko Kung 5e155b23d2 Remove lingering disallow_unsafe_apis toggle usage.
Bug: dawn:1685
Change-Id: I6c9da45efac12986095be5dd1a3ed2a536b76d64
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132302
Commit-Queue: Loko Kung <lokokung@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Kokoro: Loko Kung <lokokung@google.com>
Auto-Submit: Loko Kung <lokokung@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
2023-05-10 01:45:54 +00:00
Peng Huang b6e73aa50a d3d11: support multisampled rendering and enable related tests
Bug: dawn:1804
Bug: dawn:1705
Change-Id: Ic90a42dab7149af261af790ca393d8a595e3ec4c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/132021
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2023-05-10 01:44:26 +00:00
Peng Huang 49db496a51 d3d11: support external image
This CL implements external image for d3d11 backend and enables
related tests.

Bug: dawn:1705
Bug: dawn:1724
Change-Id: Ib95e024fdc1837e3edb198dcf9255ebde8fa9fe7
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/131201
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2023-05-09 23:11:53 +00:00