dweiller
134c2019b1
gpu: remove Queue.WorkDownCallback lifetime footgun
...
The previous implementation required the specific Queue struct that
submit() was called on to be valid when the callback is triggered. By
storing a pointer instead, the Queue does not need to be valid, only the
callback itself.
2022-06-24 10:14:19 -07:00
Michal Ziulek
5a2aebb14b
gpu: correct sending of pointer to a local var to a callback function ( #271 )
2022-05-08 15:04:25 -07:00
Michal Ziulek
0e64b9608c
gpu: 'dynamic_offsets' should be '?[] const u32' everywhere. ( #260 )
2022-04-30 08:57:10 -07:00
Silver
ea76aa0268
gpu: fix store_op
2022-04-29 13:10:04 -07:00
Michal Ziulek
bd28946397
gpu: Changes needed for latest Dawn (generated-2022-04-18).
2022-04-18 20:45:33 -07:00
PiergiorgioZagaria
169b1e2a42
gpu: correct alignment in pointer casts; handle void Context in all callbacks ( #233 )
...
* Fixed ErrorCallback.init() alignment
* Fixed callbacks alignments
* Fixed more of the callback alignment problems
* Added checks for void Context in callback
2022-04-18 11:38:09 -07:00
Andrew Gutekanst
9e945ce951
gpu: improve optional handling
...
Helps hexops/mach#182
2022-04-14 10:46:31 -07:00
Michal Ziulek
f2ce208aa1
gpu: Added helpers to BindGroup.Entry; make dynamic_offset a const slice ( #215 )
...
Helps hexops/mach#
2022-04-11 11:47:02 -07:00
Michal Ziulek
a943fbed3e
gpu: make RenderPipeline.fragment optional ( #212 )
...
pipeline with vertex stage only is perfectly valid
Helps hexops/mach#182
2022-04-10 10:30:34 -07:00
Silver
614322edc7
gpu: convert Texture.Usage to packed struct
2022-04-08 11:03:00 -07:00
Silver
c62b5ba52f
gpu: replace &slice[0] with slice.ptr
...
This avoids UB if the slice is empty
2022-04-08 11:03:00 -07:00
Silver
f4c8a1908d
gpu: fix BindGroup.Entry so that optional things are optional
2022-04-08 11:03:00 -07:00
Stephen Gutekanst
1f076da7bf
gpu: add gpu.NativeInstance.fromWGPUAdapter
...
For when you have a native adapter and need a wrapped one.
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-31 16:51:18 +00:00
Stephen Gutekanst
5c7691c4ba
gpu: fix issue in getting adapter/device limits
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
991c88d851
gpu: implement Queue.writeTexture
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
eacee682ca
gpu: implement Queue.writeBuffer
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
0aad5812b8
gpu: implement RenderPassEncoder.Descriptor.timestamp_writes
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
cfc9708b37
gpu: update remaining TODOs
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
cc7aa3a49a
gpu: remove needless Limits conversion
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
05d1eeb9ee
gpu: implement basic Buffer .getConstMappedRange, .getMappedRange
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
1209cb590d
gpu: implement CommandEncoder.writeBuffer
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
9f1775aa7c
gpu: correct feature storage location
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
653c528441
gpu: implement Device.features, Device.limits
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
667539c255
gpu: implement Adapter.features, Adapter.limits
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
37d8113e24
gpu: prepare Device limits/features
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
e7526a868d
gpu: implement Device.setLoggingCallback
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
a0d28a74b0
gpu: implement Device.setLostCallback
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
672b3a5601
gpu: implement Device.setUncapturedErrorCallback
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
8df0c70c69
gpu: implement Device.popErrorScope
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
ec59471765
gpu: implement Device.pushErrorScope
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
311f2967a5
gpu: implement Device.loseForTesting
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
85d5de1077
gpu: implement Device.createTexture
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
418d379f1c
gpu: implement Device.createSampler
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
def801d8a1
gpu: implement Device.createRenderBundleEncoder
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
8c48c3a436
gpu: implement Device.createQuerySet
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
acb3049739
gpu: implement Device.createPipelineLayout
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
cedf734e4e
gpu: implement Device.createExternalTexture
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
1bff7e5f3c
gpu: implement Device.createErrorBuffer
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
155c291c8e
gpu: implement Device.createBuffer
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
13fcf8aac5
gpu: implement Device.injectError
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
482d5aaa34
gpu: implement Device.tick
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
789f6291e4
gpu: improve ABI compatibility of BindGroupLayout.Entry
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
d635bee216
gpu: implement Device.createBindGroupLayout
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
8588a08e05
gpu: implement Device.createBindGroup
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
48dcfad65c
gpu: implement CommandEncoder.resolveQuerySet
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
6cd03e5a0a
gpu: implement CommandEncoder.injectValidationError
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
5cf71dae3d
gpu: implement CommandEncoder.copyTextureToTexture
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
de9cc72c47
gpu: implement CommandEncoder.copyTextureToBuffer
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
53856bb9f8
gpu: implement CommandEncoder.copyBufferToTexture
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
cd6691f6bb
gpu: implement CommandEncoder.copyBufferToBuffer
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00