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:
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;
};