Commit graph

53 commits

Author SHA1 Message Date
Stephen Gutekanst
0645429df9 all: move standalone libraries to libs/ subdirectory
The root dir of our repository has grown quite a lot the past few months.

I'd like to make it more clear where the bulk of the engine lives (`src/`) and
also make it more clear which Mach libraries are consumable as standalone projects.

As for the name of this directory, `libs` was my first choice but there's a bit of
a convention of that being external libraries in Zig projects _today_, while these
are libraries maintained as part of Mach in this repository - not external ones.

We will name this directory `libs`, and if we have a need for external libraries
we will use `external` or `deps` for that directory name. I considered other names
such as `components`, `systems`, `modules` (which are bad as they overlap with
major ECS / engine concepts), and it seems likely the official Zig package manager
will break the convention of using a `libs` dir anyway.

Performed via:

```sh
mkdir libs/
git mv freetype libs/
git mv basisu libs/
git mv gamemode libs/
git mv glfw libs/
git mv gpu libs/
git mv gpu-dawn libs/
git mv sysaudio libs/
git mv sysjs libs/
git mv ecs libs/
```

git-subtree-dir: glfw
git-subtree-mainline: 0d5b853443
git-subtree-split: 572d1144f11b353abdb64fff828b25a4f0fbb7ca

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>

git mv ecs libs/

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 15:12:04 -07:00
Stephen Gutekanst
358baf08e2 gpu: add Device.createShaderModuleWGSL helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 22:00:22 -07:00
Stephen Gutekanst
7e48acaff7 gpu: README: note that next_in_chain type safety is 100% complete
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 20:58:36 -07:00
Stephen Gutekanst
52520d04ef gpu: improve type naming for next_in_chain extension types
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 20:12:25 -07:00
Stephen Gutekanst
093be3aa53 gpu: add CompilationInfo.getMessages slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 19:32:45 -07:00
Stephen Gutekanst
6497f0d27b gpu: add FragmentState.init slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 19:05:28 -07:00
Stephen Gutekanst
772eb9b89d gpu: add VertexState.init slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 19:02:51 -07:00
Stephen Gutekanst
8cd2fb3f19 gpu: add VertexBufferLayout.init slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 18:59:52 -07:00
Stephen Gutekanst
e95481db21 gpu: add ProgrammableStageDescriptor slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 18:57:05 -07:00
Stephen Gutekanst
3ee9f2c18c gpu: add RenderPassDescriptor.init slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 18:53:41 -07:00
Stephen Gutekanst
6c9c4c71bb gpu: add ComputePassDescriptor.init slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 18:51:59 -07:00
Stephen Gutekanst
4dae765252 gpu: add Texture.Descriptor.init slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 18:50:35 -07:00
Stephen Gutekanst
05cb8b90c9 gpu: add RenderBundleEncoder.Descriptor.init slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 18:44:50 -07:00
Stephen Gutekanst
c82f640296 gpu: add QuerySet.Descriptor.init slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 17:56:47 -07:00
Stephen Gutekanst
aaa194c5eb gpu: add PipelineLayout.Descriptor.init slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 17:37:49 -07:00
Stephen Gutekanst
03a9cbab9a gpu: add Device.Descriptor.init slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 17:35:18 -07:00
Stephen Gutekanst
5e4aa7e6df gpu: add TogglesDeviceDescriptor.init slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 17:32:03 -07:00
Stephen Gutekanst
cb80cfc3c2 gpu: add InstanceDescriptor slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 17:21:19 -07:00
Stephen Gutekanst
c3bb1683a6 gpu: add BindGroup.Descriptor slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-16 17:16:52 -07:00
Stephen Gutekanst
5d88387dac gpu: make setBindGroup methods use slice helper API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
b369635193 gpu: add Device.enumerateFeaturesOwned helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
94568052f5 gpu: make RenderPassEncoder.executeBundles API use a slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
825a07ac2f gpu: make Buffer.get*MappedRange a friendlier slice API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
1848ac8ac7 gpu: make CommandEncoder.writeBuffer use a slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
9ed542bd7e gpu: make Queue.writeBuffer use a slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
77e96864ea gpu: make Queue.writeTexture use a slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
726bdf3fba gpu: adopt new dawn.json policy for optionality of slice fields, default zero values
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
d32c019b59 gpu: make Queue.submit API use a slice helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
7c09b27905 gpu: correct Queue.submit parameter constness
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
9f4a93cbef gpu: update to latest revision as of 2022-08-06
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
ab71c7fd93 gpu: make ShaderModule.Descriptor.next_in_chain type-safe
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
ce8e062249 gpu: make Surface.Descriptor.next_in_chain type-safe
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
48c8964679 gpu: README: begin tracking quality of life improvements
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
75a09c7828 gpu: fix confusing terminology conflict between WebGPU vs. Zig "undefined"
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
fa96792168 gpu: README: explain internalized types
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
9fccd0806c gpu: README: clarify goals/non-goals, quality of life improvements, translation rules
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
9b4e89e7bc gpu: README: update naming rules
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
7d2b54d881 gpu: document Dawn extension policy
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
ae3137cb98 gpu: update translation guidelines
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
3c8dfa06a1 gpu: update README to reflect handle methods strategy
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
6d84e7d2a6 gpu: document rules for translation
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
919499327e gpu: update README, add TODO-webgpu.h
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-12 00:43:43 -07:00
Stephen Gutekanst
bdc556f9d5 gpu: README: correct links to issue tracker / subproject
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 07:05:42 -07:00
Stephen Gutekanst
82f8113dcb gpu: README: further update TODO list
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
64853f5679 gpu: README: cleanup & clarify state of things today
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
6eadeddaf6 gpu: README: add learning resources
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
29b83b3118 gpu: README: note community, where to file issues, contributing
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
1ea459a7df gpu: README: record WebGPU version
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
e99aecb944 gpu: add README
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
7af784bee7 rename mach/gpu to mach/gpu-dawn
See https://github.com/hexops/mach/issues/133#issuecomment-999940767

Helps #109
Helps #133

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-12-22 18:04:33 -07:00