You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Building on CentOS v7 using Linux version 3.10.0-327.18.2.el7.x86_64 compiling with gcc version 4.8.5 20150623 I ran into some build problems.
Some minor issues, but the things I had to fix:
1 - Remove shadowing DP_GL_API static bool isMulticastSupported() from dp/gl/RenderTargetFBO.h since its defined in the base class as a virtual method.
2 - ParameterRenderer_Multicast_ interfaces use WGL specific load methods for procs. I just stubbed them out ... this needs to be updated to call GLEW.
3 - DP_ASSERT wasn't defined in many files. Including <dp/Assert.h> fixed things.
4 - dp/sg/animation/LinkManager.h uses unqualified names for Property::Type and TypedPropertyEnum<>. Adding fully qualified namespace fixed this.
5 - It appears you're using a non-standard Lib3DS. Grabbing the lib3ds-20080909.zip (aka v2.0.0-rc1) from the Google Code site and building against that seems to have the right interfaces, but the header filenames don't match. lib3ds-1.3.0 doesn't match at all. Not sure what version you're using.
See below for diff generated from master at the time of this issue report.
/** \brief Set multicast state for this FBO
\param enabled If enabled is true multicast will be enabled, otherwise it'll be disabled
diff --git a/dp/gl/src/Buffer.cpp b/dp/gl/src/Buffer.cpp
index b2ce9e5..8387969 100644
--- a/dp/gl/src/Buffer.cpp
+++ b/dp/gl/src/Buffer.cpp
@@ -25,6 +25,7 @@
Building on CentOS v7 using Linux version 3.10.0-327.18.2.el7.x86_64 compiling with gcc version 4.8.5 20150623 I ran into some build problems.
Some minor issues, but the things I had to fix:
1 - Remove shadowing DP_GL_API static bool isMulticastSupported() from dp/gl/RenderTargetFBO.h since its defined in the base class as a virtual method.
2 - ParameterRenderer_Multicast_ interfaces use WGL specific load methods for procs. I just stubbed them out ... this needs to be updated to call GLEW.
3 - DP_ASSERT wasn't defined in many files. Including <dp/Assert.h> fixed things.
4 - dp/sg/animation/LinkManager.h uses unqualified names for Property::Type and TypedPropertyEnum<>. Adding fully qualified namespace fixed this.
5 - It appears you're using a non-standard Lib3DS. Grabbing the lib3ds-20080909.zip (aka v2.0.0-rc1) from the Google Code site and building against that seems to have the right interfaces, but the header filenames don't match. lib3ds-1.3.0 doesn't match at all. Not sure what version you're using.
See below for diff generated from master at the time of this issue report.
`diff --git a/apps/GLUTMinimalMulticast/src/main.cpp b/apps/GLUTMinimalMulticast/src/main.cpp
index e1ab66e..2cd2ac0 100644
--- a/apps/GLUTMinimalMulticast/src/main.cpp
+++ b/apps/GLUTMinimalMulticast/src/main.cpp
@@ -722,7 +722,11 @@ int runApp( options::variables_map const& opts )
int main(int argc, char *argv[])
{
// Enable NVX multicast extension
+#ifdef DP_OS_WINDOWS
_putenv("GL_NVX_LINKED_GPU_MULTICAST=1");
+#else
+#endif
int result = -1;
try
{
diff --git a/dp/cuda/BufferHost.h b/dp/cuda/BufferHost.h
index 718e839..3681487 100644
--- a/dp/cuda/BufferHost.h
+++ b/dp/cuda/BufferHost.h
@@ -28,6 +28,7 @@
include <dp/cuda/Config.h>
include <dp/cuda/Types.h>
+#include <dp/Assert.h>
namespace dp
{
diff --git a/dp/cuda/src/Buffer3D.cpp b/dp/cuda/src/Buffer3D.cpp
index e784edf..2f25038 100644
--- a/dp/cuda/src/Buffer3D.cpp
+++ b/dp/cuda/src/Buffer3D.cpp
@@ -26,6 +26,7 @@
include <dp/cuda/Buffer3D.h>
include <driver_functions.h>
+#include <dp/Assert.h>
namespace dp
{
diff --git a/dp/gl/RenderTargetFBO.h b/dp/gl/RenderTargetFBO.h
index 826ec37..af786c8 100644
--- a/dp/gl/RenderTargetFBO.h
+++ b/dp/gl/RenderTargetFBO.h
@@ -518,7 +518,8 @@ namespace dp
/** \brief Test it isMulticastSupported
\return true if GL_NVX_linked_gpu_multicast is supported
**/
/** \brief Set multicast state for this FBO
\param enabled If enabled is true multicast will be enabled, otherwise it'll be disabled
diff --git a/dp/gl/src/Buffer.cpp b/dp/gl/src/Buffer.cpp
index b2ce9e5..8387969 100644
--- a/dp/gl/src/Buffer.cpp
+++ b/dp/gl/src/Buffer.cpp
@@ -25,6 +25,7 @@
include <dp/gl/Buffer.h>
+#include <dp/Assert.h>
namespace dp
{
diff --git a/dp/gl/src/RenderTargetFBO.cpp b/dp/gl/src/RenderTargetFBO.cpp
index d6cc1c6..7dc79e0 100644
--- a/dp/gl/src/RenderTargetFBO.cpp
+++ b/dp/gl/src/RenderTargetFBO.cpp
@@ -703,7 +703,7 @@ namespace dp
return /!!GLEW_ARB_framebuffer_object ||/ !!GLEW_EXT_framebuffer_blit;
}
bool RenderTargetFBO::isMulticastSupported()
bool RenderTargetFBO::isMulticastSupported() const
{
return dp::gl::isExtensionExported("GL_NVX_linked_gpu_multicast");
}
diff --git a/dp/rix/gl/src/ParameterRendererBufferAddressRangeMulticast.cpp b/dp/rix/gl/src/ParameterRendererBufferAddressRangeMulticast.cpp
index e27f326..7eba624 100644
--- a/dp/rix/gl/src/ParameterRendererBufferAddressRangeMulticast.cpp
+++ b/dp/rix/gl/src/ParameterRendererBufferAddressRangeMulticast.cpp
@@ -47,9 +47,13 @@ namespace dp
, m_numberOfGPUs(numberOfGPUs)
, m_cacheData(new uint8_t[m_bindingLength])
{
+#ifdef _MFC_VER
glLGPUNamedBufferSubDataNVX = (PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC)wglGetProcAddress("glLGPUNamedBufferSubDataNVX");
assert(glLGPUNamedBufferSubDataNVX && "multicast extension not supported");
glGetIntegerv(GL_MAX_LGPU_GPUS_NVX, (GLint*)(&m_numberOfGPUs));
+#else
+#endif
}
void ParameterRendererBufferAddressRangeMulticast::activate()
diff --git a/dp/rix/gl/src/ParameterRendererBufferMulticast.cpp b/dp/rix/gl/src/ParameterRendererBufferMulticast.cpp
index 17b3f81..dae2132 100644
--- a/dp/rix/gl/src/ParameterRendererBufferMulticast.cpp
+++ b/dp/rix/gl/src/ParameterRendererBufferMulticast.cpp
@@ -40,9 +40,13 @@ namespace dp
, m_containerSize(containerSize)
, m_numberOfGPUs(numberOfGPUs)
{
+#ifdef _MFC_VER
glLGPUNamedBufferSubDataNVX = (PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC)wglGetProcAddress("glLGPUNamedBufferSubDataNVX");
assert(glLGPUNamedBufferSubDataNVX && "multicast extension not supported");
glGetIntegerv(GL_MAX_LGPU_GPUS_NVX, (GLint*)(&m_numberOfGPUs));
+#else
+#endif
}
void ParameterRendererBufferMulticast::render( void const* cache )
diff --git a/dp/rix/gl/src/ParameterRendererBufferRangeMulticast.cpp b/dp/rix/gl/src/ParameterRendererBufferRangeMulticast.cpp
index a30ef67..5fe3212 100644
--- a/dp/rix/gl/src/ParameterRendererBufferRangeMulticast.cpp
+++ b/dp/rix/gl/src/ParameterRendererBufferRangeMulticast.cpp
@@ -45,9 +45,14 @@ namespace dp
, m_containerSize(containerSize)
, m_cacheData( new uint8_t[bindingLength] )
{
+
+#ifdef _MFC_VER
glLGPUNamedBufferSubDataNVX = (PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC)wglGetProcAddress("glLGPUNamedBufferSubDataNVX");
assert(glLGPUNamedBufferSubDataNVX && "multicast extension not supported");
glGetIntegerv(GL_MAX_LGPU_GPUS_NVX, (GLint*)(&m_numberOfGPUs));
+#else
+#endif
}
void ParameterRendererBufferRangeMulticast::activate()
diff --git a/dp/sg/animation/LinkManager.h b/dp/sg/animation/LinkManager.h
index 0c36aae..662c790 100644
--- a/dp/sg/animation/LinkManager.h
+++ b/dp/sg/animation/LinkManager.h
@@ -165,8 +165,8 @@ namespace dp
LinkId LinkManager::link(dp::sg::core::ObjectSharedPtr const & srcObject, dp::util::PropertyId srcProperty,
dp::sg::core::ObjectSharedPtr const & dstObject, dp::util::PropertyId dstProperty)
{
diff --git a/dp/sg/io/3DS/Loader/3DSLoader.h b/dp/sg/io/3DS/Loader/3DSLoader.h
index ff343fd..81e139f 100644
--- a/dp/sg/io/3DS/Loader/3DSLoader.h
+++ b/dp/sg/io/3DS/Loader/3DSLoader.h
@@ -44,8 +44,11 @@
include <dp/util/PlugInCallback.h>
-#include <lib3ds/lib3ds.h>
-#include <lib3ds/lib3ds_impl.h>
+// #include <lib3ds/lib3ds.h>
+// #include <lib3ds/lib3ds_impl.h>
+
+#include <lib3ds.h>
+// #include <lib3ds/lib3ds_impl.h>
#ifdef _WIN32
// microsoft specific storage-class defines
diff --git a/dp/sg/ui/qt5/src/SceniXQGLWidget.cpp b/dp/sg/ui/qt5/src/SceniXQGLWidget.cpp
index 695a03b..1b79831 100644
--- a/dp/sg/ui/qt5/src/SceniXQGLWidget.cpp
+++ b/dp/sg/ui/qt5/src/SceniXQGLWidget.cpp
@@ -1401,7 +1401,7 @@ namespace dp
dp::gl::RenderContextSharedPtr renderContextGL = dp::gl::RenderContext::create( dp::gl::RenderContext::FromHWND( (HWND)winId(), &m_format, m_shareWidget ? m_shareWidget->getRenderContext() : dp::gl::RenderContextSharedPtr() ) );
#elif defined(DP_OS_LINUX)
// TODO support format
m_renderTarget = dp::gl::RenderTargetFB::create( renderContextGL );
}`
The text was updated successfully, but these errors were encountered: