Commit Graph

3057 Commits

Author SHA1 Message Date
Brandon Jones bdbf98afca Add Backend Validation Levels Option to Dawn Tests
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>
2021-02-04 19:32:12 +00:00
Austin Eng ef369b9ffc Fix GetMappedRange unittests on the wire
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>
2021-02-04 16:10:52 +00:00
Corentin Wallez 6d315daa5d Device: Deprecated GetDefaultQueue in favor of ::GetQueue()
Bug: dawn:22

Change-Id: I103ea933ca5b93f20d8bf11c6671bd9f603d8ff3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40061
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-02-04 15:33:42 +00:00
Hao Li d5a0728b67 Add end2end tests for noop direct and indirect dispatches
- 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>
2021-02-04 03:57:31 +00:00
Hao Li 5ab1ed7e1e Skip noop dispatch in front-end
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>
2021-02-04 03:10:03 +00:00
Edward Lesmes 8aa7919735 Move metadata in OWNERS files to DIR_METADATA files
Bug: 1113033
Change-Id: I88c7a659555b3314eddb018a29e025eb5a43690c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40302
Auto-Submit: Edward Lesmes <ehmaldonado@google.com>
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
2021-02-04 01:26:43 +00:00
Austin Eng 623d80899b Add a Reserved state for dawn_wire ObjectId allocations
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>
2021-02-03 23:29:43 +00:00
Ryan Harrison 59024a62f6 Re-enable Mac ShaderTests
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>
2021-02-03 20:26:13 +00:00
Dawn Autoroller 5451b11fb5 Roll Tint from c694d43c75 to b17aea159c (3 revisions)
https://dawn.googlesource.com/tint.git/+log/c694d43c75f4..b17aea159c32

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I7560fba024a83cd1c5b2c5b29e3d4679ef603026
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40320
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-03 20:09:37 +00:00
Ryan Harrison 88f0ba4e26 Update ComputeLog2 to be more valid
Per https://bugs.chromium.org/p/dawn/issues/detail?id=663#c6 and
https://bugs.chromium.org/p/dawn/issues/detail?id=663#c7

BUG=dawn:663

Change-Id: Id2c0dbd4b029be30691f450af0454b442856c2ed
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40242
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2021-02-03 19:42:07 +00:00
Austin Eng c00bc90b7c Always output the wire trace with the injected error format
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>
2021-02-03 19:25:02 +00:00
Stephen White 3aa929b6f6 Roll third_party/glfw/ d973acc12..947731113 (157 commits)
d973acc123..9477311130

