Aaron Hill
12b086d92d
Move #[error] attributes after the corresponding #[derive]
...
This fixes Nightly warnings
See https://github.com/rust-lang/rust/issues/79202
2021-02-25 15:40:11 -05:00
Andreas Reich
dfe686bbc6
Added TextureFormatFeatures::filterable
...
Can overwrite TextureSampleType::Float.filterable
2021-02-23 23:59:17 +01:00
Dzmitry Malyshau
91f5329b33
Update gfx and naga to gfx-12
2021-02-21 11:25:45 -05:00
Dzmitry Malyshau
ff31911760
Update the blend API to upstream
2021-02-19 12:07:47 -05:00
Dzmitry Malyshau
fdd50e10fd
Update naga to gfx-11
2021-02-16 09:46:22 -05:00
Dzmitry Malyshau
9bf47dd772
Validate texture bindings
2021-02-15 20:14:23 -05:00
bors[bot]
6442b947cb
Merge #1210
...
1210: Reset the bindings on the push constant change r=wumpf a=kvark
**Connections**
Fixes #1207
(unconfirmed!)
**Description**
I was able to replay the trace in #1207 without validation errors, so I looked deeper into what might have gone wrong.
The code isolated in #1194 looks great. However, the calling code's handling of push constants might have changed a bit.
And I see that the trace uses push constants, so here is what happened, I think:
- layout A was set, expecting bind group layouts X and Z
- bind groups X and Y where bound
- layout B was set, expecting bind group layout X and Y. We see that Y group can now be bound, so we do this. The old logic in this case wasn't considering the push constants in any way, it would only consider them if bind group layouts didn't change, erroneously.
- layout B has different push constant ranges...
So it's a one-line fix now, which I'm hoping is correct.
**Testing**
Not tested
@Wumpf would you be able to check this?
Co-authored-by: Dzmitry Malyshau <kvark@fastmail.com>
2021-02-12 21:10:26 +00:00
Jakob Hellermann
b89cb21ce3
fix rustdoc warnings
2021-02-12 13:56:51 +01:00
Dzmitry Malyshau
692e82d521
Reset the bindings on the push constant change
2021-02-11 14:47:35 -05:00
Zsolt Bölöny
47a45bcaad
Convert PrimitiveState::cull_mode to Option<Face>
2021-02-10 11:59:38 +01:00
Dzmitry Malyshau
42d3f1f087
Update naga to gfx-10, add push constants validation
2021-02-09 10:06:55 -05:00
bors[bot]
dc18ac72e4
Merge #1190
...
1190: Fix crash on zero init of buffer with no more ref count r=kvark a=Wumpf
**Description**
Previously, if a buffer would no longer have any reference, the zero init step crashed when trying to unwrap its ref_count.
**Testing**
Tested successfully on 54a0f4ff13 where this problem would pop up
Co-authored-by: Andreas Reich <r_andreas2@web.de>
2021-02-06 22:15:44 +00:00
Dzmitry Malyshau
d0dcb105f5
Don't check the index format for non-indexed calls
2021-02-06 10:58:46 -05:00
Andreas Reich
3486fde638
Fix crash on zero init of buffer with no more ref count
...
Previously, if a buffer would no longer have any reference, the zero init step crashed when trying to unwrap its ref_count.
2021-02-06 11:11:10 +01:00
Dzmitry Malyshau
e357e3083a
Fix command allocator race condition with maintenance
2021-02-05 00:57:18 -05:00
Dzmitry Malyshau
262d0c6dfc
Isolate binding compatibility logic into a separate module
2021-02-04 01:16:40 -05:00
Andreas Reich
9dd88cb338
validate for strip_index_format being used with non-strip topology
2021-02-01 21:46:24 +01:00
bors[bot]
7c7501cab7
Merge #1182
...
1182: Update all versions r=kvark a=kvark
**Connections**
Picks up https://github.com/gfx-rs/gfx/pull/3620 and a bunch of other fixes in gfx-rs and naga.
**Description**
Updates the dependencies ("gfx-9" naga train) as well as self version to 0.7, to match the v0.7 branch.
**Testing**
Should just work :)
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2021-02-01 05:37:39 +00:00
Dzmitry Malyshau
8ed543f26a
Update all versions
2021-02-01 00:35:40 -05:00
Andreas Reich
822424e519
Fix buffer init in bundle.rs with mem::size_of::<wgt::DrawIndirectArgs>
2021-01-31 22:01:52 +01:00
Andreas Reich
4f5acba5fb
Fixed too eager lock usage, fixed O(N²) buffer range collapse
2021-01-31 21:56:31 +01:00
Andreas Reich
a8460b438c
MemoryInitTracker drain is now O(N)
2021-01-31 21:56:31 +01:00
Andreas Reich
018ad05f56
memory init tracker check (previous is_initialized) clamps range now
...
and is O(log n)!
2021-01-31 21:56:31 +01:00
Andreas Reich
31d292b169
added clear helper method to memory_init_tracker, renamed drain
2021-01-31 21:56:31 +01:00
Andreas Reich
da86b3f401
Cleanup, better use of some rust std lib functions
2021-01-31 21:56:31 +01:00
Andreas Reich
216dcf949b
MemoryInitTracker has now a custom impl that doesn't depend on range-alloc
2021-01-31 21:56:31 +01:00
Andreas Reich
32b4e32ac6
MemoryInitTracker tests and interface adjustments
2021-01-31 21:56:31 +01:00
Andreas Reich
492027fe6e
command buffer buffer memory init tracking is only filled if necessary now
2021-01-31 21:56:22 +01:00
Andreas Reich
22fb9ab1eb
buffer zero init on queue_submit emits correct barriers now
...
refactored this zero init into separate method
2021-01-31 21:55:49 +01:00
Andreas Reich
5d2afa52c1
Fix zero init for buffers mapped at cration that are not mappable
2021-01-31 21:55:49 +01:00
Andreas Reich
1efdc2b229
Queue_submit zeros out uninitialized buffer regions now
...
again but with fine grained scheme now
2021-01-31 21:55:49 +01:00
Andreas Reich
9595b39bb3
Fine grained tracking of buffer init requirements
2021-01-31 21:55:49 +01:00
Andreas Reich
5133b0da94
Introduced separate MemoryInitTracker
2021-01-31 21:55:49 +01:00
Andreas Reich
076aecd150
buffer map permeates zero init now in any case
2021-01-31 21:55:49 +01:00
Andreas Reich
a51b4f9232
buffer zero initialization prior to use in submit
2021-01-31 21:55:49 +01:00
Andreas Reich
875cfb5961
buffers are now zero initialized for mappings
...
queue_write_buffer marks as initialized
2021-01-31 21:55:49 +01:00
Andreas Reich
6b51328b2e
Add public structs for indirect command buffers
...
and fix missing IndirectBufferOverrun error for IndirectDispatch
2021-01-31 21:32:33 +01:00
Dzmitry Malyshau
14eb99da87
Add DepthBiasState, rename StencilStateFace
2021-01-29 00:07:46 -05:00
Dzmitry Malyshau
4764ff21e9
Update gfx with the new iterator API
2021-01-28 12:40:24 -05:00
Dzmitry Malyshau
0346b43982
Update the render pipeline API
2021-01-27 15:09:13 -05:00
Dzmitry Malyshau
c233a70afc
Handle zero-sized bindings as an error
2021-01-25 22:33:44 -05:00
Dzmitry Malyshau
6a684e5cdf
Don't build shader interface without the validation flag
2021-01-25 14:15:27 -05:00
Jonathan Behrens
a97ec9df91
Add SHADER_FLOAT64 feature ( #1154 )
...
* Add SHADER_FLOAT64 feature
* Also enable SHADER_FLOAT64 hal feature when creating the device
* Update wgpu-core/src/instance.rs
Co-authored-by: monocodus[bot] <49363530+monocodus[bot]@users.noreply.github.com>
* Add warning about 64-bit float performance
* Add (currently unsupported) VERTEX_ATTRIBUTE_64BIT feature
Co-authored-by: monocodus[bot] <49363530+monocodus[bot]@users.noreply.github.com>
2021-01-24 21:59:09 -05:00
Dzmitry Malyshau
6538ac5d26
Remove temporary allocation for gpu-descriptor
2021-01-24 12:24:37 -05:00
Dzmitry Malyshau
952ccbcf85
Update naga to gfx-7
2021-01-23 22:17:09 -05:00
Matt Keeter
38b184428d
Bump gfx to latest master
2021-01-22 08:58:51 -05:00
Dzmitry Malyshau
05bb482e49
Fix replaying issues with dropped texture views
2021-01-19 22:03:55 -05:00
Dzmitry Malyshau
5fccabf3b8
Update gpu-alloc and remove the associated locking
2021-01-19 20:59:50 -05:00
Dzmitry Malyshau
618bd9e53a
Handle read-only storage + sampled combination
2021-01-19 09:54:41 -05:00
Dzmitry Malyshau
7f8c776a85
Update gfx to unborrowed APIs
2021-01-19 00:33:45 -05:00