For reference: https://github.com/ziglang/zig/pull/24329
some commits have been extracted from #1583, but the x86_64 backend has
been disabled due to its horrible performance.
Remaining work:
- [x] Wait for official builds on ziglang.org and upload them to our
repository
- [x] Add workaround for https://github.com/ziglang/zig/pull/24466
- [x] Fix TODO comment about ANSI support in stdout
- [x] Check for compile-time performance changes → it went from 13.1 to
11.9 seconds 🎉
It does seem to offer a higher level interface, including spatial audio.
However this proof of concept only uses the low level interface, which
is pretty similar to port audio so far, also performance-wise.
Only technical difference so far seems to be that we can actually deinit
it without crashing.
@ikabod-kee since you got better ears for this, could you check if you
notice anything that got better or worse with this transition?
Particularly, I'd like to know if you notice any improvements with
respect to #571.
Remaining work if accepted:
- [x] Include this in the libs and precompile it instead of adding it
here
- [x] remove portaudio from the libs
- [x] make a new libs release and use it here
- [x] Remove remaining references of portaudio from the source
fixes#415fixes#571
Related to: #1507closes#1533
I'm pretty sure that the rest of the moving into a comptime mod
interface can be done in a future pr
---------
Co-authored-by: Krzysztof Wiśniewski <argmaster.world@gmail.com>
* Remove unused `directionalLight` uniform
* Add glslang libraries
* Update to the new Cubyz-libs version
* Dehardcode OS-dependent library file name stuff
* Audio somehow crashes on close, not sure why but I assume it's probably because of the library being compiled with a new zig version.
* Remove irrelevant uniforms from Window uniform list
* Remove unused itemdrop uniform
* Implement SPIR-V compilation code, the actual output is discarded
* Improve linking shader errors by passing a file path
* Fix formatting
This seems to cause trouble sometimes, not sure why. The library file has a capital X, so I guess somehow there was any alias on my PC.
fixes#1148fixes#1040
* Format all the files
* Fix compilation error.
* The install scripts now patch render.zig from the zig standard library.
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update ci.yml
* Update the formatter, it doesn't need to run on .zig files anymore.
* Update ci.yml
* Update ci.yml
* Add a mistake to check if it works
* IT WORKS!
* build.zig: add ../Library RPath to Mac
* build.zig: pull from specific package by system
* build.zig: MacOS: Don't link GL, redundant
* Add extra dependency for headers
* Fill the missing hashes and work around problems for linux-gnu targets.
* Update macos libraries using the glfw fork.
---------
Co-authored-by: IntegratedQuantum <jahe788@gmail.com>
Resolves#110Resolves#117 (I did however decide to use static linking, I had some issues with dynamic linking)
Also getting closer to #118
Additionally this avoids the problem caused by https://github.com/ziglang/zig/issues/17652 since harfbuzz is precompiled.
Having zig bindings was certainly nice to have, but overall the code isn't too different really.
One nice advantage of building freetype and harfbuzz directly is that we can get rid of some unnecessary dependencies, like brotli.
Also, since that was the only zig dependency outside the standard library, this finally gives me the freedom to update zig whenever I want.
This is a necessary step for #117.
Resolves#139
It can now do a handshake (sort of).
I also added a CommandQueue for the gui system to prevent issues from closing windows while they are being updated.