$ git log d973acc12..947731113 --date=short --no-merges --format='%ad %ae %s'
2021-01-18 elmindreda Update changelog and add credit
2019-06-14 laurent.aphecetche Cocoa: Fix install name for installed dylib
2021-01-18 elmindreda Simplify references in CMake if-statements
2021-01-17 elmindreda Cocoa: Unify CG display to NS screen mapping
2021-01-18 elmindreda Update changelog and add credit
2021-01-11 nevyn.jpg Cocoa: Use modern API to get display name
2021-01-18 elmindreda Cocoa: Fix duplicate monitor connection events
2020-12-08 elmindreda Cocoa: Fix menubar for unbundled apps on 10.15
2021-01-18 elmindreda Update changelog
2021-01-05 philiprideout Cocoa: Fix duplicate video mode detection
2021-01-03 elmindreda Update repo URL for Nuklear
2021-01-02 lukebayes Added 2 entries to the gitignores file.
2020-12-15 elmindreda Add credit
2020-12-10 66940640+ashishgamedev Fix indentation in internal.h
2020-12-14 me Fix minor typo: If if -> If.
2020-10-19 caramelli.devel Wayland: Move 96 DPI default to outputHandleMode
2020-07-23 luflosi Use switch statement instead of if-else-chain for cursor shapes
2020-11-19 elmindreda Add missing changelog issue number
2020-10-28 leonard.r.koenig Wayland: Fix destroying CSDs in the correct order
2020-10-18 elmindreda Cocoa: Fix ObjC being built as C with CMake 3.19
2020-10-12 elmindreda Add credit
2020-10-12 elmindreda Wayland: Simplify adding of protocol sources
2020-10-12 elmindreda Wayland: Fix indentation
2020-10-12 elmindreda Wayland: Scanner tool has input and output args
2020-10-12 elmindreda Wayland: Ensure paths are passed on in quoted form
2020-10-12 elmindreda Fix unquoted paths with variable references
2020-10-08 joel.winarske Wayland: Fix CMake binary dir when built as subdir
2020-10-07 elmindreda Win32: Filter out duplicate size events
2020-10-07 elmindreda Win32: Fix clang-cl interpreting -Wall as /Wall
2020-10-07 elmindreda Win32: Enable /W3 on VS for library sources
2020-10-07 elmindreda Remove ignored Clang compiler flag
2020-10-20 elmindreda Update changelog and add credit
2020-10-14 andy Fix macOS Print Screen
2020-10-14 caramelli.devel Wayland: Assume 96 DPI if physical size is <= 0
2020-10-05 elmindreda Add credit
2020-10-04 caramelli.devel Update test SPIR-V shader code
2020-09-29 elmindreda Update changelog and add credit
2020-09-29 snark.gm Win32: Fix value for _WIN32_WINNT_WINBLUE
2020-09-23 elmindreda Update changelog
2020-09-04 doug Win32: Update all monitor handles on config change
2020-10-03 caramelli.devel Wayland: Remove FindWaylandProtocols.cmake and FindXKBCommon.cmake (not used anymore)
2020-09-30 linkmauve Docs: Remove mentions of extra-cmake-modules
2020-09-30 linkmauve Wayland: Remove extra-cmake-modules from CI
2020-09-30 linkmauve Wayland: Remove extra trailing whitespace
2020-09-28 joel.winarske Wayland: Remove extra-cmake-modules dependency
2020-09-23 elmindreda Make unsupported versions of CMake fail early
2020-09-23 elmindreda Specify maximum version of CMake known to work
2020-09-22 elmindreda Update CODEOWNERS for move to SCSS
2020-09-18 luflosi Use consistent indentation for Doxygen custom stylesheet
2020-09-03 siavashserver Migrate to Sass for Doxygen custom stylesheets
(...)
2020-05-25 elmindreda Move more compiler workarounds to library setup
2020-05-25 elmindreda Only look for OSMesa module if building examples
2020-05-25 elmindreda Fix MinGW linker flag tests breaking later tests
2020-06-05 elmindreda Refresh Doxygen file with version 1.8.18
2020-05-21 elmindreda Null: Make platform more conformant
2020-06-02 elmindreda Wayland: Fix repeated keys reported to NULL window
2020-05-28 elmindreda Clarify docs on default GL header inclusion
2020-05-20 elmindreda Add feature available/implemented errors
2020-05-28 elmindreda Fix typo in header option macro docs
2020-05-22 lazylumpster+github Add statement to docs for glfwTerminate
2020-05-26 elmindreda Fix desktop GL header not always being suppressed
2020-05-25 ben135 Win32: Fix VS /W4 compile warnings
2020-05-25 luflosi Use the correct type in a for loop
2020-05-25 luflosi Replace %m conversion specifier with %s and strerror()
2020-04-19 corentin Use CALayer instead of NSView for EGLNativeWindowType
2020-05-20 elmindreda Win32: Remove checks for pre-XP Windows
2020-05-19 elmindreda X11: Clarify function name and comment
2020-05-19 elmindreda Note removal of wl_shell support in release notes
2020-05-19 elmindreda X11: Clarify code flow for Clang static analysis
2020-05-19 elmindreda X11: Fix XKB events being passed on to core path
2020-05-19 elmindreda X11: Fix XKB state event bits being overwritten
2020-05-19 elmindreda X11: Remove duplicate XKB group initialization
2020-05-19 elmindreda X11: Fix XKB group event depending on state query
2020-05-19 elmindreda Add null platform to Travis CI
2020-04-15 63736956+gre-42 Correct sign in mat4x4_rotate_Y
2020-04-30 elmindreda Update community resource links
2020-05-04 elmindreda Disambiguate Vulkan support reference link
2020-04-30 elmindreda Cocoa: Fix call to NSWindow from non-main threads
2020-04-23 elmindreda X11: Improve non-XKB fallback for key mapping
2020-04-23 elmindreda X11: Add additional XKB key names for Right Alt
2020-03-31 elmindreda X11: Use XKB key name MENU for Menu key
2020-03-25 elmindreda X11: Check XKB key aliases in addition to names
2020-03-17 elmindreda X11: Fix X keycode ranges for XKB and core
2020-03-31 elmindreda Update changelog and add credit
2019-11-21 42585895+ZenulAbidin X11: Fix function keys mapped to GLFW_KEY_UNKNOWN
2020-03-19 elmindreda X11: Improve window handle race condition
2020-03-16 elmindreda X11: Filter out Xlib errors from other connections
2020-01-22 elmindreda X11: Add support for XIM callbacks
2020-03-02 elmindreda Update linmath.h
2020-03-12 elmindreda Fix unclear language in build guide
2020-03-05 elmindreda Cocoa: Finish launching NSApp in glfwInit
2020-02-12 elmindreda Wayland: Remove unused link-time dependency
2020-02-06 elmindreda X11: Fix CJK IME input when locale CTYPE is "C"
2020-02-06 elmindreda WGL: Remove unused constants
2020-02-05 elmindreda Fix rendering race in offscreen example
2019-12-16 elmindreda X11: Make libX11 dynamically loaded
2020-01-24 elmindreda X11: Fix setting the clipboard string to itself
2020-02-10 elmindreda Put docs target in GLFW3 folder
2020-01-20 elmindreda Move more non-source template files to CMake dir
2020-02-06 linkmauve Mention that xdg-shell is mandatory on Wayland

