/
githubmirror
/
servo
Обзор
Документация
Войти
/
githubmirror
/
servo
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
components/script/dom/webgpu/mod.rs
117 строк
4 KB
Narfinger
script: Move GPUAdapter, GPUSupportedFeatures, GPUSupportedLimits and WGSLLanguageFeatures to script_webgpu (#46964)
10 авг 2026, 21:29
Не верифицирован
10 авг 2026, 21:29
e4c9034
Код
Авторство
О чём код?
/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ use std::rc::Rc; use std::sync::Arc; use script_webgpu::promise::{WebGPUGlobalTrait, WebGPUPromiseTrait}; use crate::dom::bindings::reflector::DomGlobal; use crate::dom::types::GPUAdapter; use crate::dom::{GlobalScope, Promise}; use crate::routed_promise::callback_promise; pub(crate) mod gpu; pub(crate) mod gpuadapter_promise_listener; pub(crate) mod gpuadapter { pub(crate) type GPUAdapter = script_webgpu::gpuadapter::GPUAdapter<crate::DomTypeHolder>; } pub(crate) mod gpuadapterinfo { pub(crate) type GPUAdapterInfo = script_webgpu::gpuadapterinfo::GPUAdapterInfo<crate::DomTypeHolder>; } pub(crate) mod gpubindgroup; pub(crate) mod gpubindgrouplayout; pub(crate) mod gpubuffer; pub(crate) mod gpubufferusage { pub(crate) type GPUBufferUsage = script_webgpu::gpubufferusage::GPUBufferUsage<crate::DomTypeHolder>; } pub(crate) mod gpucanvascontext; pub(crate) mod gpucolorwrite; pub(crate) mod gpucommandbuffer { pub(crate) type GPUCommandBuffer = script_webgpu::gpucommandbuffer::GPUCommandBuffer<crate::DomTypeHolder>; } pub(crate) mod gpucommandencoder; pub(crate) mod gpucompilationinfo { pub(crate) type GPUCompilationInfo = script_webgpu::gpucompilationinfo::GPUCompilationInfo<crate::DomTypeHolder>; } pub(crate) mod gpucompilationmessage { pub(crate) type GPUCompilationMessage = script_webgpu::gpucompilationmessage::GPUCompilationMessage<crate::DomTypeHolder>; } pub(crate) mod gpucomputepassencoder; pub(crate) mod gpucomputepipeline; pub(crate) mod gpuconvert; pub(crate) mod gpudevice; pub(crate) mod gpudevicelostinfo { pub(crate) type GPUDeviceLostInfo = script_webgpu::gpudevicelostinfo::GPUDeviceLostInfo<crate::DomTypeHolder>; } pub(crate) mod gpuerror; pub(crate) mod gpuexternaltexture; pub(crate) mod gpuinternalerror; pub(crate) mod gpumapmode { pub(crate) type GPUMapMode = script_webgpu::gpumapmode::GPUMapMode<crate::DomTypeHolder>; } pub(crate) mod gpuoutofmemoryerror; pub(crate) mod gpupipelineerror; #[expect(dead_code)] pub(crate) mod gpupipelinelayout; pub(crate) mod gpuqueryset; pub(crate) mod gpuqueue; pub(crate) mod gpurenderbundle { pub(crate) type GPURenderBundle = script_webgpu::gpurenderbundle::GPURenderBundle<crate::DomTypeHolder>; } pub(crate) mod gpurenderbundleencoder; pub(crate) mod gpurenderpassencoder; pub(crate) mod gpurenderpipeline; pub(crate) mod gpusampler; pub(crate) mod gpushadermodule; pub(crate) mod gpushaderstage { pub(crate) type GPUShaderStage = script_webgpu::gpushaderstage::GPUShaderStage<crate::DomTypeHolder>; } pub(crate) mod gpusupportedfeatures { pub(crate) type GPUSupportedFeatures = script_webgpu::gpusupportedfeatures::GPUSupportedFeatures<crate::DomTypeHolder>; } pub(crate) mod gpusupportedlimits { pub(crate) type GPUSupportedLimits = script_webgpu::gpusupportedlimits::GPUSupportedLimits<crate::DomTypeHolder>; } pub(crate) mod gputexture; pub(crate) mod gputextureusage { pub(crate) type GPUTextureUsage = script_webgpu::gputextureusage::GPUTextureUsage<crate::DomTypeHolder>; } pub(crate) mod gputextureview; pub(crate) mod gpuuncapturederrorevent; pub(crate) mod gpuvalidationerror; pub(crate) mod identityhub { pub(crate) type IdentityHub = script_webgpu::identityhub::IdentityHub; } pub(crate) mod wgsllanguagefeatures { pub(crate) type WGSLLanguageFeatures = script_webgpu::wgsllanguagefeatures::WGSLLanguageFeatures<crate::DomTypeHolder>; } impl WebGPUPromiseTrait<crate::DomTypeHolder> for Promise { fn callback_promise( self: &Rc<Self>, d: &GPUAdapter, ) -> servo_base::generic_channel::GenericCallback<webgpu_traits::WebGPUDeviceResponse> { let task_manager = <GPUAdapter as DomGlobal>::global(d).task_manager(); callback_promise(self, d, task_manager.dom_manipulation_task_source()) } } impl WebGPUGlobalTrait for GlobalScope { fn global_wgpu_id_hub(&self) -> Arc<script_webgpu::identityhub::IdentityHub> { self.wgpu_id_hub() } }