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
cc183c885f
Added player test for buffer-zero-init
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
bors[bot]
1668bb2451
Merge #1180
...
1180: Add dummy structs for indirect command buffers r=cwfitzgerald,kvark a=Wumpf
**Connections**
Review of #1159 which could make more use of this expressiveness patch of having the buffers spelled out.
**Description**
Add dummy structs for indirect command buffers and (bonus!) fix missing IndirectBufferOverrun error for IndirectDispatch.
**Testing**
squinting at it only 👁️ 👁️
Co-authored-by: Andreas Reich <r_andreas2@web.de >
2021-01-31 20:41:22 +00: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
João Capucho
b55aa51f65
Add support for function declarations with arguments
...
Change ParseError to be public
Change globals to default to private instead of throwing error
2021-01-30 13:44:39 -05:00
Dzmitry Malyshau
be86f5b7cf
Update README table
2021-01-30 11:54:15 -05:00
Dzmitry Malyshau
40974d503c
Bump version to 0.3 and update changelog
naga-v0.3.0
2021-01-30 11:48:37 -05:00
Dzmitry Malyshau
b8e9c209b0
[mtl] fix unsigned constants, comparison level option
2021-01-30 15:14:38 +01:00
Dzmitry Malyshau
0bbeec7d55
Add shadow snapshot shader
2021-01-30 15:14:38 +01:00
Dzmitry Malyshau
3b9f517446
[mtl] implement continuing, fix Greater op and scoping
2021-01-30 15:14:38 +01:00
bors[bot]
1e3eac2352
[rs] Merge #679
...
679: WGSL shader conversion for the examples r=grovesNL a=kvark
Blocked on:
- ~~https://github.com/gfx-rs/naga/issues/335~~
- ~~https://github.com/gfx-rs/naga/issues/336~~
- ~~https://github.com/gfx-rs/wgpu/issues/1095~~
- ~~https://github.com/gfx-rs/naga/pull/360~~
- https://github.com/gfx-rs/gfx/pull/3622
- ~~GL backend doing the program link check earlier~~
Converted:
- [x] boids
- [x] cube
- [x] mipmap
- [x] msaa-line
- [x] shadow
- [x] skybox
- [ ] texture-array
- [ ] water
Co-authored-by: Dzmitry Malyshau <kvark@fastmail.com >
2021-01-30 06:05:49 +00:00
Dzmitry Malyshau
41a1c0e46f
[rs] Convert cube, skybox, msaa-line, and mipmap, to WGSL
...
Validate example shaders in tests
Support WGSL on the Web via Naga
Port the shadow WGSL partially
Convert hello-compute and boids to WGSL
Conver the shadow's fragment shader to WGSL
Shader entry point refactor
2021-01-30 01:02:04 -05:00
bors[bot]
89284e07a4
[rs] Merge #734
...
734: Update wgpu to the new render pipeline descriptor API r=grovesNL a=kvark
MAJOR API BREAKING CHANGE
Gets us https://github.com/gfx-rs/wgpu/pull/1176
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com >
2021-01-30 02:44:01 +00:00
Baptiste Manson
0c725c0837
added function pow from spirv backend
2021-01-29 17:38:41 -05:00
Dzmitry Malyshau
ea64ab0431
Check host shared decorations in the validator
2021-01-29 21:22:04 +01:00
Dzmitry Malyshau
0c5db60d69
[spv] fix depth sampler type
2021-01-29 21:05:15 +01:00
Dzmitry Malyshau
edb342cffe
[rs] Update wgpu to the new render pipeline descriptor API
2021-01-29 00:51:44 -05:00
bors[bot]
ac81f3e756
Merge #1179
...
1179: Fix depth bias documentation r=kvark a=kvark
**Connections**
Follow-up to #1178
**Description**
Clippy complained...
**Testing**
No need
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com >
2021-01-29 05:27:29 +00:00
Dzmitry Malyshau
4099c2ca8e
Fix depth bias documentation
2021-01-29 00:25:54 -05:00
bors[bot]
513c08ecbb
Merge #1178
...
1178: Add DepthBiasState, rename StencilStateFace r=kvark a=kvark
**Connections**
None
**Description**
Found the error in the `StencilStateFace` name and fixed it here.
Also identified that depth bias is a noticeable ergonomic offender, so moving it out into a struct, similar to what we have with stencil.
**Testing**
tested on wgpu-rs examples.
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com >
2021-01-29 05:09:44 +00:00
Dzmitry Malyshau
14eb99da87
Add DepthBiasState, rename StencilStateFace
2021-01-29 00:07:46 -05:00
bors[bot]
6c0e652f86
Merge #1177
...
1177: Update gfx with the new iterator API r=kvark a=kvark
**Connections**
Gets https://github.com/gfx-rs/gfx/pull/3615 and https://github.com/gfx-rs/gfx/pull/3619
**Description**
Avoids a few `collect()` calls when talking to gfx.
**Testing**
just local playtests
Co-authored-by: Dzmitry Malyshau <kvarkus@gmail.com >
2021-01-28 17:42:08 +00:00
Dzmitry Malyshau
4764ff21e9
Update gfx with the new iterator API
2021-01-28 12:40:24 -05:00
Dzmitry Malyshau
4a13ce022b
[spv] debug labels for types, local variables, and struct members
2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
089a5597c6
[spv] implement the rest of binary operators
2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
20b9aa6835
Address clippy issues
2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
162079c160
Enable collatz and boids testing for spv-out
2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
194a67edda
[spv] separate block ID creation from contents writing
2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
7d3342f2c9
[spv] Implement math comparison functions
2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
b9cc890ca6
[spv] implement loops
2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
16521a94d0
[spv] implement trigonometry math functions
2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
3177df2188
[spv] refactor the return statement handling
2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
e3328773d0
[spv] Refactor struct Block, implement Statement::Block
2021-01-28 17:28:48 +01:00
Timo de Kort
88f118a07d
Working prototype
2021-01-28 17:28:48 +01:00
Dzmitry Malyshau
dc98305bb8
Print out detailed WGSL errors
2021-01-28 01:22:10 -05:00