2f0e52a09b
split SimState out of sim/mod.rs
-> sim/legacy.rs
2022-07-24 18:19:26 -07:00
c8a082d2a1
wavefront: port to spirv driver
2022-07-24 17:45:13 -07:00
e62dc495f1
spirv: remove most of the IntoFfi/IntoLib stuff
2022-07-24 01:04:31 -07:00
193df5415f
spirv: remove the last nontrivial Material IntoFfi/FromLib
2022-07-24 00:35:47 -07:00
4bd081ca7a
spirv bindings: remove From<Static>
conversion
2022-07-24 00:14:38 -07:00
940d86d86e
remove unnecessary Ffi impls for AdaptStateless
2022-07-24 00:02:00 -07:00
ce00281c09
fix typo: 'electic' -> 'electric'
2022-07-23 23:58:24 -07:00
048eb7dbef
geom: don't re-export coremem_types::vec
2022-07-23 18:57:17 -07:00
d813405cb1
spirv bindings: make compatible with more than just strictly f32
2022-07-23 18:24:09 -07:00
3f5160a8ea
replace the CPU MBFerromagnet
with a generic wrapper around any stateless coremem_types type
2022-07-23 18:10:49 -07:00
d246b97b5e
coremem: remove unused SpirvMBFerromagnet
2022-07-23 17:12:30 -07:00
67872de16f
clean up some unused code/imports
2022-07-23 16:27:43 -07:00
98773a350c
remove custom cpu-specific MBPgram type
2022-07-23 16:26:50 -07:00
35a0c52f67
coremem tests: comment out dead code
2022-07-22 16:25:15 -07:00
9b149bae65
spirv bindings: split out common materials vs cpu materials
2022-07-22 16:24:59 -07:00
4a6a43fb31
plumb the R type parameter through spirv code
2022-07-22 16:21:03 -07:00
ee2cf47b8d
types: remove unused code or mark it as intentionally dead
2022-07-22 16:20:22 -07:00
66ccbd1ada
spirv: remove mat.rs
and reuse coremem_types::mat everywhere
2022-07-22 15:22:09 -07:00
847b95f036
replace the FullyGenericMaterial in spirv with an analog type from coremem_types
...
this represents the last spirv-specific material.
next steps are to start removing the materials from `coremem` itself
(i.e. re-exporting more from `coremem_types::mat`).
2022-07-22 02:56:00 -07:00
4cbcc46d50
list: flat: remove unused import
2022-07-22 01:54:18 -07:00
727b7b43a3
types: mat: move DiscrMat into its own file
2022-07-22 01:53:42 -07:00
50ae6d4c34
types: mat: hack in a way to implement a 3-variant material
2022-07-22 01:46:07 -07:00
a8b6000104
types: list: lift the generic traits up to the top-level module
...
this lets me more easily swap in/out different list implementations when
experimenting.
2022-07-22 01:19:43 -07:00
fffe917c5c
mat: remove some unused stuff related to DiscrMat2
2022-07-22 01:02:54 -07:00
97ac46fd8a
mat: DiscrMat2 uses our Enum type internally
2022-07-22 00:44:57 -07:00
cdcc1fbbdd
types: list: remove unused imports
2022-07-22 00:08:53 -07:00
72a66dbff4
types: enum: buff up tests
2022-07-21 23:50:57 -07:00
27c1523b0c
types: Enum: make the DiscriminantCodable type a bit more usable
...
previously we couldn't *create* a discriminant, only edit it.
doing things this way is useful for the material code.
2022-07-21 23:02:33 -07:00
491f863aea
types: enumerated: fix compile errors
2022-07-21 22:51:26 -07:00
fcc735765c
types: Enum: simplify the internally_discriminanted
constructor
...
we don't actually need to enforce the discriminant codability in the
constructor.
if the conditions aren't met, the user just won't be able to operate on
the enum.
2022-07-21 22:21:35 -07:00
55e58f630c
coremem_types: Enum: fix a typo in the DiscriminantCodable docs
2022-07-21 22:15:52 -07:00
f2bb16eb5b
coremem_types: Enum: add constructors
2022-07-21 22:11:48 -07:00
19b1df4919
coremem_types: Enum: add tests for the internal discriminant case
2022-07-21 21:58:41 -07:00
72b18d378f
coremem_types: Enum: add a method to set the enum to a specific variant
2022-07-21 21:46:33 -07:00
65f90d0654
coremem_types: Enum: implement mutable dispatch
2022-07-21 21:35:15 -07:00
e96f0db11a
coremem_types: enum: verify that setting the discriminant works as expected
2022-07-21 21:16:43 -07:00
c889ec6d09
coremem_types: enum: simplify the discriminant trait impls
2022-07-21 21:08:41 -07:00
3541ab14c1
coremem_types: Enum: add a basic test
2022-07-21 20:35:30 -07:00
b8a36c87a6
coremem_types: enum: add helpers to encode a new discriminant
...
not used yet: i'll have to add a mutator-based dispatcher in order
to set the new variant's value when the discriminant is updated.
2022-07-21 18:40:09 -07:00
fba85c5ae3
coremem_types: list: add a set
method
2022-07-21 18:36:11 -07:00
960804598a
coremem_types: enums don't require their variant to be Copy
...
this is safe because the variant is necessarily not ZST.
if it was ZST it could just be stored explicitly instead of folding it
into the first element, and that case should still be OK.
2022-07-21 18:31:31 -07:00
9153dfbb7a
coremem_types: enumerated: allow folding the enum into the first element
2022-07-21 18:28:20 -07:00
b15bad434e
coremem_types: remove unused ElementAt
type alias from list
2022-07-21 17:05:20 -07:00
f448f9200e
implement an Enum type
...
right now the user has to define the method to extract the discriminant
from the enum.
i'll work to integrate the discriminant into the enum itself in future
patches.
2022-07-21 17:02:57 -07:00
d6ebf968b2
coremem_types: list: simplify the IntoList trait
2022-07-21 14:11:42 -07:00
90127e3f02
coremem_types: list: rename tuple_direct -> flat
2022-07-21 14:05:55 -07:00
8ce64ecc73
coremem_types: implement a List type which uses direct indexing, without consuming the whole list in the process
...
it's ugly, but it works and avoids spirv's ZST bugs.
i can clean it up a bit later (and rename it, since it's not actually
using tuples, directly).
2022-07-21 02:32:21 -07:00
86fb7f018d
coremem_types: implement a linked-list based List type
...
it doesn't quite get us where we want to be, as it requires padding to
handle ZSTs in spirv. i think we HAVE to use a flat list (combined with
a copy method, instead of reference-based) to handle ZSTs without
forced padding.
2022-07-21 02:32:08 -07:00
2e3021b875
coremem_types: move list into a submodule so i can toy with alternate implementations
2022-07-20 23:51:58 -07:00
b555ee93f0
coremem_types: DiscrMat2: implement in terms of compound::list::List
...
i'm not happy AT ALL with this implementation,
but it's the first way i've found which works around ZST limitations.
2022-07-20 16:20:09 -07:00