Commit Graph

8266 Commits

Author SHA1 Message Date
Andreas Reich
0287eaf022 Remove gfx_select. 2024-08-14 17:34:11 +02:00
Andreas Reich
9794f33823 Handle webgl's queue_copy_external_image_to_texture 2024-08-14 17:34:11 +02:00
Andreas Reich
1bfe8845d5 ignore 'arc instead of rc' warnings on wasm 2024-08-14 17:34:11 +02:00
Andreas Reich
24498f04d4 The second unraveling: hub and all types on it are generic free!
gfx_select macros are empty husks now that are waiting to be removed
2024-08-14 17:34:11 +02:00
Andreas Reich
3181251577 Core adapter no longer uses any generics 2024-08-14 17:34:11 +02:00
Andreas Reich
04cadfb369 Core's Surface, Instance and Adapter use now dynamic hal types 2024-08-14 17:34:11 +02:00
Andreas Reich
7c7e4164f1 The big unraveling: core device now has a boxed DynDevice, ripple effects from there leading to boxing of almost all hal resources 2024-08-14 17:34:11 +02:00
Andreas Reich
5b9198fd43 introduce DynInstance 2024-08-14 17:34:11 +02:00
Andreas Reich
6f01cbff06 introduce DynAdapter 2024-08-14 17:34:11 +02:00
Andreas Reich
99ffc129eb remove unnecessary debug constraints from Api (handled by Dyn traits) 2024-08-14 17:34:11 +02:00
Andreas Reich
27944debb1 DynCommandEncoder acceleration structure building 2024-08-14 17:34:11 +02:00
Andreas Reich
d87aa3635e DynCommandencoder end_encoding, reset_all 2024-08-14 17:34:11 +02:00
Andreas Reich
1a9170e57b DynDevice exit, counters, report 2024-08-14 17:34:11 +02:00
Andreas Reich
9e1f1487b4 DynDevice acceleration structure handling 2024-08-14 17:34:11 +02:00
Andreas Reich
522b98c582 DynDevice wait/capture/pipeline_cache_get_data 2024-08-14 17:34:11 +02:00
Andreas Reich
dbf9aea0ba DynDevice fence 2024-08-14 17:34:11 +02:00
Andreas Reich
84c4811f81 DynDevice create/destroy query set 2024-08-14 17:34:11 +02:00
Andreas Reich
4d355bf30e DynDevice pipeline cache 2024-08-14 17:34:11 +02:00
Andreas Reich
3932f8b854 DynDevice create/destroy compute/render pipeline 2024-08-14 17:34:11 +02:00
Andreas Reich
ad5c7fe50e DynDevice create/destroy ShaderModule 2024-08-14 17:34:11 +02:00
Andreas Reich
276753f963 DynDevice create/destroy bind group
bindgroup fixup
2024-08-14 17:34:11 +02:00
Andreas Reich
33f57e2305 DynDevice create/destroy pipeline layout 2024-08-14 17:34:11 +02:00
Andreas Reich
1da319f804 DynDevice create/destroy bind group layout 2024-08-14 17:34:11 +02:00
Andreas Reich
05a09338cd DynDevice create/destroy command encoder 2024-08-14 17:34:11 +02:00
Andreas Reich
ea0df25d5e DynDevice create/destroy for texture/textureview/sampler 2024-08-14 17:34:11 +02:00
Andreas Reich
b599d97243 DynDevice buffer operations 2024-08-14 17:34:11 +02:00
Andreas Reich
72f30a34f5 introduce DynQueue 2024-08-14 17:34:11 +02:00
Andreas Reich
4e5721350f introduce DynSurface 2024-08-14 17:34:11 +02:00
Andreas Reich
70f7641193 impl DynSurfaceTexture for all surface textures 2024-08-14 17:34:11 +02:00
Andreas Reich
1d19a205a5 impl DynFence for all fences 2024-08-14 17:34:11 +02:00
Andreas Reich
3faed2bf52 Device now has to implement DynResource 2024-08-14 17:34:11 +02:00
Andreas Reich
df5cc12935 impl DynCommandBuffer 2024-08-14 17:34:11 +02:00
Andreas Reich
a9cb7fc855 impl DynShaderModule for all backends 2024-08-14 17:34:11 +02:00
Andreas Reich
b4c6741970 add most remaining dyn type traits 2024-08-14 17:34:11 +02:00
Andreas Reich
add54f19d8 Introduce DynDevice 2024-08-14 17:34:11 +02:00
Andreas Reich
b7e11c76df texture & buffer transitioning always uses DynCommandEncoder now
collateral: ComputePass uses DynCommandEncoder during recording
2024-08-14 17:34:11 +02:00
Andreas Reich
c02ee6270b buffer / texture copy operations for DynCommandEncoder 2024-08-14 17:34:11 +02:00
Andreas Reich
39b408218f implement transition_textures for DynCommandEncoder 2024-08-14 17:34:11 +02:00
Andreas Reich
eeaf27749c implement begin/end render/computepass for dyncommandencoder 2024-08-14 17:34:11 +02:00
Andreas Reich
a47a0cb3d9 render/compute pass descriptors work now with dyn types 2024-08-14 17:34:11 +02:00
Andreas Reich
bdf6710d58 introduce DynTexture & DynTextureView 2024-08-14 17:34:11 +02:00
Andreas Reich
bea9a10f90 fold ComputePassTimestampWrites & RenderPassTimestampWrites and make PassTimestampWrites usable with DynQuerySet 2024-08-14 17:34:11 +02:00
Andreas Reich
fc764b4b17 Introduce DynComputePipeline & DynRenderPipeline 2024-08-14 17:34:11 +02:00
Andreas Reich
50a1811229 Introduce DynPipelineLayout & DynBindGroup 2024-08-14 17:34:11 +02:00
Andreas Reich
f8871e6ed1 introduce DynQuerySet, associated DynCommandEncoder methods 2024-08-14 17:34:11 +02:00
Andreas Reich
9b20fd8507 DynCommandEncoder implement begin/end encoding, debug markers, various buffer operations 2024-08-14 17:34:11 +02:00
Andreas Reich
256ec6e447 Introduce DynCommandEncoder, implement index & vertex buffer ops on it 2024-08-14 17:34:11 +02:00
Andreas Reich
a4d9d38d03 BufferBarrier no longer depend on hal api struct, but directly on buffer type 2024-08-14 17:34:11 +02:00
Andreas Reich
cda9d9af65 Buffer bindings no longer depend on hal api struct, but directly on buffer type 2024-08-14 17:34:11 +02:00
Andreas Reich
d2508d9ad6 introduce DynResource & DynBuffer as first user 2024-08-14 17:34:11 +02:00