Wgsl removes inNaN from spec (https://github.com/gpuweb/gpuweb/pull/2311)
and VertexFormatTest needs to cover NaN input. So we implement a
platform-independent isNaNCustom based on the rules in IEEE 754-1985.
Bug: dawn:1268
Change-Id: I53aef428c72d34381efc6b3ba0250685fc685965
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/78140
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>
This reverts commit 8e9fbbe7ca.
Reason for revert: crashes on Win7
Original change's description:
> Recording timing info in trace events when D3D12 queue submit
>
> Add a toggle RecordDetailedTimingInTraceEvents. When this toggle is
> enabled, record detailed timing information in trace events right
> before calling ExecuteCommandLists on a D3D12 command queue, and the
> information includes system time, CPU timestamp, GPU timestamp, and
> their frequency.
>
> Bug: dawn:1264
> Change-Id: Ie06d3f2b7eb25c641ee00476334bd276227c3678
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/77381
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
TBR=cwallez@chromium.org,kainino@chromium.org,enga@chromium.org,zhaoming.jiang@intel.com,dawn-scoped@luci-project-accounts.iam.gserviceaccount.com
Change-Id: I7884e1c9cb580237bfa65790e12879a075720b18
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: dawn:1264, chromium:1290964
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/78250
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@google.com>
This change adds an override for Transform::ShouldRun() for many of the transforms that can trivially detect whether running would be a no-op or not. Most programs do not require all the transforms to be run, and by skipping those that are not needed, significant performance wins can be had.
This change also removes Transform::Requires() and Program::HasTransformApplied(). This makes little sense now that transforms can be skipped, and the usefulness of this information has been severely reduced since the introduction of transforms that need to be run more than once.
Instread, just document on the transform class what the expectations are.
Issue: tint:1383
Change-Id: I1a6f27cc4ba61ca1475a4ba912c465db619f76c7
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77121
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Transforms are supposed to be immutable, operating on the DataMaps provided for input and output, so make the methods const.
Add a ShouldRun() method which the Manager can use to skip over transforms that do not need to be run.
Change-Id: I320ac964577e94ac988748d8aca85bd43ee8d3b5
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77120
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
tint::Source::FileContent::lines has changed from a vector of std::string to std::string_view.
The dawn usage of the field works with both types without changes, so juse use `auto` to let tint roll.
Change-Id: I0d8309a13e94da7e3558bd32d0d98a4f27a1a4bc
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/77943
Reviewed-by: Brandon Jones <bajones@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
Change-Id: Id0c879c597e02da32350b2ee4878991fe78c470f
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/78221
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Bug: tint:1397
Change-Id: Ifd6870b3e7cba151c361bd21f9d3d42642ff6c26
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/78060
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Changes dawn.json entry for ExternalTexture to take a secondary plane
and adds wgpu::PredefinedColorSpace. Includes validation tests.
Bug: dawn:1082
Change-Id: I76475e4a1bce6f25c728ac0251ff582ef6369cd1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/76282
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Brandon1 Jones <brandon1.jones@intel.com>
(Note that I've added the decoration to all types, integer or not.
This should make no difference for the purpose of this test.)
Bug: dawn:1271
Change-Id: I77a4c3ac25ad360ea59352499d97148c068ceda1
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/78204
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
There may very well be more places it can be used, but this updates
the easiest to identify cases that could be switched over with minimal
restructuring.
Change-Id: I5100f398731cc4e031c82548ac826d713d0a4cda
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/76640
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Brandon Jones <bajones@chromium.org>
Kokoro: Kokoro <noreply+kokoro@google.com>
9477311130..df8d7bc892
$ git log 947731113..df8d7bc89 --date=short --no-merges --format='%ad %ae %s'
2021-12-31 elmindreda Wayland: Clean up modifier key event handler
2021-12-31 elmindreda Wayland: Clean up key translation
2021-12-30 elmindreda Wayland: Fix text input not following key repeat
2021-12-30 elmindreda Wayland: Clean up key event handler
2021-12-30 elmindreda Wayland: Require xkbcommon 0.5.0 or greater
2021-12-30 elmindreda Wayland: Clean up text input
2021-12-30 elmindreda Clean up internal Unicode code point handling
2021-12-29 elmindreda Wayland: Implement key name support
2021-12-30 elmindreda Move UTF-8 encoding to shared code
2021-12-30 elmindreda Wayland: Fix keys reported as wrong or unknown key
2021-12-28 elmindreda Wayland: Fix GLFW_VISIBLE affecting full screen
2021-12-28 elmindreda Fix gamma test not checking for NULL return value
2021-12-28 elmindreda Wayland: Fix missing damage event on window show
2021-12-28 elmindreda Wayland: Fix window not visible after initial swap
2021-12-27 elmindreda Wayland: Remove window monitor array pre-alloc
2021-12-27 elmindreda Wayland: Remove superfluous initialize to NULL
2021-12-27 elmindreda Wayland: Move window title cloning to creation
2021-12-27 elmindreda Wayland: Gather framebuffer transparency logic
2021-12-27 elmindreda Wayland: Move surface creation function
2021-12-26 elmindreda Wayland: Fix repeated key not released on defocus
2021-12-27 elmindreda Wayland: Control key repeat via timerfd state
2021-12-26 elmindreda Wayland: Clean up event pump
2021-12-30 linkmauve Wayland: Use correct action on fallback decoration
2021-12-27 elmindreda Wayland: Document delayed window showing
2021-12-26 elmindreda Update docs for specific Vulkan surface extensions
2021-12-22 elmindreda X11: Fix sonames for loaded libraries on OpenBSD
2021-12-22 elmindreda Add hiding and showing to interactive window test
2020-07-12 jason Wayland: Fix window hiding
2021-12-22 elmindreda Wayland: Fix key repeat continuing when refocused
2021-12-22 elmindreda Wayland: Fix duplicate focus event on activation
2021-12-14 linkmauve EGL: Use EGL_EXT_present_opaque when available
2021-12-14 linkmauve Wayland: Continue poll() if timerfd can’t be read
2020-06-05 lattis Wayland: Set O_NONBLOCK on repeat timerfd
2021-12-09 elmindreda X11: Add extension header paths to CMake target
2021-12-08 elmindreda Fix initial windowed mode size for test
2021-12-05 59504965+InKryption Add missing errors section for glfwGetGamepadName
2021-12-01 elmindreda Win32: Handle content scale error on creation
2021-12-01 elmindreda Win32: Fix bad content scale on monitor disconnect
2021-11-30 elmindreda Formatting
2021-11-30 elmindreda Cleanup
2021-11-02 elmindreda Add credits and update changelog
2021-10-31 stephen X11: Fix undefined behavior in glfwSetWindowIcon
2021-11-15 stephen Fix docs calling GLFW_CONTEXT_REVISION a hint
2021-11-16 elmindreda Gather Null specific platform selection logic
2021-11-09 elmindreda Update comments for global mutable data
2021-10-28 luzpaz Fix source comment typo
2021-11-25 elmindreda Add credit
2021-11-22 59504965+InKryption Add missing error to glfwGetClipboardString docs
2021-11-22 elmindreda Add credit
2021-11-18 jeebjp Cocoa: Use MACH_PORT_NULL for default IOKit port
(...)
2021-07-14 elmindreda Add credit
2021-07-07 david.v.mckay realizing "as you would" is platform dependent
2021-07-07 david.v.mckay Clarify "as you would" for beginners.
2021-06-25 elmindreda Remove errors for gamepad element mismatch
2021-06-23 lazylumpster+github Consistent subsections in compile guide
2021-06-22 elmindreda Wayland: Fix missing constant on FreeBSD
2021-06-22 elmindreda Wayland: Fix case of epollshim find module name
2021-06-15 elmindreda Add missing changelog entry
2021-06-14 elmindreda Add notes on getting the HDC of a window on Win32
2021-06-09 elmindreda Fix some documentation URLs still using http:
2021-06-09 elmindreda Update IRC network to Libera.Chat
2021-06-09 elmindreda Add 'latest' branch to all CI builds
2021-06-09 elmindreda Move VS 2019 builds from AppVeyor to GH Actions
2021-06-07 elmindreda Migrate from Travis CI to GitHub Actions
2021-06-07 elmindreda Fix numeric conversion warnings in example
2021-05-14 elmindreda EGL: Fix creation of single-buffered windows
2021-05-14 elmindreda Move single/double-buffer filtering to backends
2021-05-13 elmindreda Skip initial buffer swap when single-buffered
2021-05-13 elmindreda Make GLFW_DOUBLEBUFFER a window attribute
2021-05-13 elmindreda Make monitor and joystick names static strings
2021-05-13 elmindreda Remove claim that EGL is not supported on macOS
2021-05-12 elmindreda Clarify documentation for hints
2021-05-12 elmindreda Fix header version macro descriptions in docs
2021-04-20 elmindreda Win32: Always define UNICODE and _UNICODE
2021-04-16 elmindreda Win32: Fix macros being enabled for other backends
2021-04-22 elmindreda Fix description of video mode ordering in docs
2021-04-15 konstantin Fix hardcoded runtime destination in CMake install
2021-04-12 elmindreda Win32: Fix compilation with standalone LLVM
2021-04-12 elmindreda Replace GL_ARB_debug_output in comments
2021-04-12 elmindreda Replace GL_ARB_debug_output in context guide
2021-04-11 elmindreda Add Vulkan device presentation support to glfwinfo
2021-04-11 elmindreda Add window surface creation to glfwinfo
2020-12-10 elmindreda Fix grammar in MoltenVK support docs
2021-04-11 elmindreda Add GLFW_X11_XCB_VULKAN_SURFACE flag to glfwinfo
2020-12-10 elmindreda Add docs for GLFW_X11_XCB_VULKAN_SURFACE
2020-10-23 caramelli.devel Add GLFW_X11_XCB_VULKAN_SURFACE init hint
2020-10-12 elmindreda Update USE_MSVC_RUNTIME_LIBRARY_DLL for CMake 3.15
2021-03-21 elmindreda Fix implicit double-to-float in linmath.h
2021-03-19 elmindreda Add issue number to changelog
2021-03-19 elmindreda Remove deprecated Doxygen tag
2021-03-15 elmindreda Win32: Add warning when option will have no effect
2020-08-20 elmindreda Ignore cached state when setting window attributes
2021-03-10 elmindreda Update linmath.h
2021-03-09 elmindreda Win32: Add MinGW-w64 detection to version string
2021-03-08 elmindreda X11: Fix attribs not applied on leaving fullscreen
2021-02-17 elmindreda Update changelog
2021-02-09 elmindreda Wayland: Move DPI fallback work to output done
2021-01-20 elmindreda Win32: Fix content area rescaling on older systems
2021-01-19 elmindreda Win32: Fix full screen windows affected by scaling
2021-02-10 elmindreda Cocoa: Fix console apps getting a dock icon
Created with:
roll-dep third_party/glfw
Bug: dawn:1246
Change-Id: If6357019587d43bebc9eea79d8a5af0bf81d4734
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/75421
Reviewed-by: Loko Kung <lokokung@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This implements the test "backend" for DmaBuf.
Bug: chromium:996470
Change-Id: I9a4b8c7d345669e26c1349b87101c6f076e1f613
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/76820
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Add a toggle RecordDetailedTimingInTraceEvents. When this toggle is
enabled, record detailed timing information in trace events right
before calling ExecuteCommandLists on a D3D12 command queue, and the
information includes system time, CPU timestamp, GPU timestamp, and
their frequency.
Bug: dawn:1264
Change-Id: Ie06d3f2b7eb25c641ee00476334bd276227c3678
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/77381
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Zhaoming Jiang <zhaoming.jiang@intel.com>
These cases fail on D3D12 with the full validation layer turned on.
Bug: dawn:1262
Change-Id: I7778f081fcb1b69d85e58bbe7fcce47205d7ec12
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/77900
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
This was made a warning in M97, and can now become a hard error.
Fixed: tint:1224
Change-Id: Ied72f6e28b3dc64a6ab832e0eac53f62ce045d40
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77700
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: David Neto <dneto@google.com>
Commit-Queue: James Price <jrprice@google.com>
Essentially, this adds GLSL to the list of backends to run.
Bug: tint:1358
Change-Id: I5075df32d935a3e08733daadbe5ac9dc1e13f03c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77220
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
This transform converts all separate texture/sampler references
in a program into combined texture/samplers. This is required for GLSL,
which does not support separate texture/samplers.
As input, the transform requires a map from the unique sampler/texture
pairs previously gathered by the Resolver to strings, which will be
used as the names of the newly-generated combined samplers. Note that
binding points are unused by GLSL, and so are set to (0, 0) with
collision detection disabled.
All function signatures containing textures or samplers are rewritten,
as well as function calls and texture intrinsic calls. For texture
intrinsic calls, a placeholder sampler is used to satisfy the subsequent
Resolver pass (GLSL texture intrinsics do not require a separate sampler,
but WGSL intrinsics do). The placeholder is also used if the shader
contains only texture references (e.g., textureLoad).
Bug: tint:1366
Change-Id: Iff8407d28fdc2a8adac5cb655707a08c8553c389
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77080
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
External dependency added when you `gclient sync`.
Change-Id: I65303a35f8ac33e3864267b742f619eeacb5a454
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77941
Commit-Queue: Ben Clayton <bclayton@google.com>
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Ben Clayton <bclayton@google.com>
Reviewed-by: James Price <jrprice@google.com>
Commit-Queue: James Price <jrprice@google.com>
Just as we do with for loops that need decomposing to loops, we must
also decompose 'else if's to 'else { if }' so that we can insert decls
above the condition.
Bug: tint:1300
Change-Id: Ia16f1cf351964817587d353e58a02d9ae6f8386c
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77500
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Fold both PromoteInitializersToConstVar and VarForDynamicIndex into this
new transform, with a config to enable either type of transformation.
This is almost a no-op change, except that VarForDynamicIndex required
ForLoopToLoop, while this tranformation in PromoteInitializersToConstVar
converts for-loops only as needed, so it doesn't do so when the
expression is in the for-loop initializer.
This transform will be extended to handle ensuring order of execution of
expressions.
Bug: tint:1300
Change-Id: I4d00984346a2c92b2d8563b459898f8f737589fd
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77140
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
Add missing include, and fix return type of tint::utils::UniqueVector::empy().
Fixed: tint:1395
Change-Id: I413eabb882b39d959dedcc4175cd7f5cc82e6838
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/77840
Auto-Submit: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Antonio Maiorano <amaiorano@google.com>
Commit-Queue: Antonio Maiorano <amaiorano@google.com>
In the end2end test BufferZeroInitTests.PaddingInitialized, the case use
drawIndex to access OOB vertexBuffer to see whether the padding part has
been set to zero. The case use
'renderPass.SetVertexBuffer(0, vertexBuffer, vertexBufferOffset)' to set
the vertexBuffer.
But when the vertexBufferOffset == vertexBufferSize, this SetVertexBuffer
won't create any vertex buffer view on D3D12 backend. And it turns out
input slot 0 has nothing.
This warning has been reported by win11 full debug layer. But this
behaviour is allowed by WebGPU.
So this CL suppress the warning
D3D12_MESSAGE_ID_COMMAND_LIST_DRAW_VERTEX_BUFFER_NOT_SET in D3D12 adapter.
Bug: dawn:1255
Change-Id: I0dcf816b284cf7d7013f633186d010bae8fa6523
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/77640
Reviewed-by: Austin Eng <enga@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Shaobo Yan <shaobo.yan@intel.com>