solstice-solver

Solver library of the solstice app
git clone git://git.meso-star.com/solstice-solver.git
Log | Files | Refs | README | LICENSE

commit 1f584b927c4f24ea8ec61cdacf39cf4f0a2bad71
parent 401ed46da11ead0fd2b3ebeeaec23d9b375a98e4
Author: Vincent Forest <vincent.forest@meso-star.com>
Date:   Fri, 24 Jun 2016 12:05:39 +0200

Merge remote-tracking branch 'origin/master'

Diffstat:
Mcmake/CMakeLists.txt | 6++++--
Msrc/ssol_device.c | 5+++++
Msrc/ssol_device_c.h | 3+++
3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt @@ -25,6 +25,7 @@ option(NO_TEST "Do not build tests" OFF) ################################################################################ find_package(RCMake 0.2.3 REQUIRED) find_package(RSys 0.3 REQUIRED) +find_package(Star3D 0.3 REQUIRED) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${RCMAKE_SOURCE_DIR}) include(rcmake) @@ -32,6 +33,7 @@ include(rcmake_runtime) include_directories( ${RSys_INCLUDE_DIR} + ${Star3D_INCLUDE_DIR} ) rcmake_append_runtime_dirs(_runtime_dirs RSys) @@ -62,7 +64,7 @@ rcmake_prepend_path(SSOL_FILES_INC_API ${SSOL_SOURCE_DIR}) rcmake_prepend_path(SSOL_FILES_DOC ${PROJECT_SOURCE_DIR}/../) add_library(solstice-solver SHARED ${SSOL_FILES_SRC} ${SSOL_FILES_INC} ${SSOL_FILES_INC_API}) -target_link_libraries(solstice-solver RSys) +target_link_libraries(solstice-solver RSys Star3D) if(CMAKE_COMPILER_IS_GNUCC) target_link_libraries(solstice-solver m) @@ -83,7 +85,7 @@ if(NOT NO_TEST) add_executable(${_name} ${SSOL_SOURCE_DIR}/test_ssol_utils.h ${SSOL_SOURCE_DIR}/${_name}.c) - target_link_libraries(${_name} solstice-solver RSys) + target_link_libraries(${_name} solstice-solver RSys Star3D) set(_libraries ${ARGN}) foreach(_lib ${_libraries}) target_link_libraries(${_name} ${_lib}) diff --git a/src/ssol_device.c b/src/ssol_device.c @@ -28,6 +28,7 @@ device_release(ref_T* ref) struct ssol_device* dev; ASSERT(ref); dev = CONTAINER_OF(ref, struct ssol_device, ref); + if(dev->s3d) S3D(device_ref_put(dev->s3d)); MEM_RM(dev->allocator, dev); } @@ -61,6 +62,10 @@ ssol_device_create dev->allocator = allocator; dev->verbose = verbose; + res = s3d_device_create(logger, mem_allocator, verbose, &dev->s3d); + if (RES_OK != res) + goto error; + ref_init(&dev->ref); exit: diff --git a/src/ssol_device_c.h b/src/ssol_device_c.h @@ -17,6 +17,7 @@ #define SSOL_DEVICE_C_H #include <rsys/ref_count.h> +#include <star/s3d.h> struct ssol_device { struct logger* logger; @@ -24,6 +25,8 @@ struct ssol_device { const unsigned nthreads_hint; int verbose; + struct s3d_device* s3d; + ref_T ref; };