freenode/#shirakumo - IRC Chatlog
Search
18:58:09
Colleen
stream.shinmera.com/ Website (HTML), Title: Shinmera's Stream | Video Games, Art, and Programming
23:29:00
|3b|
Shinmera: what's the most portable + efficient way to get a place in which i can store a flag for atomic modification with atomics?
23:34:41
|3b|
(just trying to figure out how that stuff works more than actually writing glop2, but hopefully will be useful when i get to actually designing glop2)
23:34:42
Shinmera
fwiw all of them also support symbol-value/special variable, but I don't know if that's any faster or slower.
23:35:48
|3b|
something i can put in something else fits better... probably never will need more than 1 of them, but might as well allow it if i have a choice
23:36:28
|3b|
also working on making the thermal camera stuff i was doing before actually usable, which is what i wanted to display on linux console
23:38:20
|3b|
and the manual spidev stuff is probably a lot less efficient than having an actual linux driver that can DMA or whatever
23:39:59
|3b|
displays 1 frame then never flips again (while spamming system logs about failing to do so)
23:41:56
|3b|
doesn't help that i'm using an old LTS distro, since i was too lazy to debug when trying to update it failed :p
23:45:06
|3b|
(currently needs logind, so might not work on non-systemd systems, but that's probably a few % of people whe want to run console only which is a few % of people running linux which is a few % of potential users, so not really caring too much about that yet)
23:46:21
|3b|
and below that on project stack is my "meta math-library", which i want to use to write some stuff for msdf
23:48:46
Colleen
github.com/Shinmera/3d-vect... Website (HTML), Title: 3d-vectors/templates.lisp at rewrite · Shinmera/3d-vectors · GitHub
23:48:58
|3b|
like if i want to write a "translate 3d vector" function, i just write a multiply by the (1 0 0 x 0 1 0 y 0 0 1 z 0 0 0 1) matrix
23:49:42
|3b|
and then i can say "i'm doing gfx, optimize out all those 0 and 1 and optimze for single-floats" and get code that doesn't do full multiply
23:51:08
|3b|
and also i can configure it to read/write from 16-element vectors, FFI memory, arbitrary offsets in a float buffer or octet vector (latter using nibbles), slots of a struct, whatever
23:55:09
|3b|
at the API level at least.. all compile-time so can't detect if the generated code is called with same var
23:55:35
Shinmera
If you want to go that ambitious maybe it would be better to do something like write a backend for Spiral, instead.
23:55:43
|3b|
but would be easy to detect that in code using it and generate code for both if it wanted
23:58:58
Shinmera
It's a pipeline that can do limited reasoning about algorithms and knows how to rewrite them under equivalent results to optimise for given target platform constraints.
0:02:27
|3b|
looks like there is some overlap with what i want, not sure it is a complete match though
0:03:57
|3b|
ACTION also wants to add some "partial evaluation" stuff, so given a set of operations, and specified subset of inputs, do any intermediate calculations that don't depend on other inputs and store those for use with remaining inputs (that presumably vary much more often than the first set of inputs)