Bug: dawn:447
Change-Id: I8f91688f562b55141a67e4e9bb4452afb6517bd0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40241
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2021-02-03 19:22:47 +00:00
Stephen White 040f140e5f 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.

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>
2021-02-03 17:36:29 +00:00
Ryan Harrison 474680c5c6 Add ComputeLog2 test
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>
2021-02-03 16:57:19 +00:00
Yunchao He 1b9bcfc47d Implement 3D textures and views creation on Vulkan/Metal/GL
Bug: dawn:547
Change-Id: I1f800f69d8ecfef5a7cfe9c19c320ea78296c58d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40120
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Yunchao He <yunchao.he@intel.com>
2021-02-03 16:36:59 +00:00
Stephen White f2a003d4e9 Revert "Fix SwANGLE DeviceType and OpenGL ES DeviceType checking."
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>
2021-02-03 15:06:30 +00:00
Stephen White 9bb02dbbc6 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>
2021-02-03 13:02:09 +00:00
Ryan Harrison fd5fd05db0 Enable EntryPointTests
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>
2021-02-02 22:01:40 +00:00
Dawn Autoroller 299a3fafb3 Roll Tint from 222e09735e to c694d43c75 (11 revisions)
https://dawn.googlesource.com/tint.git/+log/222e09735e02..c694d43c75f4

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I4c4c734486e82bb85be42440d811a4ec3af698c0
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40100
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-02 19:21:59 +00:00
Yunchao He 04242a063e Implement 3D textures and views creation on D3D12 backend
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>
2021-02-02 18:45:50 +00:00
Nicolas Capens dd988bca84 GN: add a default build target
This target is built when no specific target is specified on the command
line. It avoids building all available targets. Specifically, the
optional use of LLVM as a JIT-compiler by SwiftShader was dominating
compile times.

See the GN reference for details:
https://gn.googlesource.com/gn/+/master/docs/reference.md#the-all-and-default-rules

For now, it's equivalent to the "all" target. Note the latter is an
explicit target, not the implicit one mentioned in the reference.

