All canvases return `Option<ImageKey>`.
Testing: Just refactor without behavior changes
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* `descriptor` -> `configuration` to match spec
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Support more `TextureFormat`s in `GPUCanvasContext.configure()`
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Sync `GPUObjectDescriptorBase` (label is not option anymore)
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Sync `GPUFeatureName`
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* shader_f16 feature is not usable in wgpu so disable it
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* sync `GPUTextureFormat`
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* `validate_texture_format_required_features`
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Sync `GPUTexture` attributes
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Make `entryPoint` in `GPUProgrammableStage` optional
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Set good expectations
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Bad expectations because naga does not support cons declarations
Also fail on firefox, where skipped before due to missing device features
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Bad expectation, also fails on firefox
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Bad expectations, because naga does not support `let pos = positions[vertex_index];`
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Set expectation
external texture does not work in firefox too (again naga)
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* set bad expectations, because naga does not support `enable`
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Set bad expectations for, `Texture with '' label has been destroyed`
also fails in firefox with same reason
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* one bad expectation
also on firefox
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* expect that also matches firefox
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* more expect
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Use only 1 proc for _webgpu
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* better doc comment
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
---------
Signed-off-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Prepare errorscopes logic in wgpu_thread
* remove scope_id from ipc
* new GPUErrors per spec
* remove cotent timeline error_scope
* fixup poperrorscope types
* device_scope -> gpu_error and nice errors
* Handle errors detection more elegantly
* good expectations
* new expectations
* Make error_scope.errors Vec as per spec
* Update wgpu to 0.20
* good expectations
* Throw TypeError in configure on unsupported format instead of panic
* Expect
* `into_command_buffer_id`,`into_command_encoder_id`
Remove the use of unsafe code in the layout wrappers of the DOM. The
main change here is that `unsafe_get()` no longer needs to be an unsafe
method, which allows us to transitively remove or reduce unsafe blocks
from callers. The function itself is not renamed, because it's still
a bit dangerous to start removing the layers of abstraction from actual
DOM nodes.
In addition `init_style_and_opaque_layout_data` can be merged into
`initialize_data`, which removes one more unsafe method.
Finally, a "Safety" section is added to some unsafe methods.
* 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
* Add `no_trace` option to JSTraceable derive
* NoTrace wrapper
* Port some types to no_trace schematics
* Fixing my unsafe mistakes (not tracing traceables)
* Add docs & safety guards for no_trace
Safety guards (trait shenanigans) guarantees safety usage of `no_trace`
* Port canvas_traits to no_trace
* Port servo_media to no_trace
* Port net_traits to no_trace
* Port style to no_trace
* Port webgpu to no_trace
* Port script_traits to no_trace
* Port canvas_traits, devtools_traits, embedder_traits, profile_traits to no_trace
* unrooted_must_root lint in seperate file
* Add trace_in_no_trace_lint as script_plugin
* Composable types in must_not_have_traceable
* Introduced HashMapTracedValues wrapper
* `HashMap<NoTrace<K>,V>`->`HashMapTracedValues<K,V>`
* Port rest of servo's types to no_trace
* Port html5ever, euclid, mime and http to no_trace
* Port remaining externals to no_trace
* Port webxr and Arc<Mutex<_>>
* Fix spelling in notrace doc