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>
SNORM textures are non-renderable on vanilla ES, which means they're also
non-readable. Use the EXT_render_snorm extension where available, otherwise
skip the test for now.
Bug: dawn:624 dawn:636 dawn:647 dawn:667
Change-Id: Ic50368032d6168060b6b52889b4ba952ce662f02
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40420
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Previousl the VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT was
chained on the VkComputePielineCreateInfo when instead it should be
chained on the VkPipelineShaderStageCreateInfo, causing Vulkan
Validation errors.
Fixed: dawn:671
Change-Id: I9cc803a4f9120cf81f4e143818c3be58b73635d8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40604
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Hao Li <hao.x.li@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Only set SwiftShader as the default ANGLE backend if the
ANGLE_DEFAULT_PLATFORM environment var is empty. This will allow
devs to set it.
Bug: dawn:447
Change-Id: I49aac4bcb4b0b7c56903eca68248ee22cdf1e6f2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/41140
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
The wire now supports more than one device, and Chrome is updated
to use the new code path. This fixes same-device validation for
createReadyPipeline.
Bug: dawn:565
Change-Id: Id05001ed1a7e535690c87f535da6f72a0e794c59
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40460
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
This helper is no longer needed now that the descriptor has full
defaults and is even optional in CreateSampler.
Bug: dawn:599
Change-Id: I0d25233ebb1e817ad27f3ddaca988e01e2a5298c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40520
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>
Adds support for NV12 texture format and per plane view aspects.
Only allows planar sampling of imported DX11 textures. See usage
tests for examples and formats.h for rules.
Bug: dawn:551
Change-Id: I44b89d2c07bb9969638e77ce7c756ef367167f0c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/38781
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Re-enables Intel D3D12 GPU-based validation bots. This comes after the
--enable-backend-validation=partial option was introduced and the bot
configurations were changed to make use of it.
Bug: dawn:598
Change-Id: I9f5c5111340aeefa729e0d2fd26f9f884813eb3a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40481
Commit-Queue: Brandon Jones <brandon1.jones@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Callbacks should all reject instead of waiting for the device
to idle on shutdown.
Bug: dawn:652
Change-Id: Id4a9ab2560aa34b8ea574271f61f8a499e15ab3a
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40360
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Refactors DawnTest's backend validation options to use an enum, as well
as adds the 'partial' option enable backend validation with a
reduced performance overhead to address TDR issues on the bots.
Bug: dawn:598
Change-Id: I759eff03bd117f1f20ad82aa2b71a87834f42b1d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40000
Commit-Queue: Brandon Jones <brandon1.jones@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
The tests should wait till the MapAsync operation is complete
before calling GetMappedRange.
Bug: dawn:651
Change-Id: Iec001efaa3c3b76704dc4d926e91d1b1c58901bb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40303
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
- Add more end2end tests for direct and indirect dispatches, including
0x0x0, 0xNxM, Nx0xM, NxMx0
- For direct dispatch, they will cause system crash on Metal backend.
Bug: dawn:640
Change-Id: I77a4bee87df89857b05b713de8d78b0cb1f0ca50
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39520
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
Workaround for Metal becuase system crashes on 0 dispatches.
Bug: dawn:640
Change-Id: I5bd33b22242ddc31816a16acb019ce2f552808bb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39521
Commit-Queue: Hao Li <hao.x.li@intel.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Functions like CreateReadyRenderPipeline reserve an
ObjectId for the pipeline created but the Id can not be
used until the callback is called successfully.
Bug: chromium:1172774, chromium:1172775
Change-Id: I145c0f033a2bde7957d15da2da8b9b19c6520ceb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39840
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Issues with log2 on Metal/Intel were actually due to floating point
precision not being guaranteed and the tests not accounting to that.
This has been corrected.
BUG=dawn:663
Change-Id: I401d22898e69ea6b3f96f3d2c57a28b1dc682ed5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40243
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>
The fuzzers will be updated to always expect this format. If
the fuzzer doesn't do error injection, it will simply skip
these bytes.
Bug: dawn:629
Change-Id: I894e95ce9c1048eda81593219f7fc5d91e123392
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40121
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
OpenGL ES drivers (like OpenGL drivers) have DeviceType::Unknown.
We want to allow testing of unknown native GLES drivers,
as we do for GL drivers, so add them to the conditional.
NOTE: this change will enable the OpenGLES backend to run tests on
the CQ and waterfall bots.
Mark SwANGLE as a "CPU" adapter type, rather than unknown, since we
don't want to test it by default.
Difference from https://dawn-review.googlesource.com/c/dawn/+/39920:
Skip EntryPointTests.FragAndVertexSameModule on OpenGL ES.
Bug:dawn:580 dawn:447 dawn:661
Change-Id: I6eafbcf9c45cd8ba6c9c2b906fba7b1b147600df
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40260
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
BUG=chromium:1046622
Change-Id: Ic554190ed95efbd555472db95cbbd9aed66a950d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39961
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
This reverts commit 9bb02dbbc6.
Reason for revert: breaking the Dawn roll into Chrome: https://ci.chromium.org/ui/p/chromium/builders/try/dawn-linux-x64-deps-rel/12478/overview
Original change's description:
> Fix SwANGLE DeviceType and OpenGL ES DeviceType checking.
>
> OpenGL ES drivers (like OpenGL drivers) have DeviceType::Unknown.
> We want to allow testing of unknown native GLES drivers,
> as we do for GL drivers, so add them to the conditional.
>
> NOTE: this change will enable the OpenGLES backend to run tests on
> the CQ and waterfall bots.
>
> Mark SwANGLE as a "CPU" adapter type, rather than unknown, since we
> don't want to test it by default.
>
> Bug:dawn:580 dawn:447 dawn:661
> Change-Id: I21577cb9d1fdec53704433a5db1fe2603bdbeb6d
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39920
> Reviewed-by: Austin Eng <enga@chromium.org>
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Commit-Queue: Stephen White <senorblanco@chromium.org>
TBR=cwallez@chromium.org,senorblanco@chromium.org,enga@chromium.org
Change-Id: I7e454f1da23faa4cfa0cfe737c0d318ecca2bcd8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: dawn:580 dawn:447 dawn:661
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40240
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
OpenGL ES drivers (like OpenGL drivers) have DeviceType::Unknown.
We want to allow testing of unknown native GLES drivers,
as we do for GL drivers, so add them to the conditional.
NOTE: this change will enable the OpenGLES backend to run tests on
the CQ and waterfall bots.
Mark SwANGLE as a "CPU" adapter type, rather than unknown, since we
don't want to test it by default.
Bug:dawn:580 dawn:447 dawn:661
Change-Id: I21577cb9d1fdec53704433a5db1fe2603bdbeb6d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39920
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Tint now produces SPIRV that is sufficient for these tests to pass, so
re-enabling them.
The multiple entry point problem for HLSL mentioned in one of the other
skip statements appears to still be a KI, so not removing it.
Change-Id: I47005c815dc3cb9093d293e71caa3152c11bf0ac
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39100
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
This change also adds a very simple end2end test to verify that
we can create 3D textures and views. But we can't do anything
with them (like copy, sampling, rendering, etc) currently.
I will implement 3d textures and views creation on other backend
in one patch if the simple end2end test is OK.
Bug: dawn:547
Change-Id: I1662458de563cc4b47040a8bc3e94d7a8e0109e5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39843
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
A whole lot of public API tint changes have been made to simplify usage of the library.
Big changes include:
* Type determination is now implicit
* Generators no longer take ownership of programs, so they don't need to be cloned.
Change-Id: Icac0956ae120ae4e6a9d0290b2478c0fbc3bcf22
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39341
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
This reverts commit 1b5526457f.
Reason for revert: Tint issue was fixed.
Original change's description:
> Suppress RenderPipelineValidationTest.VertexAttribCorrectEntryPoint
>
> This is failing in the roll of Tint in Dawn because Tint generates
> invalid SPIR-V. This CL suppresses the failure so as to unblock the
> roll.
>
> TBR=enga@chromium.org
> Bug: tint:468
> Change-Id: I2a66fc9a6a9e37098651a0f5cd72d41ecf993a72
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39761
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Austin Eng <enga@chromium.org>
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
TBR=cwallez@chromium.org,enga@chromium.org,bclayton@google.com
Change-Id: I6da08abf44ca9967f51ae535561e8101c31de8f7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: tint:468
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40060
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
- Add occlusionQuerySet to BeginRenderPassCmd
- Implement BeginOcclusionQuery/EndOcclusionQuery on Metal
- Enable occlusion end2end tests on Metal
Bug: dawn:434
Change-Id: I6c6ed74c77eb7e66f21fc5b8aa97b80eddb1111f
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/38784
Commit-Queue: Hao Li <hao.x.li@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
This allows deserialization to fail if the buffer is not large enough.
Before, we simply assumed the buffer was at least the size of
WGPUDeviceProperties.
Bug: none
Change-Id: I24e1f84c583f48d4e32c35276e5508e257e9f530
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39861
Auto-Submit: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
The use_tint_inspector and use_tint_generator flags are being merged.
Remove new usages of use_tint_inspector.
Change-Id: I6837d18c0ee79dc8f81ed6949666c3b7e93dcaf2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39960
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Auto-Submit: dan sinclair <dsinclair@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
This CL enables the GLES backend on most the remaining tests for which
the desktop OpenGL backend is enabled.
Skip tests which require glTextureView().
Don't enable NonzeroTextureCreationTests; all are failing.
Skip ANGLE failures on NonRenderableTextureClear*.
Bug: dawn:580, dawn:447
Change-Id: Iac24a3ff89712c0d3bb2ae41455a6e55a6c3a2c8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39921
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
3D texture view's baseArrayLayer must be 0, and its arrayLayerCount
must be 1. In addition, 2D/2DArray/Cube/CubeArray (and 1D) views
upon 3D textures are not allowed.
Other behaviors for 3D texture views like default values are similar
to 2D/2DArray views.
This change also adds a test for aspect test against color format for
completeness, in addition to the existing depth/stencil formats.
Bug: dawn:558
Change-Id: I4f5d095b85c9b81e6f41497f1c8a54b569c210bb
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39600
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
This CL makes the wire gracefully handle all invalid and unknown
sTypes. All unknown sType structs are serialized and deserialized
as the base WGPUChainedStruct with sType Invalid.
Bug: dawn:369, dawn:654
Change-Id: Ia2571df81fc96e2c672d3ea13c03237a2d5fa5c1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39460
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
This is failing in the roll of Tint in Dawn because Tint generates
invalid SPIR-V. This CL suppresses the failure so as to unblock the
roll.
TBR=enga@chromium.org
Bug: tint:468
Change-Id: I2a66fc9a6a9e37098651a0f5cd72d41ecf993a72
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39761
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This will apply to the bots (once they're running the ES backend) as well as developer builds.
Bug: dawn:580 dawn:447
Change-Id: I0cb7864c094d6bbd636f91734ca299de51a9f0e5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39420
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Bug: dawn:22
Change-Id: Ifce24a0b19fb8d3acb6ac8ab32f3f3e22a248b3b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39340
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
BindingInfo is declared in BindingInfo.h. However,
ShaderModule.h declares an alias BindingInfo in EntryPointMetadata.
This confuses GCC. Rename the alias to BindingInfoArray.
Bug: chromium:819294
Change-Id: Ia43c9eb8d793a3078faa6340980017236a6adbb3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39502
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This reverts commit 7bfb3ed2c6.
Reason for revert: Still failing some zero init tests
Original change's description:
> Moar testing on OpenGL ES backend.
>
> This CL enables the GLES backend on all the remaining tests for which
> the desktop OpenGL backend is enabled.
>
> Bug: dawn:580
> Change-Id: Iab0d13299d58d17749a3405d25d27da7ba4077fa
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39320
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Austin Eng <enga@chromium.org>
> Commit-Queue: Stephen White <senorblanco@chromium.org>
TBR=cwallez@chromium.org,senorblanco@chromium.org,enga@chromium.org
Change-Id: I37bb1438107151f11617e67287fe9f5e0e22fd21
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: dawn:580
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39361
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
In order to support 3D texture, new validation rules are added:
- to say that multisample 3D texture is not supported.
- to distinguish 3D texture from 2D array texture via texture type,
and its impact on max values of size.depth, mipmap levels,
array layer count, etc.
- to say that 3D compressed texture is not supported.
This change also adds validation tests for zero-sized textures,
in addition to validation tests for the validation rules above.
Bug: dawn:558
Change-Id: Ib7d398fdab49a702eaa798f6353639d3721747e6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/34922
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
This CL enables the GLES backend on all the remaining tests for which
the desktop OpenGL backend is enabled.
Bug: dawn:580
Change-Id: Iab0d13299d58d17749a3405d25d27da7ba4077fa
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39320
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>