commit e19142f5be1bd3648345f49f352aa72eba47573b
parent a5c9569f03edf67d648f848cd1a6170f29116bc8
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Mon, 14 Dec 2020 14:39:14 +0100
Test the suvm_volume_get_primitive[s_count] functions
Diffstat:
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/test_suvm_volume.c b/src/test_suvm_volume.c
@@ -143,6 +143,8 @@ test_tetrahedral_mesh_creation(struct suvm_device* dev)
struct mesh msh = MESH_NULL;
struct suvm_tetrahedral_mesh_args args = SUVM_TETRAHEDRAL_MESH_ARGS_NULL;
struct suvm_volume* vol = NULL;
+ struct suvm_primitive prim = SUVM_PRIMITIVE_NULL;
+ size_t nprims;
args.ntetrahedra = box_ntetras;
args.nvertices = box_nverts;
@@ -221,6 +223,18 @@ test_tetrahedral_mesh_creation(struct suvm_device* dev)
args.vertex_data.alignment = 32;
msh.vertex_data_alignment = 32;
CHK(suvm_tetrahedral_mesh_create(dev, &args, &vol) == RES_OK);
+
+ CHK(suvm_volume_get_primitives_count(NULL, &nprims) == RES_BAD_ARG);
+ CHK(suvm_volume_get_primitives_count(vol, NULL) == RES_BAD_ARG);
+ CHK(suvm_volume_get_primitives_count(vol, &nprims) == RES_OK);
+ CHK(nprims == msh.ntetrahedra);
+
+ CHK(suvm_volume_get_primitive(NULL, 0, &prim) == RES_BAD_ARG);
+ CHK(suvm_volume_get_primitive(vol, nprims, &prim) == RES_BAD_ARG);
+ CHK(suvm_volume_get_primitive(vol, 0, NULL) == RES_BAD_ARG);
+ CHK(suvm_volume_get_primitive(vol, 0, &prim) == RES_OK);
+ CHK(!SUVM_PRIMITIVE_NONE(&prim));
+
CHK(suvm_volume_ref_put(vol) == RES_OK);
}
@@ -557,7 +571,6 @@ test_volume_at_cube(struct suvm_device* dev)
CHK(darray_prim_size_get(&prims) == 10);
check_prims_intersect_aabb(&prims, vol, low, upp, &msh);
-
CHK(suvm_volume_ref_put(vol) == RES_OK);
darray_prim_release(&prims);
}