commit f5fc8331ac52720b2f8ee1921dbad58aceccb7b3
parent f137f001adc114ffbe1395d7c1c74615447ef96f
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Fri, 17 Apr 2015 15:04:21 +0200
Minor modification of the s3d_sampler test
Diffstat:
1 file changed, 22 insertions(+), 0 deletions(-)
diff --git a/src/test_s3d_sampler.c b/src/test_s3d_sampler.c
@@ -36,6 +36,16 @@
#include <rsys/float3.h>
+#define NSAMPS 4096
+
+static float
+rand_canonic(void)
+{
+ int r;
+ while((r = rand()) == RAND_MAX);
+ return (float)r / (float)RAND_MAX;
+}
+
int
main(int argc, char** argv)
{
@@ -52,6 +62,7 @@ main(int argc, char** argv)
struct s3d_attrib attr0, attr1;
struct cbox_desc desc;
float uv[2];
+ size_t i;
unsigned ntris, nverts;
(void)argc, (void)argv;
@@ -157,6 +168,17 @@ main(int argc, char** argv)
NCHECK(f3_eq_eps(attr0.value, attr1.value, 1.e-6f), 1);
CHECK(s3d_sampler_end_sampling(sampler), RES_OK);
+ CHECK(s3d_sampler_begin_sampling(sampler), RES_OK);
+ FOR_EACH(i, 0, NSAMPS) {
+ const float u = rand_canonic();
+ const float v = rand_canonic();
+ const float w = rand_canonic();
+ CHECK(s3d_sampler_get(sampler, u, v, w, &prim, uv), RES_OK);
+ CHECK(s3d_primitive_get_attrib(&prim, S3D_POSITION, uv, &attr0), RES_OK);
+ /* printf("%f %f %f\n", SPLIT3(attr0.value));*/
+ }
+ CHECK(s3d_sampler_end_sampling(sampler), RES_OK);
+
CHECK(s3d_sampler_ref_get(NULL), RES_BAD_ARG);
CHECK(s3d_sampler_ref_get(sampler), RES_OK);
CHECK(s3d_sampler_ref_put(NULL), RES_BAD_ARG);