Connor Fitzgerald
1d2a667b71
Fix trying to use a renderpass inside a compute pass ( #3828 )
...
* Fix trying to use a renderpass inside a compute pass
* Fix pipeline statistics test on mac
* Changelog
2023-06-05 09:05:59 -04:00
Jim Blandy
55e3558db4
wgpu-core: Move Resource trait to resource module.
2023-05-24 09:54:03 -07:00
Jim Blandy
4d1fbeb753
wgpu-core: Move storage code to new storage module.
2023-05-24 09:54:03 -07:00
Jim Blandy
29914b308f
wgpu-core: Move identity code to new identity module.
2023-05-24 09:54:03 -07:00
Jim Blandy
13bd3eea55
wgpu-core: Move HalAPI to new hal_api module.
2023-05-24 09:54:03 -07:00
Jim Blandy
f00e6b70ea
wgpu-core: Move Global to new global module.
2023-05-24 09:54:03 -07:00
Erich Gubler
0f0044f358
fix(wgpu-core)!: use u32 indices for bind group layouts everywhere ( #3743 )
2023-05-03 20:56:54 -04:00
Connor Fitzgerald
51bf95bbd6
Make wgpu-core errors non-exhaustive ( #3652 )
...
Co-authored-by: Connor Fitzgerald <connor@modyfi.io >
2023-04-07 19:18:29 +02:00
Teodor Tanasoaia
6918cf33d4
[metal] Fix metal erroring on an array_stride of 0 ( #3538 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com >
2023-04-05 22:40:15 +00:00
Lukas Herzberger
b6dbce740f
Implement resolve query set ( #3489
...
* implement command_encoder_resolve_query_set
* fix args
* add BufferUsages::QUERY_RESOLVE
* update changelog
* fix link text
* validate query resolve: check for QUERY_RESOLVE instead of CPY_DST
* update changelog, replace COPY_DST with QUERY_RESOLVE in mipmap example
2023-04-05 17:59:04 -04:00
Erich Gubler
c200597115
refactor: resolve clippy::useless_conversion
2023-03-27 19:24:16 +02:00
Teodor Tanasoaia
cf40e64b16
Change type of bytes_per_row and rows_per_image ( #3529 )
2023-03-06 16:44:36 -05:00
Teodor Tanasoaia
7e72f30179
Allow copying of textures with copy-compatible formats ( #3528 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com >
2023-03-03 17:24:17 +00:00
Teodor Tanasoaia
ac689cbe1f
Update feature documentation ( #3534 )
2023-03-03 12:09:17 -05:00
Connor Fitzgerald
db3be88f90
Uppercase all error strings
2023-03-03 11:33:20 -05:00
Connor Fitzgerald
c98f4ed662
Improve RenderPass attachment errors
2023-03-03 11:33:20 -05:00
Connor Fitzgerald
38f1f0ede0
Improve RenderPass/RenderBundle compatibility errors
2023-03-03 11:33:20 -05:00
Teodor Tanasoaia
c51edd36fd
Support stencil-only views and copying to/from combined depth-stencil textures ( #3436 )
2023-02-15 16:20:22 -05:00
Teodor Tanasoaia
b33731c44c
Validate before extracting texture selectors ( #3487 )
...
Move calls to `extract_texture_selector` after calls to `validate_texture_copy_range`, to avoid overflow.
2023-02-14 12:31:18 -08:00
Teodor Tanasoaia
41de797c74
Change type of mip_level_count and array_layer_count (members of TextureViewDescriptor and ImageSubresourceRange) from Option<NonZeroU32> to Option<u32> ( #3445 )
...
Clean up duplicated code related to texture layers/mips.
2023-02-03 15:03:34 +01:00
Elabajaba
1e27fd4afb
fix clippy for rust 1.67 ( #3435 )
...
* clippy --fix
* elide lifetimes
* fmt and more fixes
* disable clippy::needless_borrowed_reference as it clashes with clippy::pattern_type_mismatch
* missed flags for target=wasm32-unknown-unknown
2023-02-01 23:06:03 +01:00
Teodor Tanasoaia
98ea3500fd
copyTextureToTexture src/dst aspects must both refer to all aspects of src/dst format (#3431 )
...
* src/dst aspects must both refer to all aspects of src/dst format
* add changelog entry
2023-01-28 17:08:21 +01:00
Jinlei Li
0d433214c7
validate the number of color_attachments in begin_render_pass ( #3404 )
2023-01-25 14:48:27 -05:00
Connor Fitzgerald
95a760bb42
Implement queue.copy_external_image_to_texture for WebGL2 and improve WebGPU Impl ( #3288 )
...
Co-authored-by: Teodor Tanasoaia <28601907+teoxoy@users.noreply.github.com >
Closes https://github.com/gfx-rs/wgpu/issues/1888
2023-01-24 18:44:15 +00:00
Teodor Tanasoaia
964c94a02d
Update TextureView validation ( #3410 )
...
* update TextureView validation
* add changelog entry
* remove call to clone
* dereference instead
2023-01-24 12:02:16 +01:00
Jinlei Li
0849e78600
Add view_formats in TextureDescriptor ( #3237 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com >
Co-authored-by: crowlkats <crowlkats@toaxl.com >
Closes https://github.com/gfx-rs/wgpu/issues/3030
2023-01-18 16:03:56 -05:00
Nathan Adams
186a29c34d
Implement TextureFormat::Stencil8 + add stencil example ( #3343 )
...
* Implement TextureFormat::Stencil8
* Add stencil-triangles demo to test Stencil8 and show how to use stencil testing
* Added changelog for Stencil8
2023-01-02 13:47:10 +01:00
Teodor Tanasoaia
14886ee142
Sync depth/stencil copy restrictions with the spec ( #3314 )
...
* sync depth/stencil copy restrictions with the spec
* add changelog entry
2022-12-20 15:26:00 +01:00
Connor Fitzgerald
3ce5ca866b
Improve dynamic offset binding errors ( #3294 )
2022-12-15 00:53:42 +00:00
Nicolas Silva
e90aacea96
Validate texture copy ranges earlier to prevent integer overflow ( #3090 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com >
2022-12-01 01:20:48 +00:00
Erich Gubler
18f3f5f6f0
Enable unsafe_ops_in_unsafe_fn lint in all workspaces ( #3044 )
2022-11-14 10:49:39 -08:00
Ali
3c82a4cd5c
Added support for MSAA(x2,x8) beyond WEBGPU restrictions for native a… ( #3140 )
...
Closes https://github.com/gfx-rs/wgpu/issues/2910
2022-11-09 15:19:05 -05:00
Andreas Reich
b838b0871c
Added new UNRESTRICTED_INDEX_BUFFER downlevel flag. ( #3157 )
...
Co-authored-by: Connor Fitzgerald <connorwadefitzgerald@gmail.com >
2022-11-07 15:45:50 -05:00
Nicolas Silva
db30e3909a
Avoid integer overflow on multiplication in write_texture. ( #3146 )
2022-11-07 15:31:19 -05:00
Jim Blandy
215884184b
Reformat comments in wgpu-core. ( #3102 )
2022-10-13 18:34:44 +00:00
Jim Blandy
fa4d8401e8
Use std::fmt::Formatter::debug_struct for RenderPass. ( #3100 )
2022-10-13 14:00:54 -04:00
Mikko Lehtonen
60fd2a32e9
Implement missing PrettyError impls ( #3066 )
2022-10-05 18:43:52 -04:00
Mauro Gentile
cdf6ee0c87
Updating TextureFormat matching specs ( #2954 )
...
Co-authored-by: Mauro Gentile <Mauro.Gentile@ubisoft.com >
2022-09-20 12:08:06 -04:00
Jim Blandy
7d138e2e76
Avoid overflow in check texture copy bounds. ( #2963 )
2022-08-28 20:07:04 -04:00
Jim Blandy
2cd08a1c9c
Placate Clippy 0.1.63. ( #2977 )
2022-08-24 17:25:59 -04:00
Nicolas Silva
96a85b3ac5
Add missing validation in copy_texture_to-Buffer. ( #2958 )
2022-08-13 19:48:17 -04:00
Sébastien Marleau
2ce1318c8c
fix deduplication not taking into account render bundles ( #2867 )
2022-07-10 22:15:52 +00:00
Connor Fitzgerald
464b61d01c
Flip span labels to work better with tools ( #2820 )
2022-06-28 19:49:51 +00:00
Jinlei Li
61796b1d59
Relax render pass color_attachments validation ( #2778 )
...
* Make the color attachments `Option`-al in render pipelines, render passes, and render bundles
* vk: `Option`-al color attachments support
* dx12: sparse color_attachments support
* Only non-hole attachments is supported on wasm target and gl backend
* deno_webgpu: `Option`-al color attachments support
* Follow all suggestions
2022-06-27 16:10:18 -07:00
Connor Fitzgerald
533fc13afe
Properly Barrier Compute Indirect Buffers ( #2810 )
2022-06-26 21:03:56 +00:00
Connor Fitzgerald
de5fe90f20
Restrict WriteTimestamp Inside Passes ( #2802 )
...
* Define feature flags in terms of the previous
* Add WRITE_TIMESTAMP_INSIDE_PASSES feature
2022-06-25 01:23:13 -04:00
Jinlei Li
f4c01052ef
Rename MAX_COLOR_TARGETS to MAX_COLOR_ATTACHMENTS to match spec
2022-06-16 20:36:15 -07:00
Jim Blandy
6da57dd4e0
Add type annotation to render pass code, for rust-analyzer. ( #2773 )
...
This is a workaround for a limitation in rust-analyzer:
https://github.com/rust-lang/rust-analyzer/issues/12247
2022-06-14 23:06:22 -04:00
Jim Blandy
915be10443
wgpu_core::command::bundle: Consolidate pipeline and vertex state. ( #2769 )
...
Refactor `wgpu_core::command::bundle::State` to more closely resemble
the internal slots of a WebGPU `GPURenderBundleEncoder`, and add
validation required by the WebGPU specification.
Use `Option` to represent state that may be left unset on the encoder:
specifically, the pipeline and vertex buffers. (Previous commits have
already addressed index buffers and bind groups.) Use `.ok_or`, etc.
for unwrapping, to ensure that encoding state errors are reported.
Consolidate state derived from the pipeline in a new `PipelineState`
struct.
Remove `wgpu_core::command::bundle::PushConstantState::is_dirty`; just
represent push constant state as a vector of `PushConstantRange`
values. It's sufficient to simply zero the push constants whenever the
vector is non-empty.
Rename `bundle::State::flush_push_constants` to `zero_push_constants`a.
This is not a "flush pending state changes" function like all the
others; it just ensures that each pipeline's push constant state is
initialized.
2022-06-14 23:06:05 -04:00
Jim Blandy
3a193ec3d3
Introduce VertexStep: a stride and a step mode. ( #2768 )
...
This is used in various places around render pipelines, passes, and
bundles.
The public `wgpu_core::pipeline::VertexBufferLayout` could use
`VertexStep` as well, but I think it's best to let that continue to
resemble `GPUVertexBufferLayout`.
2022-06-14 00:42:03 -04:00