Bug: swiftshader:157
Change-Id: Ifd2750921a9cfc0163858da77a81c9eb33002fb2
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39580
Auto-Submit: Nicolas Capens <nicolascapens@google.com>
Commit-Queue: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-02-02 17:03:30 +00:00
Ben Clayton 401aad5878 Simplify tint API usage
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>
2021-02-02 15:38:39 +00:00
Corentin Wallez 199ba447c5 Revert "Suppress RenderPipelineValidationTest.VertexAttribCorrectEntryPoint"
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>
2021-02-02 11:06:11 +00:00
Hao Li d11f4c3d05 Query API: Non-precise occlusion query on Metal
- 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>
2021-02-02 05:30:50 +00:00
Austin Eng 9a2174a37c Pass the buffer size into DeserializeWGPUDeviceProperties
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>
2021-02-02 04:20:09 +00:00
Hao Li 387a597154 Query API: Non-precise occlusion query on Vulkan
- Implement BeginOcclusionQuery/EndOcclusionQuery on Vulkan
- Add compute pipeline to convert non-zero values to 1.

Bug: dawn:434
Change-Id: Ie0238078dfd26334caf36d23ded1d7742dd829a3
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/38221
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Hao Li <hao.x.li@intel.com>
2021-02-02 02:38:59 +00:00
Stephen White 71b811b4c9 SkipOpArrayLength.Vertex on all GLES.
This is also failing on Intel (see
https://ci.chromium.org/ui/p/chromium/builders/try/linux-dawn-rel/6628/overview);
generalizing to all GLES.

Bug: dawn:197 dawn:447
Change-Id: I0d26c0fbbccff0da3639df0473f515355775e480
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39922
Commit-Queue: Stephen White <senorblanco@chromium.org>
Auto-Submit: Stephen White <senorblanco@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
2021-02-01 21:40:28 +00:00
dan sinclair 9023389969 Remove use_tint_inspector flag usage.
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>
2021-02-01 21:07:48 +00:00
Stephen White 91e737b8f1 Moar testing on OpenGL ES backend.
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>
2021-02-01 20:00:28 +00:00
Yunchao He a32954a4d2 Add validation rules for 3D texture view
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>
2021-02-01 19:55:58 +00:00
Stephen White fbaa306056 Skip OpArrayLengthTest.Vertex on ANGLE.
Bug: dawn:197 dawn:447
Change-Id: I75e13530d6568e03df97b032517c3fe56d84f0fe
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39941
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2021-02-01 19:17:28 +00:00
Dawn Autoroller 308218311b Roll Tint from ad27ee8c10 to 222e09735e (14 revisions)
https://dawn.googlesource.com/tint.git/+log/ad27ee8c1038..222e09735e02

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC cwallez@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Bug: None
Tbr: cwallez@google.com
Change-Id: I0bb23e33974d4892573bdf98f665a4e7b384612d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39862
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-02-01 18:49:28 +00:00
Austin Eng 65a903bf75 dawn_wire: Gracefully handle all invalid and unknown sTypes
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>
2021-02-01 16:48:18 +00:00
Corentin Wallez 07987ede36 dawn_native: Turn the DisallowUnsafeAPIs toggle on by default.
Bug: chromium:1138528
Change-Id: Iaad55e6776f3e6abcc0983ad05a1f76b0482e14c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39504
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-02-01 16:22:08 +00:00
Corentin Wallez 1b5526457f 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>
2021-02-01 16:20:58 +00:00
Stephen White d7aacdda11 Set the default ANGLE backend to SwiftShader for dawn tests.
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>
2021-01-29 22:39:45 +00:00
Stephen White 30959dd4d2 Fix libEGL.so.1 issue with ANGLE build.
On Linux, ANGLE only builds a libEGL.so, while GLFW expects to find
libEGL.so.1. The fix is to force GLFW to load libEGL.so instead.

Bug: dawn:447
Change-Id: I4baa5b175a093b5b5d7a5c121085db3006c0e097
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39561
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2021-01-29 21:44:45 +00:00
Corentin Wallez fc441f97fc Make wgpu::BindGroupLayoutEntry extensible
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>
2021-01-29 19:08:15 +00:00
Stephan Hartmann ec53444839 GCC: fix name clash cause of multiple BindingInfo definitions
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>
2021-01-29 14:42:54 +00:00
Corentin Wallez 33a77c127a Reland "Add MSVC Dbg/Rel x64 to the CQ."
This is a reland of cfa0edf592

Original change's description:
> Add MSVC Dbg/Rel x64 to the CQ.
>
> Bug: dawn:602
> Change-Id: Idb684a36b0307c14c78b3c9bd23e0154e242b6d6
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/38401
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
> Auto-Submit: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Austin Eng <enga@chromium.org>

Bug: dawn:602
Change-Id: I6a8b902c70501119341511c90bff1b4ec6639fbd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39001
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-01-29 13:16:16 +00:00
Corentin Wallez 0859e6b1d2 Add missing include for MSVC
std::replace used in WireHelper is in <algorithm>

TBR=enga@chromium.org
Bug: dawn:602
Change-Id: Id618a19e72d5b54701c913470d0f584ce0fa2bec
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39501
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2021-01-29 12:50:36 +00:00
Dawn Autoroller bf1c0cf523 Roll Tint from 5ad2d0087b to ad27ee8c10 (3 revisions)
https://dawn.googlesource.com/tint.git/+log/5ad2d0087be3..ad27ee8c1038

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC sarahmashay@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Bug: None
Tbr: sarahmashay@google.com
Change-Id: I28e8708ac45688ac34fea6b2a4124b1c547477b5
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39301
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-28 21:57:46 +00:00
Austin Eng 7aba08e69b Skip validation tests failing with the wire
Bug: dawn:654
Change-Id: Ieeb9a34f3a6ff354107fa65ca496204bb0775129
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39400
Reviewed-by: dan sinclair <dsinclair@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
2021-01-28 21:20:36 +00:00
Stephen White 1b42ad94ba Revert "Moar testing on OpenGL ES backend."
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>
2021-01-28 21:11:17 +00:00
Yunchao He 54d0d43e58 Add texture creation validation rules for 3D texture
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>
2021-01-28 20:37:01 +00:00
Stephen White 7bfb3ed2c6 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>
2021-01-28 19:19:36 +00:00
Stephen White f1e81a87c8 Remove glPixelStore GL_PACK_IMAGE_HEIGHT calls.
This enum is unsupported in OpenGL ES. If this is actually a problem
for WebGPU, we may need to add validation for WebGPU-compat to prevent
reading from a texture to a buffer with a different image stride. I'm not sure
if that's currently possible, and it doesn't seem to be covered by tests.

Change-Id: Ia39d0dae122acfba3c663ae5956a981a0acb5e07
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/38740
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2021-01-28 19:15:55 +00:00
Ryan Harrison 0228625411 Enable OpArrayLengthTests
arrayLength is well enough supported in Tint that these tests now
pass.

BUG=tint:252

Change-Id: I5d8f00d8ae651a2e075ef33b88a8c4df56895ce8
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39140
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
2021-01-28 18:05:46 +00:00
Dawn Autoroller 75e191893f Roll Tint from d5c0b8e851 to 5ad2d0087b (3 revisions)
https://dawn.googlesource.com/tint.git/+log/d5c0b8e851d2..5ad2d0087be3

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/tint-dawn
Please CC sarahmashay@google.com on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md

Bug: None
Tbr: sarahmashay@google.com
Change-Id: Ie537c89f3f298f514fb724f0c311a531e5afda24
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39300
Reviewed-by: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Dawn Autoroller <dawn-autoroll@skia-public.iam.gserviceaccount.com>
2021-01-28 17:18:45 +00:00
Stephen White 44fef9a928 Don't enable GL_FRAMEBUFFER_SRGB on OpenGL ES.
This enum value is not supported, but the functionality is implied.
Silences a GL error from ANGLE.

Change-Id: Ib3eb242c53d548f7b9648f7037c3178705cbaecd
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/38800
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
2021-01-28 15:21:15 +00:00