servo/components/script/dom/webgpu
sagudev 73b778e67f
Introduce snapshot concept of canvas (#36119)
Each canvas context returns snapshot instead of just raw bytes. This
allows as to hold off conversions (BGRA <-> RGBA, (un)premultiply) to
when/if they are actually needed. For example when loading snapshot into
webgl we can load both RGBA and BGRA so no conversion is really needed.

Currently whole thing is designed to be able to be extend on
https://github.com/servo/ipc-channel/pull/356, to make less copies.
Hence some commented out code.


Fixes #35759
There are tests for these changes in WPT

---------

Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
2025-04-23 07:32:47 +00:00
..
gpu.rs Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
gpuadapter.rs chore: Update wgpu to v25 (#36486) 2025-04-18 07:49:06 +00:00
gpuadapterinfo.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpubindgroup.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpubindgrouplayout.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpubuffer.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpubufferusage.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
gpucanvascontext.rs Introduce snapshot concept of canvas (#36119) 2025-04-23 07:32:47 +00:00
gpucolorwrite.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
gpucommandbuffer.rs webgpu: Add a webgpu_traits crate (#36320) 2025-04-04 08:06:07 +00:00
gpucommandencoder.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpucompilationinfo.rs webgpu: Add a webgpu_traits crate (#36320) 2025-04-04 08:06:07 +00:00
gpucompilationmessage.rs webgpu: Add a webgpu_traits crate (#36320) 2025-04-04 08:06:07 +00:00
gpucomputepassencoder.rs webgpu: Add a webgpu_traits crate (#36320) 2025-04-04 08:06:07 +00:00
gpucomputepipeline.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpuconvert.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpudevice.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpudevicelostinfo.rs Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
gpuerror.rs webgpu: Add a webgpu_traits crate (#36320) 2025-04-04 08:06:07 +00:00
gpuinternalerror.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
gpumapmode.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
gpuoutofmemoryerror.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
gpupipelineerror.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
gpupipelinelayout.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpuqueryset.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
gpuqueue.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpurenderbundle.rs webgpu: Add a webgpu_traits crate (#36320) 2025-04-04 08:06:07 +00:00
gpurenderbundleencoder.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpurenderpassencoder.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpurenderpipeline.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpusampler.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpushadermodule.rs webgpu: Add a webgpu_traits crate (#36320) 2025-04-04 08:06:07 +00:00
gpushaderstage.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
gpusupportedfeatures.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gpusupportedlimits.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gputexture.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
gputextureusage.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
gputextureview.rs webgpu: Add a webgpu_traits crate (#36320) 2025-04-04 08:06:07 +00:00
gpuuncapturederrorevent.rs Use new stylo crate renames (#35898) 2025-03-12 00:02:12 +00:00
gpuvalidationerror.rs script: Limit public exports. (#34915) 2025-01-10 08:19:19 +00:00
identityhub.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00
mod.rs Update wgpu and impl WGSLLanguageFeatures (#34928) 2025-01-10 17:41:11 +00:00
wgsllanguagefeatures.rs script: Remove dependency on webgpu (#36332) 2025-04-04 11:52:58 +00:00