aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/gpucompilationmessage.rs
diff options
context:
space:
mode:
authorSamson <16504129+sagudev@users.noreply.github.com>2023-08-21 01:16:46 +0200
committerGitHub <noreply@github.com>2023-08-20 23:16:46 +0000
commit71e0372ac18709da66e581cf4a777a7cc5d4cb92 (patch)
tree44907b543dcc822fe20025b2ac417da6e2b7c908 /components/script/dom/gpucompilationmessage.rs
parentfed3491f23f8b7f3064ce297776deda76e485289 (diff)
downloadservo-71e0372ac18709da66e581cf4a777a7cc5d4cb92.tar.gz
servo-71e0372ac18709da66e581cf4a777a7cc5d4cb92.zip
Upgrade whole webgpu stack (#29795)
* Allow noidl files in script/dom/webidls * Upgrade wgpu to 0.16 and refresh whole webgpu implementation * Update WebGPU test expectations * misc * MutNullableDom -> DomRefCell<Option<Dom for GPUTexture * Direct use of GPUTextureDescriptor * Remove config from GPUCanvasContext * misc * finally blue color * gpubuffer "handle" error * GPU object have non-null label * gpu limits and info * use buffer_size * fix warnings * Cleanup * device destroy * fallback adapter * mach update-webgpu write webgpu commit hash in file * Mising deps in CI for webgpu tests * Updated expectations * Fixups * early reject * DomRefCell<Option<Dom -> MutNullableDom for GPUTexture
Diffstat (limited to 'components/script/dom/gpucompilationmessage.rs')
-rw-r--r--components/script/dom/gpucompilationmessage.rs98
1 files changed, 98 insertions, 0 deletions
diff --git a/components/script/dom/gpucompilationmessage.rs b/components/script/dom/gpucompilationmessage.rs
new file mode 100644
index 00000000000..83912e43ee1
--- /dev/null
+++ b/components/script/dom/gpucompilationmessage.rs
@@ -0,0 +1,98 @@
+/* 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/. */
+
+#![allow(dead_code)] // this file is stub as wgpu does not provide info
+
+use crate::dom::bindings::reflector::Reflector;
+use crate::test::DOMString;
+use dom_struct::dom_struct;
+
+use super::bindings::codegen::Bindings::GPUCompilationMessageBinding::{
+ GPUCompilationMessageMethods, GPUCompilationMessageType,
+};
+use super::bindings::root::DomRoot;
+use super::types::GlobalScope;
+use crate::dom::bindings::reflector::reflect_dom_object;
+
+#[dom_struct]
+pub struct GPUCompilationMessage {
+ reflector_: Reflector,
+ // #[ignore_malloc_size_of = "defined in wgpu-types"]
+ message: DOMString,
+ mtype: GPUCompilationMessageType,
+ line_num: u64,
+ line_pos: u64,
+ offset: u64,
+ length: u64,
+}
+
+impl GPUCompilationMessage {
+ fn new_inherited(
+ message: DOMString,
+ mtype: GPUCompilationMessageType,
+ line_num: u64,
+ line_pos: u64,
+ offset: u64,
+ length: u64,
+ ) -> Self {
+ Self {
+ reflector_: Reflector::new(),
+ message,
+ mtype,
+ line_num,
+ line_pos,
+ offset,
+ length,
+ }
+ }
+
+ pub fn new(
+ global: &GlobalScope,
+ message: DOMString,
+ mtype: GPUCompilationMessageType,
+ line_num: u64,
+ line_pos: u64,
+ offset: u64,
+ length: u64,
+ ) -> DomRoot<Self> {
+ reflect_dom_object(
+ Box::new(Self::new_inherited(
+ message, mtype, line_num, line_pos, offset, length,
+ )),
+ global,
+ )
+ }
+}
+
+impl GPUCompilationMessageMethods for GPUCompilationMessage {
+ /// https://gpuweb.github.io/gpuweb/#dom-gpucompilationmessage-message
+ fn Message(&self) -> DOMString {
+ self.message.to_owned()
+ }
+
+ /// https://gpuweb.github.io/gpuweb/#dom-gpucompilationmessage-type
+ fn Type(&self) -> GPUCompilationMessageType {
+ self.mtype
+ }
+
+ /// https://gpuweb.github.io/gpuweb/#dom-gpucompilationmessage-linenum
+ fn LineNum(&self) -> u64 {
+ self.line_num
+ }
+
+ /// https://gpuweb.github.io/gpuweb/#dom-gpucompilationmessage-linepos
+ fn LinePos(&self) -> u64 {
+ self.line_pos
+ }
+
+ /// https://gpuweb.github.io/gpuweb/#dom-gpucompilationmessage-offset
+ fn Offset(&self) -> u64 {
+ self.offset
+ }
+
+ /// https://gpuweb.github.io/gpuweb/#dom-gpucompilationmessage-length
+ fn Length(&self) -> u64 {
+ self.length
+ }
+}