commit 72582a467d9ec822dbb8d18a475dc521cb6466e3
parent d757db52bbf9bc3cacbcc02cab3aad19c378a5b4
Author: Vincent Forest <vincent.forest@meso-star.com>
Date: Wed, 17 Jun 2015 15:44:58 +0200
Add a verbose parameter to the s3d_device_create API
This flag controls the Embree verbosity
Diffstat:
8 files changed, 17 insertions(+), 13 deletions(-)
diff --git a/src/s3d.h b/src/s3d.h
@@ -166,6 +166,7 @@ S3D_API res_T
s3d_device_create
(struct logger* logger, /* May be NULL <=> use default logger */
struct mem_allocator* allocator, /* May be NULL <=> use default allocator */
+ const int verbose, /* Define the level of verbosity */
struct s3d_device** dev);
S3D_API res_T
diff --git a/src/s3d_device.c b/src/s3d_device.c
@@ -62,6 +62,7 @@ res_T
s3d_device_create
(struct logger* logger,
struct mem_allocator* mem_allocator,
+ const int verbose,
struct s3d_device** out_dev)
{
struct s3d_device* dev = NULL;
@@ -85,8 +86,9 @@ s3d_device_create
}
dev->logger = logger ? logger : LOGGER_DEFAULT;
dev->allocator = allocator;
+ dev->verbose = verbose;
ref_init(&dev->ref);
- rtcInit("verbose=1");
+ rtcInit(verbose ? "verbose=1" : NULL);
g_EmbreeIsInitialized = 1;
exit:
diff --git a/src/s3d_device_c.h b/src/s3d_device_c.h
@@ -36,6 +36,7 @@
#include <rsys/ref_count.h>
struct s3d_device {
+ int verbose;
struct logger* logger;
struct mem_allocator* allocator;
ref_T ref;
diff --git a/src/test_s3d_device.c b/src/test_s3d_device.c
@@ -50,8 +50,8 @@ main(int argc, char** argv)
struct s3d_device* dev;
(void)argc, (void)argv;
- CHECK(s3d_device_create(NULL, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_device_create(NULL, NULL, &dev), RES_OK);
+ CHECK(s3d_device_create(NULL, NULL, 0, NULL), RES_BAD_ARG);
+ CHECK(s3d_device_create(NULL, NULL, 0, &dev), RES_OK);
CHECK(s3d_device_ref_get(NULL), RES_BAD_ARG);
CHECK(s3d_device_ref_get(dev), RES_OK);
@@ -62,8 +62,8 @@ main(int argc, char** argv)
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
CHECK(MEM_ALLOCATED_SIZE(&allocator), 0);
- CHECK(s3d_device_create(NULL, &allocator, NULL), RES_BAD_ARG);
- CHECK(s3d_device_create(NULL, &allocator, &dev), RES_OK);
+ CHECK(s3d_device_create(NULL, &allocator, 0, NULL), RES_BAD_ARG);
+ CHECK(s3d_device_create(NULL, &allocator, 0, &dev), RES_OK);
CHECK(s3d_device_ref_put(dev), RES_OK);
CHECK(MEM_ALLOCATED_SIZE(&allocator), 0);
@@ -72,12 +72,12 @@ main(int argc, char** argv)
logger_set_stream(&logger, LOG_ERROR, log_stream, NULL);
logger_set_stream(&logger, LOG_WARNING, log_stream, NULL);
- CHECK(s3d_device_create(&logger, NULL, NULL), RES_BAD_ARG);
- CHECK(s3d_device_create(&logger, NULL, &dev), RES_OK);
+ CHECK(s3d_device_create(&logger, NULL, 0, NULL), RES_BAD_ARG);
+ CHECK(s3d_device_create(&logger, NULL, 0, &dev), RES_OK);
CHECK(s3d_device_ref_put(dev), RES_OK);
- CHECK(s3d_device_create(&logger, &allocator, NULL), RES_BAD_ARG);
- CHECK(s3d_device_create(&logger, &allocator, &dev), RES_OK);
+ CHECK(s3d_device_create(&logger, &allocator, 0, NULL), RES_BAD_ARG);
+ CHECK(s3d_device_create(&logger, &allocator, 0, &dev), RES_OK);
CHECK(s3d_device_ref_put(dev), RES_OK);
logger_release(&logger);
diff --git a/src/test_s3d_sampler.c b/src/test_s3d_sampler.c
@@ -68,7 +68,7 @@ main(int argc, char** argv)
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
- CHECK(s3d_device_create(NULL, &allocator, &dev), RES_OK);
+ CHECK(s3d_device_create(NULL, &allocator, 0, &dev), RES_OK);
CHECK(s3d_scene_create(dev, &scn), RES_OK);
CHECK(s3d_scene_instantiate(scn, &cbox), RES_OK);
CHECK(s3d_shape_create_mesh(dev, &walls), RES_OK);
diff --git a/src/test_s3d_scene.c b/src/test_s3d_scene.c
@@ -47,7 +47,7 @@ main(int argc, char** argv)
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
- CHECK(s3d_device_create(NULL, &allocator, &dev), RES_OK);
+ CHECK(s3d_device_create(NULL, &allocator, 0, &dev), RES_OK);
FOR_EACH(i, 0, nshapes)
CHECK(s3d_shape_create_mesh(dev, shapes + i), RES_OK);
diff --git a/src/test_s3d_shape.c b/src/test_s3d_shape.c
@@ -52,7 +52,7 @@ main(int argc, char** argv)
mem_init_proxy_allocator(&allocator, &mem_default_allocator);
- CHECK(s3d_device_create(NULL, &allocator, &dev), RES_OK);
+ CHECK(s3d_device_create(NULL, &allocator, 0, &dev), RES_OK);
CHECK(s3d_scene_create(dev, &scn), RES_OK);
CHECK(s3d_shape_create_mesh(NULL, NULL), RES_BAD_ARG);
diff --git a/src/test_s3d_trace_ray.c b/src/test_s3d_trace_ray.c
@@ -110,7 +110,7 @@ main(int argc, char** argv)
NCHECK(img, NULL);
}
- CHECK(s3d_device_create(NULL, &allocator, &dev), RES_OK);
+ CHECK(s3d_device_create(NULL, &allocator, 1, &dev), RES_OK);
CHECK(s3d_scene_create(dev, &scn), RES_OK);
attribs[0].usage = S3D_POSITION;