Commit graph

854 commits

Author SHA1 Message Date
Stephen Gutekanst
3a0b0fd83c gpu: initial pass at requestAdapter
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
3f19563354 gpu: implement Interface.reference, Interface.release
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
8d31fae6ee gpu: document equality to c.WGPUSurface
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
9956ff1864 gpu: example: store gpu.Surface
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
9916ec043b gpu: use Surface API in example
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
8f5e9f89e5 gpu: expose API and begin using in example
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
d32be19c8b gpu: implement Surface.reference, Surface.release
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
368f53ece1 gpu: implement NativeInstance.createSurface
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
89b1f31de8 gpu: begin implementing Surface
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
64e023c992 gpu: prepare to implement Surface
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
9888d8fe36 gpu: rename native -> NativeInstance
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
5656d3252a gpu: begin plotting how to wrap a WGPUInstance
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
5f7fe4d7e2 gpu: prepare to add Device interface
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
2e0a7019b2 gpu: name the interface gpu.Interface
`gpu.Device` should be reserved for WGPUDevice

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
414887db2a gpu: add foundation for interface
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
bf8076918b gpu: update TODO / remove procs, etc
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
51faaf883c gpu: add webgpu.h TODO
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
4d12f229d6 gpu: document coordinate system, WebGPU spec location
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Stephen Gutekanst
718a66497c gpu: add gpu-hello-triangle (dawn) example
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
376311cf16 gpu: initialize project
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-19 00:51:48 -07:00
Release automation
1a2596ecf0 gpu-dawn: update to latest binary release 2022-03-09 03:44:25 +00:00
Stephen Gutekanst
48db9c8d3c gpu-dawn: rely on version for binary release caching, not current commit
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-08 19:42:32 -07:00
Release automation
b35927d054 gpu-dawn: update to latest binary release 2022-03-06 10:03:04 +00:00
Stephen Gutekanst
4d7ace26a7 gpu-dawn: CI: uninstall libx11 on x86_64-macos to avoid conflicts
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-06 02:10:21 -07:00
Stephen Gutekanst
38b896ed83 glfw: CI: uninstall libx11 on x86_64-macos to avoid conflicts
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-06 02:10:07 -07:00
Stephen Gutekanst
09579e649d Revert "glfw: system_sdk: use addIncludeDir over addSystemIncludeDir"
This reverts commit 5f382f9365.

I forgot that system include dirs also silence some warnings that are
present in system headers, so we can't really do this.
2022-03-06 02:05:45 -07:00
Stephen Gutekanst
9b3d6500e8 CI: force uninstall of libx11 on x86_64-macos
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-06 02:04:47 -07:00
Stephen Gutekanst
12d7365282 CI: uninstall libx11 on x86_64-macos to avoid conflict
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-06 02:01:28 -07:00
Stephen Gutekanst
5f382f9365 glfw: system_sdk: use addIncludeDir over addSystemIncludeDir
Since we're not specifying a sysroot by default (as that prevents
making use of other libraries/headers on your system, if you wish to)
we can have conflicts with either the headers on your system or the
headers Zig itself ships (although that shouldn't happen, except for
cases like Windows where we ship more up-to-date DirectX headers.)

System include dirs are treated with the same relative priority as other
system include dirs, those actually on your system and the ones Zig
provides. But regular include dirs are given higher priority, and so
should give our headers a better chance of being included in the event
that there should be any conflict.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-06 01:56:45 -07:00
Release automation
98e9fe0e0c gpu-dawn: update to latest binary release 2022-03-06 07:46:03 +00:00
Stephen Gutekanst
297f7bf2e5 gpu-dawn: utilize binary releases for x86_64-windows-gnu
Closes hexops/mach#86

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-05 23:16:08 -07:00
Stephen Gutekanst
a3cb937966 gpu-dawn: improve ABI build checks
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-05 22:48:08 -07:00
Release automation
cfa3674db2 gpu-dawn: update to latest binary release 2022-03-06 03:21:12 +00:00
Stephen Gutekanst
28ac8bd844 gpu-dawn: CI: correct Windows PATH for zig.exe
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-05 19:19:57 -07:00
Stephen Gutekanst
7e93d4f021 gpu-dawn: CI: correct Windows path to zig.exe
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-05 18:30:54 -07:00
Stephen Gutekanst
813ae21e8f gpu-dawn: CI: Make sure we download files 122x faster on Windows
https://twitter.com/slimsag/status/1500277717291323392

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-05 18:19:15 -07:00
Stephen Gutekanst
83f1104a0a gpu-dawn: CI: temporarily use patched Windows version of Zig
So that we can produce binary releases for Windows until upstream PR is
merged: https://github.com/hexops/mach/issues/167

Helps hexops/mach#86

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-05 18:12:45 -07:00
Stephen Gutekanst
057937a066 glfw: clone with -c core.longpaths=true for Windows
Yes, even in 2022 we're still dealing with Windows filepaths being too long.
The repository can't clone on GitHub actions Windows CI runner, currently,
because of this issue. https://stackoverflow.com/a/22575737

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-05 03:30:33 -07:00
Stephen Gutekanst
b5a9acc879 CI: update to latest Zig master
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-05 03:06:04 -07:00
Stephen Gutekanst
8dfcc8807a gpu-dawn: CI: update to latest Zig master
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-05 03:05:22 -07:00
Stephen Gutekanst
07dbd1a18f glfw: CI: update to latest Zig master
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-05 03:04:41 -07:00
Stephen Gutekanst
877779848d gpu-dawn: CI: correctly clone libs/mach-glfw on Windows
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-05 02:51:07 -07:00
Stephen Gutekanst
ab58515b4b gpu-dawn: CI: use actions/checkout@v3 on Windows
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-04 22:25:37 -07:00
Stephen Gutekanst
50b2c9d705 gpu-dawn: CI: begin producing binaries for x86_64-windows
Helps hexops/mach#86

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-04 21:43:15 -07:00
Stephen Gutekanst
ba0c0c9354 gpu-dawn: dev: add Windows support for release bundling/upload
Helps hexops/mach#86

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-04 21:43:15 -07:00
Release automation
d7eebaa645 gpu-dawn: update to latest binary release 2022-03-05 03:24:46 +00:00
Stephen Gutekanst
9db68d421f gpu-dawn: update to latest Dawn + windows patches
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-03-04 19:54:06 -07:00