Dzmitry Malyshau
262d0c6dfc
Isolate binding compatibility logic into a separate module
2021-02-04 01:16:40 -05: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
da86b3f401
Cleanup, better use of some rust std lib functions
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
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
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
4764ff21e9
Update gfx with the new iterator API
2021-01-28 12:40:24 -05:00
Dzmitry Malyshau
7f8c776a85
Update gfx to unborrowed APIs
2021-01-19 00:33:45 -05:00
Connor Fitzgerald
a22037ced0
Add pipeline statistics and timeline queries
2021-01-16 00:48:54 -05:00
Mikko Lehtonen
6c56613045
Merge PassErrorScope::Draw* and Dispatch* variants
2021-01-12 22:23:17 +02:00
Mikko Lehtonen
0d60bd80c5
Include pipeline id in some pass error scopes
2021-01-12 17:58:44 +02:00
Dzmitry Malyshau
d70148725b
Fix API traced dynamic offsets and object labels
2021-01-04 17:54:56 -05:00
Dzmitry Malyshau
f328995950
Fix UB in populating dynamic offsets
2021-01-04 14:46:04 -05:00
Dzmitry Malyshau
ab10d36ac0
Rename get_encoder to get_encoder_mut
2020-12-23 11:20:08 -05:00
Dzmitry Malyshau
394135f725
Fix and improve object labels and command markers
2020-12-15 11:28:11 -05:00
Mikko Lehtonen
459e835250
Add Ids to PassErrorScope
...
Also makes it pub, and the places it is used.
Tweak some error messages.
2020-11-21 23:39:05 +02:00
Mikko Lehtonen
a41f7ea78f
Make inner errors pub
2020-11-19 23:37:36 +02:00
Marvin Löbel
8723a8379a
Annotate all commands of {Compute,Render}Passes with error context informations
2020-11-12 23:05:10 +01:00
Dzmitry Malyshau
a168886497
Add helpers to convert passes to serialized forms
2020-10-27 13:19:05 -04:00
Marvin Löbel
752c1aad33
Elide redundant set_pipeline calls.
...
Add a small abstraction over state changes
Deduplicate redundant pipeline state checking
2020-10-21 19:25:21 +02:00
bors[bot]
f963193be1
Merge #966
...
966: Immediate resource destruction and freeing r=cwfitzgerald a=kvark
**Connections**
Fixes #964
**Description**
We are making it so a buffer or a texture can have their native resources freed while they are still referenced, so without waiting for GC.
In addition, the PR adds a few missing cases where error IDs should have been handled, like at render pass encoding.
**Testing**
Tested on wgpu-rs examples, see https://github.com/gfx-rs/wgpu-rs/pull/591
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com>
2020-10-11 17:10:42 +00:00
PENGUINLIONG
6f4508523a
Pass [u8] instead of [u32] for push constants ( #918 )
...
* Pass [u8] instead of [u32] for push constants
Use 2-instruction aligner
Fixed alignment
Fixed offsets
Added alignment checks and fixed size
Use semantic constants
* Replaced all magic number with constant
* Fixed type cast
2020-10-08 23:13:18 -04:00
Dzmitry Malyshau
0a7d81351c
Handle cases where buffer contents are destroyed
2020-10-08 12:57:17 -04:00
lberrymage
41228ef1a4
Fix clippy warnings about using if-let over match
...
The specific lint triggered was
https://rust-lang.github.io/rust-clippy/master/index.html#single_match .
2020-09-25 23:02:51 -08:00
Adam Nemecek
db1870e7fc
use self
2020-09-25 19:11:46 -07:00
Dzmitry Malyshau
0345c56758
Properly implement compute pass usage scopes
2020-09-23 19:01:47 -04:00
Dzmitry Malyshau
d1da6d8106
Switch gfx-hal to 0.6
2020-08-17 10:34:50 -04:00
Dzmitry Malyshau
dbd7e2c579
Separate valid internal IDs from external ones
2020-08-04 11:16:59 -04:00
Connor Fitzgerald
cb485f3798
Convert all logging to tracing and add fmt logger
2020-07-25 19:33:21 -04:00
Connor Fitzgerald
b9498952a1
Fix push constant pipeline invalidation
2020-07-24 18:19:36 -04:00
Dzmitry Malyshau
0c00df71b8
Detach MultiRefCount from RefCount completely
2020-07-22 11:27:47 -04:00
Gabriel Majeri
a27b24215d
Convert the existing error types to thiserror
2020-07-18 07:29:20 +03:00
Gabriel Majeri
6f6893244a
Rename InvalidBufferUsage
2020-07-15 17:09:53 +03:00
Gabriel Majeri
8e9a7bd3a9
Detailed error messages for compute errors
2020-07-15 17:06:46 +03:00
Gabriel Majeri
1b03fbe9be
Safe error handling for commands API
2020-07-14 11:40:54 +03:00
Connor Fitzgerald
c8bcc50ed6
Implement PUSH_CONSTANTS feature
2020-07-13 12:47:09 -04:00
Connor Fitzgerald
f76b631961
Validate set_bind_group is within bounds of limit
2020-07-07 14:41:54 -04:00
Connor Fitzgerald
b4f2c02941
Validate dynamic bindings are in-bounds
2020-06-30 22:54:24 -04:00
Kunal Mohan
421aa79364
Custom implement Debug for RenderPass and ComputePass
2020-06-24 10:55:46 +05:30
Connor Fitzgerald
62a870280f
Refine Logging Levels
2020-06-22 02:13:04 -04:00
Connor Fitzgerald
c1f0021a05
Add Chrome Backend
2020-06-20 20:55:59 -04:00
Connor Fitzgerald
1b2cf3cd22
Add Tracing and Instrument Entry Points
2020-06-20 14:26:50 -04:00
Dzmitry Malyshau
365f4e8786
Remove peek-poke.
...
There was a lot of highly unsafe use of serialization based on peek-poke that we
weren't entirely happy with. It's replaced by just serializing the passes now.
Also, switch BufferSize to Option<NonZero>.
2020-06-20 00:39:11 -04:00
Nikita Krupitskas
eaf2acb43a
Implement debug marker support
2020-06-17 00:05:52 +03:00
Dzmitry Malyshau
7aa5753701
Re-architecture the bundles using normalized command streams.
...
This is a major change in how the bundles are implemented. Instead of
transparently injecting them into the pass command stream, we are now
treating bundles as first-class API objects and API tracing them
accordingly. The bundle contains a normalized command stream that is
very easy to inject into a native command buffer multiple times.
2020-06-11 15:34:45 -04:00
Dzmitry Malyshau
fbf35e43a6
Render bundles
2020-06-11 15:28:55 -04:00
Dzmitry Malyshau
fbc533bfee
Save bind group layout inside pipeline layouts
2020-05-04 23:46:06 -04:00
Dzmitry Malyshau
f64b2dd3bb
trace: make Id serialization nicer
2020-04-30 09:55:52 -04:00
Dzmitry Malyshau
47f37ad78e
trace: player skeleton
2020-04-30 09:55:52 -04:00