Commit Graph

173 Commits

Author SHA1 Message Date
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